V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
phithon
V2EX  ›  程序员

分享下我 Github 被封的经历

  •  2
     
  •   phithon ·
    phith0n · 122 天前 · 4103 次点击
    这是一个创建于 122 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    账号被封,查找原因

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

    • 账号登录不上,登录以后明确告诉我我号被封了
    • Github 个人页面访问显示 404
    • 我自己名下所有项目,访问都是 404
    • 但是我创建的 Group 还是好的,没有受影响

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

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

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

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

    统计损失

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

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

    • 最心疼的是自己点过的一千多 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:

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

    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 终于给我恢复了:

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

    复盘

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

    • 不要随便 fork 项目,况且是你明知他是违反 DMCA 的项目
    • 及时备份自己的代码仓库、star 列表
    • 各种网站登录,一定要有除第三方登录以外的另一种登录方式
    • 努力沟通还是会有结果

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

    28 条回复    2022-02-28 11:06:04 +08:00
    hhacker
        1
    hhacker  
       122 天前   ❤️ 1
    ``我一直把 fork 项目当做是“保存快照”的步骤``
    的确很多人这样做,似乎担心 repo 随时会被删掉
    polaa
        2
    polaa  
       122 天前
    p 牛去 Shopee 了啊 ,看了下 JD , 可惜不太合适
    XIU2
        3
    XIU2  
       122 天前   ❤️ 2
    @hhacker 确实,很多人都把 fork 当成一种快照 /备份方式,fork 后看都不看~
    Cavolo
        4
    Cavolo  
       122 天前
    理性的楼主,点赞。
    mikewang
        5
    mikewang  
       122 天前   ❤️ 1
    遇到过同样的情况。事实证明,fork 并不能避免 repo 被 ban 。当一个 repo 被 takedown 之后,所有 fork 的 repo 也会挂,而且作为 fork 的用户被 takedown 之后还没有查看修改的能力。
    至于 DMCA 有多麻烦就不说了,有些项目本身没有侵权的地方,仅仅因为对方公司一个律师函就被 takedown ,这时就得申诉,效率也不高。当然 GitHub 也得为了本身利益嘛,免得被告就先停用 repo (摊手)
    codingBug
        6
    codingBug  
       122 天前
    想起了我的 YouTube 账户被限制登录,好忧桑,所以各位一定要珍惜自己的账号
    iseki
        7
    iseki  
       122 天前
    不是很能理解为什么 ban 仓库之余还要 ban 账号,不过联想想之前那位破坏了自己仓库结果呗 ban 号的人,也不意外了
    xiadong1994
        8
    xiadong1994  
       122 天前
    fork 之后得至少再 clone 一份吧……
    exhades
        9
    exhades  
       122 天前
    没想到 P 师傅居然被封过 github
    我觉得 fork 那些项目很正常啊,就是拿 fork 做备份。直接 ban 仓库就好了啊。github 为啥要进行 ban 账户呢。好意外。。。
    dingwen07
        10
    dingwen07  
       122 天前 via iPhone
    fork 也要 ban 账号就离谱
    有些仓库被 takedown 是因为公司起诉,比如 YouTube-dl ,这种 fork 的人完全不可预见。
    secondwtq
        11
    secondwtq  
       122 天前
    我也是把 star 当收藏夹用,但是 GitHub 这个 star 功能实在太弱鸡,所以我实际的“收藏夹”本来就是在本地的,star 只是提供一个“点到某个仓库的时候能快速确定是不是在收藏夹里”的“缓存”而已。

    后来 GitHub 出了个 Lists ,一开始看上去还行,用了两天发现居然最多只能有 16 个,还是算了吧,不能指望 ...
    liximomo
        12
    liximomo  
       121 天前
    很有价值的分享!
    SomeBottle
        13
    SomeBottle  
       121 天前
    受益良多,感谢分享
    这几天被某个帖子整的有点心里不安,现在看 Github 这边也并非是没有商量余地的。😂
    whileFalse
        14
    whileFalse  
       121 天前
    我其实不太理解 Star 这个功能有啥用,感觉就是点个赞,而且你能看到自己点过的所有赞。
    Removable
        15
    Removable  
       121 天前 via iPhone
    @whileFalse 就当收藏用,现在不是出了 star 分类功能么,这不就是明明白白收藏了么
    Biwood
        16
    Biwood  
       121 天前
    好像新手喜欢吧 fork 当做收藏用,我刚注册那会儿也是 fork 一些项目,后来才知道 start 才是真正的收藏功能。
    Biwood
        17
    Biwood  
       121 天前
    @exhades 这就是对 fork 的理解差异了,你觉得 fork 是用于保存快照,Github 官方认为 fork 是为了参与开发和扩展功能。话说我后来也是意识到把 fork 用错了,就把自己名下所有没参与开发的 fork 仓库都给删掉了,我建议大家都这么做,以避免不必要的争端。
    corruptdu
        18
    corruptdu  
       121 天前 via Android
    @Biwood 本新手不邀自来,我 fork 的唯一目的就是当收藏,用的时候找的方便
    cweijan
        19
    cweijan  
       121 天前
    顶一个, 我是 github 重度用户, 昨天看到那个人说被删号我还挺担心我自己炸号, 今天才知道这人是自己违反了 github 协议.
    charlie21
        20
    charlie21  
       121 天前
    fork 之后转私有
    janus77
        21
    janus77  
       121 天前
    有两个问题,一个是有没有比较快速高效的方法去鉴别项目是否违反 DMCA ?有些项目是可以一眼看出来的,但是有些项目不太好鉴别,看上去就是一个普通的项目
    还有一个问题就是如果收到了这种 DCMA 的 notice 邮件,是不是删掉你的 fork 就可以解除警告了呢?
    phithon
        22
    phithon  
    OP
       121 天前
    @janus77 你收到警告邮件的时候你的项目应该就已经被封了,你访问会显示一个 DCMA 的页面,无法执行任何操作。第二次就没有邮件了,号可能直接就没了。
    SunsetShimmer
        23
    SunsetShimmer  
       121 天前 via Android
    @charlie21 fork 好像是不能修改仓库可见性的?
    SunsetShimmer
        24
    SunsetShimmer  
       121 天前 via Android
    这么看来 GitHub 做的可能有点过分,不过我自己的账号也 fork 过几个(多于两个)被 DMCA 的仓库,gh 只是给我发了提示 email 但没封号(最近一次是 unblock-music ,发了三遍邮件)。感觉可能和发 DMCA 版权所有人的诉求有关?
    SunsetShimmer
        25
    SunsetShimmer  
       121 天前 via Android
    @SunsetShimmer
    第一次是通知 It is important that you reply to this message within 1 business day regardless of which option you choose. If you do not, the repository will be disabled.(两个选择是提出自己的库没问题,或者对 DMCA 请求抗议)
    第二次标题强调最后通知,内容相同
    (我没有回复,因为没看到)
    第三次是禁用之后 We did not hear back from you and/or the requested changes were not made, so we had to disable your repository in accordance with our DMCA Takedown Policy: https://docs.github.com/en/github/site-policy/dmca-takedown-policy

    不过 gh 给我发的通知和给 PO 主发的画风不太一样,我的这个更长且描述了抗议的方法。
    phithon
        26
    phithon  
    OP
       121 天前
    @SunsetShimmer 可能这两年改了
    exhades
        27
    exhades  
       120 天前
    @Biwood #17 我能理解 fork 是为了参与贡献,但我这里的“保存快照”是因为安全圈的习惯,很多安全相关的项目,可能公开没多久就会被删掉(Leak/Crack/bypass/poc/exp 等等),所有很多时候都是习惯性线 fork 然后在 clone 。。。
    不这样的话有时 clone 半路项目就已经被删了 - -

    ----

    我这边 fork 过的 DMCA 项目也不少,之前还遇到过 DMCA 的项目无法删除的情况。好像后面是 github 自己删了(我也不确定,现在 DMCA 项目 github 是不是会自动删?
    Kasumi20
        28
    Kasumi20  
       119 天前
    fork 之后转成 private ,就不会被 ban 了吧
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1104 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 21:42 · PVG 05:42 · LAX 14:42 · JFK 17:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.