add the readme.md file
This commit is contained in:
112
README.md
Normal file
112
README.md
Normal file
@ -0,0 +1,112 @@
|
||||
# Gitea 交互式下载器
|
||||
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
|
||||
一个功能强大且用户友好的命令行工具,用于通过交互式菜单浏览和下载私有 Gitea 仓库中的文件。
|
||||
|
||||
## ✨ 功能特性
|
||||
|
||||
- **🚀 一键安装**: 只需一行命令即可完成下载和安装,无需手动配置。
|
||||
- **🤖 交互式操作**: 通过 `fzf` 驱动的 TUI 菜单,轻松浏览和选择仓库及文件。
|
||||
- **📂 多文件选择**: 使用 `Tab` 键即可选中多个文件,进行批量下载。
|
||||
- **⚙️ 智能配置**: 首次运行自动引导配置 Gitea 地址和访问令牌,并安全地保存在 `~/.gitea_cli_config`。
|
||||
- **🛡️ `sudo` 感知**: 无论您是普通用户还是通过 `sudo` 运行,脚本都能自动找到正确的配置文件。
|
||||
- **📦 依赖自检**: 在 Debian/Ubuntu 系统上,能自动检测并提示安装 `jq` 和 `fzf` 等必要依赖。
|
||||
- **🌍 全局命令**: 安装后即可在系统任何路径下使用 `gitea` 命令。
|
||||
|
||||
## 🔧 环境依赖
|
||||
|
||||
- **核心依赖**: `curl` (安装脚本需要,主程序也需要)
|
||||
- **功能依赖**: `jq` (用于解析 JSON), `fzf` (用于生成交互式菜单)
|
||||
- **支持系统**: 主要为 Linux (在 Debian/Ubuntu 上支持依赖自动安装)。在 macOS 或其他 Linux 发行版上,您可能需要手动安装 `jq` 和 `fzf`。
|
||||
|
||||
## 🚀 安装
|
||||
|
||||
您只需要在终端中运行以下一行命令,即可完成所有安装和配置:
|
||||
|
||||
```bash
|
||||
curl -sL https://git.zyj.best/theshy/gitea-downloader/raw/branch/main/install.sh | bash
|
||||
```
|
||||
|
||||
此命令会:
|
||||
|
||||
1. 下载最新的 `install.sh` 安装脚本。
|
||||
2. 通过管道 `|` 交给 `bash` 直接执行。
|
||||
3. 安装脚本会自动下载主程序 `gitea.sh`,将其重命名为 `gitea` 并移动到 `/usr/local/bin` 目录下,使其成为一个全局命令。
|
||||
|
||||
## 💡 如何使用
|
||||
|
||||
安装完成后,即可开始使用。
|
||||
|
||||
1. **启动工具**
|
||||
在终端中输入以下命令:
|
||||
|
||||
```bash
|
||||
gitea down
|
||||
```
|
||||
|
||||
2. **首次配置**
|
||||
如果是第一次运行,脚本会提示您输入:
|
||||
|
||||
- 您的 Gitea 实例 URL (例如 `https://git.example.com`)
|
||||
- 您的 Gitea Access Token (访问令牌)
|
||||
|
||||
> **注意**: Access Token 需要至少拥有 `read:repository` 和 `read:user` 的权限。请在 Gitea 网站的 `设置 -> 应用` 页面生成。
|
||||
|
||||
3. **交互式选择**
|
||||
- **选择仓库**: 脚本会列出您的所有仓库,使用 `↑` `↓` 方向键导航,按 `Enter` 确认。
|
||||
- **选择文件**: 接着会列出所选仓库中的所有文件。
|
||||
- 使用 `↑` `↓` 导航。
|
||||
- 使用 `Tab` 键选中或取消选中一个文件(选中的会高亮)。
|
||||
- 按 `Enter` 键确认选择,开始下载。
|
||||
|
||||
## 🛠️ 工作原理
|
||||
|
||||
本项目包含两个核心脚本:
|
||||
|
||||
1. `install.sh`: 一键安装脚本,负责将主程序部署到系统中。
|
||||
2. `gitea.sh`: 主程序,负责与 Gitea API 交互、提供 TUI 菜单并执行下载任务。
|
||||
|
||||
所有用户配置(URL 和 Token)都存储在用户家目录下的 `~/.gitea_cli_config` 文件中,并设置了仅当前用户可读写的权限 (`600`) 以确保安全。
|
||||
|
||||
## 🔄 更新
|
||||
|
||||
如果您想更新到最新版本的 `gitea` 工具,只需**重新运行一遍安装命令**即可。安装脚本会提示您是否覆盖现有版本。
|
||||
|
||||
```bash
|
||||
curl -sL https://git.zyj.best/theshy/gitea-downloader/raw/branch/main/install.sh | bash
|
||||
```
|
||||
|
||||
## 🗑️ 卸载
|
||||
|
||||
如果您想从系统中移除此工具,请执行以下两个步骤:
|
||||
|
||||
1. **删除主程序文件**:
|
||||
|
||||
```bash
|
||||
sudo rm /usr/local/bin/gitea
|
||||
```
|
||||
|
||||
2. **删除配置文件** (此操作会移除您保存的 URL 和 Token):
|
||||
```bash
|
||||
rm ~/.gitea_cli_config
|
||||
```
|
||||
|
||||
## ❓ 常见问题排查
|
||||
|
||||
- **问题: 运行 `gitea down` 后提示 "无法获取仓库列表" 或 "用户不存在"**
|
||||
|
||||
- **原因**: 这几乎总是因为 Access Token 无效或权限不足。
|
||||
- **解决方案**:
|
||||
1. 请重新生成一个 Token,确保至少勾选了 `repository` 和 `user` 权限。
|
||||
2. 运行 `gitea down`,在提示 `是否使用此配置?` 时输入 `reset`,然后输入您的新 Token。
|
||||
|
||||
- **问题: 安装后运行 `gitea` 提示 "command not found"**
|
||||
- **原因**: 您的 Shell 可能还没有加载新的命令路径。
|
||||
- **解决方案**:
|
||||
1. 尝试关闭当前终端,然后打开一个新的终端窗口。
|
||||
2. 如果问题依旧,请检查 `/usr/local/bin` 是否在您的 `$PATH` 环境变量中 (`echo $PATH`)。
|
||||
|
||||
## 📄 许可证
|
||||
|
||||
本项目采用 [MIT](https://opensource.org/licenses/MIT) 许可证。
|
||||
Reference in New Issue
Block a user