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系统软件,运行后界面如下图所示:
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 个我们维护的插件:
QvSSPlugin – 让你能在 Qv2ray 中启用 Shadowsocks SIP003 完整支持
QvSSRPlugin – 让你能在 Qv2ray 中使用 ShadowsocksR
QvTrojanPlugin – 让你能在 Qv2ray 中使用 Trojan
QvNaiveProxyPlugin – 让你能在 Qv2ray 中使用 NaiveProxy
QvCommandPlugin – 当特殊事件发生时,运行任意指定的命令
QvTrojan-GoPlugin – 让你能在 Qv2ray 中使用 Trojan-Go
7、SS/SSR/V2Ray/Trojan机场推荐
截至目前,还没有大神放出来可以在VPS直接执行的NaiveProxy一键安装脚本,如果你无法独立完成搭建NaiveProxy服务器,那么我建议你使用已经成熟的技术。
推荐阅读
文章标签:
版权声明: 本文除特别说明外均由 超级火箭 原创
本文链接: https://superrocket.net/jishu/18.html,尊重共享,欢迎转载,请自觉添加本文链接,谢谢!
分享本文: 请填写您的分享代码。
呃 本文暂时没人评论 来添加一个吧
发表评论