mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-04-19 21:42:24 +00:00
Wireguard - kernel Tun
This commit is contained in:
parent
dff2496d73
commit
ac7901abba
6 changed files with 28 additions and 3 deletions
|
@ -1178,7 +1178,8 @@ Outbound.WireguardSettings = class extends CommonClass {
|
||||||
domainStrategy = '',
|
domainStrategy = '',
|
||||||
reserved = '',
|
reserved = '',
|
||||||
peers = [new Outbound.WireguardSettings.Peer()],
|
peers = [new Outbound.WireguardSettings.Peer()],
|
||||||
kernelMode = false
|
kernelMode = false,
|
||||||
|
kernelTun = false
|
||||||
) {
|
) {
|
||||||
super();
|
super();
|
||||||
this.mtu = mtu;
|
this.mtu = mtu;
|
||||||
|
@ -1190,6 +1191,7 @@ Outbound.WireguardSettings = class extends CommonClass {
|
||||||
this.reserved = Array.isArray(reserved) ? reserved.join(',') : reserved;
|
this.reserved = Array.isArray(reserved) ? reserved.join(',') : reserved;
|
||||||
this.peers = peers;
|
this.peers = peers;
|
||||||
this.kernelMode = kernelMode;
|
this.kernelMode = kernelMode;
|
||||||
|
this.kernelTun = kernelTun;
|
||||||
}
|
}
|
||||||
|
|
||||||
addPeer() {
|
addPeer() {
|
||||||
|
@ -1210,6 +1212,7 @@ Outbound.WireguardSettings = class extends CommonClass {
|
||||||
json.reserved,
|
json.reserved,
|
||||||
json.peers.map(peer => Outbound.WireguardSettings.Peer.fromJson(peer)),
|
json.peers.map(peer => Outbound.WireguardSettings.Peer.fromJson(peer)),
|
||||||
json.kernelMode,
|
json.kernelMode,
|
||||||
|
json.kernelTun,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1223,6 +1226,7 @@ Outbound.WireguardSettings = class extends CommonClass {
|
||||||
reserved: this.reserved ? this.reserved.split(",").map(Number) : undefined,
|
reserved: this.reserved ? this.reserved.split(",").map(Number) : undefined,
|
||||||
peers: Outbound.WireguardSettings.Peer.toJsonArray(this.peers),
|
peers: Outbound.WireguardSettings.Peer.toJsonArray(this.peers),
|
||||||
kernelMode: this.kernelMode,
|
kernelMode: this.kernelMode,
|
||||||
|
kernelTun: this.kernelTun,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -2644,13 +2644,21 @@ Inbound.HttpSettings.HttpAccount = class extends XrayCommonClass {
|
||||||
};
|
};
|
||||||
|
|
||||||
Inbound.WireguardSettings = 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);
|
super(protocol);
|
||||||
this.mtu = mtu;
|
this.mtu = mtu;
|
||||||
this.secretKey = secretKey;
|
this.secretKey = secretKey;
|
||||||
this.pubKey = secretKey.length > 0 ? Wireguard.generateKeypair(secretKey).publicKey : '';
|
this.pubKey = secretKey.length > 0 ? Wireguard.generateKeypair(secretKey).publicKey : '';
|
||||||
this.peers = peers;
|
this.peers = peers;
|
||||||
this.kernelMode = kernelMode;
|
this.kernelMode = kernelMode;
|
||||||
|
this.kernelTun = kernelTun;
|
||||||
}
|
}
|
||||||
|
|
||||||
addPeer() {
|
addPeer() {
|
||||||
|
@ -2668,6 +2676,7 @@ Inbound.WireguardSettings = class extends XrayCommonClass {
|
||||||
json.secretKey,
|
json.secretKey,
|
||||||
json.peers.map(peer => Inbound.WireguardSettings.Peer.fromJson(peer)),
|
json.peers.map(peer => Inbound.WireguardSettings.Peer.fromJson(peer)),
|
||||||
json.kernelMode,
|
json.kernelMode,
|
||||||
|
json.kernelTun,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2677,6 +2686,7 @@ Inbound.WireguardSettings = class extends XrayCommonClass {
|
||||||
secretKey: this.secretKey,
|
secretKey: this.secretKey,
|
||||||
peers: Inbound.WireguardSettings.Peer.toJsonArray(this.peers),
|
peers: Inbound.WireguardSettings.Peer.toJsonArray(this.peers),
|
||||||
kernelMode: this.kernelMode,
|
kernelMode: this.kernelMode,
|
||||||
|
kernelTun: this.kernelTun,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -150,6 +150,9 @@
|
||||||
<a-form-item label='Kernel Mode'>
|
<a-form-item label='Kernel Mode'>
|
||||||
<a-switch v-model="outbound.settings.kernelMode"></a-switch>
|
<a-switch v-model="outbound.settings.kernelMode"></a-switch>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
<a-form-item label='Kernel Tun'>
|
||||||
|
<a-switch v-model="outbound.settings.kernelTun"></a-switch>
|
||||||
|
</a-form-item>
|
||||||
<a-form-item>
|
<a-form-item>
|
||||||
<template slot="label">
|
<template slot="label">
|
||||||
<a-tooltip>
|
<a-tooltip>
|
||||||
|
|
|
@ -21,6 +21,9 @@
|
||||||
<a-form-item label='Kernel Mode'>
|
<a-form-item label='Kernel Mode'>
|
||||||
<a-switch v-model="inbound.settings.kernelMode"></a-switch>
|
<a-switch v-model="inbound.settings.kernelMode"></a-switch>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
<a-form-item label='Kernel Tun'>
|
||||||
|
<a-switch v-model="inbound.settings.kernelTun"></a-switch>
|
||||||
|
</a-form-item>
|
||||||
<a-form-item label="Peers">
|
<a-form-item label="Peers">
|
||||||
<a-button icon="plus" type="primary" size="small" @click="inbound.settings.addPeer()"></a-button>
|
<a-button icon="plus" type="primary" size="small" @click="inbound.settings.addPeer()"></a-button>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
|
@ -373,6 +373,10 @@
|
||||||
<td>Kernel Mode</td>
|
<td>Kernel Mode</td>
|
||||||
<td>[[ inbound.settings.kernelMode ]]</td>
|
<td>[[ inbound.settings.kernelMode ]]</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Kernel Tun</td>
|
||||||
|
<td>[[ inbound.settings.kernelTun ]]</td>
|
||||||
|
</tr>
|
||||||
<template v-for="(peer, index) in inbound.settings.peers">
|
<template v-for="(peer, index) in inbound.settings.peers">
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
|
|
|
@ -147,7 +147,8 @@
|
||||||
publicKey: peer.public_key,
|
publicKey: peer.public_key,
|
||||||
endpoint: peer.endpoint.host,
|
endpoint: peer.endpoint.host,
|
||||||
}],
|
}],
|
||||||
kernelMode: false
|
kernelMode: false,
|
||||||
|
kernelTun: false,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue