READMESource: main@a96bea65
DSH(DeepSeek Harness)的网页版默认只跑在本机,出了家门就摸不到。想在外面用手机打开它,我试过好几条路:买域名挂 Cloudflare 隧道(要花钱、要配一整天的东西)、用内网穿透(地址乱跳、裸奔危险)、装 VPN 类 App(国内应用商店直接搜不到)。
这条路是我自己踩完坑之后,留给"普通人"的那一条:电脑装一次 Tailscale,手机浏览器打开网址 + 输一次密码,就是 DSH 完整界面。 免费、地址固定、不买域名、手机不用装任何 App。
它和 Cloudflare 方案(dsh-remote-access)的区别
| dsh-remote-access(Cloudflare) | dsh-Webroad(Tailscale Funnel) | |
|---|---|---|
| 花钱 | 域名约 ¥70/年 | 0 元 |
| 配置 | Cloudflare API、隧道、代理、补丁,一整天的坑 | 装 Tailscale → 开 Funnel → 转发,半小时内 |
| 手机端 | 浏览器打开 + 密码 | 浏览器打开 + 密码,一样 |
| 地址 | 自选域名,完全自主 | 设备名.tailnet.ts.net,免费固定 |
| 适合谁 | 想要自选域名的进阶玩家 | 家里人、不想折腾的普通人 |
两条路可以并存(trustedHosts 同时加两个域名就行),哪天想省钱,切过来就是。
📦 安装
在能连上 GitHub 的机器上,对你的 DSH 说:
dsh plugin --profile web add github:iTrimut/dsh-Webroad
装完重启 dsh web。插件会自动做三件事:
- 把内置技能装到
~/.dsh/skills/dsh-webroad/(完整搭建步骤 + 全部模板文件都在里面,脱敏好了直接复制) - 给手机端打好补丁(browse 目录选择器、旧浏览器 polyfill、首次打开直达会话)
- 剩下的跟着技能走:装 Tailscale → 启用 Funnel → 转发到密码代理 → 加信任围栏
🚀 快速开始(装完技能后,三步)
# 1. 装 Tailscale(登录用微软账号或邮箱验证码,国内别用 Google/GitHub)
winget install Tailscale.Tailscale
# 2. 开 Funnel,转发到密码代理(先按技能第 5 步把代理跑起来)
tailscale funnel --bg 3099
# 3. 把 Funnel 域名加进 DSH 信任围栏(cordis.patch.yml,技能里有现成片段)
然后手机浏览器打开 https://设备名.tailnet.ts.net,输密码,就是 DSH。
✨ 它替你解决了什么
- WebSocket:DSH 的界面数据全靠
/api/events.mux的 WebSocket 推送。代理要是不转发 WS,手机打开就是白屏。这条路里的代理是专门写好的(HTTP Basic + Cookie + WS 升级转发),坑全踩完了。 - 信任围栏:DSH 的
/api只认回环地址和它认识的域名,不加白名单就是 403。技能里给了现成补丁片段,复制粘贴即可。 - 旧手机浏览器:iOS 16 之前的 Safari 缺
AbortSignal.timeout/any,插件自动补上,不用你管。
🔒 安全(说人话)
DSH 是能远程操作你电脑的入口,不是开玩笑的东西。
- Funnel 地址是公开的,密码是唯一保护 —— 别把网址和密码发到群里。
- 密码明文存在本机
auth-config.json,别跟着备份外泄。 - 想彻底不暴露公网?走备选:手机装 Tailscale App 走内网直连,只有你账号下的设备能进。
🌟 关于
这套东西是当成"给自己和家里人的远程访问"来做的,文档里的坑都是我实际踩过的。正式发布前还过了两轮独立第三方审查(模拟第三人全新安装走查 + 技术断言逐条实机核验)。
有想法、踩了新坑,欢迎在 Issues 里说一声。
MIT License · 自由使用 / 修改 / 再分发
Made by @iTrimut
No comments yet. Be the first to write one.