@peerkit/transport-libp2p-react-native 0.1.0-alpha.14 → 0.1.0-alpha.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/factories.d.ts.map +1 -1
- package/dist/factories.js +25 -2
- package/dist/factories.js.map +1 -1
- package/package.json +4 -3
- package/src/factories.ts +28 -1
package/dist/factories.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../src/factories.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../src/factories.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EACL,eAAe,EAEf,KAAK,WAAW,EACjB,MAAM,gCAAgC,CAAC;AAaxC;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,EAG/C,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACrC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,4BAgD1D"}
|
package/dist/factories.js
CHANGED
|
@@ -3,9 +3,19 @@ import { yamux } from "@chainsafe/libp2p-yamux";
|
|
|
3
3
|
import { circuitRelayTransport } from "@libp2p/circuit-relay-v2";
|
|
4
4
|
import { identify } from "@libp2p/identify";
|
|
5
5
|
import { webRTC, webRTCDirect } from "@libp2p/webrtc";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { dns } from "@multiformats/dns";
|
|
7
|
+
import { dnsJsonOverHttps } from "@multiformats/dns/resolvers";
|
|
8
|
+
import { TransportLibp2p, webRtcDirectDnsResolver, } from "@peerkit/transport-libp2p-core";
|
|
9
|
+
import { createLibp2p, dnsaddrResolver } from "libp2p";
|
|
8
10
|
import { quickCryptoNoise } from "./quick-crypto-noise.js";
|
|
11
|
+
/**
|
|
12
|
+
* Public DNS-over-HTTPS endpoints queried, in order, to resolve relay
|
|
13
|
+
* hostnames. Hermes has no `node:dns`, so name resolution must go over HTTPS.
|
|
14
|
+
*/
|
|
15
|
+
const DEFAULT_DOH_ENDPOINTS = [
|
|
16
|
+
"https://cloudflare-dns.com/dns-query",
|
|
17
|
+
"https://dns.google/resolve",
|
|
18
|
+
];
|
|
9
19
|
/**
|
|
10
20
|
* Default libp2p listen addresses for a React Native peerkit node.
|
|
11
21
|
*
|
|
@@ -57,6 +67,19 @@ export async function createNode(options) {
|
|
|
57
67
|
streamMuxers: [yamux()],
|
|
58
68
|
services: { identify: identify() },
|
|
59
69
|
connectionGater: options.connectionGater,
|
|
70
|
+
// Hermes has no node:dns, so resolve names over DNS-over-HTTPS.
|
|
71
|
+
dns: dns({
|
|
72
|
+
resolvers: {
|
|
73
|
+
".": DEFAULT_DOH_ENDPOINTS.map((endpoint) => dnsJsonOverHttps(endpoint)),
|
|
74
|
+
},
|
|
75
|
+
}),
|
|
76
|
+
connectionManager: {
|
|
77
|
+
// Providing resolvers replaces libp2p's default, so re-include dnsaddr.
|
|
78
|
+
resolvers: {
|
|
79
|
+
dnsaddr: dnsaddrResolver,
|
|
80
|
+
webRtcDirect: webRtcDirectDnsResolver,
|
|
81
|
+
},
|
|
82
|
+
},
|
|
60
83
|
addresses: {
|
|
61
84
|
listen: options.addrs ?? defaultNodeListenAddrs,
|
|
62
85
|
},
|
package/dist/factories.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factories.js","sourceRoot":"","sources":["../src/factories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"factories.js","sourceRoot":"","sources":["../src/factories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EACL,eAAe,EACf,uBAAuB,GAExB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;;GAGG;AACH,MAAM,qBAAqB,GAAsB;IAC/C,sCAAsC;IACtC,4BAA4B;CAC7B,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,cAAc;IACd,SAAS;CACV,CAAC;AAsCF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA0B;IACzD,mEAAmE;IACnE,kBAAkB;IAClB,MAAM,UAAU,GACd,OAAO,CAAC,aAAa;QACrB,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,GAAG;SACV,CAAC,CAAC,CAAC;IACN,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC;QACpC,oEAAoE;QACpE,wEAAwE;QACxE,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE;YACV,MAAM,CAAC,EAAE,gBAAgB,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC;YAC5C,YAAY,EAAE;YACd,qBAAqB,EAAE;SACxB;QACD,oBAAoB,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC3D,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC;QACvB,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QAClC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,gEAAgE;QAChE,GAAG,EAAE,GAAG,CAAC;YACP,SAAS,EAAE;gBACT,GAAG,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1C,gBAAgB,CAAC,QAAQ,CAAC,CAC3B;aACF;SACF,CAAC;QACF,iBAAiB,EAAE;YACjB,wEAAwE;YACxE,SAAS,EAAE;gBACT,OAAO,EAAE,eAAe;gBACxB,YAAY,EAAE,uBAAuB;aACtC;SACF;QACD,SAAS,EAAE;YACT,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,sBAAsB;SAChD;KACF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IACzB,uEAAuE;IACvE,6DAA6D;IAC7D,IAAI,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;QACpC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerkit/transport-libp2p-react-native",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.15",
|
|
4
4
|
"description": "React Native libp2p transport for peerkit",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"peerkit",
|
|
@@ -51,8 +51,9 @@
|
|
|
51
51
|
"@libp2p/circuit-relay-v2": "^4.2.3",
|
|
52
52
|
"@libp2p/identify": "^4.1.0",
|
|
53
53
|
"@libp2p/webrtc": "^6.0.23",
|
|
54
|
-
"@
|
|
55
|
-
"@peerkit/
|
|
54
|
+
"@multiformats/dns": "^1.0.13",
|
|
55
|
+
"@peerkit/api": "^0.1.0-alpha.15",
|
|
56
|
+
"@peerkit/transport-libp2p-core": "^0.1.0-alpha.15",
|
|
56
57
|
"libp2p": "^3.2.0"
|
|
57
58
|
},
|
|
58
59
|
"peerDependencies": {
|
package/src/factories.ts
CHANGED
|
@@ -4,14 +4,26 @@ import { circuitRelayTransport } from "@libp2p/circuit-relay-v2";
|
|
|
4
4
|
import { identify } from "@libp2p/identify";
|
|
5
5
|
import { webRTC, webRTCDirect } from "@libp2p/webrtc";
|
|
6
6
|
import type { ConnectionGater } from "@libp2p/interface";
|
|
7
|
+
import { dns } from "@multiformats/dns";
|
|
8
|
+
import { dnsJsonOverHttps } from "@multiformats/dns/resolvers";
|
|
7
9
|
import type { NodeAddress, RelayDialAddress } from "@peerkit/api";
|
|
8
10
|
import {
|
|
9
11
|
TransportLibp2p,
|
|
12
|
+
webRtcDirectDnsResolver,
|
|
10
13
|
type NodeOptions,
|
|
11
14
|
} from "@peerkit/transport-libp2p-core";
|
|
12
|
-
import { createLibp2p } from "libp2p";
|
|
15
|
+
import { createLibp2p, dnsaddrResolver } from "libp2p";
|
|
13
16
|
import { quickCryptoNoise } from "./quick-crypto-noise.js";
|
|
14
17
|
|
|
18
|
+
/**
|
|
19
|
+
* Public DNS-over-HTTPS endpoints queried, in order, to resolve relay
|
|
20
|
+
* hostnames. Hermes has no `node:dns`, so name resolution must go over HTTPS.
|
|
21
|
+
*/
|
|
22
|
+
const DEFAULT_DOH_ENDPOINTS: readonly string[] = [
|
|
23
|
+
"https://cloudflare-dns.com/dns-query",
|
|
24
|
+
"https://dns.google/resolve",
|
|
25
|
+
];
|
|
26
|
+
|
|
15
27
|
/**
|
|
16
28
|
* Default libp2p listen addresses for a React Native peerkit node.
|
|
17
29
|
*
|
|
@@ -101,6 +113,21 @@ export async function createNode(options: CreateNodeOptions) {
|
|
|
101
113
|
streamMuxers: [yamux()],
|
|
102
114
|
services: { identify: identify() },
|
|
103
115
|
connectionGater: options.connectionGater,
|
|
116
|
+
// Hermes has no node:dns, so resolve names over DNS-over-HTTPS.
|
|
117
|
+
dns: dns({
|
|
118
|
+
resolvers: {
|
|
119
|
+
".": DEFAULT_DOH_ENDPOINTS.map((endpoint) =>
|
|
120
|
+
dnsJsonOverHttps(endpoint),
|
|
121
|
+
),
|
|
122
|
+
},
|
|
123
|
+
}),
|
|
124
|
+
connectionManager: {
|
|
125
|
+
// Providing resolvers replaces libp2p's default, so re-include dnsaddr.
|
|
126
|
+
resolvers: {
|
|
127
|
+
dnsaddr: dnsaddrResolver,
|
|
128
|
+
webRtcDirect: webRtcDirectDnsResolver,
|
|
129
|
+
},
|
|
130
|
+
},
|
|
104
131
|
addresses: {
|
|
105
132
|
listen: options.addrs ?? defaultNodeListenAddrs,
|
|
106
133
|
},
|