mirror of
https://github.com/SocialSisterYi/bilibili-API-collect.git
synced 2025-01-14 22:00:07 +08:00
113 lines
4.0 KiB
Protocol Buffer
113 lines
4.0 KiB
Protocol Buffer
syntax = "proto3";
|
||
|
||
package bilibili.gaia.gw;
|
||
|
||
import "google/protobuf/empty.proto";
|
||
|
||
// 应用列表上报
|
||
service Gaia {
|
||
// 应用列表上报
|
||
rpc ExUploadAppList(GaiaEncryptMsgReq) returns (UploadAppListReply);
|
||
// 拉取rsa公钥
|
||
rpc ExFetchPublicKey(google.protobuf.Empty) returns (FetchPublicKeyReply);
|
||
}
|
||
|
||
// 待加密的pb对象
|
||
message DeviceAppList {
|
||
// 上报类型
|
||
// first_installation:首次安装上报 first_open:每日启动上报
|
||
string source = 1;
|
||
// 安装的系统程序列表
|
||
repeated string system_app_list = 2;
|
||
//安装的用户程序列表
|
||
repeated string user_app_list = 3;
|
||
}
|
||
|
||
// 加密方式
|
||
enum EncryptType {
|
||
INVALID_ENCRYPT_TYPE = 0; // 非法值
|
||
CLIENT_AES = 1; // 同客户端人工约定AES加密私钥,存储在客户端
|
||
SERVER_RSA_AES = 2; // 客户端随机生成一个用于AES加密的私钥,并用服务端下发的RSA公钥来加密
|
||
}
|
||
|
||
//
|
||
message FetchPublicKeyReply {
|
||
// 版本号
|
||
string version = 1;
|
||
// RSA公钥
|
||
string public_key = 2;
|
||
// 公钥过期时间
|
||
int64 deadline = 3;
|
||
}
|
||
|
||
//
|
||
message GaiaDeviceBasicInfo {
|
||
//平台&应用信息
|
||
string platform = 1; //android/ios/web/h5;
|
||
string device = 2; //运行设备, 用于区分不同的app, 见客户端传入的对应参数。对于苹果系统,device有效值为phone, pad;安卓无法区分phone和pad,留空即可。
|
||
string mobi_app = 3; //包类型,用于区分不同的app, 见客户端传入的对应参数(mobi_app );对于web端请求,请传空
|
||
string origin =4; //客户端appkey, 用以区分不同的客户端,对应客户端请求参数中的appkey,如果无法获取可传空“”
|
||
string app_id = 5; //app产品编号 //产品编号,由数据平台分配,粉=1,白=2,蓝=3,直播姬=4,HD=5,海外=6,OTT=7,漫画=8,TV野版=9,小视频=10,网易漫画=11,网易漫画lite=12,网易漫画HD=13,国际版=14
|
||
|
||
//应用的版本信息
|
||
string sdkver = 6; // SDK版本号 "sdkver": "2.6.6"
|
||
string app_version = 7; // app版本 "app_version":"5.36.0"
|
||
string app_version_code = 8; // app版本号 "app_version_code":"5360000"
|
||
string build = 9; // app版本号,见客户端传入的对应参数;对于web端请求,请传空
|
||
|
||
//渠道信息
|
||
string channel = 10; //渠道标识,见客户端传入的对应参数;对于web端请求,请传空;对应chid
|
||
|
||
//机器硬件信息
|
||
string brand =11; //手机品牌,见客户端传入的对应参数;
|
||
string model=12; //手机型号,见客户端传入的对应参数
|
||
string osver =13; //系统版本,见客户端传入的对应参数
|
||
string user_agent=14;
|
||
|
||
//设备标识信息
|
||
string buvid_local = 15; //本地设备唯一标识
|
||
string buvid = 16; //设备唯一标识
|
||
|
||
//登陆用户信息
|
||
string mid = 17; //最后一次登陆用户的mid,如果无登陆信息,传0即可
|
||
|
||
//本次启动信息
|
||
int64 fts = 18; // app首次启动时间 "fts":1530447775661
|
||
int32 first = 19; // 是否首次启动 是:0 否:1
|
||
|
||
//网络相关的信息
|
||
string network = 20; // 网络连接方式, WIFI/CELLULAR/OFFLINE/OTHERNET/ETHERNET "network":"WIFI", ESS_NETWORK_STATE、ACCESS_WIFI_STATE
|
||
}
|
||
|
||
// 应用列表上报-请求
|
||
message GaiaEncryptMsgReq {
|
||
// 上报头部
|
||
GaiaMsgHeader header = 1;
|
||
// 加密数据
|
||
bytes encrypt_payload = 2;
|
||
}
|
||
|
||
// 风控通用消息头
|
||
message GaiaMsgHeader {
|
||
//加密类型
|
||
EncryptType encode_type = 1;
|
||
//类型
|
||
PayloadType payload_type = 2;
|
||
//RAS加密后的aes_key
|
||
bytes encoded_aes_key = 3;
|
||
//当前时间戳(ms)
|
||
int64 ts = 4;
|
||
}
|
||
|
||
// 负载类型
|
||
enum PayloadType {
|
||
INVALID_PAYLOAD = 0; //非法值
|
||
DEVICE_APP_LIST = 1; //设备app列表,对应DeviceAppList
|
||
}
|
||
|
||
// 应用列表上报-响应
|
||
message UploadAppListReply {
|
||
// 上报响应id
|
||
string trace_id = 1;
|
||
}
|