mirror of
https://github.com/p4gefau1t/trojan-go.git
synced 2024-04-21 12:21:34 +00:00
69 lines
1.3 KiB
Protocol Buffer
69 lines
1.3 KiB
Protocol Buffer
syntax = "proto3";
|
|
package trojan.api;
|
|
option go_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){}
|
|
}
|