Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Operation] Bypass TLS over TLS detection #1239

Closed
cross-hello opened this issue Oct 6, 2022 · 5 comments
Closed

[Operation] Bypass TLS over TLS detection #1239

cross-hello opened this issue Oct 6, 2022 · 5 comments

Comments

@cross-hello
Copy link
Contributor

Turn on client Enable Multiplexer setting.(based on description think the setting could provide multiple handshake inside one TCP connect, thus change the detectable size of package. So it may could pass C&C detection)

Before setting you can't use China mobile internet connect to your server,
After you can.

@SekiBetu
Copy link

SekiBetu commented Oct 6, 2022

I suspect it doesn't work.

@cross-hello
Copy link
Contributor Author

@SekiBetu OK, sometimes success, sometimes fail.
May be need a more effective method to padding handshake package. (sorry for not familiar with golang at the time, so can't help )

@cross-hello
Copy link
Contributor Author

This time the problem may relate with package length.
Make Internet experiment on China mobile internet:
The first one with MUX option close:
Screenshot_2022_1006_231311
The second one with MUX option open:
Screenshot_2022_1006_231621
Here are the code:

import time
TIME=300
succ=0
task=0
fail=0

def g():
    global succ, task,fail
    try:
        html=rs.get("http://google.com")
        succ+=1
        print("success :", succ)
    except:
        fail+=1
        print("fail :", fail)
    task-=1

#for a in range(0,10000):
for a in range(0,TIME):
    while task==10:
        time.sleep(0.01)
    #qd.start_new_thread(g,())
    #print("start create new stread")
    task+=1
    qd.start_new_thread(g,())

print("\n\n open mux:")
#print("\n\n No mux:")
print(" success rate:", succ/(succ+fail))
print("fail rate:", fail/(succ+fail))

@yuhan6665
Copy link
Member

我在实验版本中增加了最简单的 tls 握手长度混淆
#1235
大家可以试试
https://github.com/XTLS/Xray-core/actions/runs/3212748729

@josephw1122
Copy link

josephw1122 commented Oct 14, 2022

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

No branches or pull requests

5 participants