@libp2p/upnp-nat 3.0.0 → 3.0.1-5c4a79e5a
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-external-address.d.ts","sourceRoot":"","sources":["../../src/check-external-address.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAqB,MAAM,mBAAmB,CAAA;AACzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAIhE,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uBAAuB,CAAC,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3D;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;CAC/D;
|
|
1
|
+
{"version":3,"file":"check-external-address.d.ts","sourceRoot":"","sources":["../../src/check-external-address.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAqB,MAAM,mBAAmB,CAAA;AACzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAIhE,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uBAAuB,CAAC,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3D;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;CAC/D;AA0FD,wBAAgB,sBAAsB,CAAE,UAAU,EAAE,gCAAgC,EAAE,IAAI,EAAE,0BAA0B,GAAG,eAAe,CAEvI;AAED,wBAAgB,qBAAqB,CAAE,OAAO,EAAE,MAAM,GAAG,eAAe,CAIvE"}
|
|
@@ -21,7 +21,6 @@ class ExternalAddressChecker {
|
|
|
21
21
|
this.onExternalAddressChange = init.onExternalAddressChange;
|
|
22
22
|
this.started = false;
|
|
23
23
|
this.checkExternalAddress = this.checkExternalAddress.bind(this);
|
|
24
|
-
this.lastPublicIpPromise = pDefer();
|
|
25
24
|
this.check = repeatingTask(this.checkExternalAddress, init.interval ?? 30000, {
|
|
26
25
|
timeout: init.timeout ?? 10000,
|
|
27
26
|
runImmediately: true
|
|
@@ -45,7 +44,11 @@ class ExternalAddressChecker {
|
|
|
45
44
|
if (!this.started) {
|
|
46
45
|
throw new NotStartedError('Not started yet');
|
|
47
46
|
}
|
|
48
|
-
|
|
47
|
+
if (this.lastPublicIp != null) {
|
|
48
|
+
return this.lastPublicIp;
|
|
49
|
+
}
|
|
50
|
+
this.lastPublicIpPromise = pDefer();
|
|
51
|
+
return raceSignal(this.lastPublicIpPromise.promise, options?.signal, {
|
|
49
52
|
errorMessage: 'Requesting the public IP from the network gateway timed out - UPnP may not be enabled'
|
|
50
53
|
});
|
|
51
54
|
}
|
|
@@ -59,7 +62,7 @@ class ExternalAddressChecker {
|
|
|
59
62
|
this.onExternalAddressChange?.(externalAddress);
|
|
60
63
|
}
|
|
61
64
|
this.lastPublicIp = externalAddress;
|
|
62
|
-
this.lastPublicIpPromise
|
|
65
|
+
this.lastPublicIpPromise?.resolve(externalAddress);
|
|
63
66
|
}
|
|
64
67
|
catch (err) {
|
|
65
68
|
this.log.error('could not resolve external address - %e', err);
|
|
@@ -67,7 +70,7 @@ class ExternalAddressChecker {
|
|
|
67
70
|
// ignore the error if we've previously run successfully
|
|
68
71
|
return;
|
|
69
72
|
}
|
|
70
|
-
this.lastPublicIpPromise
|
|
73
|
+
this.lastPublicIpPromise?.reject(err);
|
|
71
74
|
}
|
|
72
75
|
}
|
|
73
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-external-address.js","sourceRoot":"","sources":["../../src/check-external-address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAuBxC;;GAEG;AACH,MAAM,sBAAsB;IACT,GAAG,CAAQ;IACX,OAAO,CAAS;IAChB,cAAc,CAAgB;IACvC,OAAO,CAAS;IAChB,YAAY,CAAS;
|
|
1
|
+
{"version":3,"file":"check-external-address.js","sourceRoot":"","sources":["../../src/check-external-address.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/upnp-nat",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1-5c4a79e5a",
|
|
4
4
|
"description": "UPnP NAT hole punching",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/upnp-nat#readme",
|
|
@@ -52,18 +52,18 @@
|
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@achingbrain/nat-port-mapper": "^4.0.0",
|
|
54
54
|
"@chainsafe/is-ip": "^2.0.2",
|
|
55
|
-
"@libp2p/interface": "
|
|
56
|
-
"@libp2p/interface-internal": "
|
|
57
|
-
"@libp2p/utils": "
|
|
55
|
+
"@libp2p/interface": "2.3.0-5c4a79e5a",
|
|
56
|
+
"@libp2p/interface-internal": "2.2.0-5c4a79e5a",
|
|
57
|
+
"@libp2p/utils": "6.3.0-5c4a79e5a",
|
|
58
58
|
"@multiformats/multiaddr": "^12.3.3",
|
|
59
59
|
"@multiformats/multiaddr-matcher": "^1.6.0",
|
|
60
60
|
"p-defer": "^4.0.1",
|
|
61
61
|
"race-signal": "^1.1.0"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
|
-
"@libp2p/crypto": "
|
|
65
|
-
"@libp2p/logger": "
|
|
66
|
-
"@libp2p/peer-id": "
|
|
64
|
+
"@libp2p/crypto": "5.0.8-5c4a79e5a",
|
|
65
|
+
"@libp2p/logger": "5.1.5-5c4a79e5a",
|
|
66
|
+
"@libp2p/peer-id": "5.0.9-5c4a79e5a",
|
|
67
67
|
"aegir": "^45.0.5",
|
|
68
68
|
"sinon-ts": "^2.0.0"
|
|
69
69
|
},
|
|
@@ -33,7 +33,7 @@ class ExternalAddressChecker implements ExternalAddress, Startable {
|
|
|
33
33
|
private readonly addressManager: AddressManager
|
|
34
34
|
private started: boolean
|
|
35
35
|
private lastPublicIp?: string
|
|
36
|
-
private
|
|
36
|
+
private lastPublicIpPromise?: DeferredPromise<string>
|
|
37
37
|
private readonly check: RepeatingTask
|
|
38
38
|
private readonly onExternalAddressChange?: (newExternalAddress: string) => void
|
|
39
39
|
|
|
@@ -46,8 +46,6 @@ class ExternalAddressChecker implements ExternalAddress, Startable {
|
|
|
46
46
|
|
|
47
47
|
this.checkExternalAddress = this.checkExternalAddress.bind(this)
|
|
48
48
|
|
|
49
|
-
this.lastPublicIpPromise = pDefer()
|
|
50
|
-
|
|
51
49
|
this.check = repeatingTask(this.checkExternalAddress, init.interval ?? 30000, {
|
|
52
50
|
timeout: init.timeout ?? 10000,
|
|
53
51
|
runImmediately: true
|
|
@@ -76,7 +74,13 @@ class ExternalAddressChecker implements ExternalAddress, Startable {
|
|
|
76
74
|
throw new NotStartedError('Not started yet')
|
|
77
75
|
}
|
|
78
76
|
|
|
79
|
-
|
|
77
|
+
if (this.lastPublicIp != null) {
|
|
78
|
+
return this.lastPublicIp
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
this.lastPublicIpPromise = pDefer()
|
|
82
|
+
|
|
83
|
+
return raceSignal(this.lastPublicIpPromise.promise, options?.signal, {
|
|
80
84
|
errorMessage: 'Requesting the public IP from the network gateway timed out - UPnP may not be enabled'
|
|
81
85
|
})
|
|
82
86
|
}
|
|
@@ -94,7 +98,7 @@ class ExternalAddressChecker implements ExternalAddress, Startable {
|
|
|
94
98
|
}
|
|
95
99
|
|
|
96
100
|
this.lastPublicIp = externalAddress
|
|
97
|
-
this.lastPublicIpPromise
|
|
101
|
+
this.lastPublicIpPromise?.resolve(externalAddress)
|
|
98
102
|
} catch (err: any) {
|
|
99
103
|
this.log.error('could not resolve external address - %e', err)
|
|
100
104
|
|
|
@@ -103,7 +107,7 @@ class ExternalAddressChecker implements ExternalAddress, Startable {
|
|
|
103
107
|
return
|
|
104
108
|
}
|
|
105
109
|
|
|
106
|
-
this.lastPublicIpPromise
|
|
110
|
+
this.lastPublicIpPromise?.reject(err)
|
|
107
111
|
}
|
|
108
112
|
}
|
|
109
113
|
}
|
package/dist/typedoc-urls.json
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"PMPOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_upnp_nat.PMPOptions.html",
|
|
3
|
-
".:PMPOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_upnp_nat.PMPOptions.html",
|
|
4
|
-
"UPnPNAT": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_upnp_nat.UPnPNAT.html",
|
|
5
|
-
".:UPnPNAT": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_upnp_nat.UPnPNAT.html",
|
|
6
|
-
"UPnPNATComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_upnp_nat.UPnPNATComponents.html",
|
|
7
|
-
".:UPnPNATComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_upnp_nat.UPnPNATComponents.html",
|
|
8
|
-
"UPnPNATInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_upnp_nat.UPnPNATInit.html",
|
|
9
|
-
".:UPnPNATInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_upnp_nat.UPnPNATInit.html",
|
|
10
|
-
"uPnPNAT": "https://libp2p.github.io/js-libp2p/functions/_libp2p_upnp_nat.uPnPNAT-1.html",
|
|
11
|
-
".:uPnPNAT": "https://libp2p.github.io/js-libp2p/functions/_libp2p_upnp_nat.uPnPNAT-1.html"
|
|
12
|
-
}
|