Files
trojan-go/api/api.proto
T
2020-05-01 07:56:07 -04:00

68 lines
1.2 KiB
Protocol Buffer

syntax = "proto3";
package api;
message Traffic {
uint64 upload_traffic = 1;
uint64 download_traffic = 2;
}
message Speed {
uint64 upload_speed = 1;
uint64 download_speed = 2;
}
message User {
string password = 1;
string hash = 2;
}
message GetTrafficRequest {
User user = 1;
}
message GetTrafficResponse {
bool success = 1;
Traffic traffic_total = 2;
Speed speed_current = 3;
Speed speed_limit = 4;
string info = 5;
}
message ListUserRequest {
}
message ListUserResponse {
User user = 1;
bool online = 2;
Traffic traffic_total = 3;
Speed speed_current = 4;
Speed speed_limit = 5;
}
message SetUserRequest {
User user = 1;
Speed speed_limit = 2;
enum Operation {
Add = 0;
Delete = 1;
Modify = 2;
}
Operation operation = 3;
}
message SetUserResponse {
bool success = 1;
string info = 2;
}
service TrojanClientService {
rpc GetTraffic(GetTrafficRequest) returns(GetTrafficResponse){}
}
service TrojanServerService {
rpc ListUsers(ListUserRequest) returns(stream ListUserResponse){}
rpc GetTraffic(stream GetTrafficRequest) returns(stream GetTrafficResponse){}
rpc SetUsers(stream SetUserRequest) returns(stream SetUserResponse){}
}