Top Menu

测试V2Ray中转SSR

V2Ray默认不支持SSR,但是由于V2Ray可以作为一个通用中间代理,所以其实是可以实现转发SSR流量的功能。

在V2Ray服务端设置出站连接目标为SSR监听端口

在本地V2Ray客户端设置VMess协议连接至节点,并在SSR客户端设置Remote Proxy为本地V2Ray监听地址

设置完成之后,本地SSR监听端口接受到请求之后,不会直接向服务器发送,而是转发给本地V2Ray服务,由V2Ray使用VMess协议包装后再次发送给V2Ray服务器,V2Ray服务器接受到内容后,解包后再次发送给SSR服务端,SSR服务端收到请求后进行执行,返回结果给V2Ray服务端,由V2Ray服务端加密后返回给V2Ray客户端,V2Ray客户端收到内容后解密并转发给SSR客户端,SSR客户端收到内容后反馈给用户

测试结果:能够正常进行SSR用户认证,并且正常返回数据。

问题:由于经历了两次打包和转发,延迟非常严重,基本不能使用。

改进

后来想了想,其实根本没有这么麻烦,根本不需要指定端口,只需要设定一个开放协议就可以

测试结果:延迟比之前指定端口的明显要好,速度感觉跟SSR直连差不多。

问题:可以跳过SSR认证直接使用V2Ray

实际测试,不转发SSR直接使用VMess协议的时候,连接速度会受限,而使用VMess转发SSR,则没有问题

使用fast.com分别对V2Ray、SSR over V2Ray、SSR进行测试的流量曲线对比

可以看到SSR的峰值来的快,而SSR over V2Ray则峰值较小延迟较大且还在消耗额外的流量,V2Ray则延迟太大在前期都没有数据反馈,峰值太靠后。

测试服务器参数(SJO节点)

 

6 comments

  • Hello, guest
  • 感谢分享,只是有点没看懂,不知道能不能实现本地->v2(服务器1)->ssr(服务器1) -> ssr(服务器2)。因为很多机场都只提供ssr
    • author
      本地->v2(服务器1)->ssr(服务器1)其实就是文章里实现的功能,而本地->ssr(服务器1) -> ssr(服务器2)只需要使用SSR本身的中转功能在配置文件里增加设置就可以实现,理论上这样的配置是可以实现的
      • 如果用第二种方法的话outbound那里不加tags怎么实现用户分流呢?而且直接一个freedom怎么知道本地ssr地址?我试了下第一种似乎不可用,可能python版的ssr还需要另外设置“允许局域网连接”什么的。。另外详细v2和ssr配置文件可以让我参考下吗?谢谢
      • author
        python版SSR默认确实会禁止访问127.0.0.1(https://blog.minirplus.com/14035/),但是仅限于直接访问本地,对于通过v2ray访问本地的SSR接口没有限制,freedom不设置redirect的话其实可以说是绕过了SSR,除非手动指定SSR节点为当前服务器,否则直接可以绕过,文章里的配置是修改的其他都和官方默认的一样,服务器端用的是server.py

Powered by WordPress. Designed by WooThemes