零、参考文章
推荐大家查阅,里头讲清楚了邪修节点部分原理:
【邪修】自建稳定能用的节点教程 - 开发调优 / 开发调优,Lv1 - LINUX DO
一、前置准备
- 一个域名。可以是白嫖的,或者买一个.xyz 的域名很便宜
- 一个 VPS, 我用的是 RN 的小鸡
- 一个 CloudFlare 账号
- 一个 Gemini/GPT 账号 (可选) 用于回答你期间可能出现的问题
二、邪修节点
3x-ui 部署
1. 进入 VPS 终端,执行以下命令
docker run -itd \
-e XRAY_VMESS_AEAD_FORCED=false \
-e XUI_ENABLE_FAIL2BAN=true \
-v $PWD/db/:/etc/x-ui/ \
-v $PWD/cert/:/root/cert/ \
--network=host \
--restart=unless-stopped \
--name 3x-ui \
ghcr.io/mhsanaei/3x-ui:latest
2. 初步配置 3x-ui, 以下为示例,以你实际参数为准,
$docker ps
输出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0597ee21536a ghcr.io/mhsanaei/3x-ui:latest "/app/DockerEntrypoi…" 6 hours ago Up 6 hours
$docker exec -it 0597ee /bin/sh
$/app/x-ui setting -username 用于登录3x-ui面板的用户名 -password 密码
$exit 3. 打开浏览器访问: http:// 你的 vps-ip:2053 进入面板
4. 添加邪修节点,按图配置点击创建
注意:如果不需要 nginx 可以直接用 80 端口
点击三点,导出链接
打开 v2rayN, ctrl+v 添加节点,并修改如图圈起位置为对应参数
先确定保存,这个时候是不通的
5.cloudflare 配置
登录 cloudflare, 找到要使用的域名编辑 DNS 记录,添加一个 A 记录指向 VPS, 并关闭小黄云
添加 worker 并部署,注意看注释
addEventListener("fetch", event => {
let url = new URL(event.request.url);
url.hostname = "刚刚得到的子域名 如rn.abc.com";
url.protocol = 'http';
// 注意: 如果不需要nginx, 下面这一行一定要解除注释, 并且端口号与入站节点要保持一致 // url.port = '8080'; let newHeaders = new Headers(event.request.headers);
newHeaders.set("Host", "rn.ringgav.xyz");
let request = new Request(url, {
method: event.request.method,
headers: newHeaders,
body: event.request.body,
redirect: 'manual'
});
event.respondWith(fetch(request));
});
而后添加一个路由规则
SSL/TLS 修改为灵活 (Flexible)
此时回到 v2rayN 对刚刚修改后的节点测速,应该是有延迟的
6. 增加 cdn 节点
此处请跳转参考以下文章小节 “继续新增如下解析,注意都关闭小黄云” 添加 N 个 CNAME
这篇文章是本教程的核心,推荐大家查阅,里头讲清楚了为什么叫 "邪修":
【邪修】自建稳定能用的节点教程 - 开发调优 / 开发调优,Lv1 - LINUX DO
添加完成后如图
** 回到 V2RayN, 选中刚刚那个节点,ctrl+c 而后 ctrl+v 若干次,可以和 CNAME 的个数一致,并双击复制节点,修改地址 (address) 为: 数字 cdn.abc.com **

最后都搞到代理软件里就好,为了负载均衡,我最终用的是 clash party (不熟悉 V2RayN), 可以自己部署一个 sublink_converter 转换一下
优选节点,我也不知道算不算哈哈哈
开启 BBR
出站 warp
VPS 安全
WebDAV 备份
安装 rclone
sudo apt install rclone -y
添加 webdav 仓库,此处以坚果云为例
rclone config #!/bin/bash
# --- 基础配置 ---
HOSTNAME=$(hostname)
BACKUP_TEMP="/root/server_backup/temp_folder"
BACKUP_FINAL="/root/server_backup/final"
REMOTE_PATH="jianguoyun:/vps-rclone"
MAX_BACKUPS=20
DATETIME=$(date +"%Y-%m-%d %H:%M:%S")
FILE_TIME=$(date +%Y%m%d_%H%M%S)
COMPOSE_DIR="/root/3x-ui"
# --- 企业微信 Webhook 配置 ---
WEBHOOK_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的企微key"
# 通知函数
send_wechat_notice() {
local status=$1
local message=$2
local color="info"
[ "$status" == "失败" ] && color="warning"
curl -s -X POST "$WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d "{
\"msgtype\": \"markdown\",
\"markdown\": {
\"content\": \"**VPS 备份提醒**\n> 状态: <font color=\\\"$color\\\">$status</font>\n> 主机: $HOSTNAME\n> 时间: $DATETIME\n> 详情: $message\"
}
}"
}
# 1. 环境准备与恢复脚本生成
mkdir -p $BACKUP_TEMP
mkdir -p $BACKUP_FINAL
cat <<EOF > $BACKUP_TEMP/restore.sh
#!/bin/bash
echo "开始恢复备份..."
if [ -d "./nginx_config" ]; then
rm -rf /etc/nginx/*
cp -r ./nginx_config/* /etc/nginx/
fi
mkdir -p $COMPOSE_DIR
cp -r ./3xui_db $COMPOSE_DIR/db
cp -r ./3xui_cert $COMPOSE_DIR/cert
cp ./docker-compose.yml $COMPOSE_DIR/
nginx -t && systemctl restart nginx
cd $COMPOSE_DIR && docker-compose up -d
echo "恢复完成。"
EOF
chmod +x $BACKUP_TEMP/restore.sh
# 2. 打包流程
cp -r /etc/nginx $BACKUP_TEMP/nginx_config
cp -r $COMPOSE_DIR/db $BACKUP_TEMP/3xui_db
cp -r $COMPOSE_DIR/cert $BACKUP_TEMP/3xui_cert
cp $COMPOSE_DIR/docker-compose.yml $BACKUP_TEMP/
# 备份脚本也打包进去
cp "$0" $BACKUP_TEMP/vps-backup.sh
FILENAME="${HOSTNAME}_full_bak_${FILE_TIME}.tar.gz"
tar -czf $BACKUP_FINAL/$FILENAME -C $BACKUP_TEMP .
# 3. 上传与通知
if rclone copy $BACKUP_FINAL $REMOTE_PATH -P; then
# --- 保持最多 20 个备份逻辑 ---
file_list=$(rclone lsf $REMOTE_PATH | grep "${HOSTNAME}" | sort)
# 计算当前备份文件的总数
file_count=$(echo "$file_list" | grep -v '^$' | wc -l)
if [ $file_count -gt $MAX_BACKUPS ]; then
# 计算需要删除的文件数量
remove_count=$((file_count - MAX_BACKUPS))
# 提取最旧的 N 个文件名并循环删除
echo "$file_list" | head -n $remove_count | while read -r line; do
rclone delete "$REMOTE_PATH/$line"
done
fi
send_wechat_notice "成功" "备份已同步至坚果云,包名:$FILENAME"
else
send_wechat_notice "失败" "rclone 同步过程出错,请检查网络或配置。"
fi
# 4. 清理本地临时文件
rm -rf $BACKUP_TEMP
rm -rf $BACKUP_FINAL
好晚了凌晨 5 点,改天补内容












评论区(暂无评论)