[v0.9.2] - 2026-10-20
🚀 Features & Enhancements
- Client-Side TLS Configuration for External Proxy:
- Added dedicated client-side TLS configuration section when External Proxy is enabled with TLS mode (
forceTls === 'tls') in the inbound configuration modal (external_proxy.html,inbound_modal.html). - Implemented configurable client TLS options matching server TLS configuration:
- SNI: Custom Server Name Indication (
serverName). - Cipher Suites: Granular cipher suite selection (
cipherSuites). - Min / Max Version: TLS protocol version boundaries (
TLS 1.2/TLS 1.3). - uTLS Fingerprint: Browser fingerprint simulation (
chrome,firefox,safari,ios,edge, etc.). - ALPN: Multi-select Application-Layer Protocol Negotiation (
h2,http/1.1, etc.). - Allow Insecure: Certificate verification skip toggle for self-signed certificates.
- System CA: Option to trust system certificates or built-in Mozilla RootCAs.
- ECH Config: Support for Encrypted Client Hello configuration payload.
- SNI: Custom Server Name Indication (
- Built
ExternalProxy.TlsSettingsmodel class ininbound.jsandoutbound.jswith full JSON serialization, clone, and form binding support. - Subscription Share Links:
- Upgraded link generation across
subService.go(genVlessLink,genVmessLink,genTrojanLink,genShadowsocksLink,genHysteriaLink) and Web UI (inbound.js). - Injects external proxy TLS parameters (
sni,alpn,fp,insecure,ech) into share links whenforceTlsis set totls.
- Upgraded link generation across
- JSON Subscription Outbounds:
- Enhanced
SubJsonService.getConfigandSubJsonService.tlsData(subJsonService.go) to propagate external proxy client-side TLS configurations into Xray client outbound definitions.
- Enhanced
- Unit Testing:
- Added automated test coverage in
sub_test.go(TestExternalProxy_CustomClientTLS) validating link generation and JSON outbound configurations for external proxies with custom client TLS.
- Added automated test coverage in
- Comprehensive Localization:
- Added
clientTlsSettingsandallowInsecuretranslations across all 13 supported languages (ar_EG,en_US,es_ES,fa_IR,id_ID,ja_JP,pt_BR,ru_RU,tr_TR,uk_UA,vi_VN,zh_CN,zh_TW).
- Added
- Added dedicated client-side TLS configuration section when External Proxy is enabled with TLS mode (
🐛 Bug Fixes & Refinements
- FinalMask TCP Profile Runtime Error:
- Fixed
TypeError: Cannot read properties of undefined (reading 'push')inStreamSettings.addTcpMaskandTcpMask.addProfiletriggered when adding non-xmcmasks (such asheader-custom) whose structure does not contain aprofilesarray.
- Fixed