初始提交:远程文件浏览工具(模训交付 ssh_browser,模块化团队工具底座)
模训交付作品(大三下):浏览器端的 SSH/SFTP 远程文件工作台,Node.js Web 应用。 定位为可扩展的团队工具底座:按模块化契约开发,欢迎同学在此基础上继续添加新模块。
课程模训按甲方需求交付:经 SSH/SFTP 连接远程文件服务器(winserver),会话式组织待处理文件列表并 实时落盘;按预设字节区间 [a, b] 读取文件片段,以大/小端序 × 多编码(raw/ascii/utf8/ansi)解码为 实时更新的表格,导出带时间戳的 CSV。
server.js
modules/
codecs.js
contracts.md
mock-ssh-server.js
remote_data/
generate-mock-data.js
docs/
README-HANDOFF.md
win7/
build.js
data/ssh-setting.json
依赖 Node.js ≥ 18(Express、Socket.IO、ssh2,见 package.json)。
package.json
npm install npm run gen-data # 生成测试数据 npm run mock-ssh # 终端 A:本机 SSH 模拟服务(端口 2222) npm start # 终端 B:Web 服务(http://localhost:3000)
连接真机时无需 mock 服务,在页面连接面板填 IP/端口/账号即可。
本工具按「模块 + 契约」组织,适合多人并行开发新功能:
TASK.md
modules/_shared/contracts.md
modules/*/TASK.md
浏览器端 SSH/SFTP 远程文件工作台:会话式文件组织、字节区间多编码解码、CSV 导出,模块化可扩展
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
远程文件浏览工具(ssh_browser)
任务背景
课程模训按甲方需求交付:经 SSH/SFTP 连接远程文件服务器(winserver),会话式组织待处理文件列表并 实时落盘;按预设字节区间 [a, b] 读取文件片段,以大/小端序 × 多编码(raw/ascii/utf8/ansi)解码为 实时更新的表格,导出带时间戳的 CSV。
内容结构
server.jsmodules/codecs.js、contracts.mdmock-ssh-server.jsremote_data/generate-mock-data.jsdocs/README-HANDOFF.mdwin7/build.js)与旧版启动器 batdata/ssh-setting.json运行方法
依赖 Node.js ≥ 18(Express、Socket.IO、ssh2,见
package.json)。连接真机时无需 mock 服务,在页面连接面板填 IP/端口/账号即可。
如何在此基础上添加模块
本工具按「模块 + 契约」组织,适合多人并行开发新功能:
modules/下新建模块目录,参照现有模块的TASK.md写清职责;modules/_shared/contracts.md,新增事件先补契约;codecs.js),避免在模块间复制代码;README-HANDOFF.md记录了当年的模块分工与集成阶段,可作为协作模板。来源声明
modules/*/TASK.md分工开发。