opensnitch/proto/ui.proto
2018-04-07 13:52:25 +02:00

61 lines
1.2 KiB
Protocol Buffer

syntax = "proto3";
package protocol;
service UI {
rpc Ping(PingRequest) returns (PingReply) {}
rpc AskRule (RuleRequest) returns (RuleReply) {}
}
message Statistics {
string daemon_version = 1;
uint64 uptime = 2;
uint64 dns_responses = 3;
uint64 connections = 4;
uint64 ignored = 5;
uint64 accepted = 6;
uint64 dropped = 7;
uint64 rule_hits = 8;
uint64 rule_misses = 9;
map<string, uint64> by_proto = 10;
map<string, uint64> by_address = 11;
map<string, uint64> by_host = 12;
map<string, uint64> by_port = 13;
map<string, uint64> by_uid = 14;
map<string, uint64> by_executable = 15;
}
message PingRequest {
uint64 id = 1;
Statistics stats = 2;
}
message PingReply {
uint64 id = 1;
}
message RuleRequest {
string protocol = 1;
string src_ip = 2;
uint32 src_port = 3;
string dst_ip = 4;
string dst_host = 5;
uint32 dst_port = 6;
uint32 user_id = 7;
uint32 process_id = 8;
string process_path = 9;
repeated string process_args = 10;
}
message RuleOperator {
string type = 1;
string operand = 2;
string data = 3;
}
message RuleReply {
string name = 1;
string action = 2;
string duration = 3;
RuleOperator operator = 4;
}