Skip to content

Conversation

@xiaokangwang
Copy link
Contributor

@xiaokangwang xiaokangwang commented Jul 2, 2025

This pull request adds an incomplete implementation of TLSMirror transport protocol to V2Ray that is designed to help user creating traffic that is difficult to distinguish with a SNI proxy (or port forwarding to another TLS port).

This implementation is currently incomplete and is designed for developer preview only, and we discourage users to try it unless you know what you are doing.

example configuration:
https://gist.github.com/xiaokangwang/46e8ca7aa579f11404573fb8e1d4891a

By design, this protocol is post-handshake record length analysis resistant(to both tls implementation fingerprinting and http protocol fingerprinting) and not vulnerable to attack described in net4people/bbs#481 if correctly configured and implemented. This means no attack vector specific workarounds are necessary as protocol are designed to automatically resistant to those fingerprinting methods as the original TLS traffic between client and server are bit-identical until dangerous period passed and the connection is ready for carrying payload traffic.

This protocol will subject to multiple revision as there are missing features or incorrect implementation that create protocol fingerprints in certain configurations. Zero stability for both configuration and wire protocol should be expected.

@xiaokangwang xiaokangwang merged commit b1ef737 into v2fly:master Jul 3, 2025
43 of 44 checks passed
@asiaqa
Copy link

asiaqa commented Jul 13, 2025

This pull request adds an incomplete implementation of TLSMirror transport protocol to V2Ray that is designed to help user creating traffic that is difficult to distinguish with a SNI proxy (or port forwarding to another TLS port).

This implementation is currently incomplete and is designed for developer preview only, and we discourage users to try it unless you know what you are doing.

example configuration: https://gist.github.com/xiaokangwang/46e8ca7aa579f11404573fb8e1d4891a

By design, this protocol is post-handshake record length analysis resistant(to both tls implementation fingerprinting and http protocol fingerprinting) and not vulnerable to attack described in net4people/bbs#481 if correctly configured and implemented. This means no attack vector specific workarounds are necessary as protocol are designed to automatically resistant to those fingerprinting methods as the original TLS traffic between client and server are bit-identical until dangerous period passed and the connection is ready for carrying payload traffic.

This protocol will subject to multiple revision as there are missing features or incorrect implementation that create protocol fingerprints in certain configurations. Zero stability for both configuration and wire protocol should be expected.

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