mikufans-proto 8.52.0+build.19546312

gRPC APIs for Mikufans
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
// This file is @generated by prost-build.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AndroidDeviceInfo {
    /// ?
    #[prost(string, tag = "1")]
    pub sdkver: ::prost::alloc::string::String,
    /// 产品id
    /// 粉 白 蓝 直播姬 HD 海外 OTT 漫画 TV野版 小视频 网易漫画 网易漫画 网易漫画HD 国际版 东南亚版
    /// 1  2  3    4    5   6    7   8     9     10      11       12       13       14       30
    #[prost(string, tag = "2")]
    pub app_id: ::prost::alloc::string::String,
    /// 版本号, 如 "7.39.0"
    #[prost(string, tag = "3")]
    pub app_version: ::prost::alloc::string::String,
    /// 版本号, 如 "7390300"
    #[prost(string, tag = "4")]
    pub app_version_code: ::prost::alloc::string::String,
    /// 用户 mid
    #[prost(string, tag = "5")]
    pub mid: ::prost::alloc::string::String,
    /// 渠道号, 如 "master"
    #[prost(string, tag = "6")]
    pub chid: ::prost::alloc::string::String,
    /// APP 首次安装启动时间戳
    #[prost(int64, tag = "7")]
    pub fts: i64,
    /// 此处实际为 fp, 但不知为何命名为 buvid_local
    #[prost(string, tag = "8")]
    pub buvid_local: ::prost::alloc::string::String,
    /// 留空为 0
    #[prost(int32, tag = "9")]
    pub first: i32,
    /// 进程名, 如 "tv.danmaku.bili"
    #[prost(string, tag = "10")]
    pub proc: ::prost::alloc::string::String,
    /// 网络信息, 为一数组直接 toString() 的结果
    /// 如 """\["dummy0,fe80::18d8:6ff:fe46:c2ba%dummy0,", "wlan0,fe80::a0f4:6dff:fea8:2d37%wlan0,192.168.1.5,", "lo,::1,127.0.0.1,", "rmnet_ims00,fe80::5a02:3ff:fe04:512%rmnet_ims00,2409:815a:7c38:cee1:1773:d0b9:d163:b023,"\]"""
    #[prost(string, tag = "11")]
    pub net: ::prost::alloc::string::String,
    /// 手机无线电固件版本号(`Build.getRadioVersion()`). 如 `21C20B686S000C000,21C20B686S000C000`.
    #[prost(string, tag = "12")]
    pub band: ::prost::alloc::string::String,
    /// OS 版本号, 如 "12"
    #[prost(string, tag = "13")]
    pub osver: ::prost::alloc::string::String,
    /// 当前毫秒时间戳
    #[prost(int64, tag = "14")]
    pub t: i64,
    /// CPU 逻辑核心计数
    #[prost(int32, tag = "15")]
    pub cpu_count: i32,
    /// 手机 Model, 如 "NOH-AN01"
    #[prost(string, tag = "16")]
    pub model: ::prost::alloc::string::String,
    /// 手机品牌, 如 "HUAWEI"
    #[prost(string, tag = "17")]
    pub brand: ::prost::alloc::string::String,
    /// 屏幕信息, 如 "1288,2646,560", 即 "{width},{height},{pixel}"
    #[prost(string, tag = "18")]
    pub screen: ::prost::alloc::string::String,
    /// CPU 型号, 留空或根据实际情况确定
    #[prost(string, tag = "19")]
    pub cpu_model: ::prost::alloc::string::String,
    /// 蓝牙 MAC, 留空或根据实际情况确定
    #[prost(string, tag = "20")]
    pub btmac: ::prost::alloc::string::String,
    /// Linux 内核 bootid
    #[prost(int64, tag = "21")]
    pub boot: i64,
    /// 模拟器(?), 如 "000"
    #[prost(string, tag = "22")]
    pub emu: ::prost::alloc::string::String,
    /// 移动网络 MCC MNC, 如中国移动为 46007
    #[prost(string, tag = "23")]
    pub oid: ::prost::alloc::string::String,
    /// 当前网络类型, 如 "WIFI", 见 bilibili.metadata.network.NetworkType
    #[prost(string, tag = "24")]
    pub network: ::prost::alloc::string::String,
    /// 运行内存(Byte)
    #[prost(int64, tag = "25")]
    pub mem: i64,
    /// 传感器信息, 为一数组直接 toString() 的结果
    /// 如 """\["accelerometer-icm20690,invensense", "akm-akm09918,akm", "orientation,huawei", "als-tcs3718,ams", "proximity-tcs3718,ams", "gyroscope-icm20690,invensense", "gravity,huawei", "linear Acceleration,huawei", "rotation Vector,huawei", "airpress-bmp280,bosch", "HALL sensor,huawei", "uncalibrated Magnetic Field,Asahi Kasei Microdevices", "game Rotation Vector,huawei", "uncalibrated Gyroscope,STMicroelectronics", "significant Motion,huawei", "step Detector,huawei", "step counter,huawei", "geomagnetic Rotation Vector,huawei", "phonecall sensor,huawei", "RPC sensor,huawei", "agt,huawei", "color sensor,huawei", "uncalibrated Accelerometer,huawei", "drop sensor,huawei"\]"""
    #[prost(string, tag = "26")]
    pub sensor: ::prost::alloc::string::String,
    /// CPU 频率, 如 2045000
    #[prost(int64, tag = "27")]
    pub cpu_freq: i64,
    /// CPU 架构, 如 "ARM"
    #[prost(string, tag = "28")]
    pub cpu_vendor: ::prost::alloc::string::String,
    /// ?
    #[prost(string, tag = "29")]
    pub sim: ::prost::alloc::string::String,
    /// 光照传感器数值
    #[prost(int32, tag = "30")]
    pub brightness: i32,
    /// Android Build.prop 信息, key 包括 net.hostname, ro.boot.hardware, etc.
    /// 具体 key-value 需要技术手段自行确定
    #[prost(map = "string, string", tag = "31")]
    pub props: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        ::prost::alloc::string::String,
    >,
    /// 系统信息, key 包括 product, cpu_model_name, display, cpu_abi_list, etc.
    /// 具体 key-value 需要技术手段自行确定
    #[prost(map = "string, string", tag = "32")]
    pub sys: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        ::prost::alloc::string::String,
    >,
    /// Wifi MAC, 一般无法获取, 留空
    #[prost(string, tag = "33")]
    pub wifimac: ::prost::alloc::string::String,
    /// Android ID
    #[prost(string, tag = "34")]
    pub adid: ::prost::alloc::string::String,
    /// OS 名称, 如 "android"
    #[prost(string, tag = "35")]
    pub os: ::prost::alloc::string::String,
    /// IMEI, 一般无法获取, 留空
    #[prost(string, tag = "36")]
    pub imei: ::prost::alloc::string::String,
    /// ?, 留空
    #[prost(string, tag = "37")]
    pub cell: ::prost::alloc::string::String,
    /// IMSI, 一般无法获取, 留空
    #[prost(string, tag = "38")]
    pub imsi: ::prost::alloc::string::String,
    /// ICCID, 一般无法获取, 留空
    #[prost(string, tag = "39")]
    pub iccid: ::prost::alloc::string::String,
    /// 摄像头数量, 留空
    #[prost(int32, tag = "40")]
    pub camcnt: i32,
    /// 摄像头像素, 留空
    #[prost(string, tag = "41")]
    pub campx: ::prost::alloc::string::String,
    /// 手机内置存储空间(Byte)
    #[prost(int64, tag = "42")]
    pub total_space: i64,
    /// ?, 例如 "false"
    #[prost(string, tag = "43")]
    pub axposed: ::prost::alloc::string::String,
    /// ?, 留空
    #[prost(string, tag = "44")]
    pub maps: ::prost::alloc::string::String,
    /// 如: "/data/user/0/tv.danmaku.bili/files"
    #[prost(string, tag = "45")]
    pub files: ::prost::alloc::string::String,
    /// 是否为虚拟化(?), 如 "0"
    #[prost(string, tag = "46")]
    pub r#virtual: ::prost::alloc::string::String,
    /// 虚拟进程, 如 "\[\]"
    #[prost(string, tag = "47")]
    pub virtualproc: ::prost::alloc::string::String,
    /// ?, 留空
    #[prost(string, tag = "48")]
    pub gadid: ::prost::alloc::string::String,
    /// ?, 留空
    #[prost(string, tag = "49")]
    pub glimit: ::prost::alloc::string::String,
    /// 设备安装的 APP 列表, 如 "\[\]"
    #[prost(string, tag = "50")]
    pub apps: ::prost::alloc::string::String,
    /// 客户端 GUID
    #[prost(string, tag = "51")]
    pub guid: ::prost::alloc::string::String,
    /// ?, 区分于用户 UID
    #[prost(string, tag = "52")]
    pub uid: ::prost::alloc::string::String,
    /// ?, 留空
    #[prost(int32, tag = "53")]
    pub root: i32,
    /// 摄像头放大倍数(?), 留空
    #[prost(string, tag = "54")]
    pub camzoom: ::prost::alloc::string::String,
    /// 摄像头闪光灯(?), 留空
    #[prost(string, tag = "55")]
    pub camlight: ::prost::alloc::string::String,
    /// OAID 匿名设备标识符, 参见 T/TAF 095-2021 安卓系统补充设备标识技术规范, 默认 "00000000-0000-0000-0000-000000000000"
    #[prost(string, tag = "56")]
    pub oaid: ::prost::alloc::string::String,
    /// UDID 设备唯一标识符, 参见 T/TAF 095-2021 安卓系统补充设备标识技术规范, 可留空
    #[prost(string, tag = "57")]
    pub udid: ::prost::alloc::string::String,
    /// VAID 开发者匿名设备标识符, 参见 T/TAF 095-2021 安卓系统补充设备标识技术规范, 可留空
    #[prost(string, tag = "58")]
    pub vaid: ::prost::alloc::string::String,
    /// AAID, 应用匿名设备标识符, 参见 T/TAF 095-2021 安卓系统补充设备标识技术规范, 可留空
    #[prost(string, tag = "59")]
    pub aaid: ::prost::alloc::string::String,
    /// ?, 设置为 "\[\]"
    #[prost(string, tag = "60")]
    pub androidapp20: ::prost::alloc::string::String,
    /// ?, 留空
    #[prost(int32, tag = "61")]
    pub androidappcnt: i32,
    /// ?, 设置为 "\[\]"
    #[prost(string, tag = "62")]
    pub androidsysapp20: ::prost::alloc::string::String,
    /// 当前剩余电量, 如 100
    #[prost(int32, tag = "63")]
    pub battery: i32,
    /// Android 监听电量状态, 如 "BATTERY_STATUS_DISCHARGING"
    #[prost(string, tag = "64")]
    pub battery_state: ::prost::alloc::string::String,
    /// Wifi BSSID, 一般无法获取, 留空
    #[prost(string, tag = "65")]
    pub bssid: ::prost::alloc::string::String,
    /// ?, 如 "NOH-AN01 4.0.0.102(DEVC00E100R7P5)"
    #[prost(string, tag = "67")]
    pub build_id: ::prost::alloc::string::String,
    /// ISO 国家代码, 如 "CN"
    #[prost(string, tag = "68")]
    pub country_iso: ::prost::alloc::string::String,
    /// 可用运行内存(Byte)
    #[prost(int64, tag = "70")]
    pub free_memory: i64,
    /// 可用内置存储空间(Byte)
    #[prost(string, tag = "71")]
    pub fstorage: ::prost::alloc::string::String,
    /// Linux kernel version
    #[prost(string, tag = "74")]
    pub kernel_version: ::prost::alloc::string::String,
    /// 语言, 如 "zh"
    #[prost(string, tag = "75")]
    pub languages: ::prost::alloc::string::String,
    ///   Wifi 网卡 MAC(?), 留空
    #[prost(string, tag = "76")]
    pub mac: ::prost::alloc::string::String,
    /// 当前连接 Wifi 的 SSID, 留空
    #[prost(string, tag = "79")]
    pub ssid: ::prost::alloc::string::String,
    /// ?, 留空
    #[prost(int32, tag = "80")]
    pub systemvolume: i32,
    ///   Wifi 网卡 MAC 列表(?), 留空
    #[prost(string, tag = "81")]
    pub wifimaclist: ::prost::alloc::string::String,
    /// 运行内存(Byte)
    #[prost(int64, tag = "82")]
    pub memory: i64,
    /// 当前剩余电量, 如 "100"
    #[prost(string, tag = "83")]
    pub str_battery: ::prost::alloc::string::String,
    /// 设备是否 Root(?), 留空
    #[prost(bool, tag = "84")]
    pub is_root: bool,
    /// 光照传感器数值字符串
    #[prost(string, tag = "85")]
    pub str_brightness: ::prost::alloc::string::String,
    /// 产品id, 见 2
    #[prost(string, tag = "86")]
    pub str_app_id: ::prost::alloc::string::String,
    /// 当前 IP(?), 留空
    #[prost(string, tag = "87")]
    pub ip: ::prost::alloc::string::String,
    /// 留空即可
    #[prost(string, tag = "88")]
    pub user_agent: ::prost::alloc::string::String,
    /// ?, 如: "1.25"
    #[prost(string, tag = "89")]
    pub light_intensity: ::prost::alloc::string::String,
    /// 设备 xyz 方向角度
    #[prost(float, repeated, tag = "90")]
    pub device_angle: ::prost::alloc::vec::Vec<f32>,
    /// GPS 传感器数量(或者是否有 GPS 传感器?), 如 "1"
    #[prost(int64, tag = "91")]
    pub gps_sensor: i64,
    /// 速度传感器数量(或者是否有速度传感器?), 如 "1"
    #[prost(int64, tag = "92")]
    pub speed_sensor: i64,
    /// 线性加速度传感器数量(或者是否有线性加速度传感器?), 如 "1"
    #[prost(int64, tag = "93")]
    pub linear_speed_sensor: i64,
    ///   陀螺仪传感器数量(或者是否有陀螺仪传感器?), 如 "1"
    #[prost(int64, tag = "94")]
    pub gyroscope_sensor: i64,
    /// 生物识别传感器数量(或者是否有生物识别传感器?), 如 "1"
    #[prost(int64, tag = "95")]
    pub biometric: i64,
    /// 生物识别传感器类型(?), 如 "touchid"
    #[prost(string, repeated, tag = "96")]
    pub biometrics: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// 上次 Crash Dump 时的毫秒时间戳
    #[prost(int64, tag = "97")]
    pub last_dump_ts: i64,
    /// 留空即可
    #[prost(string, tag = "98")]
    pub location: ::prost::alloc::string::String,
    /// 留空即可
    #[prost(string, tag = "99")]
    pub country: ::prost::alloc::string::String,
    /// 留空即可
    #[prost(string, tag = "100")]
    pub city: ::prost::alloc::string::String,
    /// ?, 默认为 0
    #[prost(int32, tag = "101")]
    pub data_activity_state: i32,
    /// ?, 默认为 0
    #[prost(int32, tag = "102")]
    pub data_connect_state: i32,
    /// ?, 默认为 0
    #[prost(int32, tag = "103")]
    pub data_network_type: i32,
    /// ?, 默认为 0
    #[prost(int32, tag = "104")]
    pub voice_network_type: i32,
    /// ?, 默认为 0
    #[prost(int32, tag = "105")]
    pub voice_service_state: i32,
    /// USB 是否连接, 启用为 "1", 否则为 "0"
    #[prost(int32, tag = "106")]
    pub usb_connected: i32,
    /// ADB 是否启用, 启用为 "1", 否则为 "0"
    #[prost(int32, tag = "107")]
    pub adb_enabled: i32,
    /// 系统 UI 软件版本(?), 如 "14.0.0"
    #[prost(string, tag = "108")]
    pub ui_version: ::prost::alloc::string::String,
    /// 辅助服务
    #[prost(string, repeated, tag = "109")]
    pub accessibility_service: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// 传感器信息(需要和前面的 sensor 对应)
    #[prost(message, repeated, tag = "110")]
    pub sensors_info: ::prost::alloc::vec::Vec<SensorInfo>,
    /// DrmId
    #[prost(string, tag = "111")]
    pub drmid: ::prost::alloc::string::String,
    /// 是否存在电池
    #[prost(bool, tag = "112")]
    pub battery_present: bool,
    /// 电池技术, 如 "Li-poly"
    #[prost(string, tag = "113")]
    pub battery_technology: ::prost::alloc::string::String,
    /// 电池温度(m℃)
    #[prost(int32, tag = "114")]
    pub battery_temperature: i32,
    /// 电池电压(mV)
    #[prost(int32, tag = "115")]
    pub battery_voltage: i32,
    /// 电池是否被拔开(?), 可以为 0
    #[prost(int32, tag = "116")]
    pub battery_plugged: i32,
    /// 电池健康, 如 2
    #[prost(int32, tag = "117")]
    pub battery_health: i32,
    /// 留空即可
    #[prost(string, repeated, tag = "118")]
    pub cpu_abi_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// 留空即可
    #[prost(string, tag = "119")]
    pub cpu_abi_libc: ::prost::alloc::string::String,
    /// 留空即可
    #[prost(string, tag = "120")]
    pub cpu_abi_libc64: ::prost::alloc::string::String,
    /// 留空即可
    #[prost(string, tag = "121")]
    pub cpu_processor: ::prost::alloc::string::String,
    /// 留空即可
    #[prost(string, tag = "122")]
    pub cpu_model_name: ::prost::alloc::string::String,
    /// 留空即可
    #[prost(string, tag = "123")]
    pub cpu_hardware: ::prost::alloc::string::String,
    /// 留空即可
    #[prost(string, tag = "124")]
    pub cpu_features: ::prost::alloc::string::String,
    ///
    #[prost(string, tag = "125")]
    pub simulator_attr:  ::prost::alloc::string::String,
}
/// 传感器信息
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SensorInfo {
    /// 传感器名称, 如 "rotation Vector"
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    /// 制造商
    #[prost(string, tag = "2")]
    pub vendor: ::prost::alloc::string::String,
    ///
    #[prost(int32, tag = "3")]
    pub version: i32,
    ///
    #[prost(int32, tag = "4")]
    pub r#type: i32,
    ///
    #[prost(float, tag = "5")]
    pub max_range: f32,
    ///
    #[prost(float, tag = "6")]
    pub resolution: f32,
    /// 耗电量(mA)
    #[prost(float, tag = "7")]
    pub power: f32,
    ///
    #[prost(int32, tag = "8")]
    pub min_delay: i32,
}