libp2p 2.3.0 → 2.3.1-6ddc1b80e

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.
@@ -8,17 +8,21 @@ export interface AddressManagerInit {
8
8
  */
9
9
  announceFilter?: AddressFilter;
10
10
  /**
11
- * list of multiaddrs string representation to listen
11
+ * A list of string multiaddrs to listen on
12
12
  */
13
13
  listen?: string[];
14
14
  /**
15
- * list of multiaddrs string representation to announce
15
+ * A list of string multiaddrs to use instead of those reported by transports
16
16
  */
17
17
  announce?: string[];
18
18
  /**
19
- * list of multiaddrs string representation to never announce
19
+ * A list of string multiaddrs string to never announce
20
20
  */
21
21
  noAnnounce?: string[];
22
+ /**
23
+ * A list of string multiaddrs to add to the list of announced addresses
24
+ */
25
+ appendAnnounce?: string[];
22
26
  }
23
27
  export interface AddressManagerComponents {
24
28
  peerId: PeerId;
@@ -39,10 +43,11 @@ export declare class AddressManager implements AddressManagerInterface {
39
43
  private readonly components;
40
44
  private readonly listen;
41
45
  private readonly announce;
46
+ private readonly appendAnnounce;
42
47
  private readonly observed;
43
48
  private readonly announceFilter;
44
49
  private readonly ipDomainMappings;
45
- private readonly where;
50
+ private readonly publicAddressMappings;
46
51
  /**
47
52
  * Responsible for managing the peer addresses.
48
53
  * Peers can specify their listen and announce addresses.
@@ -60,6 +65,10 @@ export declare class AddressManager implements AddressManagerInterface {
60
65
  * Get peer announcing multiaddrs
61
66
  */
62
67
  getAnnounceAddrs(): Multiaddr[];
68
+ /**
69
+ * Get peer announcing multiaddrs
70
+ */
71
+ getAppendAnnounceAddrs(): Multiaddr[];
63
72
  /**
64
73
  * Get observed multiaddrs
65
74
  */
@@ -73,5 +82,7 @@ export declare class AddressManager implements AddressManagerInterface {
73
82
  getAddresses(): Multiaddr[];
74
83
  addDNSMapping(domain: string, addresses: string[]): void;
75
84
  removeDNSMapping(domain: string): void;
85
+ addPublicAddressMapping(internalIp: string, internalPort: number, externalIp: string, externalPort?: number, protocol?: 'tcp' | 'udp'): void;
86
+ removePublicAddressMapping(internalIp: string, internalPort: number, externalIp: string, externalPort?: number, protocol?: 'tcp' | 'udp'): void;
76
87
  }
77
88
  //# sourceMappingURL=address-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"address-manager.d.ts","sourceRoot":"","sources":["../../src/address-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAU,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACnH,OAAO,KAAK,EAAE,cAAc,IAAI,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,aAAa,CAAA;IAE9B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,eAAe,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAAA;CAClC;AAgCD,qBAAa,cAAe,YAAW,uBAAuB;IAC5D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsC;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IAEtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAE7B;;;;;OAKG;gBACU,UAAU,EAAE,wBAAwB,EAAE,IAAI,GAAE,kBAAuB;IA2BhF,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,6BAA4B;IAEzD,yBAAyB,IAAK,IAAI;IAwBlC;;OAEG;IACH,cAAc,IAAK,SAAS,EAAE;IAI9B;;OAEG;IACH,gBAAgB,IAAK,SAAS,EAAE;IAIhC;;OAEG;IACH,gBAAgB,IAAK,SAAS,EAAE;IAIhC;;OAEG;IACH,eAAe,CAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAcvC,mBAAmB,CAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAoB3C,kBAAkB,CAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAO1C,YAAY,IAAK,SAAS,EAAE;IA6F5B,aAAa,CAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAMzD,gBAAgB,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAOxC"}
1
+ {"version":3,"file":"address-manager.d.ts","sourceRoot":"","sources":["../../src/address-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAU,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACnH,OAAO,KAAK,EAAE,cAAc,IAAI,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,aAAa,CAAA;IAE9B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,eAAe,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAAA;CAClC;AAuCD,qBAAa,cAAe,YAAW,uBAAuB;IAC5D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAa;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsC;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IACtD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAqC;IAE3E;;;;;OAKG;gBACU,UAAU,EAAE,wBAAwB,EAAE,IAAI,GAAE,kBAAuB;IA2BhF,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,6BAA4B;IAEzD,yBAAyB,IAAK,IAAI;IAwBlC;;OAEG;IACH,cAAc,IAAK,SAAS,EAAE;IAI9B;;OAEG;IACH,gBAAgB,IAAK,SAAS,EAAE;IAIhC;;OAEG;IACH,sBAAsB,IAAK,SAAS,EAAE;IAItC;;OAEG;IACH,gBAAgB,IAAK,SAAS,EAAE;IAIhC;;OAEG;IACH,eAAe,CAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAcvC,mBAAmB,CAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAoB3C,kBAAkB,CAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAO1C,YAAY,IAAK,SAAS,EAAE;IAuI5B,aAAa,CAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAOzD,gBAAgB,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IASvC,uBAAuB,CAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAE,MAAqB,EAAE,QAAQ,GAAE,KAAK,GAAG,KAAa,GAAG,IAAI;IAWlK,0BAA0B,CAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAE,MAAqB,EAAE,QAAQ,GAAE,KAAK,GAAG,KAAa,GAAG,IAAI;CAYtK"}
@@ -21,16 +21,19 @@ const CODEC_IP4 = 0x04;
21
21
  const CODEC_IP6 = 0x29;
22
22
  const CODEC_DNS4 = 0x36;
23
23
  const CODEC_DNS6 = 0x37;
24
+ const CODEC_TCP = 0x06;
25
+ const CODEC_UDP = 0x0111;
24
26
  export class AddressManager {
25
27
  log;
26
28
  components;
27
29
  // this is an array to allow for duplicates, e.g. multiples of `/ip4/0.0.0.0/tcp/0`
28
30
  listen;
29
31
  announce;
32
+ appendAnnounce;
30
33
  observed;
31
34
  announceFilter;
32
35
  ipDomainMappings;
33
- where;
36
+ publicAddressMappings;
34
37
  /**
35
38
  * Responsible for managing the peer addresses.
36
39
  * Peers can specify their listen and announce addresses.
@@ -38,13 +41,15 @@ export class AddressManager {
38
41
  * while the announce addresses will be used for the peer addresses' to other peers in the network.
39
42
  */
40
43
  constructor(components, init = {}) {
41
- const { listen = [], announce = [] } = init;
44
+ const { listen = [], announce = [], appendAnnounce = [] } = init;
42
45
  this.components = components;
43
46
  this.log = components.logger.forComponent('libp2p:address-manager');
44
47
  this.listen = listen.map(ma => ma.toString());
45
48
  this.announce = new Set(announce.map(ma => ma.toString()));
49
+ this.appendAnnounce = new Set(appendAnnounce.map(ma => ma.toString()));
46
50
  this.observed = new Map();
47
51
  this.ipDomainMappings = new Map();
52
+ this.publicAddressMappings = new Map();
48
53
  this.announceFilter = init.announceFilter ?? defaultAddressFilter;
49
54
  // this method gets called repeatedly on startup when transports start listening so
50
55
  // debounce it so we don't cause multiple self:peer:update events to be emitted
@@ -57,7 +62,6 @@ export class AddressManager {
57
62
  components.events.addEventListener('transport:close', () => {
58
63
  this._updatePeerStoreAddresses();
59
64
  });
60
- this.where = new Error('where');
61
65
  }
62
66
  [Symbol.toStringTag] = '@libp2p/address-manager';
63
67
  _updatePeerStoreAddresses() {
@@ -91,6 +95,12 @@ export class AddressManager {
91
95
  getAnnounceAddrs() {
92
96
  return Array.from(this.announce).map((a) => multiaddr(a));
93
97
  }
98
+ /**
99
+ * Get peer announcing multiaddrs
100
+ */
101
+ getAppendAnnounceAddrs() {
102
+ return Array.from(this.appendAnnounce).map((a) => multiaddr(a));
103
+ }
94
104
  /**
95
105
  * Get observed multiaddrs
96
106
  */
@@ -137,15 +147,49 @@ export class AddressManager {
137
147
  // no configured announce addrs, add configured listen addresses
138
148
  multiaddrs = this.components.transportManager.getAddrs();
139
149
  }
140
- // add observed addresses we are confident in
141
150
  multiaddrs = multiaddrs
142
- .concat(Array.from(this.observed)
151
+ .concat(
152
+ // add additional announce addresses
153
+ ...this.getAppendAnnounceAddrs(),
154
+ // add observed addresses we are confident in
155
+ Array.from(this.observed)
143
156
  .filter(([ma, metadata]) => metadata.confident)
144
157
  .map(([ma]) => multiaddr(ma)));
145
- const mappedMultiaddrs = [];
158
+ // add public addresses
159
+ const ipMappedMultiaddrs = [];
160
+ multiaddrs.forEach(ma => {
161
+ const tuples = ma.stringTuples();
162
+ let tuple;
163
+ // see if the internal host/port/protocol tuple has been mapped externally
164
+ if ((tuples[0][0] === CODEC_IP4 || tuples[0][0] === CODEC_IP6) && tuples[1][0] === CODEC_TCP) {
165
+ tuple = `${tuples[0][1]}-${tuples[1][1]}-tcp`;
166
+ }
167
+ else if ((tuples[0][0] === CODEC_IP4 || tuples[0][0] === CODEC_IP6) && tuples[1][0] === CODEC_UDP) {
168
+ tuple = `${tuples[0][1]}-${tuples[1][1]}-udp`;
169
+ }
170
+ if (tuple == null) {
171
+ return;
172
+ }
173
+ const mappings = this.publicAddressMappings.get(tuple);
174
+ if (mappings == null) {
175
+ return;
176
+ }
177
+ mappings.forEach(mapping => {
178
+ tuples[0][1] = mapping.externalIp;
179
+ tuples[1][1] = `${mapping.externalPort}`;
180
+ ipMappedMultiaddrs.push(multiaddr(`/${tuples.map(tuple => {
181
+ return [
182
+ protocols(tuple[0]).name,
183
+ tuple[1]
184
+ ].join('/');
185
+ }).join('/')}`));
186
+ });
187
+ });
188
+ multiaddrs = multiaddrs.concat(ipMappedMultiaddrs);
146
189
  // add ip->domain mappings
190
+ const dnsMappedMultiaddrs = [];
147
191
  for (const ma of multiaddrs) {
148
- const tuples = [...ma.stringTuples()];
192
+ const tuples = ma.stringTuples();
149
193
  let mappedIp = false;
150
194
  for (const [ip, domain] of this.ipDomainMappings.entries()) {
151
195
  for (let i = 0; i < tuples.length; i++) {
@@ -165,7 +209,7 @@ export class AddressManager {
165
209
  }
166
210
  }
167
211
  if (mappedIp) {
168
- mappedMultiaddrs.push(multiaddr(`/${tuples.map(tuple => {
212
+ dnsMappedMultiaddrs.push(multiaddr(`/${tuples.map(tuple => {
169
213
  return [
170
214
  protocols(tuple[0]).name,
171
215
  tuple[1]
@@ -173,7 +217,7 @@ export class AddressManager {
173
217
  }).join('/')}`));
174
218
  }
175
219
  }
176
- multiaddrs = multiaddrs.concat(mappedMultiaddrs);
220
+ multiaddrs = multiaddrs.concat(dnsMappedMultiaddrs);
177
221
  // dedupe multiaddrs
178
222
  const addrSet = new Set();
179
223
  multiaddrs = multiaddrs.filter(ma => {
@@ -200,15 +244,38 @@ export class AddressManager {
200
244
  }
201
245
  addDNSMapping(domain, addresses) {
202
246
  addresses.forEach(ip => {
247
+ this.log('add DNS mapping %s to %s', ip, domain);
203
248
  this.ipDomainMappings.set(ip, domain);
204
249
  });
205
250
  }
206
251
  removeDNSMapping(domain) {
207
252
  for (const [key, value] of this.ipDomainMappings.entries()) {
208
253
  if (value === domain) {
254
+ this.log('remove DNS mapping for %s', domain);
209
255
  this.ipDomainMappings.delete(key);
210
256
  }
211
257
  }
212
258
  }
259
+ addPublicAddressMapping(internalIp, internalPort, externalIp, externalPort = internalPort, protocol = 'tcp') {
260
+ const key = `${internalIp}-${internalPort}-${protocol}`;
261
+ const mappings = this.publicAddressMappings.get(key) ?? [];
262
+ mappings.push({
263
+ externalIp,
264
+ externalPort
265
+ });
266
+ this.publicAddressMappings.set(key, mappings);
267
+ }
268
+ removePublicAddressMapping(internalIp, internalPort, externalIp, externalPort = internalPort, protocol = 'tcp') {
269
+ const key = `${internalIp}-${internalPort}-${protocol}`;
270
+ const mappings = (this.publicAddressMappings.get(key) ?? []).filter(mapping => {
271
+ return mapping.externalIp !== externalIp && mapping.externalPort !== externalPort;
272
+ });
273
+ if (mappings.length === 0) {
274
+ this.publicAddressMappings.delete(key);
275
+ }
276
+ else {
277
+ this.publicAddressMappings.set(key, mappings);
278
+ }
279
+ }
213
280
  }
214
281
  //# sourceMappingURL=address-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"address-manager.js","sourceRoot":"","sources":["../../src/address-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"address-manager.js","sourceRoot":"","sources":["../../src/address-manager.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const version = "2.3.0";
1
+ export declare const version = "2.3.1-6ddc1b80e";
2
2
  export declare const name = "libp2p";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAA;AAC9B,eAAO,MAAM,IAAI,WAAW,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,oBAAoB,CAAA;AACxC,eAAO,MAAM,IAAI,WAAW,CAAA"}
@@ -1,3 +1,3 @@
1
- export const version = '2.3.0';
1
+ export const version = '2.3.1-6ddc1b80e';
2
2
  export const name = 'libp2p';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAA;AAC9B,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAA;AACxC,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "libp2p",
3
- "version": "2.3.0",
3
+ "version": "2.3.1-6ddc1b80e",
4
4
  "description": "JavaScript implementation of libp2p, a modular peer to peer network stack",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/libp2p#readme",
@@ -85,15 +85,15 @@
85
85
  "test:webkit": "aegir test -t browser -- --browser webkit"
86
86
  },
87
87
  "dependencies": {
88
- "@libp2p/crypto": "^5.0.6",
89
- "@libp2p/interface": "^2.2.0",
90
- "@libp2p/interface-internal": "^2.1.0",
91
- "@libp2p/logger": "^5.1.3",
92
- "@libp2p/multistream-select": "^6.0.8",
93
- "@libp2p/peer-collections": "^6.0.11",
94
- "@libp2p/peer-id": "^5.0.7",
95
- "@libp2p/peer-store": "^11.0.11",
96
- "@libp2p/utils": "^6.2.0",
88
+ "@libp2p/crypto": "5.0.7-6ddc1b80e",
89
+ "@libp2p/interface": "2.2.1-6ddc1b80e",
90
+ "@libp2p/interface-internal": "2.1.1-6ddc1b80e",
91
+ "@libp2p/logger": "5.1.4-6ddc1b80e",
92
+ "@libp2p/multistream-select": "6.0.9-6ddc1b80e",
93
+ "@libp2p/peer-collections": "6.0.12-6ddc1b80e",
94
+ "@libp2p/peer-id": "5.0.8-6ddc1b80e",
95
+ "@libp2p/peer-store": "11.0.12-6ddc1b80e",
96
+ "@libp2p/utils": "6.2.1-6ddc1b80e",
97
97
  "@multiformats/dns": "^1.0.6",
98
98
  "@multiformats/multiaddr": "^12.2.3",
99
99
  "@multiformats/multiaddr-matcher": "^1.2.1",
@@ -13,19 +13,24 @@ export interface AddressManagerInit {
13
13
  announceFilter?: AddressFilter
14
14
 
15
15
  /**
16
- * list of multiaddrs string representation to listen
16
+ * A list of string multiaddrs to listen on
17
17
  */
18
18
  listen?: string[]
19
19
 
20
20
  /**
21
- * list of multiaddrs string representation to announce
21
+ * A list of string multiaddrs to use instead of those reported by transports
22
22
  */
23
23
  announce?: string[]
24
24
 
25
25
  /**
26
- * list of multiaddrs string representation to never announce
26
+ * A list of string multiaddrs string to never announce
27
27
  */
28
28
  noAnnounce?: string[]
29
+
30
+ /**
31
+ * A list of string multiaddrs to add to the list of announced addresses
32
+ */
33
+ appendAnnounce?: string[]
29
34
  }
30
35
 
31
36
  export interface AddressManagerComponents {
@@ -73,6 +78,13 @@ const CODEC_IP4 = 0x04
73
78
  const CODEC_IP6 = 0x29
74
79
  const CODEC_DNS4 = 0x36
75
80
  const CODEC_DNS6 = 0x37
81
+ const CODEC_TCP = 0x06
82
+ const CODEC_UDP = 0x0111
83
+
84
+ interface PublicAddressMapping {
85
+ externalIp: string
86
+ externalPort: number
87
+ }
76
88
 
77
89
  export class AddressManager implements AddressManagerInterface {
78
90
  private readonly log: Logger
@@ -80,11 +92,11 @@ export class AddressManager implements AddressManagerInterface {
80
92
  // this is an array to allow for duplicates, e.g. multiples of `/ip4/0.0.0.0/tcp/0`
81
93
  private readonly listen: string[]
82
94
  private readonly announce: Set<string>
95
+ private readonly appendAnnounce: Set<string>
83
96
  private readonly observed: Map<string, ObservedAddressMetadata>
84
97
  private readonly announceFilter: AddressFilter
85
98
  private readonly ipDomainMappings: Map<string, string>
86
-
87
- private readonly where: Error
99
+ private readonly publicAddressMappings: Map<string, PublicAddressMapping[]>
88
100
 
89
101
  /**
90
102
  * Responsible for managing the peer addresses.
@@ -93,14 +105,16 @@ export class AddressManager implements AddressManagerInterface {
93
105
  * while the announce addresses will be used for the peer addresses' to other peers in the network.
94
106
  */
95
107
  constructor (components: AddressManagerComponents, init: AddressManagerInit = {}) {
96
- const { listen = [], announce = [] } = init
108
+ const { listen = [], announce = [], appendAnnounce = [] } = init
97
109
 
98
110
  this.components = components
99
111
  this.log = components.logger.forComponent('libp2p:address-manager')
100
112
  this.listen = listen.map(ma => ma.toString())
101
113
  this.announce = new Set(announce.map(ma => ma.toString()))
114
+ this.appendAnnounce = new Set(appendAnnounce.map(ma => ma.toString()))
102
115
  this.observed = new Map()
103
116
  this.ipDomainMappings = new Map()
117
+ this.publicAddressMappings = new Map()
104
118
  this.announceFilter = init.announceFilter ?? defaultAddressFilter
105
119
 
106
120
  // this method gets called repeatedly on startup when transports start listening so
@@ -115,8 +129,6 @@ export class AddressManager implements AddressManagerInterface {
115
129
  components.events.addEventListener('transport:close', () => {
116
130
  this._updatePeerStoreAddresses()
117
131
  })
118
-
119
- this.where = new Error('where')
120
132
  }
121
133
 
122
134
  readonly [Symbol.toStringTag] = '@libp2p/address-manager'
@@ -159,6 +171,13 @@ export class AddressManager implements AddressManagerInterface {
159
171
  return Array.from(this.announce).map((a) => multiaddr(a))
160
172
  }
161
173
 
174
+ /**
175
+ * Get peer announcing multiaddrs
176
+ */
177
+ getAppendAnnounceAddrs (): Multiaddr[] {
178
+ return Array.from(this.appendAnnounce).map((a) => multiaddr(a))
179
+ }
180
+
162
181
  /**
163
182
  * Get observed multiaddrs
164
183
  */
@@ -218,19 +237,62 @@ export class AddressManager implements AddressManagerInterface {
218
237
  multiaddrs = this.components.transportManager.getAddrs()
219
238
  }
220
239
 
221
- // add observed addresses we are confident in
222
240
  multiaddrs = multiaddrs
223
241
  .concat(
242
+ // add additional announce addresses
243
+ ...this.getAppendAnnounceAddrs(),
244
+
245
+ // add observed addresses we are confident in
224
246
  Array.from(this.observed)
225
247
  .filter(([ma, metadata]) => metadata.confident)
226
248
  .map(([ma]) => multiaddr(ma))
227
249
  )
228
250
 
229
- const mappedMultiaddrs: Multiaddr[] = []
251
+ // add public addresses
252
+ const ipMappedMultiaddrs: Multiaddr[] = []
253
+ multiaddrs.forEach(ma => {
254
+ const tuples = ma.stringTuples()
255
+ let tuple: string | undefined
256
+
257
+ // see if the internal host/port/protocol tuple has been mapped externally
258
+ if ((tuples[0][0] === CODEC_IP4 || tuples[0][0] === CODEC_IP6) && tuples[1][0] === CODEC_TCP) {
259
+ tuple = `${tuples[0][1]}-${tuples[1][1]}-tcp`
260
+ } else if ((tuples[0][0] === CODEC_IP4 || tuples[0][0] === CODEC_IP6) && tuples[1][0] === CODEC_UDP) {
261
+ tuple = `${tuples[0][1]}-${tuples[1][1]}-udp`
262
+ }
263
+
264
+ if (tuple == null) {
265
+ return
266
+ }
267
+
268
+ const mappings = this.publicAddressMappings.get(tuple)
269
+
270
+ if (mappings == null) {
271
+ return
272
+ }
273
+
274
+ mappings.forEach(mapping => {
275
+ tuples[0][1] = mapping.externalIp
276
+ tuples[1][1] = `${mapping.externalPort}`
277
+
278
+ ipMappedMultiaddrs.push(
279
+ multiaddr(`/${
280
+ tuples.map(tuple => {
281
+ return [
282
+ protocols(tuple[0]).name,
283
+ tuple[1]
284
+ ].join('/')
285
+ }).join('/')
286
+ }`)
287
+ )
288
+ })
289
+ })
290
+ multiaddrs = multiaddrs.concat(ipMappedMultiaddrs)
230
291
 
231
292
  // add ip->domain mappings
293
+ const dnsMappedMultiaddrs: Multiaddr[] = []
232
294
  for (const ma of multiaddrs) {
233
- const tuples = [...ma.stringTuples()]
295
+ const tuples = ma.stringTuples()
234
296
  let mappedIp = false
235
297
 
236
298
  for (const [ip, domain] of this.ipDomainMappings.entries()) {
@@ -254,7 +316,7 @@ export class AddressManager implements AddressManagerInterface {
254
316
  }
255
317
 
256
318
  if (mappedIp) {
257
- mappedMultiaddrs.push(
319
+ dnsMappedMultiaddrs.push(
258
320
  multiaddr(`/${
259
321
  tuples.map(tuple => {
260
322
  return [
@@ -266,8 +328,7 @@ export class AddressManager implements AddressManagerInterface {
266
328
  )
267
329
  }
268
330
  }
269
-
270
- multiaddrs = multiaddrs.concat(mappedMultiaddrs)
331
+ multiaddrs = multiaddrs.concat(dnsMappedMultiaddrs)
271
332
 
272
333
  // dedupe multiaddrs
273
334
  const addrSet = new Set<string>()
@@ -305,6 +366,7 @@ export class AddressManager implements AddressManagerInterface {
305
366
 
306
367
  addDNSMapping (domain: string, addresses: string[]): void {
307
368
  addresses.forEach(ip => {
369
+ this.log('add DNS mapping %s to %s', ip, domain)
308
370
  this.ipDomainMappings.set(ip, domain)
309
371
  })
310
372
  }
@@ -312,8 +374,33 @@ export class AddressManager implements AddressManagerInterface {
312
374
  removeDNSMapping (domain: string): void {
313
375
  for (const [key, value] of this.ipDomainMappings.entries()) {
314
376
  if (value === domain) {
377
+ this.log('remove DNS mapping for %s', domain)
315
378
  this.ipDomainMappings.delete(key)
316
379
  }
317
380
  }
318
381
  }
382
+
383
+ addPublicAddressMapping (internalIp: string, internalPort: number, externalIp: string, externalPort: number = internalPort, protocol: 'tcp' | 'udp' = 'tcp'): void {
384
+ const key = `${internalIp}-${internalPort}-${protocol}`
385
+ const mappings = this.publicAddressMappings.get(key) ?? []
386
+ mappings.push({
387
+ externalIp,
388
+ externalPort
389
+ })
390
+
391
+ this.publicAddressMappings.set(key, mappings)
392
+ }
393
+
394
+ removePublicAddressMapping (internalIp: string, internalPort: number, externalIp: string, externalPort: number = internalPort, protocol: 'tcp' | 'udp' = 'tcp'): void {
395
+ const key = `${internalIp}-${internalPort}-${protocol}`
396
+ const mappings = (this.publicAddressMappings.get(key) ?? []).filter(mapping => {
397
+ return mapping.externalIp !== externalIp && mapping.externalPort !== externalPort
398
+ })
399
+
400
+ if (mappings.length === 0) {
401
+ this.publicAddressMappings.delete(key)
402
+ } else {
403
+ this.publicAddressMappings.set(key, mappings)
404
+ }
405
+ }
319
406
  }
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '2.3.0'
1
+ export const version = '2.3.1-6ddc1b80e'
2
2
  export const name = 'libp2p'
@@ -1,19 +0,0 @@
1
- {
2
- "AddressFilter": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.AddressFilter.html",
3
- "AddressManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.AddressManagerInit.html",
4
- "ConnectionManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.ConnectionManagerInit.html",
5
- "ConnectionMonitorInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.ConnectionMonitorInit.html",
6
- "Libp2pInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.Libp2pInit.html",
7
- ".:Libp2pInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.Libp2pInit.html",
8
- "TransportManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.TransportManagerInit.html",
9
- "Libp2pOptions": "https://libp2p.github.io/js-libp2p/types/libp2p.index.Libp2pOptions.html",
10
- ".:Libp2pOptions": "https://libp2p.github.io/js-libp2p/types/libp2p.index.Libp2pOptions.html",
11
- "ServiceFactoryMap": "https://libp2p.github.io/js-libp2p/types/libp2p.index.ServiceFactoryMap.html",
12
- ".:ServiceFactoryMap": "https://libp2p.github.io/js-libp2p/types/libp2p.index.ServiceFactoryMap.html",
13
- "createLibp2p": "https://libp2p.github.io/js-libp2p/functions/libp2p.index.createLibp2p.html",
14
- ".:createLibp2p": "https://libp2p.github.io/js-libp2p/functions/libp2p.index.createLibp2p.html",
15
- "name": "https://libp2p.github.io/js-libp2p/variables/libp2p.version.name.html",
16
- "./version:name": "https://libp2p.github.io/js-libp2p/variables/libp2p.version.name.html",
17
- "version": "https://libp2p.github.io/js-libp2p/variables/libp2p.version.version.html",
18
- "./version:version": "https://libp2p.github.io/js-libp2p/variables/libp2p.version.version.html"
19
- }