家宽出口节点 Skill — 把自己的 VPS 变成住宅 IP 出口

一份写给 AI 的部署说明书:在你自己已有的 VPS 上用全免费方案搭一条出口是「真实住宅宽带 IP」的 VLESS+Reality 线路——Docker 网关跑 OpenVPN 连 VPN Gate 志愿者节点,独立 Xray 对客户端出链,带 kill switch 和分钟级自动重启,最后交付可扫码导入的 vless:// 链接。

机房 IP 太「假」?这个仓库不是教程,而是一份给 AI 看的 Skill:丢给你的 AI 助手,它会向导式问你要哪个国家,然后在你自己的 VPS 上把整条链路搭起来,最后给你一条 vless:// 链接和二维码,扫码就能用。

为什么收藏它

  • 它解决的是「出口身份」问题,不是「翻墙」问题。绝大多数自建节点的出口都是机房 IP(hosting=true),做注册、风控敏感的操作时一眼就被看穿。这条链路把出口换成志愿者家里那条真宽带——出口 IP 归属的是运营商(实测 KR 是 Korea Telecom、US 是地区消费级 ISP),不是数据中心。
  • 全免费,不需要买任何东西。节点源是 VPN Gate 的公开志愿者节点,软件是开源 Xray + Docker,唯一成本是那台 VPS——512MB 内存就能跑(实测 3 条线并行约 200MB 可用)。
  • 工程细节做得比一般教程扎实。这份东西里能看到的都是踩过坑的痕迹:
    • kill switch:隧道断了不能从 VPS 自己的 IP 漏出去。容器内 OUTPUT 默认 DROP,只放行 lo / tun+ / 回包 / 到 VPN 远端的连接。这是第一版真漏过(隧道死后 microsocks 走本机网卡出去)之后补上的。
    • 「假活」探测:tun0 在、控制通道在,但数据其实不通——所以看门狗不是查进程,而是每分钟经 tun0 真发一次请求,连续失败才重启。
    • pidfile 看门狗的坑:OpenVPN 退出时会自己删掉 pid 文件,kill -0 $(cat pid) 永远检测不到,得改用 pgrep。
    • DNS 继承坑:云主机容器会继承 169.254.169.254 这类 metadata 解析器,隧道一接管默认路由 DNS 就死,于是所有容器强制 --dns 8.8.8.8。
    • 云安全组 + 系统防火墙都要放行,只放一处就会出现「服务器上能通、手机超时」。
  • 对原有服务零侵入,这条写得最硬:不动、不停、不删机器上已有的面板/代理,新线路只用新目录、新容器名、新端口、新 systemd 单元;防火墙只加规则不删。对已经在跑 3x-ui 之类的机器友好。
  • 诚实度罕见。SKILL.md 里明确区分「已实测」和「待实测确认」,把每个国家的真实出口(含 JP 其实是 SoftEther 网段、不算家宽;UK 当时 0 个可用节点)如实列出来,还写了「不要问我密码、私钥不外传」的密钥交接流程和撤销命令。

架构(一句话)

客户端 → VPS 上独立 Xray(VLESS+Reality,一个国家一个端口)
      → 本机 SOCKS5(只绑 127.0.0.1)→ 网关容器里的 OpenVPN
      → VPN Gate 公开住宅节点 → 互联网(出口 = 住宅宽带 IP)

实测状态(仓库自述,2026-10-21)

国家状态
🇰🇷 KR✅ 跑通,韩国大型运营商宽带,非机房标记
🇯🇵 JP⚠️ 能通,但排名靠前的节点多在 SoftEther 网段(AS36599),不算真家宽
🇺🇸 US✅ 跑通,地区运营商,是否家宽待确认,可用节点很少
🇬🇧 UK❌ 测试期间 0 个可用节点

要注意的

  • 住宅节点会掉线、IP 会变。这是志愿者节点,可用性没有任何保证;仓库给了每分钟自检 + 可选定时换节点(heal.sh)兜底,但换节点只换 client.ovpn,客户端链接不变。
  • 住宅出口 ≠ 匿名,也不保证任何服务不封号。
  • 法律与条款:VPN Gate 节点由志愿者提供,使用需遵守所在地与 VPS 所在地的法律法规和服务条款;仓库本身是 MIT,仅供学习与网络技术研究。
  • 仓库很新:2026-10-20 建、4 star、2 fork,是个人项目而非成熟社区项目,代码和文档要自己读一遍再用。
  • 手机端(Shadowrocket 扫码实测)在仓库自述里仍未测。

以后想拿它做什么

结合 2026-10-08-oracle-vps-reality-node 那条——甲骨文免费 ARM 机器上已经有 VLESS+REALITY 的路子了,但出口是机房。这个 Skill 正好补上出口身份那一环:在那台机器上另起一条家宽线(新目录、新端口、新 systemd 单元,不动现有面板),需要「看起来像真人」的场合走家宽线,日常还是走原线路。动手前先照它的 Phase 0 只读扫描跑一遍,确认 TUN 可用、端口不冲突。

打开原文