|
|
6 anni fa | |
|---|---|---|
| README.md | 6 anni fa | |
| config | 9 anni fa | |
| git-proxy-command | 10 anni fa | |
| git-ssh-wrap | 10 anni fa | |
| gitnonymous | 7 anni fa | |
| gitnonymous-setup | 7 anni fa |
Contribute anonymously pseudonymously to Git repositories over Tor.
yourname@yourbox:~$ . gitnonymous somename
somename⚔ yourname@yourbox:~$ git commit_
This is a tool for management of identities that you can use to obfuscate your true identity when making Git commits and pushing to public repositories.
Non-GH mirror of gitnonymous here.
Before you start, you’ll probably want to:
To configure a new anonymous pseudonymous identity on your machine:
$ ./gitnonymous-setup KEYNAME
Where KEYNAME is some memorable string that you will use to identify your pseudonymous ID like baby-protector or elite-freedom-defender. You can create multiple pseudonymous identities.
Be aware that KEYNAME is stored in the SSH public key’s comment field so don’t make it personally identifiable.
Then you should edit the new file in ~/.gitnonymous-KEYNAME/config to set the email address and name of your pseudonymous identity:
export GIT_COMMITTER_NAME="Baby Protector"
export GIT_COMMITTER_EMAIL="protect-all-babies@anonymous-mail-provider.com"
export GIT_AUTHOR_NAME="Baby Protector"
export GIT_AUTHOR_EMAIL="protect-all-babies@anonymous-mail-provider.com"
export TZ=UTC
You can pass ssh-keygen options to the setup command as well. For example to create an ed25519 key instead of an RSA key:
$ ./gitnonymous-setup KEYNAME -t ed25519
You can symlink the gitnonymous and gitnonymous-setup commands into your ~/bin folder or somewhere else on your PATH to execute them without typing the full path.
Each time you want make pseudonymous commits in the current shell:
$ . gitnonymous KEYNAME
After that when you commit and push you will do so with the pseudonymous identity you have created, over the tor network, using the new SSH key that was created.
This command:
ssh-agent that is limited to the current shell.ssh-agent.GIT_COMMITTER and GIT_AUTHOR environment variables.GIT_SSH environment variable to point at a configured git-ssh-wrap script.GIT_PROXY_COMMAND environment variable to proxy network requests through tor.TZ environment variable to UTC in order to obscure your real timezone.Your prompt will be updated to reflect the configured environment:
KEYNAME⚔ yourname@yourbox:~$
To deactivate the gitnonymous environment run gitnonymous-exit:
KEYNAME⚔ yourname@yourbox:~$ gitnonymous-exit
yourname@yourbox:~$ _
Or just exit the current shell.
Whilst this will help you adopt a pseudonymous virtual identity, you should be aware of the following information leaks that may still be used to try to identify you, pointed out by @ryancdotorg on Hacker News:
gittor (install tor package)nc (install netcat-openbsd package)sshbashgit 1.9.1 on Xubuntu 14.04.Patches welcome!