Skip to content

Shadowsockets Reduecd IV Head Entropy Experiment #1552

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

Merged
merged 7 commits into from
Jan 15, 2022

Conversation

xiaokangwang
Copy link
Contributor

@xiaokangwang xiaokangwang commented Jan 14, 2022

This is a pull request for the experiment on GFWReport's proposal for a countermeasure for the random stream like protocol blocking behaviour observed on GFW.

According to the gfw.report et al's research, when connecting to the impacted VPSs, GFW is likely to block binary protocols unless it is an HTTP, TLS, or SSH connection, or the first 6 bytes of data sent from client to server can be interpreted as printable characters. This suggests in addition to TLS encryption, HTTP Header, this kind of censorship can also be temporarily evaded by only sending printable characters in the first 6 bytes of data.

This pull request adds "experimentReducedIvHeadEntropy" option to shadowsocks outbound. This option request V2Ray to remap the first 6 bytes of IV to printable characters.

Enabling experiments have security implications. It is possible for anyone on the privileged network path to identify the protocol when this experiment is enabled.

@codecov-commenter
Copy link

codecov-commenter commented Jan 14, 2022

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

Attention: Patch coverage is 0% with 18 lines in your changes missing coverage. Please review.

Project coverage is 39.31%. Comparing base (17a5aae) to head (4958938).
Report is 563 commits behind head on master.

Files with missing lines Patch % Lines
proxy/shadowsocks/protocol.go 0.00% 6 Missing and 1 partial ⚠️
proxy/shadowsocks/config.pb.go 0.00% 4 Missing ⚠️
proxy/shadowsocks/simplified/config.pb.go 0.00% 4 Missing ⚠️
proxy/shadowsocks/simplified/config.go 0.00% 3 Missing ⚠️

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1552      +/-   ##
==========================================
- Coverage   39.32%   39.31%   -0.02%     
==========================================
  Files         605      605              
  Lines       35544    35560      +16     
==========================================
+ Hits        13978    13980       +2     
- Misses      20032    20045      +13     
- Partials     1534     1535       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@xiaokangwang xiaokangwang changed the title Shadowsocket Reduecd IV Head Entropy Experiment Shadowsockets Reduecd IV Head Entropy Experiment Jan 14, 2022
nekohasekai added a commit to SagerNet/v2ray-core that referenced this pull request Jan 15, 2022
nekohasekai added a commit to SagerNet/v2ray-core that referenced this pull request Jan 15, 2022
@xiaokangwang xiaokangwang merged commit ca56952 into master Jan 15, 2022
nekohasekai added a commit to SagerNet/v2ray-core that referenced this pull request Jan 16, 2022
@Loyalsoldier Loyalsoldier deleted the dev-ssreducediventropy branch September 18, 2022 04:15
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