Naiveproxy一键脚本 魔法上网

最近,或许你已经感觉到V2Ray节点受到干扰的频率越来越高,同时很多机场相继增加了Trojan节点,甚至有机场完全转型为纯Trojan机场,但仍没有更好地绕过GFW的检测干扰。在特殊时期,我们发现大量使用Trojan协议VPS的IP地址被阻断,致使Trojan协议的机场节点暂时不再更新订阅。伴随Trojan技术逐渐被GFW精准识别,NaiveProxy迅速走上了前台。NaiveProxy是一种基于 HTTP/2 协议,并类似于Trojan协议,伪装成最流行的HTTPS流量的新代理技术协议。另外,据我推测,NaiveProxy协议可能跟 Trojan-Qt5 有关系,因为曾经最终版本的Trojan-Qt5已经支持了NaiveProxy,还有Snell。今天,我们抛开这些暂且不谈,一灯不是和尚跟大家聊聊NaiveProxy一键搭建教程。

输入Naive一键脚本

curl https://raw.githubusercontent.com/imajeason/nas_tools/main/NaiveProxy/do.sh | bash

命令安装完毕,请输入

naive

备注: 仅支持 Ubuntu 16+ / Debian 8+ / CentOS 7+ 系统

 

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,而且在全球拥有17个数据中心,但线路没有对亚洲和中国大陆进行特别优化,不同数据中心对中国大陆不同地区的速度和稳定性有差别,综合性价比最高,请选择最适合自己当网络环境的机房;其次,我推荐你使用 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 unzipcp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2)安装 Caddy && Naiveproxy

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

3)下载伪装网站模板

mkdir -p /var/www/html && cd /var/www/htmlwget 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

 

THE END