目录

远程文件浏览工具(ssh_browser)

模训交付作品(大三下):浏览器端的 SSH/SFTP 远程文件工作台,Node.js Web 应用。 定位为可扩展的团队工具底座:按模块化契约开发,欢迎同学在此基础上继续添加新模块。

任务背景

课程模训按甲方需求交付:经 SSH/SFTP 连接远程文件服务器(winserver),会话式组织待处理文件列表并 实时落盘;按预设字节区间 [a, b] 读取文件片段,以大/小端序 × 多编码(raw/ascii/utf8/ansi)解码为 实时更新的表格,导出带时间戳的 CSV。

内容结构

路径 说明
server.js 服务端:静态资源、SSH/SFTP 客户端、Socket.IO 事件契约
modules/ 三个前端模块(A 文件面板 / B 会话列表 / C 处理表格)与共享 codecs.js、contracts.md
mock-ssh-server.js 本机 2222 端口 SSH/SFTP 模拟服务,根目录为 remote_data/
generate-mock-data.js 测试数据生成(10 文件夹 × 20 文件)
docs/ 用户手册(《远程文本处理工具_用户手册.md》)
README-HANDOFF.md 交接指南:启动步骤、模块分工、集成阶段说明
win7/ Win7 分发版构建脚本(build.js)与旧版启动器 bat
data/ssh-setting.json 连接配置(已移除真实内网主机,仅保留 127.0.0.1 模拟服务条目)

运行方法

依赖 Node.js ≥ 18(Express、Socket.IO、ssh2,见 package.json)。

npm install
npm run gen-data      # 生成测试数据
npm run mock-ssh      # 终端 A:本机 SSH 模拟服务(端口 2222)
npm start             # 终端 B:Web 服务(http://localhost:3000)

连接真机时无需 mock 服务,在页面连接面板填 IP/端口/账号即可。

如何在此基础上添加模块

本工具按「模块 + 契约」组织,适合多人并行开发新功能:

  1. 在 modules/ 下新建模块目录,参照现有模块的 TASK.md 写清职责;
  2. 服务端与前端之间的数据与事件契约集中在 modules/_shared/contracts.md,新增事件先补契约;
  3. 编解码等纯逻辑放在共享模块(如 codecs.js),避免在模块间复制代码;
  4. README-HANDOFF.md 记录了当年的模块分工与集成阶段,可作为协作模板。

来源声明

  • 模训团队自研:服务端底座与三个前端模块按 modules/*/TASK.md 分工开发。
  • 演示视频、打包 exe 与内嵌 Node 运行时等大文件未入库,可由源码构建(win7/build.js)。
关于

浏览器端 SSH/SFTP 远程文件工作台:会话式文件组织、字节区间多编码解码、CSV 导出,模块化可扩展

208.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号