2023年1月29日星期日

利用甲骨文云免费VPS搭建NaiveProxy节点

 准备工作:

a、一台Linux服务器,甲骨文云的免费vps,Ubuntu系统

b、域名一个,并解析到vps的IP

c、NaiveProxy 官网:https://github.com/klzgrad/naiveproxy

注意:以下所有操作都以root权限执行

1、设置防火墙并开启BBR加速

#ufw关闭:

ufw diable

#iptables开放所有端口:

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

iptables -F

#开启BBR加速

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf

echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

sysctl -p

#更新软件源

apt update

apt upgrade

apt full-upgrade

2、安装GO:

apt install golang-go -y

3、安装NaiveProxy:

# 安装xcaddy

go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest

# 通过xcaddy构建带有naive插件的caddy,--with表示打包的插件

~/go/bin/xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive

# 将caddy移动到用户可执行目录

mv caddy /usr/bin/

# 设置允许监听1024以下端口

setcap cap_net_bind_service=+ep /usr/bin/caddy

4、配置NaiveProxy:

#创建caddy配置目录:

mkdir /etc/caddy

# 新建配置文件Caddyfile

touch /etc/caddy/Caddyfile

#按i键,输入下面内容,按Esc键,输入:wq保存退出:


# 下面的{}是全局配置,详细参数看官方文档

{

  # HTTP处理链

  order forward_proxy before file_server

}

# 下面是代理的信息,域名自行修改

:443, example.com {

  # 设置tls自动签证的邮箱,自行修改

  tls [email protected]

  # 定义forward_proxy,也就是naive的配置

  forward_proxy {

    # 自定义用户名和密码,自行修改

    basic_auth user pass

    hide_ip

    hide_via

    probe_resistance

  }

  # 最终流量使用反向代理到某个网站,下面使用的是clourdreve的demo网址

  reverse_proxy https://demo.cloudreve.org {

    header_up Host {upstream_hostport}

    header_up X-Forwarded-Host {host}

  }

}

5、将 Caddy 作为守护进程运行:

#在/etc/systemd/system目录里创建caddy.service:

vim /etc/systemd/system/caddy.service

#按i键,输入下面内容,按Esc键,输入:wq保存退出:


[Unit]

Description=Caddy

Documentation=https://caddyserver.com/docs/

After=network.target network-online.target

Requires=network-online.target


[Service]

#root用户

User=root

#root用户组

Group=root

#caddy运行的配置文件路径及配置文件名,路径:/etc/caddy  配置文件:Caddyfile

ExecStart=/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile

ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile

TimeoutStopSec=5s

LimitNOFILE=1048576

LimitNPROC=512

PrivateTmp=true

ProtectSystem=full

AmbientCapabilities=CAP_NET_BIND_SERVICE


[Install]

WantedBy=multi-user.target

6、使用 systemd 启动 caddy 服务

systemctl daemon-reload

systemctl enable caddy

systemctl start caddy

7、官方客户端的配置说明:

{

  "listen": "socks://127.0.0.1:1080",

  "proxy": "https://user:[email protected]"

  "log": ""

}

// listen:监听的地址和端口,一般不需要修改

// proxy:代理的地址,协议可以是https或者quic,使用quic服务端需要放行tls的udp端口;需要修改用户名密码以及域名;

// 若使用的是非443端口,域名后面需要增加服务端绑定的tls端口,如,domain.example:1443



常用的Caddy管理命令:

# 重新加载`daemon`配置文件(修改daemon需要)

systemctl daemon-reload


# 设置caddy自启动

systemctl enable caddy


# 启动caddy

systemctl start caddy


# 重新加载`caddy`配置

systemctl reload caddy


# 重启caddy

systemctl restart caddy


# 停止caddy

systemctl stop caddy


# 校验配置文件是否正确

caddy validate Caddyfile         #Caddyfile为配置文件名

当运行结束后显示:Valid configuration 表示配置没有问题。


# 格式化配置文件,--overwrite 格式化后覆盖原文件

caddy fmt --overwrite Caddyfile      #Caddyfile为配置文件名


# 将Caddyfile配置适配输出为json格式,--pretty 为美化使出

caddy adapt --pretty


# 输出当前caddy包含的模块

caddy list-modules


# 查看当前caddy的版本

caddy version

没有评论:

发表评论

注意:只有此博客的成员才能发布评论。

利用甲骨文云免费VPS搭建NaiveProxy节点

 准备工作: a、一台Linux服务器,甲骨文云的免费vps,Ubuntu系统 b、域名一个,并解析到vps的IP c、NaiveProxy 官网:https://github.com/klzgrad/naiveproxy 注意:以下所有操作都以root权限执行 1、设置防火墙并...