Template
Ship AIVPN smart protocol picker and bump to v3.0.0.
Heuristic selection (stealth/balanced/speed) for invites, guest create, and user connections. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -197,7 +197,7 @@
|
||||
const xuiDefaultInbound = {{ xui_default_inbound | int }};
|
||||
const xuiDefaultPanelId = {{ (xui_default_panel_id or '') | tojson }};
|
||||
const VPN_PROTO_ORDER = ['awg2', 'awg', 'awg_legacy', 'wireguard', 'xray', 'telemt', 'hysteria', 'naiveproxy', 'mieru'];
|
||||
const PROTO_TITLES = {
|
||||
const PROTO_TITLES = {
|
||||
awg2: 'AmneziaWG 2.0',
|
||||
awg: 'AmneziaWG',
|
||||
awg_legacy: 'AWG Legacy',
|
||||
@@ -207,6 +207,7 @@
|
||||
hysteria: 'Hysteria 2',
|
||||
naiveproxy: 'NaiveProxy',
|
||||
mieru: 'Mieru',
|
||||
aivpn: 'AIVPN (auto)',
|
||||
xui: '3x-ui VLESS',
|
||||
};
|
||||
|
||||
@@ -264,6 +265,12 @@
|
||||
return;
|
||||
}
|
||||
|
||||
const aivpnOpt = document.createElement('option');
|
||||
aivpnOpt.value = 'aivpn';
|
||||
aivpnOpt.textContent = _('aivpn_protocol_option') || 'AIVPN (auto)';
|
||||
if (preferProtocol === 'aivpn') aivpnOpt.selected = true;
|
||||
sel.appendChild(aivpnOpt);
|
||||
|
||||
installed.forEach(key => {
|
||||
const opt = document.createElement('option');
|
||||
opt.value = key;
|
||||
|
||||
Reference in New Issue
Block a user