← ClaudeAtlas

personal-vpn-deployerlisted

在用户自己的服务器上一键部署个人自用翻墙节点(sing-box VLESS-Reality + Hysteria2 双栈), 并生成 Clash Verge / Clash Meta / Shadowrocket 客户端配置。只要用户提供服务器地址与一种 SSH 登录方式(密码 / 私钥文件 / 已配好免密),即可全自动完成服务端安装、凭据生成、伪装目标 优选、防火墙、启动自测。当用户提到"部署 VPN / 搭梯子 / 自建节点 / sing-box / Reality / Hysteria2 / 科学上网服务端 / 翻墙服务器 / 机场自建 / 客户端配置生成"等,或想在自己的 VPS 上 搭建、修复、迁移个人代理节点时,都应使用本 skill。也覆盖换 IP 迁移、Reality 握手失败、HY2 慢 等常见故障的排查修复。
IronHuang/personal-vpn-deployer · ★ 1 · DevOps & Infrastructure · score 74
Install: claude install-skill IronHuang/personal-vpn-deployer
# personal-vpn-deployer 在用户**自己拥有**的服务器上部署个人自用的 sing-box 双协议节点,并产出客户端配置。 - **VLESS-Reality(TCP/443)**:主力,速度快,无需域名/证书(借用大站 TLS 伪装)。 - **Hysteria2(UDP,salamander 混淆)**:断线兜底,抗 TCP 干扰。 > 使用前置:这必须是用户**自己有权操作**的服务器(VPS/云主机)。本 skill 用于个人自用与 > 学习,不用于协助未授权访问他人系统。若用户描述的目标不是自己的服务器,停下并澄清。 ## 何时用哪一步 整个流程分五步。根据用户当前所处阶段直接切入,别从头复述: 1. **收集输入** → 2. **建立 SSH** → 3. **服务端部署** → 4. **生成客户端配置** → 5. **验证 & 排障** --- ## 第 1 步:收集输入 问清并确认: - **服务器地址**:公网 IP 或域名(客户端配置要用它连)。 - **SSH 登录方式**(三选一): - **密码**:用户直接给 root(或可 sudo 的)密码。 - **私钥文件**:用户给出私钥路径(如 `~/.ssh/id_ed25519`)。 - **已配免密**:`ssh root@<host>` 已能直接登录。若用户还没配、想配,见 `references/passwordless-ssh.md`(含 Windows 与 Linux/Mac 教程)。 - **可选**:HY2 端口(默认 8443)、节点名前缀(默认「自建」)、是否已有 Clash 订阅 (有的话优先用 Script 注入方式,订阅更新不丢;见第 4 步)。 > **Reality 端口固定 443,不要问用户要不要改。** 换高位端口会撕掉 Reality 的 HTTPS 伪装、 > 反而更易被 DPI 识破。原因见 `references/troubleshooting.md`。 确认服务器归属后再继续。 --- ## 第 2 步:建立 SSH 连接 目标:得到一个能对服务器执行命令的 SSH 通道。三种方式: - **私钥文件**:`ssh -i <keyfile> root@<host> "..."` - **已配免密**:`ssh root@<host> "..."` - **仅有密码**:优先引导用户把公钥装上去实现免密(见 `references/passwordless-ssh.md`, 一条 `ssh-copy-id` 或等价命令即可),这样后续所有步骤稳定可复用。若确需用密码直连且 环境有 `sshpass`,可 `sshpass -p '<pw>' ssh ...`——但**绝不要把密码写进任何会被提交/ 保存的文件**。 ### 平台注意(Windows 上执行 SSH 的 agent 必读) - 在 Windows 用 PowerShell 把**多行 bash 脚本**通过管道喂给远端 `bash -s` 时,PowerShell 会加 UTF-8 BOM、并可能用 CRLF 换行,导致远端第 1 行报 `set: command not found` 之类。 稳妥写法: ``` $s = Get-Content -Raw scripts/deploy.sh $s | ssh root@<host> "sed '