扫码让手机连上本机 DSH,局域网公网都能用
29.1/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/iTrimut/dsh-Webroad.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
生态插件
可安装,未声明 dsh 能力
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 62 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-webroad(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/23 02:26:19
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 36 处,展示前 36 条)
- 读取本地文件lib/index.js:124
if (!existsSync(join(source, 'SKILL.md'))) return; - 读取本地文件lib/index.js:125
if (existsSync(join(target, 'SKILL.md'))) return; - 写入本地文件lib/index.js:131
mkdirSync(dst, { recursive: true }); - 读取本地文件lib/index.js:132
for (const entry of readdirSync(src)) { - 读取本地文件lib/index.js:135
if (statSync(from).isDirectory()) copyTree(from, to); - 写入本地文件lib/index.js:136
else copyFileSync(from, to); - 发起网络请求bin/dsh-webroad.mjs:31
const res = await fetch(`http://127.0.0.1:${port}${path}`, { - 读取本地文件lib/service.js:53
const v = readFileSync('/proc/version', 'utf8').toLowerCase(); - 执行外部命令来自配置/变量lib/service.js:78
execFile(candidates[i], [], { timeout: 5000, windowsHide: true }, (err, stdout) => { - 读取本地文件lib/settings.js:26
return readFileSync(p, 'utf8').trim(); - 写入本地文件lib/settings.js:34
mkdirSync(dirname(p), { recursive: true }); - 写入本地文件lib/settings.js:35
writeFileSync(p, content, { mode: 0o600 }); - 写入本地文件lib/settings.js:118
mkdirSync(dataDir(), { recursive: true }); - 写入本地文件lib/settings.js:119
writeFileSync(settingsPath(), JSON.stringify(settings, null, 2), { mode: 0o600 }); - 删除本地文件lib/settings.js:167
rmSync(autoTunnelPath(), { force: true }); - 读取本地文件lib/tunnel.js:59
await access(p); - 执行外部命令固定命令lib/tunnel.js:71
execSync('cloudflared --version', { stdio: 'ignore', timeout: 5000 }); - 写入本地文件lib/tunnel.js:84
await mkdir(dirname(dest), { recursive: true }); - 删除本地文件lib/tunnel.js:94
await rm(tmp, { force: true }); - 写入本地文件lib/tunnel.js:95
if (await exists(dest)) { await chmod(dest, 0o755); return; } - 删除本地文件lib/tunnel.js:103
await rm(tmp, { force: true }).catch(() => {}); - 写入本地文件lib/tunnel.js:106
await rename(tmp, dest); - 写入本地文件lib/tunnel.js:107
await chmod(dest, 0o755); - 删除本地文件lib/tunnel.js:118
await rm(dest, { force: true }).catch(() => {}); - 发起网络请求lib/tunnel.js:119
const res = await fetch(url, { redirect: 'follow', signal: AbortSignal.timeout(timeoutMs) }); - 写入本地文件lib/tunnel.js:121
const out = createWriteStream(dest); - 执行外部命令固定命令lib/tunnel.js:136
execFileSync('tar', ['-xzf', tarPath, '-C', destDir, '--strip-components=1'], { stdio: 'ignore' }); - 读取本地文件lib/tunnel.js:163
const useNamed = existsSync(namedConfig); - 读取本地文件lib/tunnel.js:178
if (useNamed && !existsSync(join(named, 'credentials.json'))) { - 执行外部命令来自配置/变量lib/tunnel.js:182
const child = spawn(binary.cmd, [...binary.args, ...args], { - 读取本地文件lib/tunnel.js:242
return readFileSync(p, 'utf8'); - 写入本地文件client/build.mjs:41
await mkdir(dirname(outputPath), { recursive: true }); - 写入本地文件client/build.mjs:42
await writeFile(outputPath, wrapped, 'utf8'); - 读取本地文件files/auth-proxy.js:10
const cfg = JSON.parse(fs.readFileSync(path.join(__dirname, 'auth-config.json'), 'utf8')); - 发起网络请求files/auth-proxy.js:40
const proxy = http.request( - 发起网络请求files/auth-proxy.js:66
const proxy = http.request({
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 扫码连接手机
- 局域网公网访问
- 8位PIN认证
DeepSeek Harness 手机访问一体化插件:设置页内嵌「📱 手机访问」,扫码即用(局域网+公网+固定域名),8 位 PIN 认证、零配置信任围栏;含 Tailscale Funnel 手动教程。
README
由 DeepSeek 最新模型翻译生成📱 dsh-webroad
DSH Web 手机访问一体化插件:设置页内嵌「📱 手机访问」,扫码即用(局域网 + 公网 + 固定域名)
License
Version
[Node]()
CI
把 dsh-pocket 式的一键自动化(改头代理免配 trustedHosts、8 位 PIN + 登录限速、WebSocket 心跳保活、gzip/brotli 压缩、局域网/公网二维码、cloudflared 隧道自动恢复)与自包含文档 + 手机端补丁(browse 目录选择器、polyfill、直达会话引导)结合在一起的 DSH 插件。DSH 设置页内嵌「📱 手机访问」入口,扫码即用;固定域名可复用已有 Cloudflare 命名隧道;并保留 Tailscale Funnel 手动教程(files/ 模板 + SKILL 备选方案节)。
安装(前置:pnpm 在 PATH;装完重启 dsh web)。
展开完整文档(README 剩余 1 节)
📱 dsh-webroad DSH Web 手机访问一体化插件:设置页内嵌「📱 手机访问」,扫码即用(局域网 + 公网 + 固定域名) License Version [Node]() CI 把 dsh-pocket 式的一键自动化(改头代理免配 trustedHosts、8 位 PIN + 登录限速、WebSocket 心跳保活、gzip/brotli 压缩、局域网/公网二维码、cloudflared 隧道自动恢复)与自包含文档 + 手机端补丁(browse 目录选择器、polyfill、直达会话引导)结合在一起的 DSH 插件。DSH 设置页内嵌「📱 手机访问」入口,扫码即用;固定域名可复用已有 Cloudflare 命名隧道;并保留 Tailscale Funnel 手动教程(files/ 模板 + SKILL 备选方案节)。 安装(前置:pnpm 在 PATH;装完重启 dsh web)。三选一: 本地开发(推荐,无网络依赖) dsh plugin --profile web add -w 海外网络:GitHub 直装 dsh plugin --profile web add github:iTrimut/dsh-Webroad -w 国内网络:git+ssh(走 SSH over 443,绕开被墙的 HTTPS) dsh plugin --profile web add git+ssh://git@github.com/iTrimut/dsh-Webroad.git -w -w 不能省(pnpm workspace-root 检查);github: 方式会让后续每次 pnpm 安装都重连 GitHub,国内不稳请用方式 1/3。装完 npx @deepseek-ai/dsh web 重启,浏览器开 http://127.0.0.1:3081/pocket 输局域网 PIN 即可验证。 使用(推荐):DSH 界面 → 设置 → 📱 手机访问 → 局域网/公网二维码 + 密码 + 开关全在这里。手机连同一 WiFi 扫局域网码输 PIN 即用;点「开启公网访问」出公网二维码,人在外面(4G/任何网络)也能访问。也可用独立面板 http://127.0.0.1:3081/pocket 或 CLI。 详见 skills/dsh-webroad/SKILL.md(完整自包含文档:关键点总结、架构、安装、使用、排障、验证清单、取代关系)。 特性 - 🏠 设置页内嵌入口:DSH 设置 →「📱 手机访问」— 二维码/密码/开关/免责声明全在设置页内,loopback RPC 驱动 - 📶 局域网扫码:代理自动起在 0.0.0.0:3081,出二维码,手机连同一 WiFi 扫码 + 8 位 PIN 即用(PIN 可关) - 🌐 公网扫码:cloudflared 快速隧道(免账号免域名),每次开启自动换新 PIN,旧链接作废;服务端强制安全免责声明 - 🔒 安全认证:公网/局域网独立 8 位 PIN;登录限速(单 IP 5 次/60s 锁 60s + 全局锁);HttpOnly cookie 会话保持(绑定 dsh web 进程) - ⚡ 实时可靠:WebSocket 全透传 + 协议层心跳保活(防 NAT/省电静默断链,断线自动重连) - 🗜️ 省流量:大 JSON 自动 gzip/brotli 压缩(17MB 长会话 → ~1MB) - 🧩 零配置围栏:改头代理让信任围栏永远看到 loopback,不改 DSH 任何配置 - 📱 手机端补丁:browse 目录选择器 + crypto.randomUUID/AbortSignal.any polyfill + 首次打开直达会话 - 🔁 隧道自动恢复:DSH 重启后自动重新拉起公网隧道(已实测) - 🏷️ 固定域名(可选):$DSH_HOME/dsh-webroad/named/ 放 config.yml + credentials.json 即复用你自己的 Cloudflare 命名隧道 - 🔧 CLI:dsh-webroad status | qr | public on|off | pin set|rotate 测试与验证(全部实测通过) npm install npm test # 9 项单元测试:改头/压缩/认证限速/WS 心跳/面板 API/隧道 URL/LAN IP node scripts/verify-live-panel.mjs # 真实 dsh web 端到端:登录→面板→二维码→WS 101 node scripts/e2e-panel.mjs # 独立进程完整浏览器流程(登录页→302→面板脚本编译→QR) 已实测:真实 dsh web 冒烟 10/10、公网快速隧道开启并经 Cloudflare 边缘访问、隧道自动恢复、设置页 client 注入(boot manifest 条目 + /plugins/dsh-webroad/client.js)。 与同类方案的差异 | | dsh-webroad | dsh-pocket | dsh-remote-access(已归档删除) | | 设置页入口 | ✅ 内嵌「📱 手机访问」 | ✅ 设置页签 | ❌ | | 安装后即用 | ✅ 扫码即用 | ✅ | ❌ 手动搭 | | 信任围栏 | 改头代理(零配置) | 改头代理(零配置) | 手动 trustedHosts | | 固定域名 | ✅ 可选(命名隧道) | ❌ 随机 URL | ✅(已并入本插件) | | Funnel 手动教程 | ✅ 保留(files/ + SKILL 备选节) | ❌ | ❌ | | 许可 | MIT | GPL-2.0 | MIT | | 文档 | SKILL.md 自包含 + 验证清单 | README | SKILL.md | 许可 MIT —— 自由使用 / 修改 / 再分发。实现为原创代码(借鉴公开的“host rewrite 反向代理”通用思路与 DSH client 插件机制,未复制 dsh-pocket 的 GPL 代码)。 由 @iTrimut 制作
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
iTrimut/dsh-Webroad
扫码让手机连上本机 DSH,局域网公网都能用
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,344已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,045已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,202已汉化DSH
71.1
这是你的仓库?认领条目