Files
gitea-downloader/README.md
2025-07-27 20:25:54 +08:00

113 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Gitea 交互式下载器
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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) 许可证。