芋尼克斯 (@ubunny) 在 Gitea 镜像仓库备份服务 - 防 DMCA/删库/Force Push 的方案 中发帖
背景
最近微信聊天记录相关的 GitHub 仓库全部下架了,大家应该都有印象。
我之前在本地 Gitea 上配置了镜像仓库,本以为可以高枕无忧。结果这次不是简单的 404 删库,而是上游直接 git push --force 推了个空仓库上来,我的镜像仓库被同步清空了… 😭
传统的备份方案只能防 DMCA 删库(404 就拉取不到了),但防不了这种 force push 覆盖的情况。
于是我花了些时间,写了这个备份服务,专门解决这个痛点。
主要功能
仓库异常检测(最重要的功能)
这个是核心,做了两种检测:
提交数监控:比如昨天还有 1000 个 commit,今天突然变成 0 了,或者少了 10% 以上(配置可改),就会触发告警
仓库大小监控:作为辅助判断,有时候 force push 会导致仓库体积骤减
检测到异常后,会自动把异常前的那个快照标记为受保护状态,这样就不会被自...