deCloudflare/instructions_git.md

2.7 KiB

How to setup git to collaborate on the cloudflare-tor project with SSH over Tor

This procedure will give you a cloudflare-tor fork with a privacy-respecting configuration to do pushes with SSH over Tor using the onion host for notabug.org ("NAB"). This procedure is designed for linux. The first step covers Windows too, but these instructions probably need more adaptations for Windows and other platforms.

  1. install git, ssh, and tor (if you haven't already) | Debian | Windows | | --- | --- | | `aptitude install git tor ssh` | (git only) download and extract `https://github.com/git-for-windows/git/releases/PortableGit-2.21.0-64-bit.7z`; run `git-bash.exe` |
  2. create a `notabug.org` account (username "snowden" will be used for this example)
  3. create an SSH key pair ``` $ ssh-keygen -t rsa -N '' -C 'snowden at notabug' -f "$HOME"/.ssh/id_rsa_nab-snowden```
  4. edit `$HOME/.ssh/config`: ``` host notabug-* hostname qs3zumwfci4tntnd.onion ForwardX11 no ProxyCommand connect -4 -S 127.0.01:9050 %h %p host notabug-snowden IdentityFile /home/user/.ssh/id_rsa_nab-snowden ```
  5. copy `"$HOME"/.ssh/id_rsa_nab-snowden.pub` to clipboard
  6. notabug.org > settings > SSH Keys > add key (paste from clipboard)
  7. $ `firefox https://notabug.org/themusicgod1/cloudflare-tor`
  8. fork it (top right corner)
  9. go to the directory you want the project to be rooted in (hereafter we'll call it `$project_root`).
  10. anonymously download your fork: $ `torsocks git clone https://notabug.org/snowden/cloudflare-tor`
  11. edit `$project_root/cloudflare-tor/.git/config` to include the account name and email address that will be on every commit, as well as the URL:
    [user]
            email = BM-yadayadayada6fgnLfybVnCcWf25AGZcgg@bitmessage.ch
            name = snowden
    [remote "origin"]
            url = git@notabug-snowden:snowden/cloudflare-tor.git
         	fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "master"]
    	remote = origin
    	merge = refs/heads/master
    
  12. make your first change
  13. (from `$project_root`) $ `git add . -u -n`
  14. check that the files listed are what you changed and intend to push upstream
  15. if yes: `$ git add . -u`
  16. $ `git commit -m 'description of first change'`
  17. $ `git push origin master`
  18. $ `firefox https://notabug.org/themusicgod1/cloudflare-tor`
  19. make a new pull request

 

Notice that only the git clone command has a torsocks prefix and all git commands thereafter do not. Whenever git operates on the cloudflare-tor project, all connections to NAB are automatically over Tor with this configuration (because the url in .git/config references the virtual host notabug-snowden in ~/.ssh/config which uses the onion address).