-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: support discovery of /tls/../ws|http providers #405
Conversation
I added a suggestion, but it seems like we could filter these multiaddrs with the The only problem I see with adding I'm reluctant with the proposed Solution B, because it changes the assumptions of IPIP-484 (treating filters as opaque strings) and introduces "magic". |
Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
We should probably apply these to https://github.com/ipfs/helia/blob/main/packages/helia/src/utils/libp2p-defaults.browser.ts#L66-L68 |
Fair enough – i've refactored this PR to do filtering on the client, by matching This will comingle both If this looks ok, we should ship it as a patch release to allow inbrowser.link fetch wikipedia and other websites from our collab cluster over bitswap+websockets:
|
@2color yes, if we don't fixup at server, helia defaults need to be updated to include - filterAddrs: ['https', 'webtransport', 'webrtc', 'webrtc-direct', 'wss']
+ filterAddrs: ['https', 'webtransport', 'webrtc', 'webrtc-direct', 'wss', 'tls'] |
Does enabling tls filter also return tcp tls multiaddr? That should get filtered if tcp is not enabled by js-libp2p but we might want to add |
@SgtPooki hm.. given protocols we have today, virtually every TLS multiaddr for WSS or HTTPS will be on top of TCP (I don't count UDP HTTP/3 as its not used by anyone in ecosystem today). |
* fix: remove auto-reload config and default to true (#319) * fix: remove auto-reload config and default to true * test: fix ci layout test * test: fix some playwright tests * test: fix firefox e2e tests * test: fix first-hit e2e tests * chore: code cleanup self review * deps(dev): bump playwright from 1.45.0 to 1.45.3 (#331) Bumps [playwright](https://github.com/microsoft/playwright) from 1.45.0 to 1.45.3. - [Release notes](https://github.com/microsoft/playwright/releases) - [Commits](microsoft/playwright@v1.45.0...v1.45.3) --- updated-dependencies: - dependency-name: playwright dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: build with esbuild, apply source maps (#392) * feat: use esbuild for building * feat: remove webpack * test: fix e2e tests * chore: remove timeout only required on my network * chore: remove copyfiles * chore: suggestions from self code review * fix: use code-splitting * fix: firefox doesn't like ESM service workers * fix: remove type in sw registration * feat: add git version into index.html --------- Co-authored-by: Daniel N <2color@users.noreply.github.com> * fix: service worker logs are visible again (#395) * fix: service worker logs are visible again * chore: self pr suggestion * fix: remove fonts from dist folder (#394) * fix: remove fonts from dist folder * chore: install http-server for playwright * fix: use more ipfs-sw prefixes (#396) * fix: use enable from @libp2p/logger (#398) * feat: add p2p retrieval option (#391) * feat: add config toggle for p2p retrieval * deps: add helia and bump verified fetch * feat: load p2p helia * chore: remove console.log * feat: try to make recursive gateways optional * fixup! feat: add config toggle for p2p retrieval * chore: aegir lint --fix * chore: install missing deps * feat: use esbuild for building * feat: remove webpack * test: fix e2e tests * chore: remove timeout only required on my network * chore: remove copyfiles * chore: suggestions from self code review * fix: gateways null when loading sw * fix: use code-splitting * fix: firefox doesn't like ESM service workers * fix: remove type in sw registration * feat: add git version into index.html * Revert "feat: try to make recursive gateways optional" This reverts commit eba97a4. * fix: bug returning an array with 1 el * ui: improve contrast for disabled toggle * feat: add granular config options * test: fix config layout test * deps: add missing deps * fix: unused deps * fix: make toggles smaller * fix: avoid setting defaults in inputs * feat: allow a single router for now * chore: rename to get verified fetch * feat: reorder config * feat: add additional title * fix: break config UI into sections * chore: output localhost as listening host * fix: allow multiple routers see #402 * fix: run validation onblur to allow editing * fix: log config as string otherwise it's not viewable in the console * feat: add ipip-484 filtering to delegated router * chore: more left padding on input section Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> --------- Co-authored-by: Daniel N <2color@users.noreply.github.com> Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com> * chore(main): release 1.4.0 (#334) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix: support discovery of /tls/../ws|http providers (#405) * fix: support direct retrieval from /tls/sni/../ws * fix: safelist multiaddrs with /tls * fix: include /tls/../http in addition to /https * chore: reference someguy issue --------- Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> * chore(main): release 1.4.1 (#407) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * deps: update helia and libp2p (#408) Co-authored-by: Daniel N <2color@users.noreply.github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Daniel N <2color@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Marcin Rataj <lidel@lidel.org>
* fix: remove auto-reload config and default to true (#319) * fix: remove auto-reload config and default to true * test: fix ci layout test * test: fix some playwright tests * test: fix firefox e2e tests * test: fix first-hit e2e tests * chore: code cleanup self review * deps(dev): bump playwright from 1.45.0 to 1.45.3 (#331) Bumps [playwright](https://github.com/microsoft/playwright) from 1.45.0 to 1.45.3. - [Release notes](https://github.com/microsoft/playwright/releases) - [Commits](microsoft/playwright@v1.45.0...v1.45.3) --- updated-dependencies: - dependency-name: playwright dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: build with esbuild, apply source maps (#392) * feat: use esbuild for building * feat: remove webpack * test: fix e2e tests * chore: remove timeout only required on my network * chore: remove copyfiles * chore: suggestions from self code review * fix: use code-splitting * fix: firefox doesn't like ESM service workers * fix: remove type in sw registration * feat: add git version into index.html --------- Co-authored-by: Daniel N <2color@users.noreply.github.com> * fix: service worker logs are visible again (#395) * fix: service worker logs are visible again * chore: self pr suggestion * fix: remove fonts from dist folder (#394) * fix: remove fonts from dist folder * chore: install http-server for playwright * fix: use more ipfs-sw prefixes (#396) * fix: use enable from @libp2p/logger (#398) * feat: add p2p retrieval option (#391) * feat: add config toggle for p2p retrieval * deps: add helia and bump verified fetch * feat: load p2p helia * chore: remove console.log * feat: try to make recursive gateways optional * fixup! feat: add config toggle for p2p retrieval * chore: aegir lint --fix * chore: install missing deps * feat: use esbuild for building * feat: remove webpack * test: fix e2e tests * chore: remove timeout only required on my network * chore: remove copyfiles * chore: suggestions from self code review * fix: gateways null when loading sw * fix: use code-splitting * fix: firefox doesn't like ESM service workers * fix: remove type in sw registration * feat: add git version into index.html * Revert "feat: try to make recursive gateways optional" This reverts commit eba97a4. * fix: bug returning an array with 1 el * ui: improve contrast for disabled toggle * feat: add granular config options * test: fix config layout test * deps: add missing deps * fix: unused deps * fix: make toggles smaller * fix: avoid setting defaults in inputs * feat: allow a single router for now * chore: rename to get verified fetch * feat: reorder config * feat: add additional title * fix: break config UI into sections * chore: output localhost as listening host * fix: allow multiple routers see https://github.com/ipfs/service-worker-gateway/discussions/402 * fix: run validation onblur to allow editing * fix: log config as string otherwise it's not viewable in the console * feat: add ipip-484 filtering to delegated router * chore: more left padding on input section Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> --------- Co-authored-by: Daniel N <2color@users.noreply.github.com> Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com> * chore(main): release 1.4.0 (#334) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix: support discovery of /tls/../ws|http providers (#405) * fix: support direct retrieval from /tls/sni/../ws * fix: safelist multiaddrs with /tls * fix: include /tls/../http in addition to /https * chore: reference someguy issue --------- Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> * chore(main): release 1.4.1 (#407) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * deps: update helia and libp2p (#408) Co-authored-by: Daniel N <2color@users.noreply.github.com> * fix: force use of latest multiaddr-to-uri (#409) * fix: force use of latest multiaddr-to-uri * chore: don't specify latest multiaddr-to-uri in package.json * fix: apply dns resolvers corectly (#412) Co-authored-by: Daniel N <2color@users.noreply.github.com> * deps: update kubo-rpc-client (#417) * chore: auto-pr workflow for staging/prod PRs * chore: fix auto-release-pr workflow * chore: fix auto-release-pr workflow PR titles --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Daniel N <2color@users.noreply.github.com> Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Marcin Rataj <lidel@lidel.org>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> chore: Merge staging into production (#420) * fix: remove auto-reload config and default to true (#319) * fix: remove auto-reload config and default to true * test: fix ci layout test * test: fix some playwright tests * test: fix firefox e2e tests * test: fix first-hit e2e tests * chore: code cleanup self review * deps(dev): bump playwright from 1.45.0 to 1.45.3 (#331) Bumps [playwright](https://github.com/microsoft/playwright) from 1.45.0 to 1.45.3. - [Release notes](https://github.com/microsoft/playwright/releases) - [Commits](microsoft/playwright@v1.45.0...v1.45.3) --- updated-dependencies: - dependency-name: playwright dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: build with esbuild, apply source maps (#392) * feat: use esbuild for building * feat: remove webpack * test: fix e2e tests * chore: remove timeout only required on my network * chore: remove copyfiles * chore: suggestions from self code review * fix: use code-splitting * fix: firefox doesn't like ESM service workers * fix: remove type in sw registration * feat: add git version into index.html --------- Co-authored-by: Daniel N <2color@users.noreply.github.com> * fix: service worker logs are visible again (#395) * fix: service worker logs are visible again * chore: self pr suggestion * fix: remove fonts from dist folder (#394) * fix: remove fonts from dist folder * chore: install http-server for playwright * fix: use more ipfs-sw prefixes (#396) * fix: use enable from @libp2p/logger (#398) * feat: add p2p retrieval option (#391) * feat: add config toggle for p2p retrieval * deps: add helia and bump verified fetch * feat: load p2p helia * chore: remove console.log * feat: try to make recursive gateways optional * fixup! feat: add config toggle for p2p retrieval * chore: aegir lint --fix * chore: install missing deps * feat: use esbuild for building * feat: remove webpack * test: fix e2e tests * chore: remove timeout only required on my network * chore: remove copyfiles * chore: suggestions from self code review * fix: gateways null when loading sw * fix: use code-splitting * fix: firefox doesn't like ESM service workers * fix: remove type in sw registration * feat: add git version into index.html * Revert "feat: try to make recursive gateways optional" This reverts commit eba97a4. * fix: bug returning an array with 1 el * ui: improve contrast for disabled toggle * feat: add granular config options * test: fix config layout test * deps: add missing deps * fix: unused deps * fix: make toggles smaller * fix: avoid setting defaults in inputs * feat: allow a single router for now * chore: rename to get verified fetch * feat: reorder config * feat: add additional title * fix: break config UI into sections * chore: output localhost as listening host * fix: allow multiple routers see #402 * fix: run validation onblur to allow editing * fix: log config as string otherwise it's not viewable in the console * feat: add ipip-484 filtering to delegated router * chore: more left padding on input section Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> --------- Co-authored-by: Daniel N <2color@users.noreply.github.com> Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com> * chore(main): release 1.4.0 (#334) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix: support discovery of /tls/../ws|http providers (#405) * fix: support direct retrieval from /tls/sni/../ws * fix: safelist multiaddrs with /tls * fix: include /tls/../http in addition to /https * chore: reference someguy issue --------- Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> * chore(main): release 1.4.1 (#407) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * deps: update helia and libp2p (#408) Co-authored-by: Daniel N <2color@users.noreply.github.com> * fix: force use of latest multiaddr-to-uri (#409) * fix: force use of latest multiaddr-to-uri * chore: don't specify latest multiaddr-to-uri in package.json * fix: apply dns resolvers corectly (#412) Co-authored-by: Daniel N <2color@users.noreply.github.com> * deps: update kubo-rpc-client (#417) * chore: auto-pr workflow for staging/prod PRs * chore: fix auto-release-pr workflow * chore: fix auto-release-pr workflow PR titles --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Daniel N <2color@users.noreply.github.com> Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Marcin Rataj <lidel@lidel.org>
* fix: remove auto-reload config and default to true (#319) * fix: remove auto-reload config and default to true * test: fix ci layout test * test: fix some playwright tests * test: fix firefox e2e tests * test: fix first-hit e2e tests * chore: code cleanup self review * deps(dev): bump playwright from 1.45.0 to 1.45.3 (#331) Bumps [playwright](https://github.com/microsoft/playwright) from 1.45.0 to 1.45.3. - [Release notes](https://github.com/microsoft/playwright/releases) - [Commits](microsoft/playwright@v1.45.0...v1.45.3) --- updated-dependencies: - dependency-name: playwright dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: build with esbuild, apply source maps (#392) * feat: use esbuild for building * feat: remove webpack * test: fix e2e tests * chore: remove timeout only required on my network * chore: remove copyfiles * chore: suggestions from self code review * fix: use code-splitting * fix: firefox doesn't like ESM service workers * fix: remove type in sw registration * feat: add git version into index.html --------- Co-authored-by: Daniel N <2color@users.noreply.github.com> * fix: service worker logs are visible again (#395) * fix: service worker logs are visible again * chore: self pr suggestion * fix: remove fonts from dist folder (#394) * fix: remove fonts from dist folder * chore: install http-server for playwright * fix: use more ipfs-sw prefixes (#396) * fix: use enable from @libp2p/logger (#398) * feat: add p2p retrieval option (#391) * feat: add config toggle for p2p retrieval * deps: add helia and bump verified fetch * feat: load p2p helia * chore: remove console.log * feat: try to make recursive gateways optional * fixup! feat: add config toggle for p2p retrieval * chore: aegir lint --fix * chore: install missing deps * feat: use esbuild for building * feat: remove webpack * test: fix e2e tests * chore: remove timeout only required on my network * chore: remove copyfiles * chore: suggestions from self code review * fix: gateways null when loading sw * fix: use code-splitting * fix: firefox doesn't like ESM service workers * fix: remove type in sw registration * feat: add git version into index.html * Revert "feat: try to make recursive gateways optional" This reverts commit eba97a4. * fix: bug returning an array with 1 el * ui: improve contrast for disabled toggle * feat: add granular config options * test: fix config layout test * deps: add missing deps * fix: unused deps * fix: make toggles smaller * fix: avoid setting defaults in inputs * feat: allow a single router for now * chore: rename to get verified fetch * feat: reorder config * feat: add additional title * fix: break config UI into sections * chore: output localhost as listening host * fix: allow multiple routers see #402 * fix: run validation onblur to allow editing * fix: log config as string otherwise it's not viewable in the console * feat: add ipip-484 filtering to delegated router * chore: more left padding on input section Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> --------- Co-authored-by: Daniel N <2color@users.noreply.github.com> Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com> * chore(main): release 1.4.0 (#334) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix: support discovery of /tls/../ws|http providers (#405) * fix: support direct retrieval from /tls/sni/../ws * fix: safelist multiaddrs with /tls * fix: include /tls/../http in addition to /https * chore: reference someguy issue --------- Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> * chore(main): release 1.4.1 (#407) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * deps: update helia and libp2p (#408) Co-authored-by: Daniel N <2color@users.noreply.github.com> * fix: force use of latest multiaddr-to-uri (#409) * fix: force use of latest multiaddr-to-uri * chore: don't specify latest multiaddr-to-uri in package.json * fix: apply dns resolvers corectly (#412) Co-authored-by: Daniel N <2color@users.noreply.github.com> * deps: update kubo-rpc-client (#417) * chore: auto-pr workflow for staging/prod PRs * chore: fix auto-release-pr workflow * chore: fix auto-release-pr workflow PR titles * feat: add blake3 hasher (#421) * feat: add blake3 hasher * chore: add comment about code --------- Co-authored-by: Daniel N <2color@users.noreply.github.com> * deps(dev): bump rimraf from 5.0.7 to 6.0.1 (#324) Bumps [rimraf](https://github.com/isaacs/rimraf) from 5.0.7 to 6.0.1. - [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md) - [Commits](isaacs/rimraf@v5.0.7...v6.0.1) --- updated-dependencies: - dependency-name: rimraf dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: release PRs use exact commits and linear history * chore: attempt to point release branches at tags * chore: enable workflow dispatch for auto-release-pr * chore(main): release 1.5.0 (#410) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore: replace set-output with GITHUB_OUTPUT see https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/\#examples * chore: auto-release-pr triggers on new tags * chore: remove branch check and put tag name in pr * chore: do not force push to staging or prod on every tag... * chore: ensure the base branch is set in auto-release-pr * deps: bump multiformats from 13.3.0 to 13.3.1 (#416) Bumps [multiformats](https://github.com/multiformats/js-multiformats) from 13.3.0 to 13.3.1. - [Release notes](https://github.com/multiformats/js-multiformats/releases) - [Changelog](https://github.com/multiformats/js-multiformats/blob/master/CHANGELOG.md) - [Commits](multiformats/js-multiformats@v13.3.0...v13.3.1) --- updated-dependencies: - dependency-name: multiformats dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * deps(dev): bump kubo from 0.27.0 to 0.31.0 (#390) Bumps [kubo](https://github.com/ipfs/npm-kubo) from 0.27.0 to 0.31.0. - [Commits](ipfs/npm-kubo@v0.27.0...v0.31.0) --- updated-dependencies: - dependency-name: kubo dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: delegated routing request deduplication and caching Bumps [@helia/delegated-routing-v1-http-api-client](https://github.com/ipfs/helia-delegated-routing-v1-http-api) from 4.1.1 to 4.2.0. - [Release notes](https://github.com/ipfs/helia-delegated-routing-v1-http-api/releases) - [Changelog](https://github.com/ipfs/helia-delegated-routing-v1-http-api/blob/main/CHANGELOG.md) - [Commits](https://github.com/ipfs/helia-delegated-routing-v1-http-api/compare/@helia/delegated-routing-v1-http-api-client-4.1.1...@helia/delegated-routing-v1-http-api-client-4.2.0) --- updated-dependencies: - dependency-name: "@helia/delegated-routing-v1-http-api-client" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(main): release 1.6.0 (#436) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> chore: Merge staging into production (#420) * fix: remove auto-reload config and default to true (#319) * fix: remove auto-reload config and default to true * test: fix ci layout test * test: fix some playwright tests * test: fix firefox e2e tests * test: fix first-hit e2e tests * chore: code cleanup self review * deps(dev): bump playwright from 1.45.0 to 1.45.3 (#331) Bumps [playwright](https://github.com/microsoft/playwright) from 1.45.0 to 1.45.3. - [Release notes](https://github.com/microsoft/playwright/releases) - [Commits](microsoft/playwright@v1.45.0...v1.45.3) --- updated-dependencies: - dependency-name: playwright dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: build with esbuild, apply source maps (#392) * feat: use esbuild for building * feat: remove webpack * test: fix e2e tests * chore: remove timeout only required on my network * chore: remove copyfiles * chore: suggestions from self code review * fix: use code-splitting * fix: firefox doesn't like ESM service workers * fix: remove type in sw registration * feat: add git version into index.html --------- Co-authored-by: Daniel N <2color@users.noreply.github.com> * fix: service worker logs are visible again (#395) * fix: service worker logs are visible again * chore: self pr suggestion * fix: remove fonts from dist folder (#394) * fix: remove fonts from dist folder * chore: install http-server for playwright * fix: use more ipfs-sw prefixes (#396) * fix: use enable from @libp2p/logger (#398) * feat: add p2p retrieval option (#391) * feat: add config toggle for p2p retrieval * deps: add helia and bump verified fetch * feat: load p2p helia * chore: remove console.log * feat: try to make recursive gateways optional * fixup! feat: add config toggle for p2p retrieval * chore: aegir lint --fix * chore: install missing deps * feat: use esbuild for building * feat: remove webpack * test: fix e2e tests * chore: remove timeout only required on my network * chore: remove copyfiles * chore: suggestions from self code review * fix: gateways null when loading sw * fix: use code-splitting * fix: firefox doesn't like ESM service workers * fix: remove type in sw registration * feat: add git version into index.html * Revert "feat: try to make recursive gateways optional" This reverts commit eba97a4. * fix: bug returning an array with 1 el * ui: improve contrast for disabled toggle * feat: add granular config options * test: fix config layout test * deps: add missing deps * fix: unused deps * fix: make toggles smaller * fix: avoid setting defaults in inputs * feat: allow a single router for now * chore: rename to get verified fetch * feat: reorder config * feat: add additional title * fix: break config UI into sections * chore: output localhost as listening host * fix: allow multiple routers see #402 * fix: run validation onblur to allow editing * fix: log config as string otherwise it's not viewable in the console * feat: add ipip-484 filtering to delegated router * chore: more left padding on input section Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> --------- Co-authored-by: Daniel N <2color@users.noreply.github.com> Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com> * chore(main): release 1.4.0 (#334) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix: support discovery of /tls/../ws|http providers (#405) * fix: support direct retrieval from /tls/sni/../ws * fix: safelist multiaddrs with /tls * fix: include /tls/../http in addition to /https * chore: reference someguy issue --------- Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> * chore(main): release 1.4.1 (#407) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * deps: update helia and libp2p (#408) Co-authored-by: Daniel N <2color@users.noreply.github.com> * fix: force use of latest multiaddr-to-uri (#409) * fix: force use of latest multiaddr-to-uri * chore: don't specify latest multiaddr-to-uri in package.json * fix: apply dns resolvers corectly (#412) Co-authored-by: Daniel N <2color@users.noreply.github.com> * deps: update kubo-rpc-client (#417) * chore: auto-pr workflow for staging/prod PRs * chore: fix auto-release-pr workflow * chore: fix auto-release-pr workflow PR titles --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Daniel N <2color@users.noreply.github.com> Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Marcin Rataj <lidel@lidel.org> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Daniel N <2color@users.noreply.github.com> Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Marcin Rataj <lidel@lidel.org>
Opening this to start discussion, this may not be the right fix, see "Solution (B)" below.
cc @SgtPooki @2color for feedback / ideas
Problem description
We already support DNS-dependent
/wss
like/dns4/sv15.bootstrap.libp2p.io/tcp/443/wss/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJ
, but we are filtering out/ip.../tls/sni/../ws
where DNS resolution is not required. Those will be all p2p-forge peers once we deploy it in Kubo in a few releases.Example:
/ip4/147.75.87.65/tcp/4002/tls/sni/147-75-87-65.k51qzi5uqu5dhb03btheentd9nmkaygwm4q3tfrm596s5thf1u87bc7gq0m2ia.libp2p.direct/ws/p2p/12D3KooWCrBiagtZMzpZePCr1tfBbrZTh4BRQf7JurRqNMRi8YHF
Solution TBD
Solution A (this PR)
This PR ensures we are not filtering them out. Compare:
curl -H 'accept: application/x-ndjson' 'https://delegated-ipfs.dev/routing/v1/providers/bafybeihn2f7lhumh4grizksi2fl233cyszqadkn424ptjajfenykpsaiw4?filter-addrs=wss'
with
curl -H 'accept: application/x-ndjson' 'https://delegated-ipfs.dev/routing/v1/providers/bafybeihn2f7lhumh4grizksi2fl233cyszqadkn424ptjajfenykpsaiw4?filter-addrs=ws,wss'
or
curl -H 'accept: application/x-ndjson' 'https://delegated-ipfs.dev/routing/v1/providers/bafybeihn2f7lhumh4grizksi2fl233cyszqadkn424ptjajfenykpsaiw4?filter-addrs=wss,tls'
This comes with assumption that js-libp2p is smart enough to only dial
/ws
that have/tls
, and skip / log error when dialing unencrypted ones, similar to trustless gateways being announced with/tls/.../http
If not, that has to be fixed upstream as well.
Feedback welcome. Alternative approach is (B) below.
Solution (B)
Augment
/routing/v1
implementation in boxo server (and someguy) and specs and make it clear that some filters have special meaning:wss
should also include/tls/../ws
https
should also include/tls/../http
This is kinda easy, we can deploy this fix next week.
This feels more future-proof. I'm leaning towards (B) because it shifts responsibility of "doing the right thing" to /routing/v1 endpoint, and ensures even poorly written clients (other than ones we maintain) that dont know about
/tls/..
variants get these results. But lmk your thoughts.