How to contribute on github anonymously via Tor?

后端 未结 10 1726
盖世英雄少女心
盖世英雄少女心 2020-12-13 00:15

I would like to contribute anonymously to projects on github. Not to cause mischief, more in the spirit of anonymous donations.

The tool of choice for being anonymo

相关标签:
10条回答
  • 2020-12-13 00:47

    Another simple solution:

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

    You obviously need to remember to put tor postfix in your git commands, or maybe you can configure aliases:

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

    (Note: it will only work with https:// remotes)

    0 讨论(0)
  • 2020-12-13 00:49

    None of these answers give a full useable workflow, I want to git push, not send an email! Here's how to do it properly but there's a bit of setup required. Instructions are for OSX

    Publishing anonymously to github with tor+ssh

    1. Download tor browser bundle AND the tor command line proxy

       brew install tor
       brew cask install torbrowser
      

      1.1 In tor browser, Create a new email address ( I used hmamail).

      1.2 In tor browser, Create a new github account

    2. Create a new ssh key, only for tor with your new email address

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

      2.1. Give it a name like: ~/.ssh/private_tor_rsa

      2.2. In github, go to SSH and PGP keys and add a new SSH key, make title memorable.

      2.3. In github, set Key to the public key you've just createdclip < ~/.ssh/private_tor_rsa.pub

    3. In github, create an empty repository, let's call it ByteCoin, don't initialise it with a readme.

    4. Edit the ssh config file ~/.ssh/config (create if it doesn't exist)

      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
      

      You've created a hostname called github-tor-alias and tells ssh to use a proxy on localhost:9050 and use the tor_only_rsa key to authenticate.

    5. Setup the config for your new project to use the tor proxy and credentials.

      mkdir secret-project
      cd secret-project
      git init
      
      git config --add user.name satoshi_2
      git config --add user.email staoshi_2@hmamail.com
      

    This next line is bloody important

    5.1. note the ssh://git and github-tor-alias

        git remote add origin ssh://git@github-tor-alias/staoshi_2/ByteCoin.git
    
    1. Remember how you installed the tor command line proxy? start it as a service. It listens on localhost:9050

      brew services start tor
      
    2. Are you ready? Try pushing to github:

      git push origin master
      

    Did it work? Go and double check everything, have I missed something? please edit this answer!

    Congratulations

    breath that free air and get creating!

    So what have we just done? we've created a new identity who is associated only with the tor network, as far as github.com is concerned, you are staoshi_2 and could be anywhere in the world.

    tor runs a proxy on 127.0.0.1:9050, because we setup a ProxyCommand in the ~/.ssh/config file, all of your traffic goes through the tor proxy, git uses your new ssh key because you added IdentityFile and IdentitiesOnly to your ~/.ssh/config file.

    Powerful stuff.

    Let's double check that you're really anonymous

    1. stop tor and try to git push again, it had better fail!

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

      8.1. If that git push succeeded well guess what, you weren't using tor, github.com knows your IP, figure out how to get it working and then start again with a new email address.

    9. Happy freedom!

    anon.

    0 讨论(0)
  • 2020-12-13 00:50

    In Linux:

    Install tor and head over to http://tormail.org/ to get yourself an anonymous email account.

    Make yourself a new linux user on your local machine and generate a new ssh key for that user so that your anon account does not have the same public key as your other github accounts :-) You'll do all your anon work through this user account

    Next sign up to github w/ your tormail email and install the public ssh key you just generated

    Now install socat http://freecode.com/projects/socat. But you'll probably find it in your distro's package manager.

    Now edit /etc/ssh/ssh_config and add

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

    Make sure that your tor is configured to use port 9050. You should see this in your torrc file:

    SocksListenAddress 127.0.0.1
    SocksPort 9050
    

    Now ALL your SSH is going to go through TOR, including any github access through the ssh protocol. so use the ssh protocol to do the clone: git clone git@github.com:bitcoin/bitcoin.git

    use wireshark to verify that nothing goes direct to github.

    0 讨论(0)
  • 2020-12-13 00:51

    Before Tor there were cyber-cafes and wi-fi hotspots. Just because there's an IP associated with your commits doesn't mean it has to be yours.

    0 讨论(0)
提交回复
热议问题