Skip to content

feat: add cipherSuites option and unsafe fingerprint to TLS UI settings - #9716

Open
patterniha wants to merge 26 commits into
2dust:masterfrom
patterniha:master
Open

feat: add cipherSuites option and unsafe fingerprint to TLS UI settings#9716
patterniha wants to merge 26 commits into
2dust:masterfrom
patterniha:master

Conversation

@patterniha

Copy link
Copy Markdown
Contributor

Corresponding to: 2dust/v2rayNG#5900

Copilot AI and others added 12 commits July 10, 2026 00:15
…safe-fingerprint-options

feat: add cipherSuites option and "unsafe" fingerprint to TLS UI settings
…low-up to #1)

The "unsafe" fingerprint added in #1 is Xray-only: sing-box passes the
node fingerprint into tls.utls.fingerprint and rejects unknown uTLS
names at startup, so any node with fingerprint "unsafe" running on the
sing-box core failed to connect. This is also reachable indirectly via
AddServerCommon, which stamps the global default fingerprint (settable
to "unsafe" in options) onto REALITY nodes. Skip uTLS in that case;
plain Go TLS matches what Xray's "unsafe" means anyway.

Also reset CipherSuites in AddHysteria2Server and AddNaiveServer
alongside the existing Fingerprint/Alpn resets, since #1 disabled the
textbox for these protocols but left stale values in the database.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
fix: sing-box "unsafe" fingerprint guard and CipherSuites resets (follow-up to #1)
The fork already round-trips its custom TLS fields (ech, vcn, pcs, pqv)
through share-link query parameters and the VMess QR-code JSON, but
CipherSuites was missing, so sharing a profile silently dropped it.

Add a "cs" query parameter to BaseFmt (exported inside the TLS-only
block alongside alpn, since cipherSuites is TLS-only) and a "cs" field
to VmessQRCode, mapped in VmessFmt.

The key matches the one used by the v2rayNG fork (patterniha/v2rayNG#3)
so links carrying cipher suites interop between the two clients.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
feat: round-trip CipherSuites in share links and VMess QR code
sing-box supports cipher_suites on outbound TLS (a list of the same Go
TLS names Xray takes as a colon-separated string), so the setting no
longer silently does nothing when a profile runs on the sing-box core.

Add cipher_suites to Tls4Sbox and map it in GenOutboundTls for the TLS
branch only (REALITY uses uTLS where cipher suites do not apply),
splitting the stored string on ":" or ",".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
feat: apply CipherSuites to sing-box TLS outbounds
@patterniha patterniha changed the title feat: add cipherSuites option and "unsafe" fingerprint to TLS UI settings feat: add cipherSuites option and unsafe fingerprint to TLS UI settings Jul 11, 2026
@patterniha

Copy link
Copy Markdown
Contributor Author

?
Is there a problem? If not, I hope #9716 and 2dust/v2rayNG#5900 merge soon so I don't have to resolve conflicts again.
///
Also, 5 days have passed since the new version of Xray-core, and unfortunately, the new version of V2rayNG has not been released yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants