一、前期准备
(一)VPS常用命令
1、登录
ssh root@ip地址 -p 端口号; 然后输入密码就登录了
2、看当前IP地址
curl ip.p3terx.com
3、看能否正常访问google scholar
curl -I https://scholar.google.com/
(二)(选看) CloudFlare 域名托管
(选看):这部分不是必须步骤,只有配置argo专用通道时才会用到
1、digitalplat注册账号
登录digitalplat,进行注册(注册时除了邮箱其他的随意填,符合格式就行,记得最后要通过邮箱链接验证),然后登录通过Github验证,便可进入后台。

2、digitalplat提升免费域名上限
初始每个账号仅可注册 1 个域名,可通过 Star 官方 GitHub 项目额外获得 1 个免费名额。进入Freedom,点右上角star,便可注册2个域名。

3、digitalplat注册域名
点击左侧注册域名,自己定义二级域名前缀,注意这里的.us.kg需要key,其他的都不需要,可以选其他的域名后缀。如果域名有效,系统会提示填写 DNS 服务器地址。


4、配置DNS
(1)登录 Cloudflare,添加新域名(刚申请的域名lisa.dpdns.org)。

(2)然后点免费计划

(3)后面什么都不用添加,直接前往激活

(4)忽略添加DNS记录
(5)继续就出现了CF名称服务器的两个地址

(6)复制到digitalplat中最后一个页面中的NS1和NS2中。然后两个页面都点继续或者注册
5、CF完成域名托管:
(1)回到 Cloudflare,点击“立即检查名称服务器”,需要等一段时间到CF中状态显示活动就好了。

(2)点击域名地址,进去DNS记录,添加记录

(3)添加记录,这里的A是值ipv4,名称root用@,填入VPS的ip地址,后面的小黄云是是否开启代理,如果不开启就是VPS的真实ip,如果开启了可能就是代理地址。然后点保存

然后可以去itdog中DNS查询,输入刚刚的域名,可以解析VPS的ip地址,刚开始解析正确的比例比较低,需要等一段时间,当比例高了就可以正常用了。
6、(选看) 配置H-UI,并配置CF域名登录
(1)配置H-UI教程
(2)配置CF域名登录H-UI教程
(三)(选看) 常用小网站
1、网站一致性
2、IP分数
3、DNS查询
4、IP地址
二、s-singbox搭建VPN
(一)安装s-singbox
1、用命令行安装
bash <(curl -fsSL https://raw.githubusercontent.com/sindricn/s-singbox/main/install.sh)

2、进入s-singbox,安装内核运行
(1) 进入s-singbox,可以看到内核未安装
s-singbox

(2)进入1.sing-box管理,1. 安装 sing-box(默认安装最新稳定版就可以),返回到主页面就已经在运行了。

(二)(选看) Argo伪装入站
Argo通道是为了伪装入站IP,这样可以让你的客户端防火墙不会拦截你发出的流量,它分临时通道和专用通道,临时通道的稳定性差,是CF的一项测试服务,会导致域名经常变化,前面我们用CF域名托管,就是为了给它配置专用通道。

1、CF授权
(1)进入9. CF隧道管理,1. Argo隧道管理 ,7. CF授权管理。下面授权名称和备注自己命名就可以,授权顶级域名要填CF托管后的域名,然后就会出来一个网址,粘贴到浏览器中打开,选择对应的域名进行授权就可以了。



2、创建专用隧道
可以在这里创建隧道,再加入节点,也可以在创建节点的时候一起加入创建隧道,我们采用后者在后面创建节点的时候展示。
(四)建立节点
1、不同节点的区别

2、新建节点:VLESS + Reality
这个节点一般用大公司的域名伪装入站,可以防止被墙,但出站IP是不影响的,搭配开启的WARP分流,可以轻松访问google等网站。

(1)进入1.新建节点,q.快速搭建节点,1. VLESS + Reality。端口不要设置冲突了,这里设置一下为6011,域名默认选最快的。

2、新建节点:Hysteria2
这个节点没有入站伪装,特点是快速,当然也搭配分流WARP。
(1)进入1.新建节点,q.快速搭建节点,2. Hysteria2。端口不要设置冲突了,这里设置一下为6012,域名默认,下面的限速和跳跃端口也默认,直接回车。

3、新建节点:Argo+VLESS+WS
这个节点采用 Argo隧道(必须采用WS协议),再搭配WARP。
(1)进入1.新建节点,q.快速搭建节点,3. Argo+VLESS+WS。这里端口设置6013,默认WS协议,默认伪装域名,并配置专用通道。

(2)选择之前授权的CF凭证lisahou,然后设置隧道名称RackNerd1,绑定域名是RackNerd1.lisahou618.qzz.io(隧道名.之前的域名),然后配置6013这个节点加入这个隧道

(3)可以测试一次,用客户端ping一下这个域名
ping -4 RackNerd1.lisahou618.qzz.io

(五)生成订阅
1、通用订阅
(1)4. 订阅管理,1.生成订阅链接,名称随便设置,IP地址默认,订阅端口设置9618

(2)导入到v2ray中,可以看到采用Argo的入站地址是域名,说明入站伪装成功,测试速度和延迟发现它没法检测,这是由于进入了CF服务器,需要点击这个节点进行设置,指纹改成Chrome,跳过证书验证,再测试就好了。


2、clash订阅

3、sing-box订阅

(六) (选看) WARP伪装出站
主要为了混淆身份,防止机房IP被Google/Netflix等网站拒绝。我们这里对部分流量采用WARP伪装,因为①WARP分配的IP地址是是很多人共享出口,甚至不如我们的机房IP,可能会被认为是机器人,而且会超级慢。②WARP全局会导致我们后面如果设置Argo入站隧道的流量也走这,会超时崩溃。所以我们在这里采用智能分流出站规则。如果不设置Argo入站伪装,想尝试让节点全局WARP可以进入9. CF隧道管理中进行WARP 把节点关联到就可以。
解释稳定性:
①通过Cloudflare WARP隧道,会分配一个免费匿名用户和证书(WARP 账户很稳定:这是 Cloudflare 的正式产品。脚本帮你注册的这个免费账户是永久有效的。只要 Cloudflare 不倒闭,这个账户就能一直连,不会出现“过段时间服务就没了”的情况。)
②每次 Sing-box 启动,它就拿着这个证书去连接 Cloudflare 的机房。Cloudflare 看到证书有效,就从它的机房里随机拿一个空闲的 IP 借给你用。(这个IP地址是会变的,这可能而是好事:IP 越常变,隐匿性越好。 因为Google 无法锁定“就是这个人”,它只知道“这是 Cloudflare 的用户”)
③每次CF分配IP的时候一般是从离你的 VPS 最近的 Cloudflare 机房分配,这样就相当于你拿着手机在城市中出行,不会被google封号,而频繁的改VPS才可能被封号,最坏的情况是这个IP被其他滥用,此时可能会遇到频繁的人机验证。这时去重启一下s-singbox就会再分一个新的IP了。
systemctl restart sing-box
1、开启WARP 隧道管理
进入9. CF隧道管理,2. WARP 隧道管理,依次进行1.2.3.4.启动WARP连接,进入6.查看WARP状态,就没问题了。


2、设置分流WARP规则-手动
注意:因为s-singbox是自动修改配置文件不会读取当前文件内容,而我们是手动修改,所以如果当我们配置好分流WARP后,再用s-singbox进行过改动,可能需要重新执行(3)中的 ③ ④ 和(4)。可以去 what is my ip 上查看一下,如果变成了VPS的真IP,就需要执行一下。
(1)进入7.出站规则,可以看到现有的出站规则是直接出去的

(2)退出s-singbox,可以去到/etc/sing-box/config.json去看现在的配置文件。

(3)增加分流规则:
Outbounds (出站): 在 direct-out 下面增加了一个 warp-out (绑定 wgcf)。
{
"type": "direct",
"tag": "warp-out",
"bind_interface": "wgcf"
},
Route (路由): 增加了规则列表,把 Google/AI/Netflix 等域名的流量指向 warp-out
{
"domain_suffix": [
"scholar.google.com",
"scholar.google.cn",
"scholar.google.com.hk",
"gemini.google.com",
"google.com",
"youtube.com",
"google.dev",
"openai.com",
"claude.ai",
"anthropic.com",
"netflix.com",
"googleapis.com",
"gstatic.com",
"googleusercontent.com",
"ggpht.com",
"ytimg.com",
"recaptcha.net",
"whatismyipaddress.com"
],
"outbound": "warp-out"
}
① 手动添加太麻烦了,所以写了一个固定的脚本
先安装执行命令
apt-get update && apt-get install -y jq
② 写入脚本
cat > /root/fix_warpout.sh << 'EOF'
#!/bin/bash
# 配置文件路径
CONFIG_FILE="/etc/sing-box/config.json"
# 检查 jq 是否安装
if ! command -v jq &> /dev/null; then
echo "❌ 错误: 未安装 jq,正在自动安装..."
apt-get update && apt-get install -y jq
fi
echo "🔄 正在读取当前的节点信息 (Inbounds)..."
# 1. 定义你的完美出站规则 (Outbounds)
# 包含 Direct, WARP(wgcf), Block
OUTBOUNDS='[
{
"type": "direct",
"tag": "direct-out"
},
{
"type": "direct",
"tag": "warp-out",
"bind_interface": "wgcf"
},
{
"type": "block",
"tag": "block-out"
}
]'
# 2. 定义你的完美路由规则 (Route)
# 包含 Google全家桶、AI、Netflix 等分流
ROUTE='{
"default_domain_resolver": "dns-local",
"rules": [
{
"protocol": "dns",
"action": "route",
"outbound": "direct-out"
},
{
"domain_suffix": [
"scholar.google.com",
"scholar.google.cn",
"scholar.google.com.hk",
"gemini.google.com",
"google.com",
"youtube.com",
"google.dev",
"openai.com",
"claude.ai",
"anthropic.com",
"netflix.com",
"googleapis.com",
"gstatic.com",
"googleusercontent.com",
"ggpht.com",
"ytimg.com",
"recaptcha.net",
"whatismyipaddress.com"
],
"outbound": "warp-out"
}
],
"final": "direct-out",
"auto_detect_interface": true
}'
# 3. 核心魔法:用 jq 把你的规则“缝合”进配置文件
# 逻辑:保留原文件的 .inbounds,替换掉 .outbounds 和 .route
jq --argjson new_out "$OUTBOUNDS" --argjson new_route "$ROUTE" \
'.outbounds = $new_out | .route = $new_route' \
"$CONFIG_FILE" > "$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE"
if [ $? -eq 0 ]; then
echo "✅ 配置文件修改成功!已注入 WARP 分流规则。"
echo "🚀 正在重启 sing-box 服务..."
systemctl restart sing-box
echo "🎉 搞定!现在你的节点既是最新的,又有 WARP 分流了。"
else
echo "❌ 修改失败,请检查配置文件格式。"
fi
EOF
# 给脚本添加执行权限
chmod +x /root/fix_warpout.sh
③ 执行脚本
./fix_warpout.sh
④ 然后重启s-singbox
systemctl restart sing-box
(4)然后重新进入s-singbox,进入7.出站规则,就可以看到识别到一个新的出站规则,选择1.同步到规则库,就变成3个出站规则了,这样分流伪装就好了。

然后就可以看到出站的IP已经伪装了
