Files
n2/README.md
2026-02-05 18:07:32 +08:00

2.0 KiB
Raw Blame History

N2 Auto Update Program

简介

这是一个自动更新程序,用于保持 Gitea 仓库中的 n2.json 文件与上游源同步。程序会自动处理下载、格式化、字段强制覆盖以及通知发送。

功能特性

  1. 自动同步: 每日定时05:30从指定 URL 下载最新的 JSON 文件。
  2. 智能比对: 仅在内容发生实质变化时才触发更新。
  3. 字段强制:
    • 强制设置 logo 字段为 ./bj/fyj.gif,且更新时不会被覆盖。
    • 保留或插入 lf_js_search (大鹏私人影库) 字段,并始终置顶。
  4. 自动验证: 每次运行都会自动从 Gitea 拉取最新文件进行验证,确保关键字段正确。
  5. Telegram 通知:
    • 仅在发生更新或验证失败时发送通知。
    • 通知包含更新内容详情及验证结果。
    • 支持长消息分片发送。
  6. 安全可靠:
    • 使用 Git SHA 校验防止并发冲突。
    • 文件锁机制防止程序重复运行。
    • Gitea 提交使用服务器自动时间戳,避免时间穿越问题。

部署信息

  • 程序路径: /root/n2-auto-update/
  • 配置文件: /root/n2-auto-update/config.yaml
  • 服务名称: n2-update.service
  • 定时任务: n2-update.timer

运行日志

日志文件位于 /root/n2-auto-update/logs/n2_update.log,会自动轮转。

更新记录

2026-02-05

  • 优化: 调整通知策略,仅在文件更新或验证失败时发送 Telegram 通知,避免每日无效打扰。
  • 修复: 修正 Gitea 提交时间显示为 "26 years ago" 的问题 (移除显式时间戳,使用服务器时间)。
  • 增强: 添加 verify_and_notify 模块,每次运行自动验证 logolf_js_search 字段。
  • 功能: 强制 logo 字段值为 ./bj/fyj.gif,并确保 lf_js_search 字段不被修改且置顶。

2026-02-04

  • 初始部署: 完成基础框架搭建包括下载、Diff 比对、Gitea 上传及 Systemd 定时任务配置。