
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-ssh-ops
Advanced tools
SSH ops and database tools for DSH Web UI: connect to remote servers via SSH terminal/SFTP/tunnels, and connect to MySQL/PostgreSQL/Redis/MongoDB databases. Host half manages sessions with ssh2; client half renders the terminal and database panel.
中文 · English
DeepSeek Harness 的 SSH 运维插件:在主对话中驱动当前服务器,同时在右侧保留真实的交互式终端,并集成文件管理、端口转发与数据库管理。
v0.3.22:新增 AI 命令执行策略三档——右侧终端左下角新增档位贴片(标准 / 自定义放行 / 全部放行,默认收缩为贴边色点、悬停展开;往松切需确认、切换只对本次会话生效,资源「高级选项」可按服务器覆盖,设置页第三页签管全局默认与放行类目);Agent 永远无法自行放宽——档位切换是操作者专属 RPC,被拦时 Agent 只会拿到结构化拒绝与指引,多机批量的操作者勾选闸门也不受档位影响;被放行的命令按原样执行(删除不再进回收站,警示文案明示)。修复 #33——网络设备(华为 VRP / 华三 Comware)上
ssh_exec15 秒静默卡顿后返回空输出:exec 通道超时改为先本地结算再关闭(对端不响应 CHANNEL_CLOSE 也不再挂死调用方),探测超时且零字节返回即判定为网络 CLI 设备、自动改走交互终端路径并以提示符回归为完成信号(首次调用当场降级;提示符识别覆盖 VRP/Comware/Cisco,分页自动推进,识别失败给人话错误而非空超时)。修复 SOCKS5 动态转发(ssh -D)三缺陷(外部排查报告核实后修复):握手解析器在 CONNECT 应答后退役——转发流量不再无界累积(实测 48 MiB 转发常驻 +204 MiB 降回零)、管线化载荷不再丢失(握手窗口内残余先 flush 再 pipe)、连接计数不再双减;顺带修复git clean -fd(最常见写法)因正则尾部写错从未被拦截的既有漏洞。 v0.3.21:修复 #32 报告的宿主闪退(Windows 真机,未捕获异常直接击穿 DSH 进程)——① ssh2 的forwardOut在传输断开时同步 throw 而不走 callback(Not connected),断线后隧道 listener 仍监听、迟到接入即崩宿主:三处调用点(本地隧道 / SOCKS5 / DB 隧道)全部捕获,失败只牺牲该连接;② 隧道 socket/channel 无error监听,本地 RST(ECONNRESET)零监听即崩:双向互相拆链 + 迟到 channel 丢弃 + 竞态接入拒绝;③ 传输丢失、显式断开、插件卸载三条路径统一关闭隧道 listener 并同步退役依附该 SSH 连接的 DB 隧道(事务回退、redis 断连一并处理),不再留幽灵监听;④ 顺手修复隧道面板列表渲染的TypeError: t2 is not a function(渲染回调参数遮蔽了 i18n 翻译函数t,0.3.10 起潜伏,隧道列表非空即崩 tab)。
v0.3.20:新增 SSH 资源「登录命令」(高级选项,
ssh -t语义的 exec+伪终端——默认 shell 不兼容的服务器填bash -l即可临时改用 bash,tmux attach、进目录后进 shell 一类动作也可固化为登录即得;命令即整个登录会话,改完保存后下一个终端即生效、无需重连);ssh_exec 的 cwd 解析器拒绝语义拆分(多候选歧义与忙/非交互各占独立消息,后者带候选进程的 comm/pgrp/tpgid 摘要,现场排障一眼定性;讨论自 #31);删除 SSH 资源时同步清除该主机的指纹信任记录,不再残留于「已信任主机」列表。
v0.3.19:新增 SSH Agent 转发(资源「高级选项」开关——跳板机上可用本机密钥继续登录更深层的机器,无需把私钥铺到每一跳;本机未运行 ssh-agent 时连接直接报错,不做静默降级);数据库连接新增查询超时覆盖(
db_connect的query_timeout_ms,慢库上的大查询/大导出不再被 35s 默认死线掐死,0为不限);认证阶段设备主动SSH_MSG_DISCONNECT时给出人话化断开原因(原因码 + 设备原文 + 两层排查提示);设置页「服务器分组 / 共享 SSH 凭据」改为滑动分段切换;插件页换上展示图标与双语标题/描述(DSH 0.2.x 插件管理行,品牌蓝终端标记);修复 #29——github:渠道装出来没有lib/导致插件整体加载失败,现由prepare钩子在安装期自动构建。CI 同步加固:测试矩阵加 Windows 腿、npm 渠道产物冒烟作业、tarball 文件清单进断言。
v0.3.18:新增界面语言钉住开关——DSH 运行插件未内置的语言(如俄语)时,可在设置文件设
autoApplySystemLanguage: false+language钉住插件语言,不再被强制回退中文回写;默认跟随行为不变。见「固定界面语言」说明。贡献:@alexeyfadeev(PR #28)。
v0.3.17:修复 0.3.16 的 #27——i18n 重构漏改变量名导致官方侧栏注册抛
ReferenceError、SSH 终端 UI 完全不可见;eslint 现已覆盖客户端 JSX 并新增回归断言。
v0.3.16:新增中英双语界面——始终自动跟随 DSH「设置 → 语言」(含运行中切换,无需刷新),中文为源、英文覆盖,左侧「SSH 资源」标签与终端图标随语言动态变化;设置页新增自更新条(版本徽标、GitHub 链接、检查更新对话框、一键更新与可复制的手工更新命令);lib 构建产物出库(仓库不再提交打包产物);资源表单布局紧凑化;移除损坏的 ~/.ssh/config 导入;已信任主机列表支持直接删除。
v0.3.15:新增双因素认证——防火墙/交换机把
AuthenticationMethods配成password,publickey(或反序)时,可在资源或共享凭据里为密码/私钥再配一条相反类型的第二因素,这类设备此前必然登录失败;SQL 词法扫描加固,修复反斜杠引号方言与 PG dollar 引用两个破坏性语句漏检(Oracleq''交替引号经实测否决并固化为回归探针);会话日志支持多选 + 全选批量删除;移除旧版 DSH 的浮动面板回退,官方右侧边栏成为 SSH 终端的唯一宿主形态。
v0.3.14:新增默认关闭的「AI 自动连接」开关。开启后,Agent 可按名称连接已保存的 SSH 资源,目标终端自动出现在右侧;关闭时,Agent 无法枚举保存资源。修复会话日志空文件读取问题。
v0.3.13:整轮更新——SFTP 目录批量上传/下载(新工具
sftp_upload_dir/sftp_download_dir:小文件并发、大文件独占、单文件失败不中断整批);SSH 认证失败结构化诊断(试过哪些方法、服务器还接受什么、下一步怎么走),并新增 keyboard-interactive 认证(保存的密码应答交互提示/MFA 门禁,设备掐断时自动降级纯密码重试);数据库连接健壮性三件套(TCP keepalive、空闲复用前活性 ping + 透明重连、断连时手工事务有界收尾);修复 MySQL 未知字符集文本列显示为字节对象的问题;上一版的破坏性操作可逆化(rm 回收站、危险 SQL 自动备份、DROP 隔离改名、绕过向量封堵)一并随本版发布。
peerDependencies 声明为无上界区间 >=0.1.5-alpha.1——宿主以 includePrerelease 语义按 DSH 运行时版本评估,覆盖 0.1.5 起的全部宿主版本(含一切预发布),宿主升级无需发版跟进。当前开发环境已验证 0.2.0-rc.2 桌面版。插件使用 DSH 自带的 Node.js 运行时,不要求系统另装 ssh、sftp 或独立 Node.js。sidebarRightTabs 与 sidebarRight,SSH 以官方右侧边栏标签运行,支持宿主分栏、缩放和全屏。缺少这两个 API 的旧版宿主不再有浮动面板回退(已移除):插件宿主半(Agent 的 SSH/SFTP/数据库工具)照常工作,但不会显示终端 UI。autoApplySystemLanguage: false + language,详见「使用」一节)。webServer 与请求来源校验服务时注册;不具备该接口的宿主继续使用既有 SFTP 操作。目录归档下载在所有宿主上均返回 501 archive-unavailable,避免 SFTP chroot 与 SSH shell 命名空间不一致造成越界。主对话直接指挥已连接的服务器,SSH 终端作为官方右侧边栏标签与对话并排显示:

文件页签支持 SFTP 管理,并可用 cd 将交互终端切换到选中的远程目录:



ssh -t 语义的 exec+伪终端)——默认 shell 不兼容的服务器(如 zsh 机器临时用 bash -l)、或想把 tmux attach、进目录后进 shell 一类动作固化为登录会话时使用。命令即整个登录会话:想要正常 profile 加载请写 bash -l 而非裸 bash;须为单行、无控制字符;留空或临时连接按服务器默认 shell。Agent 转发与终端缩放在该路径下与普通终端行为一致。~/.dsh/.credentials.yaml(owner-only 权限);浏览器存储、Agent 上下文、工具结果和资源列表均不会读取或显示秘密内容。connection_id 的工具(ssh_exec、sftp_*、tunnel_*、安全确认卡片)默认作用于它。切到已失效的连接会被拒绝,原有绑定保持不变,不会把 Agent 悬空。ssh_exec 命令会显示在右侧终端,并回传退出码、输出、cwd、耗时、超时和截断状态。Linux 上能唯一确认空闲 POSIX 交互 shell 时继承其实际目录;终端繁忙、候选不唯一或目录不可访问时拒绝执行,未检测到交互 shell 时使用登录初始目录并明确标注。ssh_read 读取;不会静默把人工终端内容塞入对话上下文。sk- 开头的密钥)和数据库连接口令。SSH-2.0- OpenSSH 只多一个空格、SSH-2.1-)不再直接失败:ssh2 一向只认 SSH-2.0-/SSH-1.99- 并抛出信息量极低的 Invalid identification string,现在仅在它因此拒绝之后重试一次,由插件把该行规范化后再交给它握手(对端软件版本原样保留,连接的加密强度不受影响),成功会给出警告;确实不可用的横幅(只支持 SSH-1 的设备、缺少软件版本)则明确报出对端原文与原因,不反复重试。accept-new(默认)/verify(拒绝未知)/off;指纹变化时不重试、不自动重连,提示用「忘记指纹」重置。设置 → SSH 资源可按服务器设置校验模式、管理已信任指纹并一键忘记。校验在用户认证前,与登录账号/密码无关,同一台服务器换人登录不会被挡。sftp_* 工具直接操作。tunnel_* 工具。ssh_cluster(基于已打开连接、无需确认即群发)已彻底移除:多机操作只能经 ssh_batch 由操作者勾选确认,杜绝「点名一台、全量执行」。db_* 工具直接操作。
db_connect 自动 SSH 隧道:连了服务器后,回环地址(127.0.0.1 / localhost / ::1)的数据库自动经当前服务器隧道访问内网库;via_ssh 可选 auto(默认)/yes/no,显式 ssh_connection_id 优先级最高。disabled 不加密 / preferred 加密不验证 / verify 加密+验证 CA)适配云托管数据库。db_query 词法级真只读闸(只放行 SELECT/SHOW/DESCRIBE/EXPLAIN/纯查询 WITH,拦截写动词子查询、PG 数据修改 CTE、SELECT INTO、FOR UPDATE 锁读);查询流式截断默认 200 行 + 30s 超时(可用环境变量 DSH_SSH_OPS_MAX_DB_ROWS 调整,最大 5000;生产环境应按最小必要值配置;MySQL destroy 池连接、PG 用 cursor 分批取);交互式事务工作流 db_tx_begin/execute/commit/rollback(独占连接、变更后验证、闲置 5 分钟自动回滚);db_describe_table 带索引/外键/DDL/行数与容量估计;db_preview 分页采样、db_explain 执行计划。数据库面板含表树、预览视图、一键导出 CSV(含 BOM,Excel 中文兼容)、查询历史(localStorage 50 条)。DB 传输层意外断开不再崩进程(四类客户端统一处理,绝不 throw)。DROP DATABASE/SCHEMA/TABLE、TRUNCATE、SHUTDOWN)自动拦截,按语句动词识别(跳过字符串/注释、支持多语句),不会误杀字符串字面量里的关键字。DSH 自身权限机制仍然有效。本插件额外阻止 Agent 工具执行明显不可逆或破坏性操作,例如删除文件、删库、格式化磁盘、terraform destroy、kubectl delete、docker prune、强制 Git 清理以及重启/关机。黑名单同时覆盖高频绕过变体:find -exec rm、xargs rm、rimraf,以及 python/perl/ruby/php/node 一行流里调用 unlink/rmtree/rmSync 等(源自真实事故:rm 被拦后 Agent 换用其它代码完成删除)。黑名单无法穷尽(任何脚本/管道都可能藏删除),因此下面两层「后果兜底」与它配合,而不是只依赖识别。
删除可逆化(rm → 确认后进远端回收站):Agent 发起的删除依然必须过人手——简单 rm/unlink/rmdir(单条命令、显式字面路径、无管道/重定向/glob/变量展开)照常弹出确认卡片,但点「执行」时执行的是可恢复的移动:目标被 mv 进服务器上的 ~/.dsh-trash/,并在该目录的 manifest.tsv 里记录原绝对路径与时间;24 小时后的过期项会在下一次有新文件进回收站时顺带真删(不在服务器上安装任何定时任务)。也就是说 Agent 发起的删除永远不会真正发生——误删(包括人看错卡片、指错机器)都能从回收站 mv 回来;要彻底删除,由操作者自己在终端执行 rm(人工输入不经过此拦截,边界不变)。ssh_exec 与 sftp_delete 均走此路径,卡片与终端镜像都会注明「执行 = 移入回收站」。复合命令、find -delete、shred 等无法安全改写的删除走原有卡片(执行 = 原命令真跑)。
危险 SQL 可恢复化:db_execute 的高危 SQL(DROP/TRUNCATE/SHUTDOWN,按语句动词识别)依旧绝不执行,但拦截瞬间会自动备份受影响的表——行数据经只读导出通道落盘(SSH 连接的库写到远端 /tmp/dsh-backup-*.csv,直连的库写到 DSH 宿主临时目录),MySQL/SQLite 还会附带建表 DDL(PostgreSQL 暂无 DDL 来源);DROP DATABASE 会逐表备份(上限 20 张,超出明示)。其中 DROP TABLE 进一步转为隔离改名:备份完成后自动 RENAME 为 <表名>_to_be_dropped_<日期>(重名自动加序号),数据原样保留、可随时改回。Agent 永远无法完成真正的删除——隔离表的最终 DROP 只接受面板(人工)发起,Agent 再次发起会被明确拦截。备份/隔离清单会完整出现在工具结果里;备份失败时同样如实标注(隔离改名本身可逆,所以不因备份失败而放弃)。
Agent 命中上述黑名单时不会被静默拒绝:插件会创建一条一次性的待确认记录,并立即在整个视口弹出确认模态(含完整命令、风险原因与「执行 / 撤销」按钮;Esc、点遮罩或「稍后在面板中处理」可暂时收起,全部处理完自动关闭;面板重开时仍未处理的会再次弹出)。未处理项同时常驻在右侧 SSH 面板「终端」窗口上方,卡片默认折叠为单行摘要(命令 + 主机名 + 常驻执行/撤销按钮),最新一条自动展开,点击展开风险说明与完整命令。只有操作者点击红色「执行」才会将命令发送到服务器(自动追加回车);「撤销」清除该记录。危险命令不再预填到终端命令行——输入行始终为空,操作者不可能因误按回车而执行。多条危险命令作为独立卡片排队。若当时没有活跃的终端会话、或命令含 Tab 等无法安全发送到 PTY 的控制字符,则降级为在对话中返回一张可复制的命令卡片,供操作者粘贴到终端执行。普通运维操作(配置 SSL、安装软件包、修改配置、重载服务等)可以正常通过 DSH 的权限流程执行。
同样的模型覆盖 sftp_delete(卡片不变,批准时留回滚副本,见上)和 db_execute 的高危 SQL(备份 + 隔离,见上)。SQL 判断按语句动词识别(跳过字符串/注释、支持多语句、按 ; 切分),不会误杀字符串字面量里的关键字,高频增删改查正常放行。
凭据使用建议:ssh_connect / db_connect 以明文参数接收密码或私钥时,这些参数会进入对话与工具调用记录。生产环境请优先把服务器保存为「SSH 资源」(密码存入宿主加密凭据库,面板与 Agent 只见引用),或使用密钥文件的 passphrase 方式,避免在对话中直接传递密钥。
dsh plugin --profile web add github:caoyiwei850/dsh-ssh-ops#v0.3.22
git 渠道装的是源码,安装期由 prepare 钩子自动执行 npm run build 生成入口 lib/,无需手动构建。注意:pnpm ≥ 10 默认拦截依赖包的构建脚本——若重启后 SSH 标签未出现,按 INSTALL.md 第 3 步检查 node_modules/dsh-ssh-ops/lib/:缺失说明构建被拦,进入该包目录执行 npm install && npm run build(或在该 profile 的 pnpm 配置 onlyBuiltDependencies 中放行 dsh-ssh-ops)后重启即可。
安装后重启 DSH Web:
dsh web
然后打开任意会话,点击顶部的 SSH 标签,使用右侧面板连接服务器。
从 GitHub Releases 下载 dsh-ssh-ops-0.3.22.tgz 后:
dsh plugin --profile web add /path/to/dsh-ssh-ops-0.3.22.tgz
dsh web
dsh-ssh-ops-0.3.22.zip 适用于离线审阅或二次开发;解压后在目录中执行 npm install(构建自动完成)。
.key 文件可直接导入。+ 可选择已保存资源,或创建不落盘的临时连接。db_connect(或自己在「数据库」页签新建连接),随后即可在对话中查询/执行。固定界面语言。 可以通过插件设置文件(~/.dsh/storages/ssh_ops_settings.json)关闭自动跟随行为。该功能适用于系统使用插件未内置的第三方语言(如俄语)的场景——若不固定,此类语言会被强制回退为默认中文,且插件会在每次加载时把该值回写进配置文件。改为固定使用指定语言即可:
{
"unit": { "name": "ssh_ops_settings", "version": 1 },
"global": null,
"tables": {
"settings": {
"main": {
"language": "en",
"autoApplySystemLanguage": false
}
}
}
}
autoApplySystemLanguage:true(默认值;字段缺失时与 true 相同)表示跟随 DSH 自身语言并在每次加载时回写,行为与之前完全一致。false 表示固定使用存储的 language 值:既不跟随宿主语言,也不回写,文件保持你手动编辑的状态。升级后首次加载时,插件会把默认值 true 写入配置文件,以便看到该开关。language:"zh" 或 "en",当 autoApplySystemLanguage 为 false 时作为固定语言使用;自动跟随开启时忽略该字段。共 34 个 Agent 工具,省略 connection_id / db_connection_id 时默认作用于当前活动连接,无需先调 ssh_list / db_list_connections。
| 工具 | 用途 |
|---|---|
ssh_list | 查看当前活动连接的安全元数据与秘密无关信息;开启「AI 自动连接」后同时列出已保存服务器(不含凭据),仅在需要枚举时用 |
ssh_connect | 建立 SSH 连接(密码或私钥)并设为当前服务器 |
ssh_connect_profile | 按名称连接已保存的 SSH 资源并设为当前服务器(右侧面板同步打开终端);仅在操作者开启「AI 自动连接」后可用,未开启时明确报错提示转人工 |
ssh_exec | 在当前服务器执行 Agent 命令(继承交互 shell 当前目录),回传退出码/输出/cwd/耗时/超时/截断/脱敏状态 |
ssh_read | 按需读取右侧终端缓冲输出(不静默塞入对话) |
ssh_write | 向指定终端写入交互输入;press_enter(默认 true)自动补回车提交(可传 connection_id 指定目标服务器的终端) |
ssh_disconnect | 断开当前连接及其 shell 会话 |
| 工具 | 用途 |
|---|---|
ssh_terminal_sessions | 列出已打开终端的低敏元数据与读取游标,不返回终端内容或凭据 |
ssh_terminal_context | 经每次用户确认后,按游标读取指定手动终端的有限、脱敏历史;不会影响右侧终端回看 |
| 工具 | 用途 |
|---|---|
sftp_list | 列出远程目录条目(含大小/mtime/权限) |
sftp_read | 读取远程文件内容(默认上限 4 MiB) |
sftp_write | 写入远程文件(创建或覆盖) |
sftp_mkdir | 新建远程目录 |
sftp_delete | 删除远程文件或空目录(不直接执行,改为把 rm -rf <路径> 加入待确认队列或返回可复制卡片) |
sftp_rename | 重命名/移动远程路径 |
sftp_upload_dir | 上传本地目录树到远程(自动建目录结构;小文件并发、大文件独占;单文件失败逐条上报不中断整批) |
sftp_download_dir | 下载远程目录树到本地(同上调度策略) |
| 工具 | 用途 |
|---|---|
tunnel_start | 建立本地转发(local,本机 → 服务器可达目标)或远程转发(remote,服务器 → 本机) |
tunnel_list | 列出活动隧道 |
tunnel_stop | 按 tunnel_id 停止隧道 |
| 工具 | 用途 |
|---|---|
ssh_batch | 基于 SSH 资源中已保存服务器(含未连接的)创建批量执行任务,由操作者在面板勾选确认后并发下发,结果按服务器分节;仅当用户明确要求多机批量时使用(旧的 ssh_cluster 已彻底移除,多机操作无免确认路径) |
| 工具 | 用途 |
|---|---|
db_connect | 连接 MySQL / PostgreSQL / Redis / MongoDB;回环地址自动经当前 SSH 服务器隧道,SSL 三档可选 |
db_list_connections | 列出已打开的数据库连接(仅用户询问时用) |
db_query | 在 MySQL/PostgreSQL 上跑词法级强制只读查询(仅放行 SELECT/SHOW/DESCRIBE/EXPLAIN/纯查询 WITH;拒绝写动词、SELECT INTO、FOR UPDATE 锁读、数据修改 CTE);结果默认流式截断 200 行,30s 超时;DSH_SSH_OPS_MAX_DB_ROWS 可调整为最多 5000 行;支持 ? / $1 占位符 |
db_execute | 执行写语句(INSERT/UPDATE/DELETE/CREATE/ALTER);高危 SQL(DROP/TRUNCATE/SHUTDOWN)不执行,返回可复制卡片 |
db_list_tables | 列出 MySQL/PostgreSQL 当前 schema 的表 |
db_describe_table | 完整表结构:列、索引、外键、行数/容量估计、MySQL 附 SHOW CREATE TABLE DDL |
db_preview | 按表名分页采样数据(LIMIT/OFFSET 参数绑定,标识符白名单防注入),附全表行数估计,无需手写 SQL |
db_explain | 查看查询执行计划(EXPLAIN FORMAT=JSON),检查索引使用 |
db_tx_begin / db_tx_execute / db_tx_commit / db_tx_rollback | 交互式事务工作流:开事务 → 执行变更 → SELECT 验证 → 提交/回滚(独占连接,闲置 5 分钟自动回滚) |
db_run | 在 Redis 上跑命令(command+args),或在 MongoDB 上跑 find/findOne/insertOne/updateOne/deleteOne/countDocuments |
db_disconnect | 关闭数据库连接 |
db_query用于 SQL 只读查询,db_execute用于 SQL 写操作,db_run用于 Redis/MongoDB。MySQL 用?占位符、PostgreSQL 用$1占位符。
npm install
npm test # db-lazy-load 会在缺少 lib/ 时自动先构建宿主包
npm run build # 生成 lib/(宿主三件 + 客户端 bundle);lib 是构建产物,不入库
npm run pack:release
lib/ 目录由 npm run build 生成并列入 .gitignore(PR diff 因此不再被构建产物淹没)。git 渠道(github:)安装依赖 prepare 钩子在安装期自动构建出 lib/(pnpm ≥ 10 拦截构建脚本时需放行或手动构建,见「安装」一节);npm 与 tgz 渠道的包内自带产物。仓库内 npm install 也会顺带构建一次。
推送与 package.json.version 一致的 vX.Y.Z tag 时,GitHub Actions 会测试、构建并从同一个 .tgz 同时发布 npm 包和 GitHub Release。首次启用前,在仓库 Secrets 配置 NPM_TOKEN。发版改完版本号后先执行 npm run bump:readme,把 README/README.en 中的徽章、安装命令与发布链接一并同步到新版本。
生成物位于 release/:
dsh-ssh-ops-0.3.22.tgz:可直接被 DSH 安装。dsh-ssh-ops-0.3.22.zip:完整离线源码包。
![]() alexeyfadeev 双语引擎 💻 · 英文翻译 🌍 · 方案 💡 |
双语界面的模式引擎与其英文译词典底稿出自 alexeyfadeev 的 PR #26(经词典反转与宿主适配后随 v0.3.16 发布);自更新条适配自 @michengai/dsh-archive-manager(Apache-2.0)。
FAQs
SSH ops and database tools for DSH Web UI: connect to remote servers via SSH terminal/SFTP/tunnels, and connect to MySQL/PostgreSQL/Redis/MongoDB databases. Host half manages sessions with ssh2; client half renders the terminal and database panel.
The npm package dsh-ssh-ops receives a total of 0 weekly downloads. As such, dsh-ssh-ops popularity was classified as not popular.
We found that dsh-ssh-ops 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.