diff --git a/.github/workflows/daily-tracker-sync.yml b/.github/workflows/daily-tracker-sync.yml index d7657ac..930549d 100644 --- a/.github/workflows/daily-tracker-sync.yml +++ b/.github/workflows/daily-tracker-sync.yml @@ -9,12 +9,15 @@ jobs: update-list: runs-on: ubuntu-22.04 # 你的 act_runner 标签 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 + with: + fetch-depth: 0 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: '18' + cache: 'npm' - name: Run sync script run: node sync-trackers.js @@ -24,5 +27,7 @@ jobs: git config --local user.email "action@gitea.com" git config --local user.name "Gitea Action" git add list/ - git commit -m "Update tracker list: $(date +%Y-%m-%d)" || exit 0 - git push origin main + git diff --quiet || ( + git commit -m "Update tracker list: $(date +%Y-%m-%d)" && + git push origin main + ) diff --git a/README.md b/README.md index 4219f8e..ae1fa09 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,41 @@ # Tracker-api +## 📌 项目简介 + +这是一个用于定期同步 Tracker 列表的简单脚本仓库。脚本会从 `https://trackerslist.com` 下载当前可用的 tracker 列表,去重并保存为按日期命名的文本文件,便于后续再处理或分发。 + +## 🧩 目录结构 + +- `sync-trackers.js` – 主同步脚本 +- `list/` – 同步结果目录(按 `YYYY-MM-DD.txt` 存放) +- `.github/workflows/daily-tracker-sync.yml` – GitHub Actions 定时/手动运行配置 + +## 🚀 运行方式 + +### 本地运行 + +1. 安装 Node.js(推荐 v18+)。 +2. 运行: + +```bash +node sync-trackers.js +``` + +文件将会写入 `list/.txt`,若已存在则会直接跳过。 + +## 🕒 自动化(GitHub Actions) + +仓库里已包含 GitHub Actions workflow: + +- 每天 UTC 00:00 触发一次 +- 支持手动点击“Run workflow”运行 +- 运行完成后会自动 `git add list/` 并提交推送(若有变更) + +## ✅ 自定义/扩展 + +- 修改 `sync-trackers.js` 中的 `urls` 数组可添加/修改要同步的 tracker 列表源。 +- 若希望存储为其他格式(JSON/CSV),可在写文件处调整输出逻辑。 + +--- + +如果你希望把结果同步到其他地方(例如 S3、数据库、或发送通知),可以在 workflow 中新增步骤或把脚本改成支持更多输出。