mirror of
https://github.com/shtorm-7/sing-box-extended.git
synced 2026-05-14 00:51:12 +03:00
105 lines
1.9 KiB
Protocol Buffer
105 lines
1.9 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
option go_package = "github.com/sagernet/sing-box/service/remotemanager/manager";
|
|
|
|
package manager.v1;
|
|
|
|
service Manager {
|
|
rpc AddNode (Node) returns (stream NodeData);
|
|
rpc AcquireLock(AcquireLockRequest) returns (LockData);
|
|
rpc RefreshLock(LockData) returns (Empty);
|
|
rpc ReleaseLock(LockData) returns (Empty);
|
|
}
|
|
|
|
message Node {
|
|
string uuid = 1;
|
|
}
|
|
|
|
enum OpType {
|
|
updateUsers = 0;
|
|
updateUser = 1;
|
|
deleteUser = 2;
|
|
|
|
updateBandwidthLimiters = 3;
|
|
updateBandwidthLimiter = 4;
|
|
deleteBandwidthLimiter = 5;
|
|
|
|
updateConnectionLimiters = 6;
|
|
updateConnectionLimiter = 7;
|
|
deleteConnectionLimiter = 8;
|
|
}
|
|
|
|
message User {
|
|
int32 id = 1;
|
|
string username = 3;
|
|
string type = 4;
|
|
string inbound = 5;
|
|
string uuid = 6;
|
|
string password = 7;
|
|
string flow = 8;
|
|
int32 alter_id = 9;
|
|
}
|
|
|
|
message UserList {
|
|
repeated User values = 1;
|
|
}
|
|
|
|
message BandwidthLimiter {
|
|
int32 id = 1;
|
|
string username = 3;
|
|
string outbound = 4;
|
|
string strategy = 5;
|
|
string mode = 6;
|
|
string connection_type = 7;
|
|
string speed = 8;
|
|
uint64 raw_speed = 9;
|
|
}
|
|
|
|
message BandwidthLimiterList {
|
|
repeated BandwidthLimiter values = 1;
|
|
}
|
|
|
|
message ConnectionLimiter {
|
|
int32 id = 1;
|
|
string username = 3;
|
|
string outbound = 4;
|
|
string strategy = 5;
|
|
string connection_type = 6;
|
|
string lock_type = 7;
|
|
uint32 count = 8;
|
|
}
|
|
|
|
message ConnectionLimiterList {
|
|
repeated ConnectionLimiter values = 1;
|
|
}
|
|
|
|
message NodeData {
|
|
|
|
OpType op = 1;
|
|
|
|
oneof data {
|
|
UserList users = 2;
|
|
User user = 3;
|
|
BandwidthLimiterList bandwidth_limiters = 4;
|
|
BandwidthLimiter bandwidth_limiter = 5;
|
|
ConnectionLimiterList connection_limiters = 6;
|
|
ConnectionLimiter connection_limiter = 7;
|
|
}
|
|
|
|
}
|
|
|
|
message AcquireLockRequest {
|
|
int32 limiter_id = 1;
|
|
string id = 2;
|
|
}
|
|
|
|
message LockData {
|
|
int32 limiter_id = 1;
|
|
string id = 2;
|
|
string handleId = 3;
|
|
}
|
|
|
|
message Empty {
|
|
|
|
}
|