Replace torvalds/linux with the actual owner and repository name.
The remote name gost is just a convention—you can use any name you like.
2
Create your branch and commit
Make your changes and commit them with a detailed message:
# Create a new branchgit checkout -b fix-readme-typo# Make your changesecho "Fixed typo in README" > CHANGES.txt# Commit with a descriptive messagegit commit -am "fix: correct spelling of 'receive' in READMEThis commit fixes a grammatical error in the installationinstructions. The word 'recieve' should be 'receive'."
Your commit message becomes the PR description. Write detailed messages to provide context to maintainers while staying anonymous.
3
Push through gitGost
Push your branch to the gitGost remote:
git push gost fix-readme-typo:main
You’ll see output like this:
remote: gitGost: Processing your anonymous contribution...remote: gitGost: Commits anonymized successfullyremote: gitGost: Creating fork...remote: gitGost: Fork ready at gitgost-anonymous/linuxremote: gitGost: Pushing to fork...remote: gitGost: Branch 'gitgost-1709654321' createdremote: gitGost: Creating pull request...remote: remote: ========================================remote: SUCCESS! Pull Request Createdremote: ========================================remote: remote: PR URL: https://github.com/torvalds/linux/pull/12345remote: Author: @gitgost-anonymousremote: Branch: gitgost-1709654321remote: PR Hash: a3f8c1d2remote: remote: Subscribe to PR notifications (no account needed):remote: https://ntfy.sh/gitgost-pr-a3f8c1d2remote: remote: To update this PR on future pushes, use:remote: git push gost <branch>:main -o pr-hash=a3f8c1d2remote: remote: Your identity has been anonymized.remote: No trace to you remains in the commit history.remote: remote: ========================================
gitGost strips metadata from commits, but your IP address is still visible to the server and GitHub. For stronger anonymity, route your push through Tor:
1
Install Tor
# Debian/Ubuntusudo apt install tor torsocks# macOSbrew install tor torsocks# Archsudo pacman -S tor torsocks
2
Start Tor service
# Linuxsudo systemctl start tor# macOSbrew services start tor
3
Verify Tor is running
torsocks curl https://check.torproject.org/api/ip# Should return: {"IsTor": true, "IP": "185.220.101.x"}
gitGost requires the X-Gost-Authorship-Confirmed: 1 header when pushing through Tor to prevent abuse. It’s a simple confirmation that you’re aware you’re making an anonymous contribution.
remote: Rate limit exceeded: max 5 PRs per hour per IP.remote: Please try again later.
Cause: gitGost limits each IP to 5 PRs per hour to prevent abuse.Solution: Wait an hour, or use a different network/VPN. If using Tor, your IP changes with each circuit.
Cause: gitGost limits repository size to 500 MB to prevent resource exhaustion.Solution: gitGost is designed for small contributions, not massive repositories. Consider contributing through traditional means.
remote: error creating fork: failed to create fork: 403 Forbidden
Cause: The target repository may be private, or GitHub’s API is experiencing issues.Solution: gitGost only works with public repositories. Verify the repository is public and try again.
remote: SERVICE TEMPORARILY SUSPENDEDremote: The panic button has been activated.
Cause: The gitGost operator detected abuse (bot activity, mass PRs) and activated panic mode.Solution: Wait 15 minutes and try again. Panic mode is temporary and automatically lifted once the threat subsides.
# Add gitGost remote to existing repositorygit remote add gost https://gitgost.leapcell.app/v1/gh/controversial/project# Create feature branchgit checkout -b feature-improvement# Make changes# ... (edit files)# Commitgit commit -am "feat: add support for new protocolImplements RFC-1234 for improved performance."# Push through Tor for maximum anonymitytorsocks git -c http.extraHeader="X-Gost-Authorship-Confirmed: 1" \ push gost feature-improvement:main
# Make additional changes# ... (edit files)# Commit the updatesgit commit -am "fix: address review feedbackUpdated implementation based on maintainer comments."# Push update using the pr-hash from the original pushgit push gost feature-improvement:main -o pr-hash=a3f8c1d2