NaiveProxy是2019年底由 klzgrad 大神开发的一种新型网络代理技术,它使用Chrome的网络堆栈来伪装流量,具有较强的保护隐私能力和较低的可检测性,目前使用人数相对较少,在2022年几个特殊日子存活率据说还不错!搭建也是比较简单的。
项目开源地址 https://github.com/klzgrad/naiveproxy
项目介绍
由于 NaiveProxy 使用Chrome的网络堆栈,通过身份验证来确定流量,这和其他代理软件如Trojan异曲同工。前端会将未经身份验证的用户和活动探测器重新路由到后端HTTP服务器,如同访问网站,从而使得无法检测到代理的存在。
NaiveProxy 搭建条件
首先你需要一个vps服务器,可以选择美国、日本、新加坡、香港等地的虚拟服务器vps。买前可以先了解下风评,总之要想速度快就买使用电信GIA线路、联通AS9929线路的vps,如搬瓦工、斯巴达等,就是价钱不便宜。预算不支持的话买个普通vps安装bbr也能凑活用用,就是高峰期可能速度较慢。
一个域名,如果你没有域名的话可以进入https://www.namesilo.com/注册一下,再购买一个域名,找最便宜的域名即可。不要在国内购买,不备案无法解析。详情见https://www.bandwh.com/kxsw/88.html
你需要提前准备xshell或winscp等ssh软件,用于输入命令及修改文本等,详情见https://www.bandwh.com/web/89.html
NaiveProxy 搭建
为了安全问题,我们没有使用一键脚本这些,直接官方源码自己手工搭建。示例用test.mydomain.com域名,vps系统用centos7,需要注意的是443端口必须没有被Nginx等占用,也就是说以后建立网站不能用Nginx、apache作为web服务端。
一、搭建golang编译环境(x86)
xshell以root用户登录vps,输入下列命令安装golang程序,这里装的1.18版本,
wget -c https://dl.google.com/go/go1.18.8.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
然后我们需要在环境变量中添加Golang,xshell中继续输入
echo export PATH=$PATH:/usr/local/go/bin >> /etc/profile
使新添加的环境变量生效,输入命令。
source /etc/profile
检测golang有没有安装上,输入命令
go version
反馈 go version go1.18.8 linux/amd64 即表示go环境变量安装成功。
二、安装NaiveProxy
1、由于NaiveProxy是和Caddy捆绑在一起编译的,所以你不能单独安装Caddy,务必按照命令执行。caddy 是用golang编译的具有自动TLS功能的HTTPS服务程序。
Xshell命令行输入命令:
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest ~/go/bin/xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive
此处为编译安装,稍等片刻即可编译完,编译完成的 caddy 文件在 /root 文件夹。
2、新建 Caddyfile 配置文件,不习惯vi命令的可以用winscp软件,winscp进入服务器 在/root 文件夹新建Caddyfile配置文件,内容如下:
{ order forward_proxy before file_server } :443, test.mydomain.com { tls 123456@qq.com forward_proxy { basic_auth username userpass hide_ip hide_via probe_resistance } file_server { root /var/www/mydomain } }
需要自己修改的如下:
123456@qq.com为邮箱,用于申请ssl证书,真实与否都可以。域名不能使用CDN服务,如果用了Cloudflare的CDN服务,一定要选DNS Only,否则无法正常申请到证书。
username userpass为用户名及密码,自己修改成合适的。
/var/www/mydomain 为自建的网站根目录地址。在/var/www/mydomain/内放入网站程序,用于伪装。未授权的流量访问域名就变成了访问网站。
也可以设为反代网站,你就不需要自建网站,访问你的域名test.mydomain.com就变成了访问bing.com,代码如下:
:443, test.mydomain.com tls 123456@qq.com route { forward_proxy { basic_auth username userpass hide_ip hide_via probe_resistance } reverse_proxy https://bing.com }
3、运行Caddy https服务,xshell命令行输入:
sudo setcap cap_net_bind_service=+ep ./caddy ./caddy start
setcap cap_net_bind_service=+ep ./caddy是指允许用户监听指定的1024以下的端口,使用setcap提供可执行的附加权限,以便caddy程序可以绑定到小于1024的端口。
caddy成功启动之后,在 /var/www/mydomain 目录里新建个index.html文件,内容为hello world!,在浏览器中输入域名后,访问你的域名看tls是否生效。打开你的域名 看看小锁是否出现。只要你的域名解析配置正确,tls证书很快就会申请好。
以后vps主机重新开机后只需再次运行 ./caddy start 命令即可。也可把caddy用daemon守护,开机自动重启,此处暂时不提。
不想在xshell看到满屏日志,先关闭caddy
./caddy stop
如果无法关闭,可以使用下面命令:
[root@inv ~]# ps -ef | grep caddy root 6117 1 0 19:02 pts/0 00:00:00 ./caddy run --pingback 127.0.0.1:44545 root 6227 4306 0 19:14 pts/0 00:00:00 grep --color=auto caddy [root@inv ~]# kill -9 6117 [root@inv ~]#
再用下面这个命令启动Caddy
nohup ./caddy start > caddy.log 2<&1 &
4、到这里 NaiveProxy就已经配置完毕了,我们使用NaiveProxy客户端看看是否可以成功科学上网,在路由器添加NaiveProxy服务
端口为443,填入刚才设置的用户名及密码,保存应用后即可正常科学上网了,我用的是搬瓦工GIA服务器,100M宽带达到了满速,速度还是不错的。
NaiveProxy客户端支持Windows/MacOS/Linux及各种OpenWrt系统平台,官方自带的客户端不是很好用,官方客户端地址: https://github.com/klzgrad/naiveproxy/releases,
第三方支持NaiveProxy的有Qv2ray、ProxySU、SagerNet(安卓)等,使用方法见其他教程。
5、安装并启用 BBR 加速
网速不满意可以安装BBR加速,提高tcp发包,让网速更快。xshell里输入:
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
安装完成后按要求重启。
6、安装伪装网站
想要弄个网站,可以浏览器打开一个网站,然后另存为index.html文件,把index.html及附带的文件夹上传到/var/www/mydomain 目录里,这样你的域名打开就能看到内容了。
懒得弄就把Caddyfile文件配置成反代就行了,或者什么也不做。
技术不断升级,请注意文章时效性。
本站文章,欢迎转发。转载请注明出处:https://www.bandwh.com/net/90.html