Awesome
🤷 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 releasevN.N.N
point at a specific release tag
- 🟠 Unreleased developer builds
main-latest
always points at theHEAD
of themain
branchmain-YYYY-DD-MM-GITSHA
points at a specific commit from themain
branch
- ⚠️ Experimental, unstable builds
staging-latest
always points at theHEAD
of thestaging
branchstaging-YYYY-DD-MM-GITSHA
points at a specific commit from thestaging
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
againstmain
that:- Tidies the
CHANGELOG.md
with the changes for the current release - Updates the
version.json
file
- Tidies the
- 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