
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-gateway
Advanced tools
HTTPS + login gateway for the DeepSeek Harness web surface: securely access your DSH Web UI from another machine on your LAN, or from the internet via port forwarding. Fail-closed defaults (loopback-only listener, no accounts until configured); setup and
为 DeepSeek Harness 的 Web 界面加一层「HTTPS 加密 + 账号登录」的远程访问网关:作为 dsh 插件安装,无需任何外部程序,装上即用。
A self-contained HTTPS + login gateway for the DeepSeek Harness web surface. Install it as a dsh plugin — no external programs needed.
https://本机IP:端口 就能访问;配置好端口映射后,从互联网也能访问dsh plugin --profile web add dsh-gateway
重启 web 应用后,网关默认只在本机 127.0.0.1:3443 上监听、且没有任何账号——谁都登录不进去(fail-closed,安全优先)。要让别人能访问,按下面的「快速开始」配置账号与监听地址。
以"局域网内另一台机器访问"为例:
配置登录账号与监听地址(设置页的 Remote Gateway 卡片,或直接编辑 $DSH_HOME/settings.yaml):
gateway:
listenHost: '0.0.0.0' # 监听所有网卡,允许局域网访问
users:
admin: 'scrypt$...' # 用 node scripts/hash-password.mjs '你的密码' 生成
记住网关端口(默认 3443)。
在另一台设备浏览器打开 https://本机IP:3443,首次访问需信任自签证书,然后登录即可使用。
从互联网访问:在路由器上做端口映射,把外部端口转发到本机 gateway.port,用公网 IP(或域名)访问;使用域名时建议配置自己的证书。
注意:示例中的
admin / change-me只是演示用。只要该凭据仍在生效,网关就拒绝在非本机地址上启动。
所有配置走 $DSH_HOME/settings.yaml 的 gateway: 段,也可以在 DSH 设置页的 Remote Gateway 卡片里直接修改(两者完全等价:同样校验、持久化、热生效)。
gateway:
enabled: true # false = 完全停用
listenHost: '127.0.0.1' # 监听地址:127.0.0.1 = 仅本机;0.0.0.0 = 所有网卡
port: 3443 # 对外端口
upstream: '' # 留空 = 自动跟随 DSH web 服务端口
sessionDays: 30 # 会话有效期(天)
loginFailLimit: 5 # 每 IP 连续登录失败次数上限
lockoutSeconds: 60 # 超过上限后的锁定秒数
users: # 登录账号(值为密码哈希,推荐)
admin: 'scrypt$...'
sites: # 站点列表:只响应这里列出的域名/IP
- hosts: ['你的域名', '你的IP']
cert: '证书路径' # 留空 = 自动生成
key: '密钥路径'
users 为空、listenHost 为 127.0.0.1:不配置 = 无人可登录、仅本机可达sites[].hosts 支持 *.example.com 通配;网关只响应白名单内的域名/IPnode scripts/hash-password.mjs '你的密码';设置页保存的密码会自动哈希,无需手动生成安装后,DSH 设置页会出现 Remote Gateway 卡片,可完成:
证书、多站点、限速等配置仍走 settings.yaml 的 gateway: 段。
listenHost 为 0.0.0.0;端口未被防火墙拦截127.0.0.1,使所有远程访问都经过网关的登录保护(见「安全基线」第 3 条)users 中不得保留 admin / change-me——非本机监听下网关会拒绝启动(强制门禁,不只是告警)cordis.patch.yml 中把 webserver 锁定到 127.0.0.1:
- id: webserver
config:
host: '127.0.0.1'
port: 3080
sites[].hosts 只列你实际使用的域名/IPgateway.port网关默认以 loopback 伪装模式转发请求:上游看到的是 127.0.0.1:<upstreamPort>
的 Host/Origin,而不是客户端的真实域名。效果:
--trusted-host 白名单)无需任何
启动参数即可放行,包括凭据 / 设置等特权 API——不需要再给 dsh web 传
--trusted-hostLocation 头会自动改写回客户端的公开地址(https://<clientHost>/...)sec-fetch-site: cross-site 的跨站请求仍被上游拒绝,CSRF 防护不受影响tools/dsh-tray/ 附带一个 Windows 托盘小工具,用于隐藏命令行窗口并以菜单方式管理 DSH 实例(启动 / 重启 / 停止 / 打开页面等),实例异常退出时会弹气泡通知。
npm install
npm test # node:test 单元测试
lib/:核心逻辑(认证、代理、证书、HTTPS 服务器),与插件框架无关,可独立测试dsh/index.js:插件封装(配置解析、生命周期、热重载、安全守卫)client.js:设置页卡片(浏览器端)scripts/:配套脚本(hash-password.mjs 生成密码哈希等)MIT
FAQs
HTTPS + login gateway for the DeepSeek Harness web surface: securely access your DSH Web UI from another machine on your LAN, or from the internet via port forwarding. Fail-closed defaults (loopback-only listener, no accounts until configured); setup and
We found that dsh-gateway demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.