Use /v1/gh/ for GitHub repos · /v1/gl/ for GitLab repos
# Add as remote → push → done. Fully anonymous.$ git remote add gost https://gitgost.fly.dev/v1/gh/torvalds/linux
$ git checkout -b fix-typo
$ git commit -am "fix: typo in documentation
This commit fixes a grammatical error in the README.
The word 'recieve' should be 'receive'."
$ git push gost fix-typo:main
→ Anonymized commit + MR opened as @gitgost-anonymous
→ PR Hash: a3f8c1d2 ← save this to update the PR later
→ Subscribe to notifications (no account needed):
→https://ntfy.sh/gitgost-a3f8c1d2
# Use /v1/gl/ instead of /v1/gh/ for GitLab repos.$ git remote add gost https://gitgost.fly.dev/v1/gl/torvalds/linux
$ git checkout -b fix-typo
$ git commit -am "fix: typo in documentation
This commit fixes a grammatical error in the README.
The word 'recieve' should be 'receive'."
$ git push gost fix-typo:main
→ Anonymized commit + MR opened as @gitgost-anonymous
→ MR Hash: a3f8c1d2 ← save this to update the MR later
→ Subscribe to notifications (no account needed):
→https://ntfy.sh/gitgost-a3f8c1d2
# Got review feedback? Push a follow-up commit to the same PR.# Use the pr-hash returned on the first push.$ git commit -am "fix: address review comments"
$ git push gost fix-typo:main -o pr-hash=a3f8c1d2→ Existing branch force-updated, PR refreshed — still @gitgost-anonymous
# If the hash is unknown or the PR was closed, a new PR is created automatically.
# Clone or fetch anonymously — no GitHub account needed.$ git clone https://anon:@gitgost.fly.dev/v1/gh/torvalds/linux
# Or add as remote and fetch/pull later$ git remote add gost https://anon:@gitgost.fly.dev/v1/gh/torvalds/linux
$ git fetch gost
$ git pull gost main
→ Repository cloned with zero identity exposure
# Clone or fetch from GitLab anonymously — use /v1/gl/ prefix.$ git clone https://anon:@gitgost.fly.dev/v1/gl/torvalds/linux
# Or add as remote and fetch/pull later$ git remote add gost https://anon:@gitgost.fly.dev/v1/gl/torvalds/linux
$ git fetch gost
$ git pull gost main
→ Repository cloned with zero identity exposure
gitGost anonymizes commit metadata, but binary files (images, PDFs, Office documents) can contain embedded metadata — EXIF data, GPS coordinates, author names — that reveal your identity regardless of commit anonymization. Strip it before committing with exiftool.
# Install exiftool$ sudo apt install libimage-exiftool-perl # Debian / Ubuntu$ sudo pacman -S perl-image-exiftool # Arch$ brew install exiftool # macOS# Verify a file has metadata before stripping$ exiftool photo.jpg
→ GPS Latitude : 48.8566 ← your location
→ Author : John Doe ← your name
# Strip all metadata from a single file$ exiftool -all= photo.jpg
→ 1 image files updated
# Strip recursively from a directory$ exiftool -all= -r ./assets/
→ 12 image files updated
# Now commit and push safely$ git add assets/
$ git commit -am "add: project screenshots"
$ git push gost my-branch:main
→ PR opened as @gitgost-anonymous — no metadata, no trace
# 1. Download exiftool from https://exiftool.org# Get the Windows Executable (.zip), extract exiftool(-k).exe# Rename it to exiftool.exe and place it in C:\Windows or your PATH# 2. Open Command Prompt or PowerShell# Verify metadata exists> exiftool photo.jpg
→ GPS Latitude : 48.8566→ Author : John Doe# Strip all metadata from a file> exiftool -all= photo.jpg
→ 1 image files updated
# Strip recursively from a folder> exiftool -all= -r .\assets\
→ 12 image files updated
# Now commit and push safely> git add assets/
> git commit -am "add: project screenshots"
> git push gost my-branch:main
→ PR opened as @gitgost-anonymous — no metadata, no trace
gitGost strips your name, email, and metadata — but your IP is still visible to the server. Wrap your push with torsocks (Linux/macOS) or configure a SOCKS5 proxy (Windows) so the server only sees a Tor exit node IP, not yours.
# Install tor + torsocks$ sudo apt install tor torsocks # Debian / Ubuntu$ sudo pacman -S tor torsocks # Arch$ brew install tor torsocks # macOS# Start the Tor daemon$ sudo systemctl start tor # Linux$ brew services start tor # macOS# Verify your IP is masked$ torsocks curl https://check.torproject.org/api/ip
→ {"IsTor": true, "IP": "185.220.101.x"}
# Push through Tor$ torsocks git \
-c http.extraHeader="X-Gost-Authorship-Confirmed: 1" \
push gost my-branch:main
→ PR opened as @gitgost-anonymous — server sees Tor exit node, not you
# 1. Download and install Tor Browser# https://www.torproject.org/download/# 2. Open it and leave it running# It exposes a SOCKS5 proxy at 127.0.0.1:9150# 3. Tell Git to route through that proxy (per-repo recommended)$ git config http.proxy socks5h://127.0.0.1:9150
$ git config http.extraHeader "X-Gost-Authorship-Confirmed: 1"
# 4. Push normally$ git push gost my-branch:main
→ PR opened as @gitgost-anonymous — server sees Tor exit node, not you
# When done, remove the proxy (if set globally)$ git config --global --unset http.proxy
# Inside WSL2 (Ubuntu / Debian) — works exactly like Linux$ sudo apt install tor torsocks
$ sudo service tor start
$ torsocks git \
-c http.extraHeader="X-Gost-Authorship-Confirmed: 1" \
push gost my-branch:main
→ PR opened as @gitgost-anonymous
# WSL2 has its own network stack — anonymity is preserved correctly.
...
Anonymous PRs Created
...
Anonymous Comments Posted
Database hosted in Central Europe (Zurich)
Only stores: counter + repo name + URL. Zero personal data.
Features
Total Anonymity
Strips name, email, timestamps, and all metadata. PR created from @gitgost-anonymous bot.
Detailed PR Descriptions
Your commit message becomes the PR description. Provide full context and explanations while staying anonymous.
One Command Setup
No tokens, no accounts, no extensions. Just git remote add.
Open issues and comment on any repo without revealing identity. Each message carries a stable anonymous hash.
Fetch & Pull Support
Clone, fetch, and pull from any GitHub or GitLab repo through gitGost. Read code anonymously — no account, no trace.
Persistent PR Updates
Got review feedback? Push follow-up commits to the same anonymous PR using a pr-hash. No accounts, no state stored — the hash is derived deterministically from your branch.
Anonymous PR Notifications
Subscribe to PR activity via ntfy.sh — no account, no email. Get push alerts for comments, reviews, merges and closes. Topic: gitgost-{hash}.
Why developers love gitGost
No permanent public record
Your commit history shouldn't be an HR liability forever.
Contribute safely to anything
Fix bugs in repos your employer or country hates. No trace.
Stop email harvesting
Public commits = spam & doxxing. gitGost ends that.
Sometimes you just want to be a ghost
One-line typo fixes don't need your name attached for eternity.
Anonymous issues, comments & PR/MR feedback
Create issues, comment on them, or leave feedback on Pull Requests and Merge Requests — all without exposing your identity. We only keep what's essential: URL, anonymous hash, and karma.
Provider:
Anonymous push notifications
PR Notifications via ntfy.sh
After pushing, subscribe to your PR topic on ntfy.sh to get anonymous push notifications — no account, no email required. Works with the ntfy mobile & desktop apps.
STEP 1 — Push your PR
After git push gost, the server returns your PR Hash (e.g. a3f8c1d2).
STEP 2 — Subscribe
Open ntfy.sh or the app and subscribe to gitgost-{your-hash}. No sign-up needed.
STEP 3 — Get notified
Receive push alerts when your PR gets a comment, review, status change, merge, or close.
Privacy note: The topic name is derived from your PR hash. No personal data is stored or transmitted. The ntfy topic is public by design — keep your PR hash private if you want to limit who can subscribe.
Install the ntfy app: Android ·
iOS ·
Desktop