Skip to main content

Quickstart Guide

Get started with gitGost in three simple steps. No accounts, no tokens, no configuration files—just add a Git remote and push.

Prerequisites

All you need is Git installed on your machine. That’s it.

Your First Anonymous Contribution

1

Add gitGost as a remote

Add gitGost as a remote to any repository you want to contribute to:
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:
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:
You’ll see output like this:

What Just Happened?

Here’s what gitGost did behind the scenes:
1

Received your push

gitGost’s server received your commits via the Git Smart HTTP protocol (the same protocol GitHub uses).
2

Stripped metadata

All identifying information was removed:
3

Created a fork

gitGost created (or reused) a fork of the target repository under the @gitgost-anonymous account.
4

Pushed to the fork

Your anonymized commits were pushed to a unique branch in the fork (e.g., gitgost-1709654321).
5

Opened a PR

A pull request was created from the fork to the original repository with your commit message as the description.

Updating an Existing PR

You can update your anonymous PR without creating a new one:
The -o pr-hash=a3f8c1d2 option tells gitGost to update the existing PR instead of creating a new one.
The PR hash is deterministic—it’s generated from the owner/repo/branch combination. Save it if you plan to update the PR later.

Advanced: Multiple Commits

You can push multiple commits in a single push:
All commits will be anonymized and included in the pull request.

Verifying Your Anonymity

Once your PR is created, inspect the commit history on GitHub:
Your original name, email, and timestamp are never visible in the commit history. Only the anonymized values appear.

Notifications Without an Account

gitGost provides anonymous PR notifications via ntfy.sh:
You’ll receive notifications when:
  • Your PR is updated
  • Comments are added
  • The PR is merged or closed
No account required. ntfy.sh is an open-source notification service.

Stronger Anonymity with Tor

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

2

Start Tor service

3

Verify Tor is running

4

Push through Tor

Tor is slow. A push that normally takes seconds may take several minutes. This is expected—Tor routes traffic through three encrypted nodes worldwide.

Why the Extra Header?

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.

Troubleshooting

”Rate limit exceeded”

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.

”Repository too large”

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.

”Commit too large”

Cause: gitGost limits individual commit size to 10 MB. Solution: Split your changes into smaller commits, or avoid committing large binary files.

”Failed to create fork”

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.

”Service temporarily suspended”

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.

Example Workflows

Fix a Typo

Contribute to a Controversial Project

Update an Existing PR

Best Practices

Write Detailed Commit Messages

Your commit message becomes the PR description. Provide context and rationale to help maintainers review your contribution.

Use Tor for Sensitive Contributions

If you’re contributing to politically sensitive projects or from restrictive jurisdictions, route your push through Tor.

Avoid Identifiable Patterns

Don’t reuse unique phrases, coding styles, or domain-specific knowledge that could reveal your identity.

Don't Mix Accounts

Avoid contributing to the same repository with both your personal account and gitGost. This correlation can expose you.

Next Steps

How It Works

Learn how gitGost implements the Git Smart HTTP protocol and strips metadata

Threat Model

Understand what gitGost protects against and its limitations

Self-Hosting

Run your own gitGost instance for complete control

API Reference

Explore the full API for advanced use cases

Pro tip: Save your PR hash from the first push so you can update the PR later without creating duplicates.