最近,或许你已经感觉到V2Ray节点受到干扰的频率越来越高,同时很多机场相继增加了Trojan节点,甚至有机场完全转型为纯Trojan机场,但仍没有更好地绕过GFW的检测干扰。在特殊时期,我们发现大量使用Trojan协议VPS的IP地址被阻断,致使Trojan协议的机场节点暂时不再更新订阅。伴随Trojan技术逐渐被GFW精准识别,NaiveProxy迅速走上了前台。NaiveProxy是一种基于 HTTP/2 协议,并类似于Trojan协议,伪装成最流行的HTTPS流量的新代理技术协议。另外,据我推测,NaiveProxy协议可能跟 Trojan-Qt5 有关系,因为曾经最终版本的Trojan-Qt5已经支持了NaiveProxy,还有Snell。今天,我们抛开这些暂且不谈,一灯不是和尚跟大家聊聊NaiveProxy一键搭建教程。
- 1、NaiveProxy是什么?
- 2、NaiveProxy的工作原理
- 3、NaiveProxy与Trojan的优点与区别
- 4、NaiveProxy服务器搭建教程
- 5、NaiveProxy客户端下载
- 6、SS/SSR/V2Ray/Trojan机场推荐
1、NaiveProxy是什么?
NaiveProxy,挪威语叫NaïveProxy,翻译成中文:“天真的代理”,是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)优质国外VPS推荐
国外VPS哪家好?搭梯子VPS推荐您选择 Vultr(推荐)、搬瓦工(BandwagonHOST) 或 Hostwinds 等大公司的VPS。其中,Vultr可以方便且无限制地免费更换IP,而且在全球拥有30个数据中心,但线路没有对亚洲和中国大陆进行特别优化,不同数据中心对中国大陆不同地区的速度和稳定性有差别,综合性价比最高,请选择最适合自己当网络环境的机房;其次,我推荐你使用 BandwagonHOST(搬瓦工),因为它的速度和稳定性更好,尤其是 CN2/CN2 GIA/香港线路,速度和稳定性都是首屈一指的,而CN2线路套餐的综合性价比高,但现在搬瓦工VPS换IP非常贵;鉴于Hostwinds在国外口碑非常好,服务器非常安全稳定,支持中文客服,而且在中国大陆的知名度相对没有Vultr和搬瓦工高,所以其IP可用率较好,速度也很稳定,而且还支持免费更换IP,所以我比较推荐您选Hostwinds,其客户服务是我见过最好的,没有之一。
关于 Vultr 的账户注册、套餐购买和VPS服务器系统安装与远程管理的详细使用教程,请参考 最新Vultr账户注册、VPS套餐购买与服务器系统安装以及SSH远程管理的详细图文教程,鉴于图文教程已经非常详尽,我这里就不再赘述,我后面的图文教程均以 Vultr VPS 为例进行演示。
如果你是老鸟的话,任何一家VPS都有值得推荐的优势,如果你追求速度和稳定性的话,我推荐您使用有中国电信 CN2 GIA、中国联通 CUVIP(AS9929) 或移动CMI,甚至日本软银等高端线路的VPS。不过,三网回程走联通AS4837线路的VPS,性价比也比较高。当然如果有香港/台湾/日本地区的数据中心就更好,网络延迟低,速度也比较快。虽然这些线路很好,但价格也是比较贵,尤其香港/台湾/日本地区的 CN2/CN2 GIA/CUVIP 线路过于昂贵,普通用户真心用不起,我们一般选择美国或欧洲机房的这些高端线路,性价比相对非常高。
(2)手动搭建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": "your@email.com" #改为你的邮箱地址
}
}]
}
}
}
}
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服务器端就搭建完成了。
(3)NaiveProxy一键搭建脚本(推荐)
1)执行一键搭建脚本命令
wget -N --no-check-certificate https://raw.githubusercontent.com/blog-misaka/naiveproxy-script/main/naiveproxy.sh && bash naiveproxy.sh
执行后,如下图所示:
2)NaiveProxy一键配置脚本参数设置
我们需要按脚本提示,依次输入“需要使用在NaiveProxy的域名、NaiveProxy的用户名和NaiveProxy的密码”,回车后,即可自动生成NaiveProxy配置文件和二维码,使用起来也挺简单的。
(4)NaiveProxy一键安装工具
ProxySU不仅仅是NaiveProxy一键搭建工具,它还是 V2ray/Trojan/NaiveProxy/Trojan-Go/ShadowsocksR(SSR)/Shadowsocks-libev及相关插件 一键安装工具。ProxySU支持BBR一键开启,但目前仅支持CentOS7/8、Debian9/10、Ubuntu18.04及以上系统,支持语言包括:English、简体中文、正体(繁体)中文。
由此可见,ProxySU功能是非常强悍的,以后我也许会单独写ProxySU教程文章介绍。此工具是一个仅支持Windows系统的工具软件,ProxySU 4.1.6 版运行后界面如下图所示:
ProxySU项目官网:https://github.com/proxysu/windows
ProxySU工具官方下载:点击下载ProxySU工具
关于 ProxySU 一键安装工具的介绍与使用教程,请参考文章 ProxySU – 一款支持 V2ray/Trojan/NaiveProxy/Trojan-Go/ShadowsocksR(SSR)/Shadowsocks-libev/MTProto+TLS 全协议全能的一键安装工具
5、NaiveProxy客户端下载
NaiveProxy客户端支持Android/Windows/MacOS/Linux及各种OpenWrt系统平台,但我们应该始终使用最新版本来保持与Chrome相同的签名。目前,虽然NaiveProxy有官方客户端,但非常简陋难用。一灯不是和尚推荐大家使用支持NaiveProxy协议的第三方客户端,如AnXray、Trojan-Qt5、Qv2ray(需要配合NaiveProxy 插件 v1.0)和 NaiveSharp(作者已删库,最新版为 NaiveSharp 0.6.4 Preview)等。现在,主流的代理客户端都已经开始支持NaiveProxy协议,比如 V2RayN、V2RayNG、Anxray 和 Matsuri 等,所以我推荐大家使用这些一直在更新的主流客户端,放弃那些老旧的客户端。
注意事项:在Linux上,必须先安装libnss3,然后才能使用预构建的二进制文件。
NaiveProxy客户端下载:点击下载NaiveProxy客户端官方版
【知识科普】
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
6、SS/SSR/V2Ray/Trojan机场推荐
现在,虽然已经有大神开发了可以在本地直接执行的NaiveProxy一键安装工具,但相关配套技术和工具还不够成熟,NaiveProxy速度也没有优势,而且使用起来有些麻烦,至今还没有NaiveProxy机场使用这种技术。如果你无法独立完成搭建NaiveProxy服务器节点或对NaiveProxy速度不够满意的话,那么我建议 Shadowsocks(SS)/ShadowsocksR(SSR)/V2Ray(VMess/VLESS)/Trojan/Xray 等协议搭建代理服务器,技术更加成熟稳定。当然,如果你是新手小白,或者不想折腾,而是把更多精力放在工作和生活上,那么我建议你付费购买优质SS/SSR/V2Ray/Trojan机场节点,可以参考文章 优质高速稳定SS/SSR/Xray/Trojan/V2Ray机场推荐 | 网络加速器梯子推荐,挑选一家最适合自己的优质机场加速器梯子,更省事、省时、省心。