diff --git a/web/assets/js/model/outbound.js b/web/assets/js/model/outbound.js index a66cc215..71c07713 100644 --- a/web/assets/js/model/outbound.js +++ b/web/assets/js/model/outbound.js @@ -1178,7 +1178,8 @@ Outbound.WireguardSettings = class extends CommonClass { domainStrategy = '', reserved = '', peers = [new Outbound.WireguardSettings.Peer()], - kernelMode = false + kernelMode = false, + kernelTun = false ) { super(); this.mtu = mtu; @@ -1190,6 +1191,7 @@ Outbound.WireguardSettings = class extends CommonClass { this.reserved = Array.isArray(reserved) ? reserved.join(',') : reserved; this.peers = peers; this.kernelMode = kernelMode; + this.kernelTun = kernelTun; } addPeer() { @@ -1210,6 +1212,7 @@ Outbound.WireguardSettings = class extends CommonClass { json.reserved, json.peers.map(peer => Outbound.WireguardSettings.Peer.fromJson(peer)), json.kernelMode, + json.kernelTun, ); } @@ -1223,6 +1226,7 @@ Outbound.WireguardSettings = class extends CommonClass { reserved: this.reserved ? this.reserved.split(",").map(Number) : undefined, peers: Outbound.WireguardSettings.Peer.toJsonArray(this.peers), kernelMode: this.kernelMode, + kernelTun: this.kernelTun, }; } }; diff --git a/web/assets/js/model/xray.js b/web/assets/js/model/xray.js index 6d0c1c9d..9b731a7f 100644 --- a/web/assets/js/model/xray.js +++ b/web/assets/js/model/xray.js @@ -2644,13 +2644,21 @@ Inbound.HttpSettings.HttpAccount = class extends XrayCommonClass { }; Inbound.WireguardSettings = class extends XrayCommonClass { - constructor(protocol, mtu = 1420, secretKey = Wireguard.generateKeypair().privateKey, peers = [new Inbound.WireguardSettings.Peer()], kernelMode = false) { + constructor( + protocol, + mtu = 1420, + secretKey = Wireguard.generateKeypair().privateKey, + peers = [new Inbound.WireguardSettings.Peer()], + kernelMode = false, + kernelTun = false, + ) { super(protocol); this.mtu = mtu; this.secretKey = secretKey; this.pubKey = secretKey.length > 0 ? Wireguard.generateKeypair(secretKey).publicKey : ''; this.peers = peers; this.kernelMode = kernelMode; + this.kernelTun = kernelTun; } addPeer() { @@ -2668,6 +2676,7 @@ Inbound.WireguardSettings = class extends XrayCommonClass { json.secretKey, json.peers.map(peer => Inbound.WireguardSettings.Peer.fromJson(peer)), json.kernelMode, + json.kernelTun, ); } @@ -2677,6 +2686,7 @@ Inbound.WireguardSettings = class extends XrayCommonClass { secretKey: this.secretKey, peers: Inbound.WireguardSettings.Peer.toJsonArray(this.peers), kernelMode: this.kernelMode, + kernelTun: this.kernelTun, }; } }; diff --git a/web/html/xui/form/outbound.html b/web/html/xui/form/outbound.html index 00b33c0b..f35391cf 100644 --- a/web/html/xui/form/outbound.html +++ b/web/html/xui/form/outbound.html @@ -150,6 +150,9 @@ + + +