Someguy is an HTTP Delegated Routing V1 server that proxies requests to the Amino DHT and other Delegated Routing servers such as the Network Indexer.
Shipyard also runs a public Someguy instance at https://delegated-ipfs.dev/routing/v1.
go build -o someguygo install github.com/ipfs/someguy@latestAutomated Docker container releases are available from the Github container registry:
- 🟢 Releases
latestalways points at the latest stable releasevN.N.Npoint at a specific release tag
- 🟠 Unreleased developer builds
main-latestalways points at theHEADof themainbranchmain-YYYY-DD-MM-GITSHApoints at a specific commit from themainbranch
⚠️ Experimental, unstable buildsstaging-latestalways points at theHEADof thestagingbranchstaging-YYYY-DD-MM-GITSHApoints at a specific commit from thestagingbranch- This tag is used by developers for internal testing, not intended for end users
When using Docker, pass configuration via -e:
$ docker pull ghcr.io/ipfs/someguy:main-latest
$ docker run --rm -it --net=host ghcr.io/ipfs/someguy:main-latestSee /docs/environment-variables.md.
Run someguy as a client or as a server.
Start the server with someguy start. By default it proxies requests to the IPFS Amino DHT and the cid.contact indexer (IPNI) node.
For more details, run someguy start --help.
To query an existing server without running one yourself, use someguy ask <subcommand> to look up a provider, peer, or IPNS record.
For more details, run someguy ask --help.
Automatic configuration of bootstrap peers and delegated routing endpoints. When enabled (default), Someguy replaces the auto placeholder with network-recommended values fetched from a remote URL.
Configuration:
--autoconf/SOMEGUY_AUTOCONF--autoconf-url/SOMEGUY_AUTOCONF_URL--autoconf-refresh/SOMEGUY_AUTOCONF_REFRESH
Endpoint flags (default to auto):
--provider-endpoints/SOMEGUY_PROVIDER_ENDPOINTS--peer-endpoints/SOMEGUY_PEER_ENDPOINTS--ipns-endpoints/SOMEGUY_IPNS_ENDPOINTS
To use custom endpoints instead of auto:
someguy start --ipns-endpoints https://example.comSee environment-variables.md for URL formats and configuration details.
For self-hosting, run the prebuilt Docker image.
- Create a PR from branch
release-vX.Y.Zagainstmainthat:- Updates
CHANGELOG.mdwith entries for the current release - Updates the
version.jsonfile
- Updates
- Once the release checker creates a draft release, copy-paste the changelog into the draft
- Merge the PR; the release workflow tags and publishes automatically
Dual-licensed under MIT + Apache 2.0
