dsh-ipv6-gate:用家庭宽带的公网 IPv6 远程访问 DeepSeek Harness

前言

想在通勤路上用手机接着调家里的 DSH,常见做法是内网穿透:要么把流量交给第三方中继,要么在路由器和本机上装隧道客户端、加计划任务。dsh-ipv6-gate 是 fzcohq 维护的一个 DSH 插件,换一条路走:国内家宽普遍已经分配公网 IPv6,插件直接用 IPv6 把 DSH 暴露出去,域名、证书、DDNS、认证全部在插件内部完成,数据不经第三方中继。下面介绍它的能力、安装与配置过程,以及适用前提。

这是什么

一句话定位:把 DeepSeek Harness 通过家庭宽带的 IPv6 直接暴露到公网的远程访问网关,零中继、零费用、零系统配置。

项 值
插件名 fzcohq/dsh-ipv6-gate
维护者 fzcohq
分类 联网工具
许可证 MIT
package.json 版本 0.1.1
Node 要求 engines >=22.19.0
目录页 https://www.skillhub.cn/plugins/fzcohq/dsh-ipv6-gate
源码 https://github.com/fzcohq/dsh-ipv6-gate

它解决的具体问题是:手机蜂窝网络天然有 IPv6,家里的电脑上也有公网 IPv6 地址;真正缺的是域名、证书和入口认证。插件把这三件事打包,装一个插件、填一个 DuckDNS Token 就够,不需要 Caddy / cloudflared 之类的外部二进制,也不需要计划任务或注册表之类的系统级配置。

核心功能

功能全部来自 README 的描述。

功能 说明
HTTPS 远程访问 Let’s Encrypt 证书自动签发/续期(DNS-01 via DuckDNS)
DDNS 检测本机 IPv6 变化 → 自动更新 DNS AAAA 记录(每小时)
设置页 UI DSH 设置里出现「手机 IPv6 远程访问」页签
二维码扫码 扫码直达,密码编入 URL,自动认证,不留浏览器历史
双通道 HTTPS(8787,加密)+ HTTP(8788,明文,默认关),独立密码/开关
安全 PIN 认证 + Cookie + 失败锁定 + IP 限速

反代层做 Host 改写、PIN 认证和 WebSocket 透传,扫码入口通过 ?key= 自动认证,HTTP/2 ALPN 按协议分流。架构上不依赖任何外部进程:

┌─────────────────────────────────────────────┐
│  DSH 设置页「手机 IPv6 远程访问」              │
│  ├─ IPv6 地址检测(排除 Temporary 地址)       │
│  ├─ HTTP 连接(端口 8788,默认关)            │
│  ├─ DuckDNS 域名管理(子域名 + Token)        │
│  └─ HTTPS 连接(端口 8787,TLS 证书自动管理)  │
├─────────────────────────────────────────────┤
│  gate-manager(双通道生命周期 + 持久化)       │
├─────────────────────────────────────────────┤
│  反代层:Host 改写 + PIN 认证 + WS 透传       │
│  + ?key= 扫码自动认证 + HTTP/2 ALPN 分流     │
├─────────────────────────────────────────────┤
│  ACME DNS-01(DuckDNS API)+ 证书续期        │
│  DDNS 定时器(稳定地址 → AAAA 记录,每小时)   │
└─────────────────────────────────────────────┘

安装与启用

在终端执行,这是 README 给出的官方命令:

dsh plugin add github:fzcohq/dsh-ipv6-gate

如果用的是桌面版,安装后设置页没有出现插件,换带 profile 的命令:

dsh plugin --profile desktop add github:fzcohq/dsh-ipv6-gate

然后重启桌面端。安装后重启 DSH,设置里会出现「手机 IPv6 远程访问」页签。依赖要求 node >=22.19.0,可以先用 node -v 确认。

配置:三步

先注册 DuckDNS 域名(免费)。打开 https://www.duckdns.org,用 GitHub 账号登录,输入一个子域名(如 myhome)点 Add Domain,然后复制页面右上角的 Token(36 位 UUID)。

回到 DSH 的设置页配置。路径是 DSH → 设置 → 「手机 IPv6 远程访问」;先确认 IPv6 地址检测显示绿色,再进入「域名区域」→「配置」,填子域名和 Token 保存,等待「正在配置域名…」完成,自动 DDNS + 证书签发约 30 秒。

最后开启 HTTPS。打开「HTTPS 连接」开关,展开面板,用手机扫描二维码即可直达 DSH。若更喜欢手动输入,访问地址形如:

https://<子域名>.duckdns.org:8787

日常操作都在设置页完成:

操作 方式
改密码 设置页 → 展开 HTTP/HTTPS → 「自定义」密码,即时生效
关闭远程访问 设置页关闭对应开关,端口停止监听、外部不可达
临时测试 开启 HTTP 连接,明文,仅建议局域网调试

适用场景与注意

适合家里宽带已有公网 IPv6、手机有蜂窝 IPv6、并且愿意自己注册 DuckDNS 域名的用户。前提条件如下:

条件 说明
电脑有公网 IPv6 国内电信/移动/联通家宽普遍已分配,检测见设置页
手机有 IPv6 4G/5G 蜂窝默认支持;WiFi 需路由器开启 IPv6
路由器防火墙 需允许入站 8787/8788 端口(多数家宽默认放行高位端口)

几点要注意。插件以当前 dsh 进程权限运行,它持有 DuckDNS Token、TLS 私钥,并会监听 8787/8788 端口,安装前先读一遍源码和 MIT 许可证。HTTPS 走 DNS-01 签发证书,域名和 Token 是必需输入。HTTP 明文通道默认关闭,只在局域网调试时临时打开。IPv6 地址变化由每小时一次的 DDNS 定时器兜底,不是实时切换。目前 GitHub 显示 0 个星标,属于较小项目,遇到问题可直接去仓库提 issue。

结尾

这个插件的价值在于:在不引入中继、不装外部二进制的前提下,把 DSH 的远程访问压到一个插件加一个免费域名。安装、配置、验证都走 DSH 设置页,用完关掉开关端口即停止监听。目录页与源码分别在:

  • https://www.skillhub.cn/plugins/fzcohq/dsh-ipv6-gate
  • https://github.com/fzcohq/dsh-ipv6-gate
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜