├── .aegir.js ├── .github ├── dependabot.yml └── workflows │ ├── automerge.yml │ ├── js-test-and-release.yml │ ├── semantic-pull-request.yml │ └── stale.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── package.json ├── src ├── constants.ts ├── content-fetching │ └── index.ts ├── content-routing │ └── index.ts ├── dual-kad-dht.ts ├── index.ts ├── kad-dht.ts ├── message │ ├── dht.proto │ ├── dht.ts │ └── index.ts ├── network.ts ├── peer-list │ ├── index.ts │ └── peer-distance-list.ts ├── peer-routing │ └── index.ts ├── providers.ts ├── query-self.ts ├── query │ ├── events.ts │ ├── manager.ts │ ├── query-path.ts │ └── types.ts ├── routing-table │ ├── generated-prefix-list-browser.ts │ ├── generated-prefix-list.ts │ ├── index.ts │ ├── k-bucket.ts │ └── refresh.ts ├── rpc │ ├── handlers │ │ ├── add-provider.ts │ │ ├── find-node.ts │ │ ├── get-providers.ts │ │ ├── get-value.ts │ │ ├── ping.ts │ │ └── put-value.ts │ └── index.ts ├── topology-listener.ts └── utils.ts ├── test ├── enable-server-mode.spec.ts ├── fixtures │ ├── msg-1 │ ├── msg-2 │ ├── msg-3 │ ├── msg-4 │ ├── msg-5 │ ├── msg-6 │ ├── msg-7 │ └── msg-8 ├── generate-peers │ ├── .gitignore │ ├── generate-peer.go │ └── generate-peers.node.ts ├── kad-dht.spec.ts ├── kad-utils.spec.ts ├── message.node.ts ├── message.spec.ts ├── multiple-nodes.spec.ts ├── network.spec.ts ├── peer-distance-list.spec.ts ├── peer-list.spec.ts ├── providers.node.ts ├── providers.spec.ts ├── query-self.spec.ts ├── query.spec.ts ├── routing-table.spec.ts ├── rpc │ ├── handlers │ │ ├── add-provider.spec.ts │ │ ├── find-node.spec.ts │ │ ├── get-providers.spec.ts │ │ ├── get-value.spec.ts │ │ ├── ping.spec.ts │ │ └── put-value.spec.ts │ └── index.node.ts └── utils │ ├── create-peer-id.ts │ ├── create-values.ts │ ├── index.ts │ ├── sort-closest-peers.ts │ └── test-dht.ts └── tsconfig.json /.aegir.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/.aegir.js -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/automerge.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/.github/workflows/automerge.yml -------------------------------------------------------------------------------- /.github/workflows/js-test-and-release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/.github/workflows/js-test-and-release.yml -------------------------------------------------------------------------------- /.github/workflows/semantic-pull-request.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/.github/workflows/semantic-pull-request.yml -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/.github/workflows/stale.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/LICENSE -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/LICENSE-APACHE -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/README.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/package.json -------------------------------------------------------------------------------- /src/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/constants.ts -------------------------------------------------------------------------------- /src/content-fetching/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/content-fetching/index.ts -------------------------------------------------------------------------------- /src/content-routing/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/content-routing/index.ts -------------------------------------------------------------------------------- /src/dual-kad-dht.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/dual-kad-dht.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/kad-dht.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/kad-dht.ts -------------------------------------------------------------------------------- /src/message/dht.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/message/dht.proto -------------------------------------------------------------------------------- /src/message/dht.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/message/dht.ts -------------------------------------------------------------------------------- /src/message/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/message/index.ts -------------------------------------------------------------------------------- /src/network.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/network.ts -------------------------------------------------------------------------------- /src/peer-list/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/peer-list/index.ts -------------------------------------------------------------------------------- /src/peer-list/peer-distance-list.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/peer-list/peer-distance-list.ts -------------------------------------------------------------------------------- /src/peer-routing/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/peer-routing/index.ts -------------------------------------------------------------------------------- /src/providers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/providers.ts -------------------------------------------------------------------------------- /src/query-self.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/query-self.ts -------------------------------------------------------------------------------- /src/query/events.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/query/events.ts -------------------------------------------------------------------------------- /src/query/manager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/query/manager.ts -------------------------------------------------------------------------------- /src/query/query-path.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/query/query-path.ts -------------------------------------------------------------------------------- /src/query/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/query/types.ts -------------------------------------------------------------------------------- /src/routing-table/generated-prefix-list-browser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/routing-table/generated-prefix-list-browser.ts -------------------------------------------------------------------------------- /src/routing-table/generated-prefix-list.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/routing-table/generated-prefix-list.ts -------------------------------------------------------------------------------- /src/routing-table/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/routing-table/index.ts -------------------------------------------------------------------------------- /src/routing-table/k-bucket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/routing-table/k-bucket.ts -------------------------------------------------------------------------------- /src/routing-table/refresh.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/routing-table/refresh.ts -------------------------------------------------------------------------------- /src/rpc/handlers/add-provider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/rpc/handlers/add-provider.ts -------------------------------------------------------------------------------- /src/rpc/handlers/find-node.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/rpc/handlers/find-node.ts -------------------------------------------------------------------------------- /src/rpc/handlers/get-providers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/rpc/handlers/get-providers.ts -------------------------------------------------------------------------------- /src/rpc/handlers/get-value.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/rpc/handlers/get-value.ts -------------------------------------------------------------------------------- /src/rpc/handlers/ping.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/rpc/handlers/ping.ts -------------------------------------------------------------------------------- /src/rpc/handlers/put-value.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/rpc/handlers/put-value.ts -------------------------------------------------------------------------------- /src/rpc/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/rpc/index.ts -------------------------------------------------------------------------------- /src/topology-listener.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/topology-listener.ts -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/src/utils.ts -------------------------------------------------------------------------------- /test/enable-server-mode.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/enable-server-mode.spec.ts -------------------------------------------------------------------------------- /test/fixtures/msg-1: -------------------------------------------------------------------------------- 1 | /v/helloP -------------------------------------------------------------------------------- /test/fixtures/msg-2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/fixtures/msg-2 -------------------------------------------------------------------------------- /test/fixtures/msg-3: -------------------------------------------------------------------------------- 1 | /v/helloP -------------------------------------------------------------------------------- /test/fixtures/msg-4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/fixtures/msg-4 -------------------------------------------------------------------------------- /test/fixtures/msg-5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/fixtures/msg-5 -------------------------------------------------------------------------------- /test/fixtures/msg-6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/fixtures/msg-6 -------------------------------------------------------------------------------- /test/fixtures/msg-7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/fixtures/msg-7 -------------------------------------------------------------------------------- /test/fixtures/msg-8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/fixtures/msg-8 -------------------------------------------------------------------------------- /test/generate-peers/.gitignore: -------------------------------------------------------------------------------- 1 | generate-peer 2 | -------------------------------------------------------------------------------- /test/generate-peers/generate-peer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/generate-peers/generate-peer.go -------------------------------------------------------------------------------- /test/generate-peers/generate-peers.node.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/generate-peers/generate-peers.node.ts -------------------------------------------------------------------------------- /test/kad-dht.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/kad-dht.spec.ts -------------------------------------------------------------------------------- /test/kad-utils.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/kad-utils.spec.ts -------------------------------------------------------------------------------- /test/message.node.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/message.node.ts -------------------------------------------------------------------------------- /test/message.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/message.spec.ts -------------------------------------------------------------------------------- /test/multiple-nodes.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/multiple-nodes.spec.ts -------------------------------------------------------------------------------- /test/network.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/network.spec.ts -------------------------------------------------------------------------------- /test/peer-distance-list.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/peer-distance-list.spec.ts -------------------------------------------------------------------------------- /test/peer-list.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/peer-list.spec.ts -------------------------------------------------------------------------------- /test/providers.node.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/providers.node.ts -------------------------------------------------------------------------------- /test/providers.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/providers.spec.ts -------------------------------------------------------------------------------- /test/query-self.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/query-self.spec.ts -------------------------------------------------------------------------------- /test/query.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/query.spec.ts -------------------------------------------------------------------------------- /test/routing-table.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/routing-table.spec.ts -------------------------------------------------------------------------------- /test/rpc/handlers/add-provider.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/rpc/handlers/add-provider.spec.ts -------------------------------------------------------------------------------- /test/rpc/handlers/find-node.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/rpc/handlers/find-node.spec.ts -------------------------------------------------------------------------------- /test/rpc/handlers/get-providers.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/rpc/handlers/get-providers.spec.ts -------------------------------------------------------------------------------- /test/rpc/handlers/get-value.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/rpc/handlers/get-value.spec.ts -------------------------------------------------------------------------------- /test/rpc/handlers/ping.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/rpc/handlers/ping.spec.ts -------------------------------------------------------------------------------- /test/rpc/handlers/put-value.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/rpc/handlers/put-value.spec.ts -------------------------------------------------------------------------------- /test/rpc/index.node.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/rpc/index.node.ts -------------------------------------------------------------------------------- /test/utils/create-peer-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/utils/create-peer-id.ts -------------------------------------------------------------------------------- /test/utils/create-values.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/utils/create-values.ts -------------------------------------------------------------------------------- /test/utils/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/utils/index.ts -------------------------------------------------------------------------------- /test/utils/sort-closest-peers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/utils/sort-closest-peers.ts -------------------------------------------------------------------------------- /test/utils/test-dht.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/test/utils/test-dht.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-kad-dht/HEAD/tsconfig.json --------------------------------------------------------------------------------