diff --git a/ostp-gui/src/index.html b/ostp-gui/src/index.html
index 7d76fc0..375c8d7 100644
--- a/ostp-gui/src/index.html
+++ b/ostp-gui/src/index.html
@@ -182,6 +182,19 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/ostp-gui/src/main.js b/ostp-gui/src/main.js
index a265197..cb9673e 100644
--- a/ostp-gui/src/main.js
+++ b/ostp-gui/src/main.js
@@ -42,6 +42,8 @@ const inServer = $('in-server');
const inKey = $('in-key');
const inSocks = $('in-socks');
const inDns = $('in-dns');
+const inTransport = $('in-transport');
+const inMtu = $('in-mtu');
const inTun = $('in-tun-mode');
const inDebug = $('in-debug');
const inDomains = $('in-ex-domains');
@@ -222,6 +224,8 @@ async function loadConfigIntoForm() {
inServer.value = c.server || '';
inKey.value = c.access_key || '';
inSocks.value = c.socks5_bind || '127.0.0.1:1088';
+ inTransport.value = c.transport?.mode || 'udp';
+ inMtu.value = c.mtu || '';
inTun.checked = !!c.tun?.enable;
inDns.value = c.tun?.dns || '';
inDebug.checked = !!c.debug;
@@ -251,6 +255,13 @@ async function handleSave() {
rawConfig.socks5_bind = inSocks.value.trim() || null;
rawConfig.debug = inDebug.checked;
+ rawConfig.transport = rawConfig.transport || {};
+ rawConfig.transport.mode = inTransport.value;
+
+ const mtuStr = inMtu.value.trim();
+ if (mtuStr) rawConfig.mtu = parseInt(mtuStr, 10);
+ else delete rawConfig.mtu;
+
if (!rawConfig.tun) {
rawConfig.tun = { wintun_path: './wintun.dll', ipv4_address: '10.1.0.2/24' };
}