如何通过Tor匿名贡献github?

时间:2012-04-23 04:41:58

标签: git github privacy anonymous tor

我想匿名捐赠给github上的项目。不要造成恶作剧,更多的是匿名捐款的精神。

在线匿名的首选工具似乎是TOR,适用于您在浏览器中可以执行的任何操作。但是,要在github上做出贡献,似乎有必要使用命令行界面或Mac应用程序。

如何通过Tor在此设置中引导我的git操作?我如何验证这实际上是发生了什么?

修改:请注意假名(使用虚假的电子邮件地址)和匿名(使用无法识别的IP地址)之间的区别与身份相关联)。对github的伪名访问是微不足道的;但是,我正在寻找匿名访问。

10 个答案:

答案 0 :(得分:22)

你有没有考虑过去老式的“邮寄给他们一条补丁”的路线?您可以简单地检查存储库(如果需要,使用Tor和Git-over-HTTPS),进行改进,然后执行git diff并使用任何匿名消息服务向项目所有者发送补丁。想到Freenet和邮件。

请注意,如果我是一个大型(ish)项目的所有者,我绝不会接受来自匿名实体的补丁,原因有几个。即使有问题的人不一定是邪恶的,在系统中使用没有人负责的代码充其量也是一种可怕的想法。另外,请考虑代码所有权和版权问题。

答案 1 :(得分:13)

配置git代理服务器Getting git to work with a proxy server

或者如果这不适用于TOR网络,那么只需在主机使用TOR网络连接到外部世界的虚拟机中运行git命令

我认为这会模糊您提交的来源,但匿名电子邮件部分可能仍然很难。

匿名电子邮件提供商来去匆匆,但截至2015年,Lelantos目前是一项提供clearnet电子邮件地址的TOR隐藏服务。使用比特币支付,但您可以使用http://www.xmr.to匿名所有比特币交易,这样您就可以使用更私密的Monero网络支付比特币收据。

为什么不简单地做一个你在TOR时创建的假名电子邮件,永远不要从TOR之外访问它,并将其用于github合规性

答案 2 :(得分:13)

这些答案都没有提供完整的可用工作流程,我想git push,而不是发送电子邮件!这是如何正确完成的,但需要进行一些设置。说明适用于OSX

使用tor + ssh

以匿名方式发布到github
  1. 下载tor浏览器套件和tor命令行代理

     brew install tor
     brew cask install torbrowser
    

    1.1在tor浏览器中,创建一个新的电子邮件地址(我使用了hmamail)。

    1.2在tor浏览器中,创建一个新的github帐户

  2. 创建新的ssh密钥,仅适用于使用新电子邮件地址的

    ssh-keygen -t rsa -b 4096 -C "satoshi_2@hmamail.com"
    

    2.1。给它起一个名字:~/.ssh/private_tor_rsa

    2.2。在github中,转到SSH and PGP keys并添加新的 SSH 键,使标题令人难忘。

    2.3。在github中,将设置为您刚刚创建的公钥clip < ~/.ssh/private_tor_rsa.pub

  3. 在github中,创建一个空的存储库,让我们称之为ByteCoin,不要用自述文件对其进行初始化。

  4. 编辑ssh配置文件~/.ssh/config(如果它不存在则创建)

    Host github-tor-alias
    User git
    HostName github.com
    IdentitiesOnly yes
    IdentityFile ~/.ssh/tor_only_rsa
    ProxyCommand nc -X 5 -x 127.0.0.1:9050 %h %p
    

    您已创建名为github-tor-alias的主机名,并告知ssh使用localhost:9050上的代理并使用tor_only_rsa密钥进行身份验证。

  5. 设置新项目的配置以使用tor代理和凭据。

    mkdir secret-project
    cd secret-project
    git init
    
    git config --add user.name satoshi_2
    git config --add user.email staoshi_2@hmamail.com
    
  6. 下一行很重要

    5.1。请注意 ssh:// git github-tor-alias

        git remote add origin ssh://git@github-tor-alias/staoshi_2/ByteCoin.git
    
    1. 还记得您是如何安装 tor 命令行代理的?把它作为一项服务开始。它侦听localhost:9050

      brew services start tor
      
    2. 你准备好了吗?尝试推送到github:

      git push origin master
      
    3. 有效吗?去检查一切,我错过了什么吗?请编辑这个答案!

      恭喜

      呼吸自由空气并开始创造!

      那我们刚刚做了什么?我们创建了一个只与tor网络相关联的新身份,就github.com而言,你是staoshi_2,可以在世界任何地方。

      tor在127.0.0.1:9050上运行代理,因为我们在ProxyCommand文件中设置~/.ssh/config,您的所有流量都通过tor代理,git使用您的新ssh密钥,因为您已将IdentityFileIdentitiesOnly添加到您的~/.ssh/config文件中。

      强大的东西。

      让我们仔细检查您是否真的是匿名的

      1. 停止tor并再次尝试git push,最好还是失败!

        ssh_exchange_identification: Connection closed by remote host
        fatal: Could not read from remote repository.
        

        8.1。如果那个git push成功地猜到了什么,你没有使用tor,github.com知道你的IP,弄清楚如何让它工作,然后重新开始使用新的电子邮件地址。

      2. 9。快乐的自由!

        匿名。

答案 3 :(得分:12)

在Tor之前,有网吧和Wi-Fi热点。仅因为与您的提交相关联的IP并不意味着它必须您的

答案 4 :(得分:6)

您可以尝试使用Cloud 9 IDE

通过Tor访问它,创建新的Github和Bitbucket帐户。

分叉您想要贡献的项目,进行更改,发送拉取请求或补丁

赢得

答案 5 :(得分:5)

这个帖子中的大部分答案都没有回复问题。

您问:是否可以通过tor使用我的操作系统的所有应用程序,以便进行匿名贡献。在软件项目的贡献使您面临法律风险的情况下可能需要这样做(例如,对密码学非法的加密库做出贡献。)

你被建议使用邮政邮件(目前最受欢迎的答案吗?),去你家附近的网吧,很可能有相机,并使用非常脆弱的配置,让你有风险。有些答案是完全愚蠢的,有些答案是有效的,尽管它们要求所有东西都能完美地设置才能工作。

可能会发生您(或您安装的某些软件)意外误导或破坏配置文件,导致您的连接明确地转到github。此外,ISP级攻击者可能会看到您正在为开发安装哪些软件包,并且他能够识别您正在处理的项目类型。

在大多数情况下,这是不可接受的。对我和我目前的设置,有必要:

  • 所有与Github的连接都保证通过TOR。
  • 所有非tor连接都被删除,所有DNS都通过TOR。
  • 来自您计算机的所有TCP流量都通过tor路由。这包括apt-get,IDE所做的所有连接,一切。

这非常复杂,远远超出了我的联盟。幸运的是,有一些发行版允许这种事情,例如TailsWhonix。还有另一个发行版,攻击矢量,它可能带有开发工具,但没有得到证实。

安装其中一个后,您将能够通过浏览器访问github的界面,无论您喜欢什么,您都可以通过SSH或HTTPS提交,无需特殊配置。

我建议使用Whonix,因为保存您需要工作的数据更容易,并保证主机上的根级别妥协不会影响您的身份。

答案 6 :(得分:4)

在Linux中:

安装tor并转到http://tormail.org/以获取匿名电子邮件帐户。

让自己成为本地计算机上的新用户并为该用户生成一个新的ssh密钥,以便您的匿名帐户与其他github帐户不具有相同的公钥:-)您将完成所有的工作通过此用户帐户

接下来使用您的tormail电子邮件注册github并安装刚刚生成的公共ssh密钥

现在安装socat http://freecode.com/projects/socat。但是你可能会在你的发行版包管理器中找到它。

现在编辑/ etc / ssh / ssh_config并添加

HOST *
ProxyCommand socat STDIO SOCKS4A:127.0.0.1:%h:%p,socksport=9050

确保您的tor配置为使用端口9050.您应该在torrc文件中看到:

SocksListenAddress 127.0.0.1
SocksPort 9050

现在你的所有SSH都将通过TOR,包括通过ssh协议访问任何github。所以使用ssh协议来做克隆:git clone git@github.com:bitcoin/bitcoin.git

使用wireshark验证没有任何内容直接发送到github。

答案 7 :(得分:1)

您可以在项目的克隆上进行本地提交,然后使用git format-patch通过电子邮件发送提交。

答案 8 :(得分:1)

您可以使用tsockstorify通过Tor。

使任何应用程序正常工作

答案 9 :(得分:0)

另一个简单的解决方案:

$ git remote add tor https://github.com/yourUser/yourProject
$ torsocks git pull tor
$ torsocks git push tor

您显然需要记住在git命令中放入tor后缀,或者可以配置别名:

$ alias gpushtor="torsocks git push tor"
$ alias gpulltor="torsocks git pull tor"

(注意:它仅适用于https://个遥控器)