Merge pull request #594 from rustdesk/port-forward-mux

Port forward mux
This commit is contained in:
RustDesk
2026-09-04 15:37:34 +08:00
committed by GitHub
2 changed files with 46 additions and 1 deletions
+43
View File
@@ -55,6 +55,7 @@ message DisplayInfo {
message PortForward {
string host = 1;
int32 port = 2;
bool multiplex = 3;
}
message FileTransfer {
@@ -104,6 +105,7 @@ message ChatMessage { string text = 1; }
message Features {
bool privacy_mode = 1;
bool terminal = 2;
bool port_forward_mux = 3;
}
message CodecAbility {
@@ -949,6 +951,46 @@ message TerminalResponse {
}
}
message PortForwardOpen {
int32 channel_id = 1;
string host = 2;
int32 port = 3;
uint32 window = 4;
}
message PortForwardOpened {
int32 channel_id = 1;
bool success = 2;
string message = 3;
uint32 window = 4;
}
message PortForwardData {
int32 channel_id = 1;
bytes data = 2;
}
message PortForwardClose {
int32 channel_id = 1;
}
message PortForwardWindowUpdate {
int32 channel_id = 1;
uint32 add = 2;
}
// One symmetric message for both directions. `open` only travels controller -> controlled,
// `opened` only controlled -> controller; a frame in the wrong direction is ignored.
message PortForwardChannel {
oneof union {
PortForwardOpen open = 1;
PortForwardOpened opened = 2;
PortForwardData data = 3;
PortForwardClose close = 4;
PortForwardWindowUpdate window_update = 5;
}
}
message Message {
oneof union {
SignedId signed_id = 3;
@@ -981,5 +1023,6 @@ message Message {
ScreenshotResponse screenshot_response= 30;
TerminalAction terminal_action = 31;
TerminalResponse terminal_response = 32;
PortForwardChannel port_forward_channel = 33;
}
}
+3 -1
View File
@@ -2993,9 +2993,10 @@ pub mod keys {
pub const OPTION_ALLOW_COMMAND_LINE_SETTINGS_WHEN_SETTINGS_DISABLED: &str =
"allow-command-line-settings-when-settings-disabled";
// Connection punch-through options
// Connection punch-through / port-forward options
pub const OPTION_ENABLE_UDP_PUNCH: &str = "enable-udp-punch";
pub const OPTION_ENABLE_IPV6_PUNCH: &str = "enable-ipv6-punch";
pub const OPTION_ENABLE_PORT_FORWARD_MUX: &str = "enable-port-forward-mux";
pub const OPTION_HIDE_USERNAME_ON_CARD: &str = "hide-username-on-card";
pub const OPTION_HIDE_HELP_CARDS: &str = "hide-help-cards";
pub const OPTION_DEFAULT_CONNECT_PASSWORD: &str = "default-connect-password";
@@ -3127,6 +3128,7 @@ pub mod keys {
OPTION_VIDEO_SAVE_DIRECTORY,
OPTION_ENABLE_UDP_PUNCH,
OPTION_ENABLE_IPV6_PUNCH,
OPTION_ENABLE_PORT_FORWARD_MUX,
OPTION_TOUCH_MODE,
OPTION_SHOW_VIRTUAL_MOUSE,
OPTION_SHOW_VIRTUAL_JOYSTICK,