stop_cloudflare/instructions_git.md

3.2 KiB

How to setup git

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

  • Linux: aptitude install git tor ssh
  • Windows: Download https://github.com/git-for-windows/git/releases/PortableGit-2.21.0-64-bit.7z & run git-bash.exe

[1]

    host codeberg-*
         hostname     codeberg.org
         ForwardX11   no
         ProxyCommand connect -4 -S 127.0.0.1:9050 $(tor-resolve %h 127.0.0.1:9050) %p
    host codeberg-snowden
         IdentityFile /home/user/.ssh/id_rsa_codeberg-snowden

[2]

[user]
        email = BM-yadayadayada6fgnLfybVnCcWf25AGZcgg@bitmessage.ch
        name = snowden
[remote "origin"]
        url = git@codeberg-snowden:snowden/cloudflare-tor.git
     	fetch = +refs/heads/*:refs/remotes/origin/*
[remote "upstream"]
        url = git@codeberg-snowden:crimeflare/cloudflare-tor.git
     	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
	remote = origin
	merge = refs/heads/master
  1. install Git, SSH(Not Windows), and Tor (if you haven't already)
  2. create a `codeberg.org` account (username "snowden" will be used for this example)
  3. create an SSH key pair `$ ssh-keygen -t rsa -N '' -C 'snowden at codeberg' -f "$HOME"/.ssh/id_rsa_codeberg-snowden`
  4. edit `$HOME/.ssh/config`[1]
  5. copy `"$HOME"/.ssh/id_rsa_codeberg-snowden.pub` to clipboard
  6. codeberg.org > settings > SSH/GPG Keys > add key (paste from clipboard)
  7. $ `firefox https://codeberg.org/crimeflare/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://codeberg.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[2] ``` [user] email = BM-yadayadayada6fgnLfybVnCcWf25AGZcgg@bitmessage.ch name = snowden [remote "origin"] url = git@codeberg-snowden:snowden/cloudflare-tor.git fetch = +refs/heads/*:refs/remotes/origin/* [remote "upstream"] url = git@codeberg-snowden:crimeflare/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://codeberg.org/crimeflare/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 codeberg are automatically over Tor with this configuration (because the url in .git/config references the virtual host codeberg-snowden in ~/.ssh/config).