7z-encrypt-tui 终端界面

7z-encrypt 文件安全传输系统的终端界面。Python TUI (input() REPL)——原生支持中文输入法, 不需要图形环境, SSH 也能用。

主菜单
  1. 上传文件      (7z 压缩 → 加密 → 分卷 → 上传)
  2. 任务续传      (断点续传: 只补传缺失卷)
  3. 配置          (服务器地址 / token)
  4. 文件列表      (ls + 空间配额)
  5. 下载文件      (逐卷下载 → 本地解密 → 解压还原)
  6. 删除文件      (先 ls 再选 file_id)
  7. 密钥导出      (红色风险警告 + 二次确认, 导出权限 600)
  8. 密钥导入      (红色风险警告 + 二次确认, 自动备份 keyring.json.bak)
  9. 注册账号      (用户名+密码, 成功即登录)
  10. 登录         (token 自动保存)
  11. 注销         (token 失效)
  12. 重新生成密钥  (红色警告 + 二次确认, 旧密文永久不可解)
  q. 退出

使用

python3 scripts/tui.py
  • 服务器地址自动补 http:// 前缀, 默认从客户端 config.json 读
  • 路径输入自动剥引号 (复制路径常带 ' 或 ")
  • 上传成功自动清理临时产物, 失败保留可续传
  • 所有耗时操作有 tqdm 进度条 (上传卷条 / 下载双层条 / 加密 / 解密)

依赖

  • 客户端项目: /home/lou/文档/7z-encrypt (7 模块 + .venv)
  • tqdm

架构

tui.py
  ├─ run()            子进程调 7z-encrypt CLI (cwd=客户端目录, 实时透传输出)
  ├─ upload()         1/3 7z压缩 → 2/3 加密分卷 → 3/3 上传 → 清理
  ├─ download()       逐卷下载 + --decrypt 本地解密解压
  ├─ files_list()     ls + 配额
  ├─ delete_file()    ls 展示 → 输 file_id 删除
  └─ config()         服务器/token 配置 (调 config.py)

协议

MIT License, Copyright (c) 2026 edgevoid

S
Description
Python 终端界面
Readme MIT 369 KiB
v1.3.0 Latest
2026-08-10 22:25:20 +08:00
Languages
Python 67.6%
Vue 21.5%
TypeScript 10.9%