Skip to content

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

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

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

Conversation

@patterniha

@patterniha patterniha commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

the reason discussed here: XTLS/Xray-core#6450, XTLS/Xray-core#6450 (comment)

in short, for bypassing dpi we need these two options.

Copilot AI and others added 2 commits July 9, 2026 23:26
…safe-option

feat: add cipherSuites option and "unsafe" fingerprint to TLS UI settings
patterniha and others added 5 commits July 10, 2026 05:22
Add the server_lab_cipher_suites label to all 8 locale strings.xml
files (ar, bn, bqi-rIR, fa, ru, vi, zh-rCN, zh-rTW), which #1 only
added to the default values/strings.xml.

Also compare cipherSuites in ProfileItem.equals so profiles differing
only in cipher suites are not treated as duplicates and deleted by
"remove duplicate servers".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
fix: add missing cipherSuites locale strings and equals comparison (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 FmtBase import/export and a "cs" field to
VmessQRCode, mapped in VmessFmt parse/toUri, following the existing
pattern (emitted only when non-blank).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
feat: round-trip cipherSuites in share links and VMess QR code
@patterniha

Copy link
Copy Markdown
Contributor Author

patterniha and others added 3 commits July 16, 2026 15:02
The V2rayN Inner URI feature (2dust/v2rayNG@1338ec8e) imports profiles
via V2rayNShareItem, a hand-written mirror of v2rayN's ProfileItem
entity. v2rayN serializes its entity generically, so links it exports
include CipherSuites, but the mirror lacked the field and dropped the
value on import.

Add CipherSuites to V2rayNShareItem and map it in toProfileItem(). The
DTO is only constructed by gson deserialization, so no other call sites
are affected.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@patterniha

Copy link
Copy Markdown
Contributor Author

Conflicts resolved for the second time :|

@2dust What is the problem?

patterniha and others added 2 commits July 18, 2026 12:38
Upstream ac03b0e split ServerActivity into per-protocol activities
with shared BaseServerActivity/ServerUiState. Git carried the old
cipherSuites lines into the moved ui/server/ServerActivity.kt, but the
live editor path is the new state class and shared TLS section.

Add cipherSuites to ServerUiState (constructor, state property,
toProfileItem, fromProfileItem - the Saver round-trips through these so
it also survives process death) and render the field in
BaseServerActivity's TLS-only section after the alpn dropdown.

The "unsafe" fingerprint needs no port: the new dropdown reads the same
streamsecurity_utls array.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@patterniha

Copy link
Copy Markdown
Contributor Author

Conflicts resolved for the third time.

@2dust
Can you please look at this PR earlier? It simply adds cipherSuites and unsafe options, which are necessary to bypass DPI for the current war situation in Iran.

@patterniha

Copy link
Copy Markdown
Contributor Author

now many Iranians people use PattNG and can bypass dpi and upload-restriction by changing cipherSuites, the only difference with v2rayNG is this PR.

but I still hope this PR and 2dust/v2rayN#9716 merge because I don't want to waste my time maintaining Android/Windows apps.

@2dust

@2dust

2dust commented Jul 31, 2026

Copy link
Copy Markdown
Owner

XTLS/Xray-core#716
请问下这个分享的规范没有找到 cipherSuites

@patterniha

Copy link
Copy Markdown
Contributor Author

I obviously choose cs‍ for cipherSuites.

Even though I have access to change the XTLS/Xray-core#716, I asked @RPRX to add the cs so he could approve.
XTLS/Xray-core#716 (comment).

@2dust

2dust commented Jul 31, 2026

Copy link
Copy Markdown
Owner

如果 rprx 接受 cipherSuites,cs 有点太短了,建议加长

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.

3 participants