🤷 Someguy

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.
Someguy is also hosted as a public utility at https://delegated-ipfs.dev/routing/v1
.
Build
go build -o someguy
Install
go install github.com/ipfs/someguy@latest
Docker
Automated Docker container releases are available from the Github container registry:
- 🟢 Releases
latest
always points at the latest stable release
vN.N.N
point at a specific release tag
- 🟠 Unreleased developer builds
main-latest
always points at the HEAD
of the main
branch
main-YYYY-DD-MM-GITSHA
points at a specific commit from the main
branch
- ⚠️ Experimental, unstable builds
staging-latest
always points at the HEAD
of the staging
branch
staging-YYYY-DD-MM-GITSHA
points at a specific commit from the staging
branch
- This tag is used by developers for internal testing, not intended for end users
When using Docker, make sure to pass necessary config via -e
:
$ docker pull ghcr.io/ipfs/someguy:main-latest
$ docker run --rm -it --net=host ghcr.io/ipfs/someguy:main-latest
See /docs/environment-variables.md
.
Usage
You can use someguy
as a client, or as a server.
Server
You can start the server with someguy start
. This will, by default, run a Delegated Routing V1 server that proxies requests to the IPFS Amino DHT and the cid.contact indexer (IPNI) node.
For more details run someguy start --help
.
Client
If you don't want to run a server yourself, but want to query some other server, you can run someguy ask
and choose any of the subcommands and ask for a provider, a peer, or even an IPNS record.
For more details run someguy ask --help
.
Deployment
Suggested method for self-hosting is to run a prebuilt Docker image.
Release
- Create a PR from branch
release-vX.Y.Z
against main
that:
- Tidies the
CHANGELOG.md
with the changes for the current release
- Updates the
version.json
file
- Once the release checker creates a draft release, copy-paste the changelog into the draft
- Merge the PR, the release will be automatically created once the PR is merged
License
Dual-licensed under MIT + Apache 2.0