В настройках Host уже есть возможность переопределить Security Layer, однако сейчас этого недостаточно для сложных Xray-конфигураций.
На данный момент можно выбрать:
DEFAULT
TLS
NONE
При этом:
- нельзя выбрать
REALITY; - нельзя задать отдельные
realitySettings; - нельзя полноценно задать
tlsSettings; - параметры security фактически продолжают зависеть от выбранного runtime inbound.
Это создаёт проблему, например, для рабочей Xray-схемы:
Client XHTTP + REALITY
↓
VLESS RAW + REALITY :443
↓
REALITY termination
↓
fallback
↓
Unix socket
↓
VLESS XHTTP
security: none
Внутренний XHTTP inbound здесь должен иметь security: none, поскольку REALITY уже обработан внешним inbound.
Но клиенту при этом необходимо выдать:
network = xhttp
security = reality
realitySettings:
serverName / SNI
publicKey
shortId
fingerprint
Если Host привязать непосредственно к runtime XHTTP inbound, Remnawave наследует security: none и генерирует неправильную клиентскую конфигурацию.
Сейчас приходится создавать отдельный donor inbound с:
network = xhttp
security = reality
и нужными realitySettings.
Этот inbound не участвует в передаче трафика и нужен исключительно как источник параметров для генерации подписки.
Предлагаю расширить существующий механизм Security Layer в Host Overrides:
Security Layer:
- Default
- None
- TLS
- Reality
И в зависимости от выбранного значения показывать соответствующий блок настроек.
Для REALITY, например:
realitySettings:
- serverName / SNI
- publicKey
- shortId
- fingerprint
- spiderX при необходимости
Для TLS:
tlsSettings:
- serverName
- ALPN
- fingerprint
- остальные необходимые client-side параметры
То есть Host должен иметь возможность полностью переопределить client-facing transport security независимо от security выбранного inbound.
Это позволит корректно использовать fallback/socket и другие сложные Xray-схемы без создания фиктивных donor inbound.