feat: add transport and mtu fields to gui

This commit is contained in:
ospab 2026-05-21 02:59:01 +03:00
parent f55769bae0
commit a5a0a17cfd
2 changed files with 24 additions and 0 deletions

View File

@ -182,6 +182,19 @@
<input id="in-dns" class="field-input" type="text" placeholder="1.1.1.1" /> <input id="in-dns" class="field-input" type="text" placeholder="1.1.1.1" />
</div> </div>
<div class="field-group">
<label class="field-label" for="in-transport" data-i18n="label_transport">Transport Protocol</label>
<select id="in-transport" class="field-input">
<option value="udp">UDP (Default)</option>
<option value="uot">TCP (UoT)</option>
</select>
</div>
<div class="field-group">
<label class="field-label" for="in-mtu" data-i18n="label_mtu">MTU Size</label>
<input id="in-mtu" class="field-input" type="number" placeholder="1350" />
</div>
<!-- Toggles --> <!-- Toggles -->
<div class="toggle-row"> <div class="toggle-row">
<div class="toggle-text"> <div class="toggle-text">

View File

@ -42,6 +42,8 @@ const inServer = $('in-server');
const inKey = $('in-key'); const inKey = $('in-key');
const inSocks = $('in-socks'); const inSocks = $('in-socks');
const inDns = $('in-dns'); const inDns = $('in-dns');
const inTransport = $('in-transport');
const inMtu = $('in-mtu');
const inTun = $('in-tun-mode'); const inTun = $('in-tun-mode');
const inDebug = $('in-debug'); const inDebug = $('in-debug');
const inDomains = $('in-ex-domains'); const inDomains = $('in-ex-domains');
@ -222,6 +224,8 @@ async function loadConfigIntoForm() {
inServer.value = c.server || ''; inServer.value = c.server || '';
inKey.value = c.access_key || ''; inKey.value = c.access_key || '';
inSocks.value = c.socks5_bind || '127.0.0.1:1088'; 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; inTun.checked = !!c.tun?.enable;
inDns.value = c.tun?.dns || ''; inDns.value = c.tun?.dns || '';
inDebug.checked = !!c.debug; inDebug.checked = !!c.debug;
@ -251,6 +255,13 @@ async function handleSave() {
rawConfig.socks5_bind = inSocks.value.trim() || null; rawConfig.socks5_bind = inSocks.value.trim() || null;
rawConfig.debug = inDebug.checked; 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) { if (!rawConfig.tun) {
rawConfig.tun = { wintun_path: './wintun.dll', ipv4_address: '10.1.0.2/24' }; rawConfig.tun = { wintun_path: './wintun.dll', ipv4_address: '10.1.0.2/24' };
} }