diff --git a/README.md b/README.md index ba70117..80b80e1 100644 --- a/README.md +++ b/README.md @@ -1,56 +1,46 @@ -# 7z-encrypt-tui 终端界面 +# 7z-encrypt-tui -7z-encrypt 文件安全传输系统的终端界面。**Python TUI** (input() REPL)——原生支持中文输入法, 不需要图形环境, SSH 也能用。 +> 7z-encrypt 终端界面 | Python TUI | 全功能中文菜单 + +**发行版下载:** Gitee [Releases v1.3.0](https://gitee.com/edgevoid/7z-encrypt-tui/releases) · Gitea [Releases v1.3.0](http://8.136.202.225:3000/edgevoid/7z-encrypt-tui/releases) + +[7z-encrypt](https://gitee.com/edgevoid/7z-encrypt) 的终端交互界面(随客户端 deb 一起安装, 或独立运行)。 + +## 功能菜单 ``` -主菜单 - 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. 退出 + 1. 上传文件 8. 密钥导入 15. 目录管理 (创建/列表/删除) + 2. 任务续传 9. 注册账号 16. 移动文件到目录 + 3. 配置 10. 登录 17. 克隆文件 + 4. 文件列表 (ls) 11. 注销 q. 退出 + 5. 下载文件 12. 重新生成密钥 + 6. 删除文件 13. 一键备份 (相册/文档/下载) + 7. 密钥导出 14. 恢复备份 ``` -## 使用 +- 上传: 32MB 统一切卷 → 逐卷 7z/加密 → aria2 上传, 可选目标目录(按名自动查/建) +- 下载: aria2 并发拉卷 → 逐卷解密/解压 → 拼接还原 +- 备份: 整个文件夹打包一个文件(tar → 卷压缩 → 加密 → 上传), 恢复一键解包 +- 登录门禁: 未登录时无文件操作项, 强行输入报错 + +## 安装 ```bash -python3 scripts/tui.py # 源码运行 -bin/sz-tui # 或 Nuitka 编译版 (原生二进制) +# 随客户端 deb 安装 (推荐) +sudo dpkg -i 7z-encrypt-client_1.0.0_all.deb +sz-tui + +# 独立运行 (源码) +python3 scripts/tui.py + +# Nuitka 编译版 (免 Python) +sudo dpkg -i 7z-encrypt-client-bin_1.0.0_amd64.deb +sz-tui ``` -- **登录门禁**: 启动先验证登录, 不登录不能进行文件操作 (只有登录/注册/配置) -- **未登录时文件操作灰掉**: 主菜单动态切换, 未登录界面无文件操作项, 强行输入报错 - (每次循环重新验证 token, 注销/失效立即回登录界面) -- 服务器地址自动补 `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 +| 变量 | 说明 | +|---|---| +| SZ_CONFIG | 配置文件路径 (默认 ~/.config/7z-encrypt/config.json) | +| SZ_CLIENT_DIR | 客户端源码目录 (deb 安装版自动指向 /usr/share/7z-encrypt) |