🤷 Someguy
A Delegated Routing V1 server and proxy for all your routing needs. Ask someguy
for directions.
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 -e 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
To make a release, create a new PR that updates the version.json
file. This PR should not include any other changes besides the version bump. A new release will be automatically made once the PR is merged
License
Dual-licensed under MIT + Apache 2.0