From 3a0034f10494d801c129145d3b7a7c8c8ce50980 Mon Sep 17 00:00:00 2001 From: 21pages Date: Mon, 29 Dec 2025 14:08:43 +0800 Subject: [PATCH] controlling strategy Signed-off-by: 21pages --- protos/rendezvous.proto | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/protos/rendezvous.proto b/protos/rendezvous.proto index afa86b4..a69630e 100644 --- a/protos/rendezvous.proto +++ b/protos/rendezvous.proto @@ -30,7 +30,25 @@ message PunchHoleRequest { bytes socket_addr_v6 = 10; } -message PunchHole { +message ControllingStrategy { + enum Feature { + keyboard = 0; + remote_printer = 1; + clipboard = 2; + file = 3; + audio = 4; + camera = 5; + terminal = 6; + tunnel = 7; + restart = 8; + recording = 9; + block_input = 10; + remote_modify = 11; + } + uint64 disabled_features = 1; +} + +message PunchHole { bytes socket_addr = 1; string relay_server = 2; NatType nat_type = 3; @@ -38,6 +56,7 @@ message PunchHole { bool force_relay = 5; int32 upnp_port = 6; bytes socket_addr_v6 = 7; + ControllingStrategy controlling_strategy = 8; } message TestNatRequest { @@ -124,6 +143,7 @@ message RequestRelay { string licence_key = 6; ConnType conn_type = 7; string token = 8; + ControllingStrategy controlling_strategy = 9; } message RelayResponse { @@ -147,10 +167,11 @@ message SoftwareUpdate { string url = 1; } // even some router has below connection error if we connect itself, // { kind: Other, error: "could not resolve to any address" }, // so we request local address to connect. -message FetchLocalAddr { - bytes socket_addr = 1; +message FetchLocalAddr { + bytes socket_addr = 1; string relay_server = 2; bytes socket_addr_v6 = 3; + ControllingStrategy controlling_strategy = 4; } message LocalAddr {