{"id":15152876,"url":"https://github.com/ipfs/someguy","last_synced_at":"2026-05-26T23:12:34.251Z","repository":{"id":40686842,"uuid":"496494101","full_name":"ipfs/someguy","owner":"ipfs","description":"A Delegated Routing V1 server and client for all your HTTP/IPFS routing needs.","archived":false,"fork":false,"pushed_at":"2026-04-24T15:07:25.000Z","size":771,"stargazers_count":53,"open_issues_count":13,"forks_count":9,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-05-12T23:30:53.061Z","etag":null,"topics":["ipfs","p2p"],"latest_commit_sha":null,"homepage":"https://specs.ipfs.tech/routing/http-routing-v1/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ipfs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-05-26T05:35:52.000Z","updated_at":"2026-05-07T10:02:42.000Z","dependencies_parsed_at":"2024-03-06T13:27:21.295Z","dependency_job_id":"cc383df7-f8ea-46be-9e07-340224194b6b","html_url":"https://github.com/ipfs/someguy","commit_stats":{"total_commits":72,"total_committers":12,"mean_commits":6.0,"dds":0.6666666666666667,"last_synced_commit":"f061135ecb6d59b9ca082f7b24d909fea29dbcb3"},"previous_names":["aschmahmann/someguy","ipfs/someguy","ipfs-shipyard/someguy"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/ipfs/someguy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipfs%2Fsomeguy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipfs%2Fsomeguy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipfs%2Fsomeguy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipfs%2Fsomeguy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ipfs","download_url":"https://codeload.github.com/ipfs/someguy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipfs%2Fsomeguy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32963391,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T23:30:32.555Z","status":"ssl_error","status_checked_at":"2026-05-12T23:30:18.191Z","response_time":102,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ipfs","p2p"],"created_at":"2024-09-26T16:40:55.989Z","updated_at":"2026-05-26T23:12:34.237Z","avatar_url":"https://github.com/ipfs.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤷 Someguy\n\n[![Official Part of IPFS Project](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discourse Forum](https://img.shields.io/discourse/posts?server=https%3A%2F%2Fdiscuss.ipfs.tech)](https://discuss.ipfs.tech)\n[![Matrix](https://img.shields.io/matrix/ipfs-space%3Aipfs.io?server_fqdn=matrix.org)](https://matrix.to/#/#ipfs-space:ipfs.io)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/someguy/go-test.yml?branch=main)](https://github.com/ipfs/someguy/actions)\n[![Code Coverage](https://codecov.io/gh/ipfs/someguy/branch/main/graph/badge.svg?token=9eG7d8fbCB)](https://codecov.io/gh/ipfs/someguy)\n[![GitHub Release](https://img.shields.io/github/v/release/ipfs/someguy?filter=!*rc*)](https://github.com/ipfs/someguy/releases)\n[![Go Reference](https://pkg.go.dev/badge/github.com/ipfs/someguy.svg)](https://pkg.go.dev/github.com/ipfs/someguy)\n\nSomeguy is an [HTTP Delegated Routing V1](https://specs.ipfs.tech/routing/http-routing-v1/) server that proxies requests to the [Amino DHT](https://docs.ipfs.tech/concepts/glossary/#amino) and other Delegated Routing servers such as the [Network Indexer](https://cid.contact).\n\n[Shipyard](https://ipshipyard.com/) also runs a [public Someguy instance](https://docs.ipfs.tech/concepts/public-utilities/#delegated-routing-endpoint) at `https://delegated-ipfs.dev/routing/v1`.\n\n## Build\n\n```bash\ngo build -o someguy\n```\n\n## Install\n\n```bash\ngo install github.com/ipfs/someguy@latest\n```\n\n### Docker\n\nAutomated Docker container releases are available from the [Github container registry](https://github.com/ipfs/someguy/pkgs/container/someguy):\n\n- 🟢 Releases\n  - `latest` always points at the latest stable release\n  - `vN.N.N` point at a specific [release tag](https://github.com/ipfs/someguy/releases)\n- 🟠 Unreleased developer builds\n  - `main-latest` always points at the `HEAD` of the `main` branch\n  - `main-YYYY-DD-MM-GITSHA` points at a specific commit from the `main` branch\n- ⚠️ Experimental, unstable builds\n  - `staging-latest` always points at the `HEAD` of the `staging` branch\n  - `staging-YYYY-DD-MM-GITSHA` points at a specific commit from the `staging` branch\n  - This tag is used by developers for internal testing, not intended for end users\n\nWhen using Docker, pass configuration via `-e`:\n```console\n$ docker pull ghcr.io/ipfs/someguy:main-latest\n$ docker run --rm -it --net=host ghcr.io/ipfs/someguy:main-latest\n```\n\nSee [`/docs/environment-variables.md`](./docs/environment-variables.md).\n\n## Usage\n\nRun `someguy` as a client or as a server.\n\n### Server\n\nStart the server with `someguy start`. By default it proxies requests to the [IPFS Amino DHT](https://blog.ipfs.tech/2023-09-amino-refactoring/) and the [cid.contact](https://cid.contact) indexer (IPNI) node.\n\nFor more details, run `someguy start --help`.\n\n### Client\n\nTo query an existing server without running one yourself, use `someguy ask \u003csubcommand\u003e` to look up a provider, peer, or IPNS record.\n\nFor more details, run `someguy ask --help`.\n\n### AutoConf\n\nAutomatic configuration of bootstrap peers and delegated routing endpoints. When enabled (default), Someguy replaces the `auto` placeholder with network-recommended values fetched from a remote URL.\n\nConfiguration:\n- `--autoconf` / [`SOMEGUY_AUTOCONF`](docs/environment-variables.md#someguy_autoconf)\n- `--autoconf-url` / [`SOMEGUY_AUTOCONF_URL`](docs/environment-variables.md#someguy_autoconf_url)\n- `--autoconf-refresh` / [`SOMEGUY_AUTOCONF_REFRESH`](docs/environment-variables.md#someguy_autoconf_refresh)\n\nEndpoint flags (default to `auto`):\n- `--provider-endpoints` / [`SOMEGUY_PROVIDER_ENDPOINTS`](docs/environment-variables.md#someguy_provider_endpoints)\n- `--peer-endpoints` / [`SOMEGUY_PEER_ENDPOINTS`](docs/environment-variables.md#someguy_peer_endpoints)\n- `--ipns-endpoints` / [`SOMEGUY_IPNS_ENDPOINTS`](docs/environment-variables.md#someguy_ipns_endpoints)\n\nTo use custom endpoints instead of `auto`:\n```bash\nsomeguy start --ipns-endpoints https://example.com\n```\n\nSee [environment-variables.md](docs/environment-variables.md) for URL formats and configuration details.\n\n## Deployment\n\nFor self-hosting, run the [prebuilt Docker image](#docker).\n\n## Release\n\n1. Create a PR from branch `release-vX.Y.Z` against `main` that:\n   1. Updates [`CHANGELOG.md`](CHANGELOG.md) with entries for the current release\n   2. Updates the [`version.json`](./version.json) file\n2. Once the release checker creates a draft release, copy-paste the changelog into the draft\n3. Merge the PR; the release workflow tags and publishes automatically\n\n## License\n\nDual-licensed under [MIT + Apache 2.0](LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipfs%2Fsomeguy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fipfs%2Fsomeguy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipfs%2Fsomeguy/lists"}