分享下我 Github 被封的经历

2023-05-16

最近好像又有人 Github 被封,每隔一段时间就有。分享下我自己的经历吧,好几年以前了,也许还是有点参考价值。

账号被封,查找原因

那是 2017 年 12 月,有天早上起来突然发现自己的号phith0n登不上去了,具体的表现是:

  • 账号登录不上,登录以后明确告诉我我号被封了

  • Github 个人页面访问显示 404

  • 我自己名下所有项目,访问都是 404

  • 但是我创建的 Group 还是好的,没有受影响

我当时也很不明所以,所以发了个微博吐槽,后来有人在评论区告诉我他收到了 DCMA 的邮件。是因为 fork 了一个项目,这个项目是一个破解软件,安全圈的不少人都因为 fork 这个项目收到了邮件或者被封了。

我想起来我不久前也 fork 了这个项目。而且我还想起来我不是初犯了,我曾经还 fork 过另一个违反 DMCA 的项目,是某个大公司泄露的代码,当时第一时间我 fork 了,后来收到 DMCA 的邮件我没当回事:

20b4eba7fa40a8f0734c1b849e1c855d.png

也就是说这次这个破解版的事件是我第二次违反 DMCA ,这确实是我的错误。我一直把 fork 项目当做是“保存快照”的步骤,所以我遇到一些我感觉可能会被删的项目我反而会把他 fork 下来保存一份。

我猜测这就是我账号被封的直接原因。

统计损失

当时我的号还不像现在有这么多 followers 和 stars ,这是当时我的 profile 的截图:

291c71349fe50a70a5b3b70f067931c7.png

因此,当时账号被封对我最大的损失主要是这几个:

  • 最心疼的是自己点过的一千多 star 。我是把 star 当收藏夹用的,现在等于收藏夹丢了。

  • 丢了代码仓库,丢了 followers 。这其实还好,因为代码我本地都有,followers 也可以慢慢再挣。

  • 有一些使用 Github 做第三方登录的网站登不上了

知道了事情大概的原因后,我要做的主要就是两件事,第一件事是想办法挽回上面说到的三个损失;第二件事是联系官方,看事情能不能补救。

挽回损失

我并没有抱着能解封的期望,所以我需要先挽回损失。我统计了自己代码没丢以后,那么主要就是找回自己点的那些 star 了。

我用谷歌搜了下自己的 Github ID ,的确找到了一些第三方网站的备份,但要不就是信息太旧不全,要不就没有 star 的列表,只能说挽回部分损失。

不过我很快发现,Github API 仍然是可以访问的。就是我们可以访问如下 API 来找到某个用户 star 过的仓库:

https://api.github.com/users/[username]/starred

比如这两天被封的那位仁兄sam01101,可以找到他的 star 。

所以我很快备份了自己的 star ,心态迅速平复。

后来 V 站另一个仁兄荒野无灯也遇到了类似的问题,也是用我这个方法备份了 star 。

邮件申述

剩下的就是碰运气了,账号被封确实是自己的问题,但是我的问题有一个可以辩解的理由,就是我不是自己主动违反了 DMCA ,而是 fork 别人项目导致的。所以我想用这个作为一个突破口。

我发邮件过去询问我被封号的原因,被告知的确是因为多次违反 DMCA:

46f3c368133cd78d00d3355af893913e.png

并且对方回复了两次,分别说了这两句话:

Unfortunately, this means we'll have to keep your account suspended. 

We're sorry for any disappointment, but we will not be restoring access to your account.

基本就宣判不能恢复了,不过我最后还是试了下,写了一大段邮件,大意是:

  1. Github 对我很重要,我对开源做出过很多贡献,我想继续参与开源项目

  2. 我认识到了自己的错误,以后 fork 项目会非常谨慎

  3. 我自己的项目没有违反 DMCA ,而且还有其他人参与了这些开源项目,直接封掉我和这些项目,对其他 contributors 不公平

  4. 强硬地说虚拟资产也是资产,需要得到保护

不知道是哪一点打动了对方,这封邮件以后,Github 终于给我恢复了:

c0fdd534a31527465a7377d4f9c11e33.png

这整个申述的过程持续了一个多月,原因也和当时是 12 月有关,外国人都过圣诞节了,所以耽误了很长时间。

复盘

最后对整件事进行复盘,需要吸取的教训有:

  • 不要随便 fork 项目,况且是你明知他是违反 DMCA 的项目

  • 及时备份自己的代码仓库、star 列表

  • 各种网站登录,一定要有除第三方登录以外的另一种登录方式

  • 努力沟通还是会有结果

希望对于现在其他遇到类似问题的朋友有所帮助。

4904930b86b717eb6f544f87ba41a2bb.gif

喜欢这篇文章,点个在看再走吧~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分享下我 Github 被封的经历 的相关文章

  • Mac OSX 打开原生自带读写NTFS功能[10.11.6 work, 10.14.4不work]

    文章目录 一 放开mac的Rootless机制二 查看磁盘的Volume Name三 更改 etc fstab文件四 做快捷方式五 隐藏桌面移动硬盘快捷方式 xff0c 拖入Finder边栏环境 最近买了一个移动硬盘 xff0c 发现在ma
  • 01. Ubuntu下安装nvidia显卡驱动(安装方式简单)

    文章目录 第一步 获取显卡型号第二步 查看GTX970M显卡驱动第三步 查询支持GTX970M显卡的显卡驱动的其他驱动版本第四步 安装第五步 测试nvidia driver是否安装成功环境参考资料 Ubuntu下安装nvidia显卡驱动 x
  • 动态规划——木棍加工

    题目链接 题目描述 一堆木头棍子共有n根 xff0c 每根棍子的长度和宽度都是已知的 棍子可以被一台机器一个接一个地加工 机器处理一根棍子之前需要准备时间 准备时间是这样定义的 xff1a 第一根棍子的准备时间为1分钟 xff1b 如果刚处
  • NodeBB论坛搭建

    NodeBB是一个开源的Node js论坛 xff0c 下面记录下搭建过程 基于Centos7 64位操作系统 xff1a 1 关闭SELinux vim etc sysconfig selinux 2 安装MongoDB 2 1 新建文件
  • centos 卸载mysql

    1 通过rpm命令卸载 查询已安装的mysql组件 rpm qa grep i mysql 卸载上一步查询到的组件 rpm qa grep i 具体的组件 rpm ev nodeps mysql community release el7
  • 【C/C++】C语言复制字符串及复制函数汇总(strcpy()/memcpy()/strncpy()/memmove())

    目录 strcpy 举例 xff1a memcpy 举例 xff1a strncpy 举例 xff1a memmove 举例 xff1a 我们首先来考虑一个简单的问题 xff0c 我们定义了一个字符串 xff0c 然后想要复制这个字符串 x
  • 打不开MicrosoftStore用命令在Win10安装Ubuntu1804

    用Azure Function APP部署Python接口 xff0c 但只支持Linux 公司有部机装了Linux xff0c 但在恶心猥琐男手上 只好在自己电脑装个Linux系统 xff0c 教程大都是从Microsoft Store安
  • 深度学习【62】旋转不变性人脸检测PCN

  • linux记录(一个全新的环境)安装miniconda3

    查看Linux的版本 lsb release a 想要安装miniconda xff0c 但是显示没有wget 所以先安装weget apt get install y wget 运行了以后报错 xff0c 显示没有安装wget xff0c
  • java键盘输入

    import java util Scanner 引入函数 public class Helloworld public static void main String args TODO Auto generated method stu
  • python学习

    coding utf 8 34 34 34 Spyder Editor This is a temporary script file 34 34 34 a 61 4 b 61 3 print a 43 b a 61 39 ccv 39 p
  • 高数Umaru系列(9)——哈士奇

    高数Umaru系列 xff08 9 xff09 哈士奇 Time Limit 1000 ms Memory Limit 65536 KiB Problem Description 由于高数巨养的喵星人太傲娇了 xff0c 要天天吃新鲜猫粮而
  • python 去除空格

    usr bin env python3 coding utf 8 39 39 39 去除多余的空格 39 39 39 string 61 34 My name is hyaden 34 print string str list 61 st
  • 简单的代码生成程序

    简单的代码生成程序 通过三地址代码序列生成计算机的目标代码 在生成算法中 对寄存器的使用顺序为 寄存器中存有 gt 空寄存器 gt 内存中存有 gt 以后不再使用 gt 最远距离使用 Input 单组输入 给定输出的三地址代码的个数和寄存器
  • DAG优化

    DAG优化 Problem Description 大家都学过了代码优化 xff0c 其中有一个DAG优化 xff0c 这次我们就练习这个操作 Input 输入第一行为一个整数 xff4e n lt 100 xff0c 表示该组输入的表达式
  • 翻译布尔表达式

    翻译布尔表达式 这是用c 43 43 实现的布尔表达式 Problem Description 大家都学过了布尔表达式的翻译 xff0c 其中有一个拉链 xff0d 回填技术 xff0c 这次我们就练习这个技术 Input 多组输入 xff
  • docker命令大全以及常用写法举例

    内容来自公众号赫连小伍 xff0c 转载请注明出处 login xff1a 登录到远程仓库search xff1a 从远程仓库搜索镜像push xff1a 把本地镜像推送到远程仓库pull xff1a 从远程仓库拉取或更新镜像images
  • 虚拟机安装UOS系统--(仅命令行版)图文详解

    UOS 由深度操作系统deepin为基础 xff0c 经过定制而来的产品 考虑到后者是基于 Linux 的国产操作系统的一员 xff0c UOS 应该拥有相同的定位 UOS 拥有 家庭版 专业版 服务器版 三个分支 xff0c 个人版不再更
  • 表达式语法分析——递归子程序法

    表达式语法分析 递归子程序法 写在前面 xff1a 切记不要删除代码部分对于函数的声明 xff0c 以免造成error xff01 xff01 xff01 通过函数的声明避免函数定义的先后顺序 递归子程序法是一种确定的自顶向下语法分析方法
  • 小C语言--词法分析程序

    小C语言 词法分析程序 Problem Description 小C语言文法 1 lt 程序 gt lt main关键字 gt lt 声明序列 gt lt 语句序列 gt 2 lt 声明序列 gt lt 声明序列 gt lt 声明语句 gt

随机推荐

  • 合并石子问题

    我们常见的石子合并问题一般就三种 第一种 n堆石子 xff0c 每次合并的花费为两堆石子数目之和 xff0c 求怎样合并可以使得合并为一整堆石子的总花费最少 实际上这就是HUfffman编码的变形 xff0c 运用贪心策略 xff0c 每次
  • Xpath的语法

    Xpath 是一门从html中提取数据的语言 xff1a Xpath的语法 xff1a 1 39 39 是选择节点 xff08 标签 xff09 xff1a 39 html head meta 39 表示的是能够选中html 下的head下
  • Day-1(爬虫的基础,环境配置)

    这是我做的第一个带有前端的爬虫项目 xff0c 自己的构想是 爬虫使用scrapy框架 xff0c 前端使用django框架 xff0c 开发工具使用pycharm xff0c 开发环境使用python3 7 xff0c 主要任务 xff1
  • Day-2实现django框架的前端界面

    我们昨天已经将本次项目的基础环境搭建完成 xff0c 今天我们需要将我们的django框架的前端界面部分完成 任务 xff1a 书城的界面 一 创建django项目 首先在cmd格式下输入 django admin startproject
  • django2.2/mysql ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3

    django2 2 mysql ImproperlyConfigured mysqlclient 1 3 13 or newer is required you have 0 9 3 这个是我昨天的在做项目的时候 xff0c 遇见的一个问题
  • Day-3页面分析(Xpath)

    一 爬取分析 爬虫是非常考验随机性的 xff0c 运气性 xff0c 以及思维跳跃的 在此次项目中 xff0c 首先我们找到京东图书的页面 xff0c 进入到里边 京东所有图书的API接口是 xff1a http book jd com b
  • Centos7 环境配置安装boost库与mpich库

    Centos7 环境配置 一 安装mpich3 2 参考博客 xff1a https blog csdn net zhaohaibo article details 87197138 安装依赖 yum install y make gcc
  • Clion安装以及配置本地C++环境

    一 下载Clion 去JB公司官网下载CLion https www jetbrains com clion download section 61 windows 然后就是等 xff0c 一直等 xff0c 不要运行 xff0c 等到mi
  • 7-2国王游戏

    题目 xff1a 恰逢 H 国国庆 xff0c 国王邀请 n 位大臣来玩一个有奖游戏 首先 xff0c 他让每个大臣在左 右手上面分别写下一个整数 xff0c 国王自己也在左 右手上各写一个整数 然后 xff0c 让这 n 位大臣排成一排
  • 编码

    编码 Time Limit 1000MS Memory Limit 65536KB Problem Description 给你一个由大写字母组成的组成的字符串 xff0c 你可以用如下规则对其进行编码 xff1a 1 包含K个相同字母的连
  • C语言实验——字符编码

    C语言实验 字符编码 Time Limit 1000MS Memory Limit 65536KB Problem Description 请将一串长度为5的纯字母文本译成一个密码 xff0c 密码规律如下 xff1a 用原来的字母后面的第
  • C语言实验——求一个3*3矩阵对角线元素之和

    C语言实验 求一个3 3矩阵对角线元素之和 Time Limit 1000MS Memory Limit 65536KB Problem Description 给定一个3 3的矩阵 xff0c 请你求出对角线元素之和 Input 按照行优
  • 爬山

    爬山 Time Limit 1000MS Memory Limit 65536KB Problem Description LeiQ最近参加了一个登山俱乐部 xff0c 部长给他了一个n m地图 地图上的每一个格子的值表示一个山的海拔高度
  • 鞍点计算

    鞍点计算 Time Limit 1000MS Memory Limit 65536KB Problem Description 找出具有m行n列二维数组Array的 鞍点 xff0c 即该位置上的元素在该行上最大 xff0c 在该列上最小
  • 回文串判定

    回文串判定 Time Limit 1000MS Memory Limit 65536KB Problem Description 输入一串字符 xff08 长度小于100 xff09 xff0c 判断该串字符是否是回文串 xff08 正序读
  • C语言合法标识符

    C语言合法标识符 Time Limit 1000MS Memory Limit 65536KB Problem Description 输入一个字符串 xff0c 判断其是否是C的合法标识符 Input 输入数据包含多个测试实例 xff0c
  • 简单字符串排序

    简单字符串排序 Time Limit 5000MS Memory Limit 100000KB Problem Description 从键盘输入10个学生的姓名和成绩 xff0c 请按字典序排列学生的姓名并输出 xff08 姓名和成绩对应
  • 小鑫の日常系列故事(二)——石头剪子布

    小鑫 日常系列故事 xff08 二 xff09 石头剪子布 Time Limit 1000MS Memory Limit 65536KB 小鑫在上幼儿园的时候 xff0c 喜欢跟小伙伴健健玩石头剪子布的游戏 xff0c 你能帮他们判断谁胜谁
  • 中位数

    中位数 Problem Description 中位数是指在一组数据中 xff0c 按数值大小排序后处于中间位置的数 例如 xff1a 1 5 3 排序后为 1 3 5 xff0c 则其中位数为 3 特别地 xff0c 当数的个数 N 为偶
  • 分享下我 Github 被封的经历

    最近好像又有人 Github 被封 xff0c 每隔一段时间就有 分享下我自己的经历吧 xff0c 好几年以前了 xff0c 也许还是有点参考价值 账号被封 xff0c 查找原因 那是 2017 年 12 月 xff0c 有天早上起来突然发