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 %}