1年前 (2015-12-23)  网络 |   52 条评论  124018 
文章评分 36 次,平均分 3.9
[收起] 文章目录

SS全新协议模式-SSR 说明及客户端下载 2016.5.19更新

SS的作者停止了原有开发,但breakwa11 继续在原有SS基础上开发出了全新分支SS-SSR。主页地址

更新历史
2016.12.3 更新客户端到3.9.6.2
2016.05.19 更新客户端到3.8.1
2016.04.25 更新客户端到3.8.0.1
2016.01.05 更新客户端到3.7.0
2015.12.23 开始创建

 

1、关于SS-SSR

1-1、版本特点:

  • 全能代理,同一端口支持socks4/socks4a/socks5/http
  • 节点统计,包括延迟、连接数、当前下载速度、最高速度、出错率等等
  • 连接管理,随时断开指定节点的连接,或修改节点后自动断开
  • 协议转换,把UDP包封装于TCP里发送,或把TCP包封装于UDP里发送
  • 多重代理,通过设置前置socks5/http代理,可达到任意重代理
  • 协议插件,支持自定义协议和协议混淆

1-2、意义:

SSR版本的出现,改变了SS单纯的TCP发包模式,利用UDP和TCP转换,将协议流量特征降到最低,同时混淆及自定义协议接口,将流量变成隐性且不易察觉,特别是后期redirect参数,甚至可以将Twitter的流量伪装成bing的流量发包传输,整体来说SSR版本后期定制性不可小觑。

1-3、兼容性:

SS-SSR版本向下兼容原版SS,如果新客户端有SSR版本,则可使用新版特性。

1-4、客户端下载:(底部相关下载中)

  • Windows客户端 
  • Merlin 固件 
  • Android客户端 (测试版,不推荐)

现有客户端完整支持的只有PC和Merlin上,iOS上的Surge等还不支持,不过因为向下兼容,就算使用不到新特性也可在原有模式下继续运行。

 

2、客户端使用

1、Windows客户端

下载后,和以前一样填入账号信息即可:

SS全新协议模式-SSR 说明及客户端下载 2016.5.19更新

填入相关账号信息即可,关于TCP协议和obfs混淆插件下部分“进阶设置”会讲,不过无论选择哪种协议和混淆模式都必须服务器端支持。

TCP和UDP互换一般不建议使用,如果使用需要服务器端支持UDP转发(SS-Python都支持)

2、Merlin固件:

在Merlin SS设置界面将使用SSR打钩,混淆模式填入即可:

SS全新协议模式-SSR 说明及客户端下载 2016.5.19更新

3、进阶设置

选择何种TCP协议和混淆模式因各地区和VPS属性而定,这里面的变量太大,就是原作者也无法提供一种准确的恒定参数,那么首先看看各参数的解释(来自作者Wiki)

SS全新协议模式-SSR 说明及客户端下载 2016.5.19更新

其实从上面就可以看出各种协议及插件的使用用途,TCP协议中有不同的抗攻击办法,而混淆插件可以伪装的方式也有几种,通过我这几天详细测试,在现有国内电信宽带的情况下,测试了如下数据:

SS全新协议模式-SSR 说明及客户端下载 2016.5.19更新

说明:本地带宽是50M光纤,机器已经经过自己优化。错误率统计是根据SSR客户端内统计得出。

YouTube 4K HTML5使用前后对比:(上是使用前)

SS全新协议模式-SSR 说明及客户端下载 2016.5.19更新

SS全新协议模式-SSR 说明及客户端下载 2016.5.19更新

综上所述,如果在选择插件方式的时候,还是建议auth_sha1+tls1.0_session_auth的组合,特别是对Linode这种线路有较好的提升。

 

附官方插件介绍:

1、原始协议插件:origin或plain:表示不混淆,使用原协议

2、混淆插件:

  • http_simple:并非完全按照http1.1标准实现,仅仅做了一个头部的GET请求和一个简单的回应,之后依然为原协议流。使用这个混淆后,已在部分地区观察到似乎欺骗了QOS的结果。对于这种混淆,它并非为了减少特征,相反的是提供一种强特征,试图欺骗G-F-W的协议检测。要注意的是应用范围变大以后因特征明显有可能会被封锁。此插件可以兼容原协议(需要在服务端配置为http_simple_compatible),延迟与原协议几乎无异(在存在QOS的地区甚至可能更快),除了头部数据包外没有冗余数据包,支持自定义参数,参数为http请求的host,例如设置为cloudfront.com伪装为云服务器请求,可以使用逗号分割多个host如a.com,b.net,c.org,这时会随机使用。注意,错误设置此参数可能导致连接被断开甚至IP被封锁,如不清楚如何设置那么请留空。

  • tls_simple(不建议使用):模拟https/TLS1.2的握手过程,目前未完成,server hello的应答数据不完整,但亦可使用。对于防火墙针对TLS握手协议篡改会无视,但结果是会导致此连接超时断开,浏览器响应缓慢。此插件可以兼容原协议(需要在服务端配置为tls_simple_compatible),比原协议多一次握手导致连接时间会长一些,除了握手过程之后没有冗余数据包,不支持自定义参数。

  • random_head:开始通讯前发送一个几乎为随机的数据包(目前末尾4字节为CRC32,会成为特征,以后会改进),之后为原协议流。目标是让首个数据包根本不存在任何有效信息,让统计学习机制见鬼去吧。此插件可以兼容原协议(需要在服务端配置为random_head_compatible),比原协议多一次握手导致连接时间会长一些,除了握手过程之后没有冗余数据包,不支持自定义参数。

  • tls1.0_session_auth:模拟TLS1.0在客户端有session ID的情况下的握手连接。目前为完整模拟实现,因为有session ID所以没有发送证书等复杂步骤,因而防火墙无法根据证书做判断。同时自带一定的抗重放攻击的能力。如遇到重放攻击则会在服务端log里搜索到,可以通过grep "replay attack"搜索,可以用此插件发现你所在地区线路有没有针对TLS的干扰。防火墙对TLS比较无能为力,抗封锁能力应该会较其它插件强,但遇到的干扰也可能不少,不过协议本身会检查出任何干扰,遇到干扰便断开连接,避免长时间等待,让客户端或浏览器自行重连。在支持本插件的情况下建议不要使用tls_simple。此插件可以兼容原协议(需要在服务端配置为tls1.0_session_auth_compatible),比原协议多一次握手导致连接时间会长一些,除了握手过程之后没有冗余数据包,不支持自定义参数,使用C#客户端开启自动重连时比其它插件表现更好。

 

3、协议定义插件:

此类型的插件实质上用于定义加密前的协议,部分插件能兼容原协议。

  • verify_simple:对每一个包都进行CRC32验证和长度混淆,数据格式为:包长度(2字节)|随机数据长度+1(1字节)|随机数据|原数据包|CRC32,此混淆插件可完全替代之前版本制作的协议。此插件与原协议握手延迟相同,整个通讯过程中存在验证及混淆用的冗余数据包,下载的情况下冗余数据平均占比1%,普通浏览时占比略高一些,但平均也不会超过5%。

  • verify_deflate:对每一个包都进行deflate压缩,数据格式为:包长度(2字节)|压缩数据流|原数据流Adler-32,此格式省略了0x78,0x9C两字节的头部。另外,对于已经压缩过或加密过的数据将难以压缩(可能增加1~20字节),而对于未加密的html文本会有不错的压缩效果。因为压缩及解压缩较占CPU,不建议较多用户同时使用此混淆插件。

  • verify_sha1:对每一个包都进行SHA-1校验,具体协议描述参阅One Time Auth,握手数据包增加10字节,其它数据包增加12字节。此插件能兼容原协议(需要在服务端配置为verify_sha1_compatible)。

  • auth_simple:首个客户端数据包会发送由客户端生成的随机客户端id(4byte)、连接id(4byte)、unix时间戳(4byte)以及CRC32,服务端通过验证后,之后的通讯与verify_simple相同。此插件提供了最基本的认证,能抵抗一般的重放攻击,默认同一端口最多支持16个客户端同时使用,可通过修改此值限制客户端数量,缺点是使用此插件的服务器与客户机的UTC时间差不能超过5分钟,通常只需要客户机校对本地时间并正确设置时区就可以了。此插件与原协议握手延迟相同,支持服务端自定义参数,参数为10进制整数,表示最大客户端同时使用数。

  • auth_sha1:对首个包进行SHA-1校验,同时会发送由客户端生成的随机客户端id(4byte)、连接id(4byte)、unix时间戳(4byte),之后的通讯使用Adler-32作为效验码。此插件提供了能抵抗CCA的认证,也能抵抗一般的重放攻击,默认同一端口最多支持64个客户端同时使用,可通过修改此值限制客户端数量,使用此插件的服务器与客户机的UTC时间差不能超过1小时,通常只需要客户机校对本地时间并正确设置时区就可以了。此插件与原协议握手延迟相同,能兼容原协议(需要在服务端配置为auth_sha1_compatible),支持服务端自定义参数,参数为10进制整数,表示最大客户端同时使用数。

这样以来,将来只要简单的换一个混淆插件,让大家的特征各不相同,G-F-W就极难下手统一封锁了。推荐使用auth_sha1插件,安全性在以上插件里最高,同时如果要发布公开代理,两个auth插件可严格限制使用人数(要注意的是服务端若配置为auth_sha1_compatible则没有限制效果)。
在现阶段,功夫网的重放攻击(Replay attack)十分常见,建议使用能抗重放攻击的协议。

 

相关下载

 

除特别注明外,本站所有文章均为AbcLite原创,转载请注明出处来自http://www.abclite.cn/2226.html

关于

发表评论

表情 格式

  1. 安卓版在哪里下载呢谢谢站长

    happypotter 7个月前 (07-17) [6] [1]
  2. 为什么我除了默认的协议和混淆 换别的都不能连接?

    syxxwrj 7个月前 (07-16) [2] [0]
  3. 如何下载呢

    yullower 7个月前 (07-16) [0] [0]
  4. 登录邮箱不存在了?什么情况??

    JYD 8个月前 (06-22) [1] [0]
  5. 测试数据很疑惑,auth_sha1+tls1.0_session_auth 两个协议按解释说明,都是做的协议混淆之用,为什么会对youtube有加速作用???
    是我什么地方没看懂吗?

    疯先生 9个月前 (06-07) [0] [1]
  6. 请问用了这个还能用final speed加速么。。。

    pkb 9个月前 (05-23) [1] [1]
  7. 下载地址有问题麻烦看看

    aaa 9个月前 (05-16) [1] [0]
  8. 有ShadowsocksR-dotnet4.0 ShadowsocksR-dotnet2.0两个程序,WIN10x64要用哪个?

    ousama 10个月前 (05-09) [0] [0]
  9. 下载不了了

    大蒜头 10个月前 (05-05) [0] [1]
  10. 哪里有3.8.0.1???

    yeeson 10个月前 (04-26) [2] [0]
  11. 这个要配置过服务器才能用吧,原来的ss服务器只能用原始的配置。

    假寐 11个月前 (04-05) [0] [0]
  12. 请问客户端这么用,那么服务器端需要做什么设置吗?

    御风而行 11个月前 (03-30) [0] [0]
  13. 我这极路由能不能用这个东西

    123 11个月前 (03-15) [0] [1]
  14. 非D套餐,无法使用SSR?

    LOL 1年前 (2016-01-12) [1] [0]
  15. 请问梅林的R6300V2没有auth_sha1和verify_sha1,D套餐怎么办?

    加菲机器人 1年前 (2016-01-07) [0] [0]
  16. po主,Openwrt的安装部署和linux一样么?

    Zakikun 1年前 (2015-12-27) [0] [0]
  17. 请问如何在surge上配置shadowsocksR? 跟SS一样吗?

    leesayyes 1年前 (2015-12-27) [0] [0]
  18. openwrt能用不?

    dover 1年前 (2015-12-23) [1] [0]
  19. 学习了,多谢po主科普

    Rowan 1年前 (2015-12-23) [0] [0]
  20. 大大能分享下脚本吗?!对比下跟koolshare那个rss。不知道那个是不是默认打开udp的!!

    fleson 1年前 (2015-12-23) [0] [0]
    • @flesonapt-get install m2crypto git
      git clone -b manyuser https://github.com/breakwa11/shadowsocks.git

      默认是否打开UDP是和你的服务器端相关的。

      Abc 1年前 (2015-12-23) [0] [1]
      • @Abc我是hostus

        {
        “server”:”0.0.0.0″,
        “server_ipv6”: “::”,
        “server_port”:8388,
        “local_address”: “127.0.0.1”,
        “local_port”:1080,
        “password”:”mypassword”,
        “timeout”:300,
        “method”:”aes-256-cfb”,
        “obfs”:”http_simple”,
        “fast_open”: false,
        “workers”: 1
        }

        如果用tls1.0_session_auth + origin怎样配置这个?!

        fleson 1年前 (2015-12-23) [1] [0]
    • @fleson我用那边的搭过~~反正ps4能出去!!检测到nat2所以应该是支持udp

      fleson 1年前 (2015-12-28) [0] [0]
  21. 1 2
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册