deCloudflare/instructions_git.md

2.6 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. 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:
    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
  1. copy "$HOME"/.ssh/id_rsa_codeberg-snowden.pub to clipboard
  2. codeberg.org > settings > SSH/GPG Keys > add key (paste from clipboard)
  3. $ firefox https://codeberg.org/crimeflare/cloudflare-tor
  4. fork it (top right corner)
  5. go to the directory you want the project to be rooted in (hereafter we'll call it $project_root).
  6. anonymously download your fork: $ git clone git@codeberg-snowden:crimeflare/cloudflare-tor.git
  7. 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@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. make your first change
  2. (from $project_root) $ git add . -u -n
  3. check that the files listed are what you changed and intend to push upstream
  4. if yes: $ git add . -u
  5. $ git commit -m 'description of first change'
  6. $ git push origin master
  7. $ firefox https://codeberg.org/crimeflare/cloudflare-tor
  8. make a new pull request

 

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).