Back to home@Mandarin715

dsh-mobile-access-plugin

DSH 手机远程通道插件:一键生成并部署 frp 隧道 + Basic Auth 反代 + 开机自启(通用,不锁 DSH 发行版)

Stars
1
Language
JavaScript
Created
Sep 4, 2026
Updated
Sep 4, 2026

Introduction

dsh-mobile-access (DSH plugin)

一个 DeepSeek Harness 插件,把"让你手机通过浏览器访问你电脑上的 DSH"这件事一键自动化

这是 dsh-mobile-access 项目的 DSH 插件版。教程+模板版见仓库根目录 README。 定位:通用远程通道插件(不锁 DSH 发行版)。不改造 DSH 界面,而是生成 + 部署 frp 隧道 + Basic Auth 反代 + 开机自启。


它做什么

装到 DSH 后,它会(读你的配置)自动:

  1. 生成 frpc.toml(frp 客户端配置,把你的 DSH 隧道到 VPS)
  2. 生成 auth-proxy.js(Basic Auth + WebSocket 透传反代,用你设的密码)
  3. 生成开机自启脚本start-frpc.ps1 / start-authproxy.ps1,用 Start-Process + LISTENING 判断——避开重启失效的坑)
  4. 把生成物写到 ~/.dsh/mobile-access/,并打印手机访问地址 https://<你的域名>

前提(给新手:一步步准备好,看这节就够了)

这个方案需要你自备一台云服务器(VPS)和一个域名——因为要让手机从公网访问你电脑,中间需要一个"公共中转站",那台 VPS 就是。下面的"前提"一步步教你怎么准备,全程按步骤来即可。

① 你要准备的三样东西

东西是什么大概花多少钱
一台云服务器(VPS)一台一直开着的公共服务器,手机和电脑都通过它中转几十元/月(买最便宜的就行)
一个域名一个网址名,比如 derp.example.com,指向你的 VPS首年几元~十几元
电脑上装了 Node.js插件要跑一个反向代理,需要 Node免费(下载

手机端什么都不用装,只用浏览器。你电脑上已经有 DSH web 在跑(监听 127.0.0.1:3080)。


② 第一步:买一台"大陆"云服务器(VPS)

去哪买(选一家你顺手/有账号的):

怎么选(关键!别选错)

  • 地域/机房:选大陆内地(比如 北京 / 上海 / 广州 / 杭州 / 成都)。千万别选香港、新加坡、美国这些海外机房——海外节点延迟高,你手机加载会很慢(甚至加载不出来)。这一条一定要记住!
  • 系统镜像:选 Ubuntu 22.04Ubuntu 24.04(这是最常见的 Linux 系统,后面要用它装东西)
  • 配置1 核 + 1G 内存起步就够(这套方案很轻量,用不上大机器)。有钱想更稳可以买 2 核 2G。
  • 计费:包年/包月都行。新用户常有优惠,几十元就能搞定第一年。

买完你会得到一个公网 IP(形如 1.2.3.4),记下来——后面要用。

⚠️ 别忘了开防火墙端口:在云控制台的"防火墙"/"安全组"里面,放行这几个 TCP 端口22(SSH)、80(给证书验证用)、443(手机访问用)、7000(frpc 连接用)。不放开这些端口,后面会连不上。


③ 第二步:买一个域名,并让它指向 VPS

去哪买

  • 阿里云域名注册(万网)(推荐,和你买 VPS 同一个账号,配 DNS 解析最省事)
  • 腾讯云等也可以

怎么买:搜索你想用的名字(比如 derpmyhome),挑一个便宜的后缀(.top / .xyz / .icu 首年几元),下单即可。域名需要实名认证(上传身份证,一般 1 小时内通过)。

怎么配 DNS(让域名指向你的 VPS):

  1. 登录你买域名的云控制台,找到"域名解析"或"DNS 解析"
  2. 添加一条记录
    • 记录类型:选 A
    • 主机记录:填 derp(这样域名就是 derp.你的域名;如果你想让域名根直接用,就填 @
    • 记录值:填你买 VPS 得到的公网 IP(记下来那个 1.2.3.4
    • TTL:默认即可
  3. 保存。

验证:在这台电脑上(或任何地方)ping derp.你的域名,如果返回你 VPS 的那个 IP,就说明解析成功了。


④ 第三步:装 frp(电脑上要有 frpc.exe

这个插件不捆绑 frp(frp 是第三方免费工具,你装一下)。

frp 是什么:frp 是一开源的"内网穿透"工具,负责把你电脑上的 DSH"隧道"到你买的那台 VPS。插件会生成 frp 的配置文件,你只需要有 frp 的程序文件。

怎么拿 frpc.exe

  • 从 frp 官方 releases 页 下载 Windows 版(选 frp_xxxx_windows_amd64.zip),解压出 frpc.exe
  • 或者如果你 VPS 上装了 Go,也可以编译(看仓库根目录教程)

frpc.exe 的完整路径记下来(例如 C:\path\to\frpc.exe),后面填配置要用。

对小白提示:frp 的服务器程序 frps 装在你的 VPS 上(见下面第 5 步);你的电脑上只需 frpc.exe(客户端)。这两个是配套的。


⑤ 给域名签 HTTPS 证书(cert.pem / key.pem

手机走 HTTPS 需要一张 Let's Encrypt 公共可信证书cert.pem / key.pem)。证书在 VPS 上用 certbot 签,然后放到你电脑~/.dsh/mobile-access/(插件工作目录)。

VPS 上签(需防火墙放行 80/443):

sudo apt update && sudo apt install -y certbot
sudo certbot certonly --standalone -d derp.你的域名 --email 你的邮箱 --agree-tos --no-eff-email

证书生成在 /etc/letsencrypt/live/derp.你的域名/fullchain.pem = cert.pemprivkey.pem = key.pem)。

放到你电脑 ~/.dsh/mobile-access/

# 在 VPS 上复制成插件约定名
cp /etc/letsencrypt/live/derp.你的域名/fullchain.pem /tmp/cert.pem
cp /etc/letsencrypt/live/derp.你的域名/privkey.pem   /tmp/key.pem
# 在电脑上执行(scp 拉取,用户名是 VPS 登录名)
scp root@你的VPSIP:/tmp/cert.pem C:\Users\你的用户名\.dsh\mobile-access\cert.pem
scp root@你的VPSIP:/tmp/key.pem  C:\Users\你的用户名\.dsh\mobile-access\key.pem

⚠️ key.pem 是私钥,绝不提交公开仓库、不要发给别人cert.pem 可公开。 💡 自签证书(openssl req -x509)会让手机报"不受信任",不建议;用 certbot 签公共证书,手机端零操作。


🤖 给 AI/Agent 工具的自动化步骤

如果你有能执行命令的 AI 助手(DeepSeek Harness 等),把下面这段交给它自动完成"签证书 + 拷证书":

帮我完成 DSH 手机远程的 HTTPS 证书配置。步骤:

  1. SSH 登录 VPS(地址 <VPS_IP>,用户 root),运行 sudo apt update && sudo apt install -y certbot
  2. 给域名签 Let's Encrypt 证书:sudo certbot certonly --standalone -d <DOMAIN> --email <EMAIL> --agree-tos --no-eff-email<DOMAIN> 是已配 A 记录指向该 VPS 的域名;若 80 端口被占,先停掉占用进程)。
  3. 在 VPS 上复制成插件约定名并放 /tmp:cp /etc/letsencrypt/live/<DOMAIN>/fullchain.pem /tmp/cert.pemcp /etc/letsencrypt/live/<DOMAIN>/privkey.pem /tmp/key.pem
  4. 用 SCP/SFTP 把 /tmp/cert.pem/tmp/key.pem 下载到本机 C:\Users\<你的用户名>\.dsh\mobile-access\(目录不存在则创建),文件名保持 cert.pem / key.pem
  5. 校验:确认本机两个文件存在且非空。证书续期(certbot renew)时重复拷贝即可。

<VPS_IP><DOMAIN><EMAIL><你的用户名> 换成实际值交给 Agent 即可。


小结:这 4 步都做好后,你就有了

  • ✅ 一台大陆 VPS(公网 IP,防火墙开了 22/80/443/7000)
  • ✅ 一个域名(A 记录指向 VPS,derp.你的域名 能解析到 VPS IP)
  • ✅ 电脑上的 frpc.exe(路径记下来了)
  • ✅ 域名的 cert.pem / key.pem(放在 ~/.dsh/mobile-access/

然后就能安装插件 → 填配置 → 手机访问了。


安装(可直接复制执行)

把下面的 <你的仓库或包名> 换成你的源,然后复制整行执行:

dsh plugin --profile web add your-github-username/dsh-mobile-access-plugin

本插件源的完整地址(直接复制):

dsh plugin --profile web add github:Mandarin715/dsh-mobile-access-plugin

装完重启 dsh web 生效:Ctrl+C 停掉当前 dsh web,再重新运行 dsh web(或用你的启动方式)。

配置

在 profile 的 cordis.patch.yml 里给插件填参数(或用环境变量):

- id: dsh-mobile-access
  config:
    vpsIp: "1.2.3.4"            # 你的 VPS 公网 IP(第②步买的)
    domain: "derp.example.com"  # 指向 VPS 的域名(第③步配的)
    authUser: "admin"           # 手机登录用户名(自己定)
    authPassword: "your-pass"   # 手机登录密码(共享给信任的人,请用强密码)
    dshPort: 3080               # DSH web 端口
    frpcPath: "C:\\path\\to\\frpc.exe"   # 第④步记下的 frpc.exe 路径
    frpsPort: 7000
    proxyPort: 18443

对应环境变量:DSH_MOBILE_VPS_IPDSH_MOBILE_DOMAINDSH_MOBILE_AUTH_USERDSH_MOBILE_AUTH_PASSWORDDSH_MOBILE_DSH_PORTDSH_MOBILE_FRPC_PATHDSH_MOBILE_FRPS_PORTDSH_MOBILE_PROXY_PORT

使用

手机浏览器打开插件打印的地址 https://derp.example.com,输入用户名/密码(Basic Auth),即可访问你电脑上的 DSH。对话实时滚动(WebSocket 透传)。

共享给信任的人:把这套用户名/密码给他们即可。

安全

  • HTTPS(Let's Encrypt 公共证书)加密传输。
  • Basic Auth 共享密码——强度取决于密码本身,请用强密码,只给信任的人
  • key.pem(证书私钥)绝不提交到公开仓库;本插件只生成配置,不含私钥。

License

MIT。frp、Node.js 等第三方版权归各自作者。