Skip to content
/ someguy Public

A Delegated Routing V1 server and client for all your HTTP/IPFS routing needs.

License

Notifications You must be signed in to change notification settings

ipfs/someguy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

effefee · Jun 25, 2024

History

65 Commits
Jun 24, 2024
May 21, 2024
May 21, 2024
Oct 16, 2023
Jun 25, 2024
Jun 24, 2024
May 26, 2022
Apr 22, 2024
Nov 8, 2023
Jun 24, 2024
Jun 24, 2024
May 21, 2024
May 21, 2024
Jun 24, 2024
Jan 15, 2024
Apr 11, 2024
Apr 11, 2024
May 17, 2024
Jun 24, 2024
Jun 25, 2024

Repository files navigation

🤷 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:

  • 🟢 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

  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