kubo/docs
Marcin Rataj 7de7af0820
feat(dns): skip DNS lookups for AutoTLS hostnames (#11140)
* feat(dns): resolve libp2p.direct addresses locally without network I/O

p2p-forge hostnames encode IP addresses directly (e.g., 1-2-3-4.peerID.libp2p.direct -> 1.2.3.4),
so DNS queries are wasteful. kubo now parses these IPs in-memory.

- applies to both default libp2p.direct and custom AutoTLS.DomainSuffix
- TXT queries still delegate to network for ACME DNS-01 compatibility

- https://github.com/ipfs/kubo/pull/11140#discussion_r2683477754
  use fallback to network DNS instead of returning errors when local
  parsing fails, ensuring forward compatibility with future DNS records

- https://github.com/ipfs/kubo/pull/11140#discussion_r2683512408
  add peerID validation using peer.Decode(), matching libp2p.direct
  server behavior, with fallback on invalid peerID

- https://github.com/ipfs/kubo/pull/11140#discussion_r2683521930
  document interaction with DNS.Resolvers in config.md

- https://github.com/ipfs/kubo/pull/11140#discussion_r2683526647
  add AutoTLS.SkipDNSLookup config flag to disable local resolution
  (useful for debugging or custom DNS override scenarios)

- https://github.com/ipfs/kubo/pull/11140#discussion_r2683533462
  add E2E test verifying libp2p.direct resolves locally even when
  DNS.Resolvers points to a broken server

additional improvements:
- use madns.BasicResolver interface instead of custom basicResolver
- add compile-time interface checks for p2pForgeResolver and madns.Resolver
- refactor tests: merge IPv4/IPv6, add helpers, use config.DefaultDomainSuffix
- improve changelog to explain public good benefit (reducing DNS load)

Fixes #11136
2026-01-30 17:20:56 +01:00
..
changelogs feat(dns): skip DNS lookups for AutoTLS hostnames (#11140) 2026-01-30 17:20:56 +01:00
examples Upgrade to Boxo v0.36.0 (#11175) 2026-01-27 15:51:01 -08:00
logo docs: kubo logo sources (#10964) 2025-09-09 15:01:52 +02:00
production doc: document reverse proxy bug 2020-06-15 17:01:40 -07:00
specifications Docs fix spelling issues (#10493) 2024-08-26 11:32:07 -07:00
add-code-flow.md Minor wording fixes in docs (#10822) 2025-05-30 15:14:37 -07:00
AUTHORS Updated authors doc 2016-08-18 11:54:48 -07:00
cli-http-api-core-diagram.png docs: README refresh, add cli-http-api-core diagram 2018-08-22 16:09:51 -07:00
command-completion.md feat: add zsh completions (#10040) 2023-08-17 16:43:27 +02:00
config.md feat(dns): skip DNS lookups for AutoTLS hostnames (#11140) 2026-01-30 17:20:56 +01:00
content-blocking.md chore: fix typos and comment formatting (#10653) 2025-01-06 18:17:39 -08:00
customizing.md docs(customizing.md): add kubo binary imports description 2023-12-19 19:52:50 -05:00
datastores.md Minor wording fixes in docs (#10822) 2025-05-30 15:14:37 -07:00
debug-guide.md docs:added GOLOG_LOG_LEVEL to debug-guide for logging more info (#10894) 2025-08-05 16:28:09 +02:00
delegated-routing.md docs: clarify Routing.Type=custom as experimental (#11111) 2026-01-11 00:39:30 +01:00
developer-certificate-of-origin Add developer certificate of origin document 2017-06-26 15:36:35 -07:00
developer-guide.md docs: add developer guide for local development workflow (#11128) 2026-01-07 17:09:13 +01:00
EARLY_TESTERS.md docs: update RELEASE_CHECKLIST.md (#10496) 2024-09-11 19:06:54 +02:00
environment-variables.md feat(config): AutoConf with "auto" placeholders (#10883) 2025-08-20 05:59:11 +02:00
experimental-features.md feat(pubsub): persistent validation and diagnostic commands (#11110) 2026-01-16 00:27:09 +01:00
file-transfer.md chore: fix typos and comment formatting (#10653) 2025-01-13 18:56:53 +01:00
fuse.md Update fuse docs with FreeBSD specifics (#10820) 2025-06-02 10:01:26 -07:00
gateway.md feat(config): add Gateway.MaxRequestDuration option (#11138) 2026-01-15 19:31:16 +01:00
generate-authors.sh added AUTHORS file 2015-02-11 07:42:21 -08:00
http-rpc-clients.md docs: updated links and refs to external resources (#10368) 2024-03-16 00:59:22 +01:00
implement-api-bindings.md Minor wording fixes in docs (#10822) 2025-05-30 15:14:37 -07:00
libp2p-resource-management.md Docs fix spelling issues (#10493) 2024-08-26 11:32:07 -07:00
metrics.md feat: enable DHT Provide Sweep by default (#10955) 2025-11-12 23:55:17 +01:00
p2p-tunnels.md feat(p2p): add --foreground flag to listen and forward commands (#11099) 2026-01-09 19:22:43 +01:00
plugins.md feat: telemetry plugin (#10866) 2025-08-18 20:46:05 +02:00
provide-stats.md docs: note sweep+accelerated DHT client limitation (#11084) 2025-11-28 23:10:56 +01:00
README.md docs: add developer guide for local development workflow (#11128) 2026-01-07 17:09:13 +01:00
RELEASE_CHECKLIST.md docs: update release checklist based on v0.38.0 learnings (#11007) 2025-10-09 03:27:20 +02:00
RELEASE_ISSUE_TEMPLATE.md docs: update RELEASE_CHECKLIST.md (#10496) 2024-09-11 19:06:54 +02:00
releases_thunderdome.md docs: update RELEASE_CHECKLIST.md (#10496) 2024-09-11 19:06:54 +02:00
releases.md Minor wording fixes in docs (#10822) 2025-05-30 15:14:37 -07:00
telemetry.md feat(telemetry): collect high level provide DHT sweep settings (#11056) 2025-11-13 01:28:15 +01:00
transports.md refactor: kubo in ./docs 2022-07-06 23:45:25 +02:00
windows.md docs: updated links and refs to external resources (#10368) 2024-03-16 00:59:22 +01:00

Developer Documentation and Guides

If you are looking for User Documentation & Guides, please visit docs.ipfs.tech or check General Documentation.

If youre experiencing an issue with IPFS, please follow our issue guide when filing an issue!

Otherwise, check out the following guides to using and developing IPFS:

General Documentation

Developing kubo

Guides

Advanced User Guides

Other