From 73a32e2e44a19d257cfd267864e908940b5a271d Mon Sep 17 00:00:00 2001
From: eguun <79050535+eguun@users.noreply.github.com>
Date: Mon, 6 Oct 2025 09:05:03 +0200
Subject: [PATCH] Shadowsocks update web UI to set timeout and udp
fragmentation (#4967)
---
net/shadowsocks/pkg-descr | 1 +
.../OPNsense/Shadowsocks/forms/general.xml | 13 +++++++++++++
.../mvc/app/models/OPNsense/Shadowsocks/General.xml | 10 +++++++++-
.../templates/OPNsense/Shadowsocks/config.json | 5 +++--
4 files changed, 26 insertions(+), 3 deletions(-)
diff --git a/net/shadowsocks/pkg-descr b/net/shadowsocks/pkg-descr
index 03e26282a..e152306d6 100644
--- a/net/shadowsocks/pkg-descr
+++ b/net/shadowsocks/pkg-descr
@@ -6,6 +6,7 @@ Plugin Changelog
1.3
* Update ciphers to match shadowsocks-rust (contributed by eguun)
+* Update WebUI to allow setting for TCP timeout and UDP fragmentation (contributed by kvoffka and eguun)
1.2
diff --git a/net/shadowsocks/src/opnsense/mvc/app/controllers/OPNsense/Shadowsocks/forms/general.xml b/net/shadowsocks/src/opnsense/mvc/app/controllers/OPNsense/Shadowsocks/forms/general.xml
index b87f8e838..185decc5a 100644
--- a/net/shadowsocks/src/opnsense/mvc/app/controllers/OPNsense/Shadowsocks/forms/general.xml
+++ b/net/shadowsocks/src/opnsense/mvc/app/controllers/OPNsense/Shadowsocks/forms/general.xml
@@ -41,4 +41,17 @@
dropdown
Choose TCP, UDP or both relay mode
+
+ general.timeout
+
+ text
+ 60
+ Set the TCP relay timeout in seconds.
+
+
+ general.fragmentation
+
+ checkbox
+ Allow IP fragmentation on the outbound UDP socket.
+
diff --git a/net/shadowsocks/src/opnsense/mvc/app/models/OPNsense/Shadowsocks/General.xml b/net/shadowsocks/src/opnsense/mvc/app/models/OPNsense/Shadowsocks/General.xml
index 9636f880e..0a400b232 100644
--- a/net/shadowsocks/src/opnsense/mvc/app/models/OPNsense/Shadowsocks/General.xml
+++ b/net/shadowsocks/src/opnsense/mvc/app/models/OPNsense/Shadowsocks/General.xml
@@ -1,7 +1,7 @@
//OPNsense/shadowsocks/general
Shadowsocks configuration
- 1.0.1
+ 1.0.2
0
@@ -63,5 +63,13 @@
TCP and UDP
+
+ 60
+ Y
+
+
+ 0
+ Y
+
diff --git a/net/shadowsocks/src/opnsense/service/templates/OPNsense/Shadowsocks/config.json b/net/shadowsocks/src/opnsense/service/templates/OPNsense/Shadowsocks/config.json
index b4337ea4a..09062d237 100644
--- a/net/shadowsocks/src/opnsense/service/templates/OPNsense/Shadowsocks/config.json
+++ b/net/shadowsocks/src/opnsense/service/templates/OPNsense/Shadowsocks/config.json
@@ -4,8 +4,9 @@
"server_port":{{ OPNsense.shadowsocks.general.serverport }},
"local_port":{{ OPNsense.shadowsocks.general.localport }},
"password":"{{ OPNsense.shadowsocks.general.password }}",
- "timeout":60,
+ "timeout":{{ OPNsense.shadowsocks.general.timeout }},
"mode":"{{ OPNsense.shadowsocks.general.tcpudpmode }}",
- "method":"{{ OPNsense.shadowsocks.general.cipher }}"
+ "method":"{{ OPNsense.shadowsocks.general.cipher }}",
+ "outbound_udp_allow_fragmentation":{{ "true" if OPNsense.shadowsocks.general.fragmentation == '1' else "false"}}
}
{% endif %}