From 70f70c67ab3fe014edf17137c83d4733314d2329 Mon Sep 17 00:00:00 2001 From: Hsdi Date: Mon, 16 Mar 2026 01:55:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20GitHub=20Actions=20?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=EF=BC=8C=E5=8D=87=E7=BA=A7=20checko?= =?UTF-8?q?ut=20=E7=89=88=E6=9C=AC=E5=B9=B6=E4=BC=98=E5=8C=96=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E9=80=BB=E8=BE=91=EF=BC=9B=E5=AE=8C=E5=96=84=20README?= =?UTF-8?q?=20=E6=96=87=E6=A1=A3=EF=BC=8C=E5=A2=9E=E5=8A=A0=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=AE=80=E4=BB=8B=E3=80=81=E7=9B=AE=E5=BD=95=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E5=8F=8A=E8=BF=90=E8=A1=8C=E6=96=B9=E5=BC=8F=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/daily-tracker-sync.yml | 11 +++++-- README.md | 39 ++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 3 deletions(-) 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 中新增步骤或把脚本改成支持更多输出。