From 0f6daace1b87f70804e3d2b05ee0cab619725130 Mon Sep 17 00:00:00 2001 From: mhsanaei Date: Wed, 16 Oct 2024 12:06:47 +0200 Subject: [PATCH] Wireguard - kernel Tun --- web/assets/js/model/outbound.js | 6 +++++- web/assets/js/model/xray.js | 12 +++++++++++- web/html/xui/form/outbound.html | 3 +++ web/html/xui/form/protocol/wireguard.html | 3 +++ web/html/xui/inbound_info_modal.html | 4 ++++ web/html/xui/warp_modal.html | 3 ++- 6 files changed, 28 insertions(+), 3 deletions(-) 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 @@ + + +