StyleJeke/dsh-tunnel-plugin ↗★ 2
dsh-tunnel-plugin
一键启停内网穿透,安全发布本机服务
AI 分析
适合需要远程访问本地DSH服务的用户,支持Cloudflare隧道和固定域名配置。
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗配置
全部落在 $DSH_HOME/tunnel/:
| 文件 | 作用 |
|---|---|
credentials.json | 登录账号 + scrypt 摘要 + 会话签名密钥。由 set-credentials.mjs 生成,不要手写 |
named-tunnel.json | 存在即走固定域名。内容:{"name":"dsh","hostname":"dsh.example.com"} |
autostart | 空文件即可。存在表示 DSH 启动后自动开隧道 |
固定域名(推荐长期使用)
云快速隧道的域名是每次创建隧道时随机分配的,只有 cloudflared 进程活着才固定。 进程或 DSH 一重启,域名必变 —— 而你在外地时旧链接已死、新链接又拿不到,等于失联。 要长期在外使用,请配一个 Named Tunnel:
cloudflared tunnel login # 浏览器授权,选你的域名
cloudflared tunnel create dsh # 建隧道,记下它的名字
cloudflared tunnel route dns dsh dsh.example.com # 把域名指到隧道
然后写配置:
// $DSH_HOME/tunnel/named-tunnel.json
{ "name": "dsh", "hostname": "dsh.example.com" }
删掉这个文件就退回快速隧道。
自动开启
New-Item -ItemType File "$env:USERPROFILE\.dsh\tunnel\autostart" -Force
有了它,DSH 启动约 5 秒后隧道会自动开。想关掉就删掉这个文件。
这只是让隧道跟着 DSH 走。DSH 自己的开机自启要你另行配置(Windows 计划任务或启动文件夹、 systemd、launchd 等)。如果你会长期在外,建议一并做掉 —— 机器重启后 DSH 不自己起来, 再稳的域名也连不上。
改口令
重跑 set-credentials.mjs,然后在设置页点一次 停止 → 启动。
每次写入都会轮换会话签名密钥,所以所有已登录的浏览器会立刻失效 —— 这正是改口令该有的效果。
固定域名(推荐长期使用)
云快速隧道的域名是每次创建隧道时随机分配的,只有 cloudflared 进程活着才固定。 进程或 DSH 一重启,域名必变 —— 而你在外地时旧链接已死、新链接又拿不到,等于失联。 要长期在外使用,请配一个 Named Tunnel:
cloudflared tunnel login # 浏览器授权,选你的域名
cloudflared tunnel create dsh # 建隧道,记下它的名字
cloudflared tunnel route dns dsh dsh.example.com # 把域名指到隧道
然后写配置:
// $DSH_HOME/tunnel/named-tunnel.json
{ "name": "dsh", "hostname": "dsh.example.com" }
删掉这个文件就退回快速隧道。
使用
启停
设置 → 内网穿透 → 启动。启动后页面会显示访问链接,点输入框可全选复制。
登录
把链接发到另一台电脑打开,会看到登录页。登录成功后 30 天内免登录。
退出登录:访问 /__tunnel/logout。
链接会不会变
| 场景 | 域名 | 登录状态 |
|---|---|---|
| 固定域名 + cloudflared 崩溃重连 | 不变 | 保持 |
| 固定域名 + 重启 DSH | 不变 | 保持 |
| 快速隧道 + 任何重启 | 会变 | 保持(cookie 在域名下,域名换了要重新登录) |
所以长期在外请用固定域名。
面板上的状态
- 运行中 / 已停止 / 启动中 / 出错 —— 四态,出错时会显示子进程日志尾部
- 已自动重连 N 次 —— 只要 cloudflared 进程不重启,域名就不会变
- 链接已更换 —— 快速隧道下重连换了域名时会显眼提示,旧链接立刻作废