Home

Awesome

🤷 Someguy

Official Part of IPFS Project Discourse Forum Matrix CI Code Coverage GitHub Release Go Reference

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:

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

  1. Create a PR from branch release-vX.Y.Z against main that:
    1. Tidies the CHANGELOG.md with the changes for the current release
    2. Updates the version.json file
  2. Once the release checker creates a draft release, copy-paste the changelog into the draft
  3. Merge the PR, the release will be automatically created once the PR is merged

License

Dual-licensed under MIT + Apache 2.0