gitscope
← marzneshin / v0.6.0 / app/marznode/marznode.proto
https://dev.kronoz.win/r/marzneshin.git
app/marznode/marznode.proto · Protocol Buffer
Blame Raw
 1syntax = "proto3";
 2
 3package marznode;
 4
 5message Empty {}
 6
 7enum ConfigFormat {
 8  PLAIN = 0;
 9  JSON = 1;
10  YAML = 2;
11}
12
13message Backend {
14  string name = 1;
15  optional string type = 2;
16  optional string version = 3;
17  repeated Inbound inbounds = 4;
18}
19
20message BackendsResponse {
21  repeated Backend backends = 1;
22}
23
24message Inbound {
25  string tag = 1;
26  optional string config = 2;
27}
28
29message User {
30  uint32 id = 1;
31  string username = 2;
32  string key = 3;
33}
34
35message UserData {
36  User user = 1;
37  repeated Inbound inbounds = 2;
38}
39
40message UsersData {
41  repeated UserData users_data = 1;
42}
43
44message UsersStats {
45  message UserStats {
46    uint32 uid = 1;
47    uint64 usage = 2;
48  }
49  repeated UserStats users_stats = 1;
50}
51
52message LogLine {
53  string line = 1;
54}
55
56message BackendConfig {
57  string configuration = 1;
58  ConfigFormat config_format = 2;
59}
60
61message BackendLogsRequest {
62  string backend_name = 1;
63  bool include_buffer = 2;
64}
65
66message RestartBackendRequest {
67  string backend_name = 1;
68  optional BackendConfig config = 2;
69}
70
71message BackendStats {
72  bool running = 1;
73}
74
75service MarzService {
76  rpc SyncUsers(stream UserData) returns (Empty);
77  rpc RepopulateUsers(UsersData) returns (Empty);
78  rpc FetchBackends(Empty) returns (BackendsResponse);
79  rpc FetchUsersStats(Empty) returns (UsersStats);
80  rpc FetchBackendConfig(Backend) returns (BackendConfig);
81  rpc RestartBackend(RestartBackendRequest) returns (Empty);
82  rpc StreamBackendLogs(BackendLogsRequest) returns (stream LogLine);
83  rpc GetBackendStats(Backend) returns (BackendStats);
84}