本文章主要记录一些VPS的设置,使得购买的VPS及域名能够支持科学上网,服务器为Ubuntu 20.04。在执行任何操作之前,切换到/root目录,并使用apt update && apt upgrade来更新系统。
事前准备
服务器准备
部分软件:
apt install vim git curl wget -y启用 BBR TCP 拥塞控制算法:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.confecho "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.confsysctl -p设置时区:
timedatectl set-timezone Asia/ShanghaiCloudflare准备
将Cloudflare中SSL/TLS加密模式设置为完全(严格)。
在Cloudflare创建一个新的令牌(参考cf插件主页配置),权限为Zone.Zone.Read; Zone.DNS.Edit,并将令牌保存到本地。
在Caddy官方下载地址,选择dns.provider.cloudflare,下载到本地准备。
设置密钥登陆
生成密钥
连接到服务器后,使用ssh-keygen来生成密钥,并把私钥保存到本地。
使用mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys更改公钥名称。使用如下命令来更改权限:
chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys修改登录方式
使用vim /etc/ssh/sshd_config来修改SSH配置文件,将PasswordAuthentication改为no,将PubkeyAuthentication改为yes,并systemctl restart ssh重启SSH服务。
如有必要,可以更改ssh的端口号,修改
Port即可。
安装Caddy
apt install -y debian-keyring debian-archive-keyring apt-transport-httpscurl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpgcurl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.listapt updateapt install caddy把之前下载的Caddy传到root下,
mv ./caddy_linux_amd64_custom ./caddychmod +x ./caddy./caddy list-modules | grep dns如果正常,会显示出dns.providers.cloudflare模块。
在替换官方的Caddy:
mv ./caddy /usr/bin/caddy寻找合适的伪装站
示例关键字:intext:登录 Cloudreve
配置Caddy
启动Caddy服务:
systemctl enable --now caddy通过如下命令查看Caddy的日志:
journalctl -u caddy --no-pager | less +Gvim /etc/caddy/Caddyfile改为如下:
example.com { encode gzip
tls { dns cloudflare 你的API token protocols tls1.2 tls1.3 }
reverse_proxy /rayws* localhost:port { header_up Host {host} header_up X-Real-IP {remote_host} }
reverse_proxy /xuiws* localhost:port
# 伪装网址 reverse_proxy https://demo.cloudreve.org { header_up Host {upstream_hostport} }}奇怪的是xui只能在Chrome匿名模式下进入
caddy run查看tls是否生效:
tls.obtain certificate obtained successfullyXUI
安装XUI
参考官方仓库:
bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/master/install.sh)配置XUI
进入面板,把监听IP改为127.0.0.1,端口改为上面定义的xuiws端口。添加端口为rayws端口的节点。