156 lines
2.6 KiB
Protocol Buffer
156 lines
2.6 KiB
Protocol Buffer
syntax = "proto3";
|
||
|
||
// 基础公共类型定义
|
||
|
||
message SDLV4Info {
|
||
uint32 port = 1;
|
||
bytes v4 = 2;
|
||
uint32 nat_type = 3;
|
||
}
|
||
|
||
message SDLV6Info {
|
||
uint32 port = 1;
|
||
bytes v6 = 2;
|
||
}
|
||
|
||
// 设备网络地址信息
|
||
message SDLDevAddr {
|
||
uint32 network_id = 1;
|
||
uint32 net_addr = 2;
|
||
uint32 net_bit_len = 3;
|
||
}
|
||
|
||
// tcp通讯消息
|
||
message SDLEmpty {
|
||
|
||
}
|
||
|
||
message SDLRegisterSuper {
|
||
uint32 version = 1;
|
||
string installed_channel = 2;
|
||
string client_id = 3;
|
||
SDLDevAddr dev_addr = 4;
|
||
string pub_key = 5;
|
||
string token = 6;
|
||
}
|
||
|
||
message SDLRegisterSuperAck {
|
||
SDLDevAddr dev_addr = 1;
|
||
bytes aes_key = 2;
|
||
bytes known_ips = 3;
|
||
uint32 upgrade_type = 4;
|
||
optional string upgrade_prompt = 5;
|
||
optional string upgrade_address = 6;
|
||
}
|
||
|
||
message SDLRegisterSuperNak {
|
||
uint32 error_code = 1;
|
||
string error_message = 2;
|
||
}
|
||
|
||
// 网络地址查询
|
||
|
||
message SDLQueryInfo {
|
||
uint32 dst_ip = 1;
|
||
}
|
||
|
||
message SDLPeerInfo {
|
||
uint32 dst_ip = 1;
|
||
SDLV4Info v4_info = 2;
|
||
optional SDLV6Info v6_info = 3;
|
||
}
|
||
|
||
// 事件定义
|
||
|
||
message SDLKnownIpEvent {
|
||
uint32 ip = 1;
|
||
}
|
||
|
||
message SDLDropIpEvent {
|
||
uint32 ip = 1;
|
||
}
|
||
|
||
message SDLNatChangedEvent {
|
||
uint32 ip = 1;
|
||
}
|
||
|
||
message SDLSendRegisterEvent {
|
||
uint32 dst_ip = 1;
|
||
uint32 nat_ip = 2;
|
||
uint32 nat_port = 3;
|
||
}
|
||
|
||
message SDLNetworkShutdownEvent {
|
||
string message = 1;
|
||
}
|
||
|
||
// 命令定义
|
||
|
||
message SDLChangeNetworkCommand {
|
||
SDLDevAddr dev_addr = 1;
|
||
bytes aes_key = 2;
|
||
bytes known_ips = 3;
|
||
}
|
||
|
||
message SDLCommandAck {
|
||
// status = true, 表示成功;status = false 表示失败,message是失败原因描述
|
||
bool status = 1;
|
||
optional string message = 2;
|
||
}
|
||
|
||
message SDLFlows {
|
||
// 服务器转发流量
|
||
uint32 forward_num = 1;
|
||
// p2p直接流量
|
||
uint32 p2p_num = 2;
|
||
// 接收的流量
|
||
uint32 inbound_num = 3;
|
||
}
|
||
|
||
// UDP通讯消息
|
||
|
||
message SDLStunRequest {
|
||
uint32 cookie = 1;
|
||
string client_id = 2;
|
||
uint32 network_id = 3;
|
||
uint32 ip = 4;
|
||
uint32 nat_type = 5;
|
||
}
|
||
|
||
message SDLStunReply {
|
||
uint32 cookie = 1;
|
||
}
|
||
|
||
message SDLData {
|
||
uint32 network_id = 1;
|
||
uint32 src_ip = 2;
|
||
uint32 dst_ip = 3;
|
||
bool is_p2p = 4;
|
||
uint32 ttl = 5;
|
||
bytes data = 6;
|
||
}
|
||
|
||
message SDLRegister {
|
||
uint32 network_id = 1;
|
||
uint32 src_ip = 2;
|
||
uint32 dst_ip = 3;
|
||
}
|
||
|
||
message SDLRegisterAck {
|
||
uint32 network_id = 1;
|
||
uint32 src_ip = 2;
|
||
uint32 dst_ip = 3;
|
||
}
|
||
|
||
// 网络类型探测
|
||
|
||
message SDLStunProbe {
|
||
uint32 cookie = 1;
|
||
uint32 attr = 2;
|
||
}
|
||
|
||
message SDLStunProbeReply {
|
||
uint32 cookie = 1;
|
||
uint32 port = 2;
|
||
uint32 ip = 3;
|
||
} |