搭建安装NaiveProxy科学上网梯子

一个小众的科学上网工具,在路由器上使用效果还不错!

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/内放入网站程序,用于伪装。未授权的流量访问域名就变成了访问网站。

搭建安装NaiveProxy科学上网梯子

也可以设为反代网站,你就不需要自建网站,访问你的域名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守护,开机自动重启,此处暂时不提。

搭建安装NaiveProxy科学上网梯子

不想在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服务

搭建安装NaiveProxy科学上网梯子

端口为443,填入刚才设置的用户名及密码,保存应用后即可正常科学上网了,我用的是搬瓦工GIA服务器,100M宽带达到了满速,速度还是不错的。

搭建安装NaiveProxy科学上网梯子

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

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注