diff options
| author | Peter Liu <30622363+PedroLiu1999@users.noreply.github.com> | 2026-04-20 01:41:50 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-20 01:41:50 +0300 |
| commit | 36b2a586756fc279304170976c9d486498d55919 (patch) | |
| tree | 71a1dd665fa14a0fc9dad28c3ef421e3e3d7fe7c /web/html/xray.html | |
| parent | 59e98592251cac1dedb93905cb368a3ba93ad19c (diff) | |
feat: Add NordVPN NordLynx (WireGuard) integration (#3827)
* feat: Add NordVPN NordLynx (WireGuard) integration with dedicated UI and backend services.
* remove limit=10 to get all servers
* feat: add city selector to NordVPN modal
* feat: auto-select best server on country/city change
* feat: simplify filter logic and enforce > 7% load
* fix
---------
Co-authored-by: Sanaei <ho3ein.sanaei@gmail.com>
Diffstat (limited to 'web/html/xray.html')
| -rw-r--r-- | web/html/xray.html | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/web/html/xray.html b/web/html/xray.html index 040ae2ee..01b4e4e2 100644 --- a/web/html/xray.html +++ b/web/html/xray.html @@ -163,6 +163,7 @@ {{template "modals/dnsPresetsModal"}} {{template "modals/fakednsModal"}} {{template "modals/warpModal"}} +{{template "modals/nordModal"}} <script> const rulesColumns = [ { title: "#", align: 'center', width: 15, scopedSlots: { customRender: 'action' } }, @@ -1056,6 +1057,9 @@ showWarp() { warpModal.show(); }, + showNord() { + nordModal.show(); + }, async loadCustomGeoAliases() { try { const msg = await HttpUtil.get('/panel/api/custom-geo/aliases'); @@ -1429,6 +1433,19 @@ this.templateRuleSetter({ outboundTag: "warp", property: "domain", data: newValue }); } }, + nordTag: { + get: function () { + return this.templateSettings ? (this.templateSettings.outbounds.find((o) => o.tag.startsWith("nord-")) || { tag: "nord" }).tag : "nord"; + } + }, + nordDomains: { + get: function () { + return this.templateRuleGetter({ outboundTag: this.nordTag, property: "domain" }); + }, + set: function (newValue) { + this.templateRuleSetter({ outboundTag: this.nordTag, property: "domain", data: newValue }); + } + }, torrentSettings: { get: function () { return ArrayUtils.doAllItemsExist(this.settingsData.protocols.bittorrent, this.blockedProtocols); @@ -1446,6 +1463,11 @@ return this.templateSettings ? this.templateSettings.outbounds.findIndex((o) => o.tag == "warp") >= 0 : false; }, }, + NordExist: { + get: function () { + return this.templateSettings ? this.templateSettings.outbounds.findIndex((o) => o.tag.startsWith("nord-")) >= 0 : false; + }, + }, enableDNS: { get: function () { return this.templateSettings ? this.templateSettings.dns != null : false; |
