服务端做以下配置:
1、环境:
系统版本:
Ubuntu 20.04 64 Bit
1个域名:
需要用户购买1个域名,并在Cloudflare中将域名解析到对应服务器ip
ping 域名能解析到服务器ip说明解析成功
2、更新系统:
apt update -y
3、安装系统依赖环境:
apt install -y curl
apt install -y wget
apt install -y vim
4、查看apt自带的go版本:
apt list golang
版本太低,选择自行安装go
5、手动安装go:
手动下载go文件:
wget https://golang.google.cn/dl/go1.21.4.linux-amd64.tar.gz
解压tar包:
tar -xvf go1.21.4.linux-amd64.tar.gz
将go目录移动到/usr/local目录下:
mv go /usr/local
设置环境变量:
vim /etc/profile
添加以下环境变量:
export GOROOT=/usr/local/go
export GOPATH=$HOME/gowork
export GOBIN=$GOPATH/bin
export PATH=$GOPATH:$GOBIN:$GOROOT/bin:$PATH
:wq!
保存
使环境变量生效:
source /etc/profile
将环境变量立即载入脚本
cd ~
vim .bashrc
在文件中添加如下命令:
source /etc/profile
查看go环境:
go env
查看go版本:
go version
6、安装go所需编译环境:
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
在当前目录下会生成1个gowork目录即成功
7、编译带navice插件的caddy:
~/gowork/bin/xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive
在当前目录下会生成1个caddy文件,绿色的代表是可执行文件
8、创建Caddyfile文件:
vim Caddyfile
:443, naive.buliang0.tk #naive.buliang0.tk你的域名
tls [email protected] #[email protected]你的邮箱
route {
forward_proxy {
basic_auth user pass #user用户名和pass密码
hide_ip
hide_via
probe_resistance
}
#支持多用户
forward_proxy {
basic_auth user2 pass2 #用户名和密码
hide_ip
hide_via
probe_resistance
}
reverse_proxy https://demo.cloudreve.org { #伪装网址
header_up Host {upstream_hostport}
header_up X-Forwarded-Host {host}
}
}
9、前端启动caddy服务验证下是否有报错的信息:
1、前台启动caddy服务:
./caddy run
2、证书会自动申请,请耐心等待即可
3、停止前台运行的caddy服务:
ctrl + c
10、后台启动caddy服务:
./caddy start
caddy常用命令:
前台运行caddy:
./caddy run
后台运行caddy:
./caddy start
停止caddy:
./caddy stop
重新加载配置:
./caddy reload
注意:
上面使用的默认端口1080
自定义端口:
启动方式:
./caddy start --config config.json
//需删除注释内容caddy才能加载
{
"apps": {
"http": {
"servers": {
"srv0": {
"listen": [
":4431" //监听端口
],
"routes": [
{
"handle": [
{
"auth_user_deprecated": "user", //用户名
"auth_pass_deprecated": "pass", //密码
"handler": "forward_proxy",
"hide_ip": true,
"hide_via": true,
"probe_resistance": {}
}
]
},
{
"handle": [
{
"handler": "reverse_proxy",
"headers": {
"request": {
"set": {
"Host": [
"{http.reverse_proxy.upstream.hostport}"
],
"X-Forwarded-Host": [
"{http.request.host}"
]
}
}
},
"transport": {
"protocol": "http",
"tls": {}
},
"upstreams": [
{
"dial": "demo.cloudreve.org:443" //伪装网址
}
]
}
]
}
],
"tls_connection_policies": [
{
"match": {
"sni": [
"naive.buliang0.tk" //域名
]
},
"certificate_selection": {
"any_tag": [
"cert0"
]
}
}
],
"automatic_https": {
"disable": true
}
}
}
},
"tls": {
"certificates": {
"load_files": [
{
"certificate": "/root/a.crt", //公钥路径
"key": "/root/a.key", //私钥路径
"tags": [
"cert0"
]
}
]
}
}
}
}
11、浏览器访问节点网址:
1、浏览器输入刚才配置的域名
2、输入刚才的你配置的域名能跳转到你的伪装域名界面说明成功了
12、查看端口占用情况:
1、安装netest命令工具:
apt install net-tools
2、查看端口占用:
netstat -tlunp
13、安装防火墙、防火墙放心端口:
1、安装防火墙:
apt install ufw -y
2、防火墙端口放行:
ufw allow 35353/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 443/udp
3、启动防火墙:
ufw enable
4、查看放行端口是否生效:
ufw status
客户端配置(电脑端):
下载naiveproxy压缩包:
1、GitHub地址:
2、下载所需文件地址:
将配置加入v2rayN:
1、解压naiveproxy-v128.0.6613.40-1-win-x64.zip文件
2、将解压出来的naive文件复制v2rayN软件所在的目录中
3、将解压出来的config.json文件修改:
{
"listen": "socks://127.0.0.1:1080",
"proxy": "https://user:[email protected]", # user 替换成刚才你设置的用户名,pass 替换成刚才你设置的密码,domain.example 替换成刚才你设置的域名
"log": ""
}
保存文件后,将该文件放在你想放的位置
4、打开v2rayN软件,添加配置:
服务器 ---> 添加自定义配置服务器
别名随便取
地址选 浏览,找到config.json文件存放的位置添加即可
Core类型:naiveproxy
Socks端口:1080
确认
5、创建好的配置测不了速,也测不了延迟,开启代理后能直接科学上网
客户端(手机)配置:
下载NekoBoxForAndroid安装包:
1、GitHub地址:
2、下载所需文件地址:
https://github.com/MatsuriDayo/NekoBoxForAndroid/releases/download/1.3.1/NB4A-1.3.1-arm64-v8a.apk
下载Naive Plugin插件:
1、GitHub地址:
2、下载所需文件地址:
下载Hysteria Plugin插件:
1、GitHub地址:
2、下载所需文件地址:
将配置加入手机中的NekoBoxFor软件中:
1、安装NekoBox软件
2、安装Naive插件
3、安装Hysteria插件
4、打开NekoBox软件配置:
设置 ---> 运行模式 ---> VPN
手动输入 ---> Naive
服务器:你的域名
服务器端口:你设置的端口
用户名:你设置的用户名
密码:你设置的密码
对勾 保存
5、正常科学上网
参考地址:
https://www.youtube.com/watch?v=DncjoPzQX0Y
说明:
该服务相对其他协议来说,算是最好的,可提供安全、隐蔽、快速的科学上网
再好的协议,也要有好VPS,不然都是白扯