// Umami跳至内容
liuzhen932 的小窝
返回

又一次被 Github Banned,这次我不写申诉了

去年十月我写过一篇《记一次被 Github Banned 的经历》。那次账号被封,我老老实实填了申诉表单,等了几个月,账号也没有恢复。

一年之后,同一件事又发生了一遍。这次的结论比上次清楚:我不打算再写申诉了——纯是和阿三客服浪费时间

0x00 这次的时间点

2026 年 10 月 13 日凌晨 01:15:40(UTC+8)前后十分钟内,账号被标记。

我的实例在 01:10 左右一次 git push 还正常返回了 Everything up-to-date,到了 01:2x,同一个 remote 开始报 403。

被封之后的状态和上次一样:个人主页 404,仓库页面 404,没有任何「账号已暂停」的横幅,也没有邮件通知我封禁理由。一个在平台上活跃了一年、提交过上千次 commit 的账号,从外部看起来就像从来没存在过。

0x01 我是怎么撞上这件事的

我有数个 Git 实例,他们都从 Github 我的公开仓库同步数据。第一次报错我以为是 token 过期,重新生成一个,还是 403。换成 SSH,报 Permission denied。这时候我才打开浏览器,然后看到了那个熟悉的 404。

上一次我是在登录第三方服务的时候被弹回主页才发现的,这次是在自己的构建流程里撞上的。两次都没有收到任何解释。

0x02 这次丢了什么

比上次少,但也不少。

唯一让我稍微安心的是,去年那次之后我给自己定了条规矩:任何一个仓库都不能只在一个地方有副本。所以这次丢的只是平台上的元数据,代码本身还在。这条规矩是这一年里我做的最值的一件事

0x03 为什么这次不申诉了

申诉通道的设计目的,是让用户有机会说明情况。实际使用起来的感受,更像是填写一张「请证明你还想留在我们平台上」的表格:回答几个问题,提交,然后等。

等的过程里你不知道走到哪一步了,不知道封禁触发了哪条规则,恢复之后也依然不知道为什么被封过。你唯一能做的是猜,然后改掉你认为可能是原因的东西。

更让人不想继续的地方在于成本结构。我是免费用户,仓库都是公开的,删掉我对平台没有任何损失,申诉对我的意义却是不拿回代码就丢掉几年的痕迹。这种不对等不是我一个人能改变的,我也没兴趣再花几个星期去验证一次。

去年我写「Microsoft 收购的产品没有一个是活得更好的」,这一年里 GitHub 没有让我改口。

0x04 搬去哪里

去年的迁移是临时找地方塞,这次的路线清楚多了。

自建 Forgejo 一台小机器跑 Docker 版 Forgejo,在我家的实例(从 Gogs 升级 Gitea 再到 Forgejo)已经稳定运行六年了,所以我根本不担心

公开项目撇了 Codeberg 由非营利组织 Codeberg e.V. 运营,底层同样是 Forgejo,但是只接受 FOSS Project。我不开发大量 FOSS Project,况且它运行在洋垃圾上,似乎没有我用的 9950x 好一些。

静态页面放 S3 这个博客、还有我的主页,我现在都丢到 S3 了,省钱小妙招。

迁移过程中唯一让人意外的地方是顺利。仓库、issue、release 都能导,不过有限额拦截(操你妈 Github),也没有任何挽留流程。一个平台在赶人走的时候,效率通常是最高的。

0x05 所以,尽快远离 GitHub

我不想把这篇写成产品推荐,所以下面只讲我实际在做的几件事,都不复杂。

  1. 代码同时放两个地方。 主仓库在自建 Forgejo,GitHub 想留就留一份,只当分发渠道,不当唯一副本
  2. CI 尽量能在本地跑。 部署脚本写成普通的 shell 和 Makefile,放在 Forgejo Actions 或者 GitHub Actions 里只是换个入口。这样哪天平台没了,你在自己电脑上照样能构建
  3. 少用 GitHub OAuth 登录别的东西。 每多绑定一个服务,就多一条被封时跟着一起断的链。能用邮箱和 passkey 的就别用第三方
  4. 定期做一次脱离平台的备份。 git bundle 出一份完整仓库,连同 issue 导出丢到别的地方。听着很土,但它是我这次唯一没丢东西的原因
  5. 包管理也一样。 npm、crates、容器镜像,能自建 registry 就别只依赖公共平台。Forgejo 自带 package registry 够用了

自托管不是免费的。你得买机器、配证书、盯监控、处理磁盘满了、半夜爬起来看为什么服务挂了。

这些活是可预期的成本,平台的封禁不是。前者花的是时间,后者花的是你几年积累的东西,而且不给你理由。

去年那篇文章的结尾我写的是「(未完待续,欢迎留言)」。这次不用等后续了,后续已经在 0x03 里写完了。

如果你现在还在把 GitHub 当作代码的唯一住处,不用今天就搬完,但今晚可以先把仓库镜像一份到别处。两条 git push 的事,比写申诉小作文便宜多了。

So Github & Microsoft, fuck you!


分享这篇文章:

下一篇
在 PCem 上为 Debian 3.1 配置网络

人机验证:请刷新页面以加载评论区