dsh-tailscale-gateway

通过仅监听本机回环的受控反向代理和 Tailscale Serve,把 DSH Web 安全地提供给指定 Tailnet 登录账号远程使用。

快速判断

安装前先看这几项

配置资料
配置资料部分完整
配置难度
未知,待补配置
适合新手
建议具备相关经验
兼容状态
声明兼容,尚未实测
验证状态
源码已审阅,未标记运行实测
配置资料部分完整

本站已整理安装目标,但尚未补齐该插件的全部专属配置。完成配置前需要核对固定来源。

仍需核对:插件专属配置项、成功验证结果、首次使用示例、数据清理方法

功能

这个插件能做什么

通过仅监听本机回环的受控反向代理和 Tailscale Serve,把 DSH Web 安全地提供给指定 Tailnet 登录账号远程使用。

适合谁

需要远程通知、消息、Telegram能力的用户

使用门槛

该插件涉及较高配置难度或敏感权限,不建议在生产工作区直接试装。

准备

安装前准备

本站尚未核验该插件的专属前置条件。请先准备独立 Web Profile、测试工作区,并核对固定来源中的运行时、外部服务和账号要求。

安装

如何安装 dsh-tailscale-gateway

下面的命令使用本站核验的 DSH 基线,并锁定插件版本或 Git commit,避免默认分支变化导致安装内容漂移。本站已核对安装目标,但尚未在你的系统和 Profile 中实际执行。

安装到
web Profile
DSH 基线
0.1.1-rc.2
安装来源
GitHub 源码(锁定提交)
固定目标
github:TiantianFlow/dsh-tailscale-gateway#1a578019dfa2
  1. 01
    检查 Node.js 与 pnpm

    DSH 当前基线需要 Node.js 22.19 或 Node.js 24 及以上,并且 pnpm 必须已在 PATH 中。先运行:

    环境检查
    node --version && pnpm --version
  2. 02
    安装到 Web Profile

    这条命令会把插件加入 web Profile,并在插件声明 DSH Bundle 时自动加入配置层。

    GitHub 源码(锁定提交)
    npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add github:TiantianFlow/dsh-tailscale-gateway#1a578019dfa2
  3. 03
    如遇构建脚本拦截

    GitHub 源码插件可能通过 prepare 构建。pnpm 10 及以上会先阻止未授权构建;只把终端明确提示的包名加入该 Profile 的 pnpm-workspace.yamlallowBuilds,审阅脚本后再重复上一步,不要使用全局放行。

  4. 04
    确认 Bundle 已进入配置

    安装成功后先导出组合配置,不启动 Agent。输出中应能找到包名 dsh-tailscale-gateway或对应 Bundle 层。

    检查配置
    npx --yes @deepseek-ai/dsh@0.1.1-rc.2 --profile web --dump-config
  5. 05
    启动并完成最小验证

    启动 Web Profile 后,只测试一个与插件功能直接相关的最小任务,并检查日志、文件、网络和凭据访问是否符合预期。

    启动 DSH Web
    npx --yes @deepseek-ai/dsh@0.1.1-rc.2 web
卸载与回退

测试不通过时先停止 DSH,再从同一 Profile 移除插件。移除后重新运行配置检查,确认对应 Bundle 层已经消失;插件自己创建的数据和外部账号配置可能需要另行清理。

从 Web Profile 移除
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web remove dsh-tailscale-gateway
配置

插件专属配置

专属配置路径和字段尚未完成核验,请不要根据同类插件猜测参数名。

验证

配置检查与成功结果

本站尚未获得插件专属的验证命令和期望结果。安装后只能确认 Bundle 是否进入组合配置,不能据此宣称插件功能已经运行通过。

使用

第一次使用建议这样验证

以下步骤是根据插件类别提供的安全验证顺序,不是作者仓库的专用命令。具体入口和参数仍以固定提交对应的 README 为准。

  • 使用测试账号或私有频道完成首次连接
  • 限制允许访问的用户、网络和工作区
  • 分别验证通知、命令和断开连接后的行为
权限

它可能接触哪些数据和能力

使用服务凭据访问外部网络

插件安装后默认 disabled;显式启用时由 DSH Subprocess 启动固定 sidecar,只绑定 127.0.0.1:3088,可选择调用解析后的绝对 tailscale 可执行文件配置 Serve,并把获准远程请求代理到 127.0.0.1:3080

数据存储:尚未完成独立核验,测试前应确认插件是否写入工作区、用户目录、数据库或外部服务。

请注意:源码已审阅”说明本站检查到的证据范围,不等于安全认证。重要工作区应锁定版本、备份数据并在最小权限下测试。

排查

故障排查与数据清理

本站尚未整理插件专属故障模式。遇到问题时先停止 DSH、保存日志、核对固定提交对应的 README,不要反复扩大权限重试。

清理边界待核对:从 Profile 移除插件通常不会自动删除插件创建的数据、外部账号或凭据。

证据

兼容性与审阅记录

兼容性说明

插件版本 0.1.0、MIT,要求 Node.js >=20,未声明 DSH peer 版本;本站完成固定提交静态审阅,未在当前 0.1.1-rc.2、真实 Tailnet ACL、Serve 版本、WebSocket、反向代理或移动端远程会话下运行

数据流

Tailscale Serve 在本机注入登录身份 → 回环 sidecar 校验真实 peer、唯一 Host/Origin、Fetch Site 和精确 trustedLogins → 清除 Cookie、Authorization、Tailscale 与代理头后转发 DSH Web → 响应移除 Set-Cookie/CORS/代理凭据并重写安全头;WebSocket 使用独立最小允许头。

源码审阅结论

已审阅固定提交的安全配置、默认禁用、固定监听/上游、Tailscale Serve 状态确认、原始重复 Header 拒绝、常量时间登录匹配、HTTP/WebSocket 代理和上下游 Header 清理。身份头只能在真实 127.0.0.1 peer、正确 *.ts.net Host 与 Origin 下生效,明显降低伪造风险;但启用后仍会把完整 DSH 控制面交给允许账号,Tailnet 账号、设备、ACL、DNS 与 Serve 配置均成为安全边界。只列最小 trustedLogins,禁止 Funnel,保护 Tailnet 账户并启用 MFA,升级 Tailscale 或变更反向代理后重新验证 Host/Origin/WebSocket 和直接访问失败行为。

来源与维护信息

本页根据固定提交的仓库、包清单和本站审阅资料生成。版本变化后,请重新核对作者说明。

来源快照
5909d7aad5a4
固定提交
1a578019dfa2
许可证
MIT
主要语言
JavaScript
中文资料
有中文审阅摘要