超级火箭

当前位置:网站首页 / 技术 / 正文

NaiveProxy – 一款可以媲美 Trojan/Trojan-Go 的科学上网工具 | 支持HTTP/2协议

最近也许你也明显感觉到V2Ray节点受到干扰的频率越来越高,同时从上个月开始很多机场都陆续增加了Trojan节点,甚至有机场完全转型为纯Trojan机场。与此同时,就在前几天Trojan-Qt5作者宣布不再更新并删除所有源代码和已发布的所有软件。这意味着什么?那就是Trojan暂时还不能被很好的识别并干扰,即Trojan即将站在舞台中央的时代来了!既然Trojan那么牛,而且还有Trojan-GFW的进化版Trojan-Go都没有被完全开发,你还写这篇文章干啥?我们都知道,再牛逼的技术总有被破解的一天,于是去年底开始有大牛开发了另一种类似于Trojan伪装成最流行的HTTPS流量的新代理技术,那就是咱们今天要说的NaiveProxy,是基于 HTTP/2 协议的新代理工具。另外,据我推测,NaiveProxy一定跟 Trojan-Qt5 有关系,因为最后版本的Trojan-Qt5已经支持了Naiveproxy,还有Snell,这个以后会单独写文章。

1、NaiveProxy是什么?

NaiveProxy是2019年底由klzgrad大神开发的一种突破GFW网络审查的新型科学上网代理技术,它使用Chrome的网络堆栈来伪装流量,具有较强的抗审查能力和较低的可检测性,重用Chrome网络堆栈是确保性能和安全性的最佳实践。

NaiveProxy还可以缓解以下流量攻击:

  • 网站指纹识别/流量分类:通过 HTTP/2 中的流量多路复用来缓解。

  • TLS参数指纹识别:因重用Chrome的网络堆栈而失败。

  • 主动探测:被应用程序前端击败,即通过应用层路由将代理服务器隐藏在常用前端的后面。

  • 基于长度的流量分析:通过长度填充缓解。

该代码由一系列补丁程序组成,这些补丁程序在每个新的Chrome版本中都经过了变形和重新设计。

NaiveProxy项目地址:https://github.com/klzgrad/naiveproxy

2、NaiveProxy的工作原理

工作原理架构:[浏览器 → NaiveProxy客户端] ⟶ GFW ⟶ [常用前端 → NaiveProxy服务端] ⟶ 互联网

由于 NaiveProxy 使用Chrome的网络堆栈,GFW审查截获的流量行为与Chrome和标准前端(如 Caddy、HAProxy)之间的常规 HTTP/2 流量完全相同。前端还会将未经身份验证的用户和活动探测器重新路由到后端HTTP服务器,从而使得无法检测到代理的存在,比如像这样:探查⟶常用前端⟶网站页面。

从 NaiveProxy V84 版本开始,用户可以在没有Naive服务器的情况下运行Caddy转发代理的Naive分支。

3、NaiveProxy与Trojan的优点与区别

Trojan最大的优点就是伪装成互联网最常见的HTTPS流量,而NaiveProxy最大的优势不仅伪装成 HTTP/2 的流量,而且使用互联网最常用的浏览器Chrome网络堆栈的指纹,更加难以被识别,而且这些也是Go语言模仿不了的。

4、NaiveProxy服务器搭建

(1)安装基础组件

apt update && apt -y install libnss3 wget unzip
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

(2)安装 Caddy && Naiveproxy

wget https://github.com/charlieethan/firewall-proxy/releases/download/2.1.1/caddy
chmod +x caddy && setcap cap_net_bind_service=+ep ./caddy

(3)下载伪装网站模板

mkdir -p /var/www/html && cd /var/www/html
wget https://github.com/charlieethan/firewall-proxy/releases/download/2.1.1-t/6.zip && unzip 6.zip

(4)修改配置文件

cd && cat > caddy.json <<EOF{  "apps": {    "http": {      "servers": {        "srv0": {          "listen": [":443"],          "routes": [{            "handle": [{              "handler": "forward_proxy",              "hide_ip": true,              "hide_via": true,              "auth_user": "user_name",     #改为你的用户名              "auth_pass": "your_password",     #改为你的密码              "probe_resistance": {"domain": "unsplash.com:443"}            }]          }, {            "match": [{"host": ["your_domain.com"]}],    #改为你的域名            "handle": [{              "handler": "file_server",              "root": "/var/www/html"            }],            "terminal": true          }],          "tls_connection_policies": [{            "match": {"sni": ["your_domain.com"]}   #改为你的域名          }]        }      }    },    "tls": {      "automation": {        "policies": [{          "subjects": ["your_domain.com"],   #改为你的域名          "issuer": {            "module": "acme",            "email": "[email protected]"  #改为你的邮箱地址          }        }]      }    }  }}EOF

(5)启动服务

nohup ./caddy run --config caddy.json >caddy.log 2<&1 &

(6)安装并启用 BBR 加速

cd /usr/src && wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh

温馨提醒:如果修改版BBR加速模块工作不正常,请使用原版BBR模块加速。

由于新版本Linux系统自带BBR加速模块,所以你可以直接执行以下命令,启用原版BBR加速。命令如下:

bash -c 'echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf'bash -c 'echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf'sysctl -p

至此,NaiveProxy服务器端就搭建完成了。

5、NaiveProxy一键安装工具ProxySU

ProxySU不仅仅是NaiveProxy一键搭建工具,它还是 V2ray/Trojan/NaiveProxy/Trojan-Go/ShadowsocksR(SSR)/Shadowsocks-libev及相关插件 一键安装工具。ProxySU支持BBR一键开启,但目前仅支持CentOS8/Debian9/10/Ubuntu18.04及以上系统,支持语言包括:English、简体中文、正体(繁体)中文。

由此可见,ProxySU功能还是非常强悍的,以后我会单独写文章介绍。此工具是一个Windows系统软件,运行后界面如下图所示:

 NaiveProxy – 一款可以媲美 Trojan/Trojan-Go 的科学上网工具 | 支持HTTP/2协议 技术

ProxySU项目官网:https://github.com/proxysu/windows

ProxySU工具官方下载 | ProxySU 最新版网盘备份下载:下载地址

关于 ProxySU 一键安装工具的介绍与使用教程,请参考文章 ProxySU – 一款支持 V2ray/Trojan/NaiveProxy/Trojan-Go/ShadowsocksR(SSR)/Shadowsocks-libev/MTProto+TLS 全协议全能的一键安装工具

6、NaiveProxy客户端下载

NaiveProxy客户端支持Windows/MacOS/Linux及各种OpenWrt系统平台,但我们应该始终使用最新版本来保持与Chrome相同的签名。

注意事项:在Linux上,必须先安装libnss3,然后才能使用预构建的二进制文件。

目前,没有支持移动端的NaiveProxy客户端,最常用的有Trojan-Qt5、Qv2ray(需要配合NaiveProxy 插件 v1.0)和 NaiveSharp(作者已删库,最新版为 NaiveSharp 0.6.4 Preview)。

【知识科普】

Qv2ray是使用 Qt 框架的跨平台 V2Ray 客户端,支持 Windows/Linux/macOS,配合插件系统支持 SSR / Trojan / Trojan-Go / NaiveProxy 等。

Qv2ray项目地址:https://github.com/Qv2ray/Qv2ray

实际上,Qv2ray 插件是 Qv2ray 的扩展,能让你使用更多功能特性。当前,Qv2ray 项目组共发布以下 6 个我们维护的插件:

7、SS/SSR/V2Ray/Trojan机场推荐

截至目前,还没有大神放出来可以在VPS直接执行的NaiveProxy一键安装脚本,如果你无法独立完成搭建NaiveProxy服务器,那么我建议你使用已经成熟的技术。


推荐阅读

文章标签:

版权声明: 本文除特别说明外均由原创

本文链接: https://superrocket.net/jishu/18.html,尊重共享,欢迎转载,请自觉添加本文链接,谢谢!

分享本文: 请填写您的分享代码。

呃 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请填写你的广告代码,或者删除本行文字。