Casually/dsh-web-remote-frp ↗★ 1
dsh-web-remote-frp
DSH 手机/外网远程访问插件(frp 版):frp 内网穿透公网隧道(frpc 一键下载)+ token 鉴权代理 + gzip 压缩 + 局域网 HTTP/HTTPS 直连 + 常驻手机图标面板 + 六大机器人通道(微信/QQ/Telegram/钉钉/飞书/企业微信)。
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Casually/dsh-web-remote-frp说明文档
阅读完整 README ↗3. 配置 frps 地址
在 profile 的 cordis.patch.yml(或本包 cordis.patch.yml)里给插件加 config:
- insert:
- id: web-remote-frp
name: 'dsh-web-remote-frp'
config:
frpServerAddr: 'your.vps.example.com' # frps 服务器地址(必填)
frpServerPort: 7000
frpAuthToken: '改成你自己的强密码'
frpProxyType: 'tcp' # tcp:远程端口模式(默认)
frpRemotePort: 13080 # 公网访问端口
重启 DSH 后,侧栏出现「📱 远程frp」按钮 → 打开面板即可看到
http://your.vps.example.com:13080/?token=... 公网链接。
⚙️ 配置项
在插件行的 config 字段覆盖,除 frpServerAddr 外全部可选:
| 参数 | 默认值 | 说明 |
|---|---|---|
frpServerAddr | '' | frps 服务器地址;留空则仅局域网可用 |
frpServerPort | 7000 | frps 的 bindPort |
frpAuthToken | '' | frps 的 auth.token |
frpProxyType | tcp | tcp(远程端口)或 http(域名,frps 需开 vhostHTTPPort) |
frpRemotePort | 3080 | tcp 模式下 frps 上暴露的公网端口 |
frpCustomDomains | '' | http 模式的 customDomains(逗号分隔字符串或数组) |
frpSubdomain | '' | http 模式的 subdomain(frps 需配置 subdomainHost) |
frpSubdomainHost | '' | frps 的 subdomainHost(仅用于拼公网链接) |
frpVhostHTTPPort | 80 | frps 的 vhostHTTPPort(仅用于拼公网链接) |
frpProxyName | '' | 自定义代理名;留空随机生成(多机共用一台 frps 不冲突) |
frpcPath | '' | 指定 frpc 路径;留空自动探测 PATH / 自动下载 |
frpDownloadUrl | '' | 自定义 frp 压缩包下载地址(设置后跳过 GitHub,直连该地址,适合内网 / 自建镜像) |
frpTlsEnable | '' | frpc↔frps TLS 开关:留空 = frp ≥0.50 默认行为(自动启用);'true' 强制启用 / 'false' 禁用 |
frpTlsCertFile | '' | TLS 客户端证书 transport.tls.certFile:填文件路径,或直接粘贴 PEM 内容(保存时自动生成文件,可选) |
frpTlsKeyFile | '' | TLS 客户端私钥 transport.tls.keyFile:文件路径或粘贴 PEM(自动落盘,权限 0600,可选) |
frpTlsTrustedCaFile | '' | TLS CA 证书 transport.tls.trustedCaFile(校验自签 frps):文件路径或粘贴 CA PEM(自动落盘,可选) |
frpTlsServerName | '' | TLS transport.tls.serverName(校验服务端证书主机名,留空用 serverAddr) |
frpVhostHTTPSPort | 443 | https 模式:frps 侧 vhostHTTPSPort |
frpHttpsCertFile | '' | https 模式访客侧域名证书:文件路径或粘贴 PEM(自动落盘;需匹配域名) |
frpHttpsKeyFile | '' | https 模式访客侧域名私钥:文件路径或粘贴 PEM(自动落盘,0600) |
targetPort | 3080 | DSH 自身端口 |
httpPortStart | 3081 | 局域网 HTTP 起始端口(自动跳过占用) |
httpsPortStart | 3082 | 局域网 HTTPS 起始端口 |
qqPortStart | 3001 | QQ OneBot 桥起始端口 |
pfxPath | '' | 指定 PFX 证书;留空自动生成自签名 |
pfxPass | '' | PFX 密码 |
toolsDir | '' | 工具与证书缓存目录;留空使用 $DSH_HOME/tools |
autoStart | true | 插件加载即自动启动 |
lanOpen | true | 局域网免 token(私网来源放行;公网隧道仍要 token) |
http(域名)模式示例
config:
frpServerAddr: 'frp.example.com'
frpServerPort: 7000
frpAuthToken: '***'
frpProxyType: 'http'
frpCustomDomains: 'dsh.example.com' # 该域名需解析到你的 frps 服务器
frpVhostHTTPPort: 80
📱 使用方法
- 启动后侧栏出现「📱 远程frp」按钮
- 点击 → 面板显示运行状态、公网 / 局域网链接
- 手机浏览器打开链接即可访问 DSH
公网:http://服务器:端口/?token=...(或你的域名)
局域网:https://192.168.x.x:3082(同 Wi-Fi;默认免 token)
公网访问始终需要 token;「换链接」会重新生成 token。frpc 掉线时面板会提示,点「停止」再「启动」即可重连。
🛠 面板「设置」页(免改 YAML 配置)
面板第四个标签页「设置」可直接填写并持久化配置:
- frps 连接:服务器地址 / 端口 / auth.token / 穿透模式(tcp、http、https)
- frp TLS 证书:frpc↔frps 隧道 TLS(开关 / 客户端证书 / 私钥 / CA / serverName);https 模式访客侧证书(frps vhostHTTPSPort / 域名证书 / 私钥,支持粘贴 PEM 自动落盘);一键生成自签证书(按已填域名自动 openssl 生成证书+私钥,自动写入配置并重启,有效期 10 年)
- tcp 模式:公网端口;http 模式:自定义域名 / subdomain / vhostHTTPPort
- frpc 路径 + 一键下载 / 定位文件:点「一键下载」自动识别当前系统与架构(darwin / linux / windows × amd64 / arm64…),下载对应的 frp 最新版(自动解压)并自动填入路径;内置国内加速镜像(fengxiaozi,6 平台直链),下载源顺序:GitHub → 加速镜像 → ghfast;点「定位文件」一键在 Finder / 资源管理器中显示 frpc;若已存在 frpc(配置路径 / PATH / toolsDir)则直接复用,不重复下载
- 自定义下载地址:内网 / 自建镜像直连
点「保存并重启」后配置写入 toolsDir/frp-config.json 并立即重建隧道;
「清除本地配置」恢复为 cordis.patch.yml 中的值。
配置优先级:面板设置(frp-config.json)> cordis.patch.yml 的 config > 内置默认值;面板中留空的项自动沿用 YAML 值。
分组折叠:设置项按「frp 服务器穿透 / frpc 与下载」分组,默认全部折叠,点开对应分组填写,面板不会一打开就很长。机器人通道凭据(纸飞机 / 钉钉 / 飞书 / 企业微信)已移到「机器人」标签页各通道详情里填写,设置页只保留 frp 相关配置。