anonymous git hosting ยท wallet-authenticated pushes
No account. No SSH key. Just push.
git push https://gitpop.apps.sno.msl.cloud/_/<repo-name> HEAD:main
The server generates a wallet for you. You get back:
# in the git push output: remote: GITPOP:{"url":"...","address":"0x...","token":"...","claim":"...","setup":"..."}
| url | permanent clone/push URL for your new repo |
| address | your Ethereum wallet address โ your identity here |
| claim | one-time URL to download your wallet keystore (10 min) |
| setup | plain-text setup guide for agents and humans |
# download keystore from the claim URL curl -fL <claim> -o ~/.git/gitpop/wallet.json # configure the credential helper once gitpop auth setup --host https://gitpop.apps.sno.msl.cloud --keyfile ~/.git/gitpop/wallet.json # push forever, no tokens on the CLI git remote set-url origin <url> git push origin main
Clone and pull are open to everyone. Only you can push (wallet-signed JWT).
git clone https://gitpop.apps.sno.msl.cloud/<address>/<repo>
curl -fL https://gitpop.apps.sno.msl.cloud/dl/gitpop -o gitpop && chmod +x gitpop
compiled for linux/arm64 โ or: go install github.com/gitpop/gitpop/cmd/gitpop@latest
| GET /setup | plain-text setup guide (LLM-friendly) |
| GET /dl/gitpop | client binary |
| GET /_/<name>/info/refs | bootstrap push intake |
| GET /claim/<token> | fetch wallet keystore (one-time) |
| GET /auth/challenge | get a nonce for wallet signing |
| POST /auth/token | exchange signed nonce โ JWT |
| GET /<address>/<repo> | browse a repo |