Files
l-ui/frontend/src/lib/xray/node-protocols.ts
T

21 lines
797 B
TypeScript

import { Protocols } from '@/schemas/primitives';
/*
* Protocols whose inbounds can live on a sub-node (the "Deploy To" set).
* Everything else (http, tunnel, tun, mtproto) is panel-local only. Mixed
* is eligible: it is a plain xray inbound, and node-local mixed inbounds
* already sync back to the panel — hiding the picker only blocked creating
* them from the master.
* Shared by the inbound form's Deploy To selector and the clone dialog's
* target picker so the two surfaces can never drift apart.
*/
export const NODE_ELIGIBLE_PROTOCOLS: Readonly<Record<string, true>> = {
[Protocols.VLESS]: true,
[Protocols.VMESS]: true,
[Protocols.TROJAN]: true,
[Protocols.SHADOWSOCKS]: true,
[Protocols.HYSTERIA]: true,
[Protocols.WIREGUARD]: true,
[Protocols.MIXED]: true,
};