{"_id":"@achingbrain/nat-port-mapper","_rev":"4647409","name":"@achingbrain/nat-port-mapper","description":"Port mapping with UPnP and NAT-PMP","dist-tags":{"latest":"4.0.5"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"time":{"modified":"2026-04-10T20:22:23.000Z","created":"2022-02-27T08:39:58.955Z","4.0.5":"2025-10-14T10:05:59.205Z","4.0.4":"2025-06-24T15:36:39.176Z","4.0.3":"2025-06-24T10:39:11.182Z","4.0.2":"2025-02-04T09:05:39.412Z","4.0.1":"2024-12-17T16:22:46.156Z","4.0.0":"2024-11-29T17:19:11.321Z","3.0.2":"2024-11-26T15:23:12.455Z","3.0.1":"2024-11-26T11:50:22.114Z","3.0.0":"2024-11-26T11:42:31.496Z","2.0.10":"2024-11-25T14:15:36.904Z","2.0.9":"2024-11-25T14:00:03.645Z","2.0.8":"2024-11-25T11:02:45.523Z","2.0.7":"2024-11-24T14:27:43.303Z","2.0.6":"2024-11-22T15:04:06.049Z","2.0.5":"2024-11-02T09:19:41.004Z","2.0.4":"2024-11-02T07:45:58.602Z","2.0.3":"2024-11-02T07:21:05.346Z","2.0.2":"2024-11-01T20:40:05.673Z","2.0.1":"2024-11-01T17:57:16.667Z","2.0.0":"2024-11-01T17:45:47.941Z","1.0.18":"2024-11-01T13:42:16.974Z","1.0.17":"2024-11-01T13:37:38.874Z","1.0.16":"2024-11-01T12:01:36.130Z","1.0.15":"2024-09-12T17:44:05.242Z","1.0.14":"2024-09-12T17:31:40.409Z","1.0.13":"2023-12-01T13:00:27.592Z","1.0.12":"2023-10-18T05:45:01.966Z","1.0.11":"2023-08-03T19:34:57.978Z","1.0.10":"2023-08-03T19:16:15.358Z","1.0.9":"2023-06-07T18:17:47.237Z","1.0.8":"2023-04-27T07:01:44.928Z","1.0.7":"2022-06-16T12:43:08.550Z","1.0.6":"2022-05-26T18:05:45.557Z","1.0.5":"2022-05-20T13:25:13.608Z","1.0.4":"2022-05-19T09:14:53.709Z","1.0.3":"2022-05-18T11:34:55.660Z","1.0.2":"2022-05-17T12:09:26.555Z","1.0.1":"2022-03-11T16:00:57.305Z","1.0.0":"2022-02-27T09:02:34.372Z","0.0.0":"2022-02-27T08:39:58.955Z"},"users":{},"repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"versions":{"4.0.5":{"name":"@achingbrain/nat-port-mapper","version":"4.0.5","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["CHANGELOG.md","package.json"]}]]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","doc-check":"aegir doc-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@chainsafe/is-ip":"^2.0.2","@libp2p/logger":"^6.0.5","abort-error":"^1.0.0","err-code":"^3.0.1","netmask":"^2.0.2","p-defer":"^4.0.0","race-signal":"^2.0.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/netmask":"^2.0.5","@types/xml2js":"^0.4.11","aegir":"^47.0.17","default-gateway":"^7.2.2"},"_id":"@achingbrain/nat-port-mapper@4.0.5","gitHead":"bdf8f4b47520bf23b34d84d0b97b5b2900f3b51c","_nodeVersion":"22.20.0","_npmVersion":"10.9.4","dist":{"shasum":"a30d7c0c6e2a9dfaacc877e422ddfa237c190ae4","size":37422,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-4.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-4.0.5.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nat-port-mapper_4.0.5_1760436358973_0.9414671534470531"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-10-14T10:05:59.205Z","publish_time":1760436359205,"_source_registry_name":"default","_cnpm_publish_time":1760436359205},"4.0.4":{"name":"@achingbrain/nat-port-mapper","version":"4.0.4","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["CHANGELOG.md","package.json"]}]]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","doc-check":"aegir doc-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@chainsafe/is-ip":"^2.0.2","@libp2p/logger":"^5.0.1","abort-error":"^1.0.0","err-code":"^3.0.1","netmask":"^2.0.2","p-defer":"^4.0.0","race-signal":"^1.1.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/netmask":"^2.0.5","@types/xml2js":"^0.4.11","aegir":"^47.0.17","default-gateway":"^7.2.2"},"_id":"@achingbrain/nat-port-mapper@4.0.4","gitHead":"7e779dd0d3d09b043e81d557624d504361655df7","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"shasum":"01f1967d2f4e9a0e2147c5e265f4d2a5825f7272","size":37421,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-4.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-4.0.4.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net","actor":{"name":"achingbrain","email":"alex@achingbrain.net","type":"user"}},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nat-port-mapper_4.0.4_1750779398981_0.223876811585896"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-06-24T15:36:39.176Z","publish_time":1750779399176,"_source_registry_name":"default","_cnpm_publish_time":1750779399176},"4.0.3":{"name":"@achingbrain/nat-port-mapper","version":"4.0.3","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["CHANGELOG.md","package.json"]}]]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","doc-check":"aegir doc-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@chainsafe/is-ip":"^2.0.2","@libp2p/logger":"^5.0.1","abort-error":"^1.0.0","err-code":"^3.0.1","netmask":"^2.0.2","p-defer":"^4.0.0","race-signal":"^1.1.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/netmask":"^2.0.5","@types/xml2js":"^0.4.11","aegir":"^47.0.17","default-gateway":"^7.2.2"},"_id":"@achingbrain/nat-port-mapper@4.0.3","gitHead":"d2e1c68f5ffbe886f83f96d88e1d8d103e634b13","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"shasum":"1a0969a3466072dd55b3298615732be41c36531a","size":37121,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-4.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-4.0.3.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net","actor":{"name":"achingbrain","email":"alex@achingbrain.net","type":"user"}},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nat-port-mapper_4.0.3_1750761550993_0.3727004215839842"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-06-24T10:39:11.182Z","publish_time":1750761551182,"_source_registry_name":"default","_cnpm_publish_time":1750761551182},"4.0.2":{"name":"@achingbrain/nat-port-mapper","version":"4.0.2","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","doc-check":"aegir doc-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@chainsafe/is-ip":"^2.0.2","@libp2p/logger":"^5.0.1","abort-error":"^1.0.0","err-code":"^3.0.1","netmask":"^2.0.2","p-defer":"^4.0.0","race-signal":"^1.1.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/netmask":"^2.0.5","@types/xml2js":"^0.4.11","aegir":"^45.0.1","default-gateway":"^7.2.2"},"_id":"@achingbrain/nat-port-mapper@4.0.2","gitHead":"fdfb7d762e39123a6b08af15853fdc3b9de769fe","_nodeVersion":"22.13.1","_npmVersion":"10.9.2","dist":{"shasum":"6fe1387d23ac842796c1213b96faf7d57dde1e77","size":37380,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-4.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-4.0.2.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nat-port-mapper_4.0.2_1738659939174_0.7042158825218467"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-02-04T09:05:39.412Z","publish_time":1738659939412,"_source_registry_name":"default","_cnpm_publish_time":1738659939412},"4.0.1":{"name":"@achingbrain/nat-port-mapper","version":"4.0.1","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","doc-check":"aegir doc-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@chainsafe/is-ip":"^2.0.2","@libp2p/logger":"^5.0.1","abort-error":"^1.0.0","err-code":"^3.0.1","netmask":"^2.0.2","p-defer":"^4.0.0","race-signal":"^1.1.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/netmask":"^2.0.5","@types/xml2js":"^0.4.11","aegir":"^45.0.1","default-gateway":"^7.2.2"},"_id":"@achingbrain/nat-port-mapper@4.0.1","gitHead":"b562f20ec5365b59845926e87ec8ffdeaf321a98","_nodeVersion":"22.12.0","_npmVersion":"10.9.2","dist":{"shasum":"6310e923129f0ff646073248cd7eeed94ad1f6db","size":36924,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-4.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-4.0.1.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nat-port-mapper_4.0.1_1734452565918_0.1392215332841975"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-12-17T16:22:46.156Z","publish_time":1734452566156,"_source_registry_name":"default","_cnpm_publish_time":1734452566156},"4.0.0":{"name":"@achingbrain/nat-port-mapper","version":"4.0.0","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","doc-check":"aegir doc-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@chainsafe/is-ip":"^2.0.2","@libp2p/logger":"^5.0.1","abort-error":"^1.0.0","err-code":"^3.0.1","netmask":"^2.0.2","p-defer":"^4.0.0","race-signal":"^1.1.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/netmask":"^2.0.5","@types/xml2js":"^0.4.11","aegir":"^45.0.1","default-gateway":"^7.2.2"},"_id":"@achingbrain/nat-port-mapper@4.0.0","gitHead":"7a296bd1e2ab2d6ac424c65c1b605f7624e79059","_nodeVersion":"22.11.0","_npmVersion":"10.9.1","dist":{"shasum":"95df61900f5157eba7b94a798ae31a9083609973","size":36880,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-4.0.0.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_4.0.0_1732900751095_0.8739467491961497"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-29T17:19:11.321Z","publish_time":1732900751321,"_source_registry_name":"default","_cnpm_publish_time":1732900751321},"3.0.2":{"name":"@achingbrain/nat-port-mapper","version":"3.0.2","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","doc-check":"aegir doc-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@libp2p/logger":"^5.0.1","abort-error":"^1.0.0","err-code":"^3.0.1","it-merge":"^3.0.5","p-defer":"^4.0.0","race-signal":"^1.1.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^45.0.1","default-gateway":"^7.2.2"},"_id":"@achingbrain/nat-port-mapper@3.0.2","gitHead":"915a9391c19dc072f235786aee22471ef531d9ad","_nodeVersion":"22.11.0","_npmVersion":"10.9.1","dist":{"shasum":"f13927f5172b5281d19fc53234ac6cba2048593b","size":28660,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-3.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-3.0.2.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_3.0.2_1732634592303_0.7242418898093712"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-26T15:23:12.455Z","publish_time":1732634592455,"_source_registry_name":"default","_cnpm_publish_time":1732634592455},"3.0.1":{"name":"@achingbrain/nat-port-mapper","version":"3.0.1","keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"license":"Apache-2.0 OR MIT","_id":"@achingbrain/nat-port-mapper@3.0.1","maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"homepage":"https://github.com/achingbrain/nat-port-mapper#readme","bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"dist":{"shasum":"207e5755e63872b7a83d9fb2dc427d4fc37e3ad3","size":28565,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-3.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-3.0.1.tgz"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"gitHead":"ac5253d4744fe9b11aa7f71065df8c518eb64b69","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"release":"major","breaking":true},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"branches":["main"]},"scripts":{"docs":"aegir docs","lint":"aegir lint","test":"aegir test -t node","build":"aegir build --no-bundle","clean":"aegir clean","release":"aegir release","dep-check":"aegir dep-check","doc-check":"aegir doc-check","test:node":"aegir test -t node"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"repository":{"url":"git+https://github.com/achingbrain/nat-port-mapper.git","type":"git"},"_npmVersion":"10.9.1","description":"Port mapping with UPnP and NAT-PMP","directories":{},"_nodeVersion":"22.11.0","dependencies":{"xml2js":"^0.6.0","p-defer":"^4.0.0","err-code":"^3.0.1","it-merge":"^3.0.5","abort-error":"^1.0.0","race-signal":"^1.1.0","@libp2p/logger":"^5.0.1","@achingbrain/ssdp":"^4.1.0"},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"aegir":"^45.0.1","@types/xml2js":"^0.4.11","default-gateway":"^7.2.2","@types/default-gateway":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nat-port-mapper_3.0.1_1732621821953_0.8984748253976107","host":"s3://npm-registry-packages"},"_cnpmcore_publish_time":"2024-11-26T11:50:22.114Z","publish_time":1732621822114,"_source_registry_name":"default","_cnpm_publish_time":1732621822114},"3.0.0":{"name":"@achingbrain/nat-port-mapper","version":"3.0.0","keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"license":"Apache-2.0 OR MIT","_id":"@achingbrain/nat-port-mapper@3.0.0","maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"homepage":"https://github.com/achingbrain/nat-port-mapper#readme","bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"dist":{"shasum":"53f94efd58d7912c2f0820c5678877be5f1894ce","size":28572,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-3.0.0.tgz"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"gitHead":"55e677532e7e7f91552d62885dab87e1e7ee87aa","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"release":"major","breaking":true},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"branches":["main"]},"scripts":{"docs":"aegir docs","lint":"aegir lint","test":"aegir test -t node","build":"aegir build --no-bundle","clean":"aegir clean","release":"aegir release","dep-check":"aegir dep-check","doc-check":"aegir doc-check","test:node":"aegir test -t node"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"repository":{"url":"git+https://github.com/achingbrain/nat-port-mapper.git","type":"git"},"_npmVersion":"10.9.1","description":"Port mapping with UPnP and NAT-PMP","directories":{},"_nodeVersion":"22.11.0","dependencies":{"xml2js":"^0.6.0","p-defer":"^4.0.0","err-code":"^3.0.1","it-merge":"^3.0.5","abort-error":"^1.0.0","race-signal":"^1.1.0","@libp2p/logger":"^5.0.1","@achingbrain/ssdp":"^4.1.0"},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"aegir":"^45.0.1","@types/xml2js":"^0.4.11","default-gateway":"^7.2.2","@types/default-gateway":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nat-port-mapper_3.0.0_1732621351292_0.25138162429453126","host":"s3://npm-registry-packages"},"_cnpmcore_publish_time":"2024-11-26T11:42:31.496Z","publish_time":1732621351496,"_source_registry_name":"default","_cnpm_publish_time":1732621351496},"2.0.10":{"name":"@achingbrain/nat-port-mapper","version":"2.0.10","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@libp2p/logger":"^5.0.1","abort-error":"^1.0.0","any-signal":"^4.1.1","default-gateway":"^7.2.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","race-signal":"^1.1.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^45.0.1"},"_id":"@achingbrain/nat-port-mapper@2.0.10","gitHead":"06ae7bd7da3a3b6e064780e1e394a5b7d764433f","_nodeVersion":"22.11.0","_npmVersion":"10.9.1","dist":{"shasum":"124886dad23e4183fe27e50d51f095618ecd952d","size":27397,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-2.0.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-2.0.10.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_2.0.10_1732544136692_0.3467666295765417"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-25T14:15:36.904Z","publish_time":1732544136904,"_source_registry_name":"default","_cnpm_publish_time":1732544136904},"2.0.9":{"name":"@achingbrain/nat-port-mapper","version":"2.0.9","keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"license":"Apache-2.0 OR MIT","_id":"@achingbrain/nat-port-mapper@2.0.9","maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"homepage":"https://github.com/achingbrain/nat-port-mapper#readme","bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"dist":{"shasum":"3c5c28eef0a75a10536bf2b968521f62c43dfc60","size":27306,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-2.0.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-2.0.9.tgz"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"gitHead":"20daffbfa660ec5a4d23429c7201142922a8d8da","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"release":"major","breaking":true},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"branches":["main"]},"scripts":{"docs":"aegir docs","lint":"aegir lint","test":"aegir test -t node","build":"aegir build --no-bundle","clean":"aegir clean","release":"aegir release","dep-check":"aegir dep-check","test:node":"aegir test -t node"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"repository":{"url":"git+https://github.com/achingbrain/nat-port-mapper.git","type":"git"},"_npmVersion":"10.9.1","description":"Port mapping with UPnP and NAT-PMP","directories":{},"_nodeVersion":"22.11.0","dependencies":{"xml2js":"^0.6.0","p-defer":"^4.0.0","err-code":"^3.0.1","it-first":"^3.0.1","any-signal":"^4.1.1","abort-error":"^1.0.0","race-signal":"^1.1.0","@libp2p/logger":"^5.0.1","default-gateway":"^7.2.2","@achingbrain/ssdp":"^4.1.0"},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"aegir":"^45.0.1","@types/xml2js":"^0.4.11","@types/default-gateway":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nat-port-mapper_2.0.9_1732543203434_0.03720692531596681","host":"s3://npm-registry-packages"},"_cnpmcore_publish_time":"2024-11-25T14:00:03.645Z","publish_time":1732543203645,"_source_registry_name":"default","_cnpm_publish_time":1732543203645},"2.0.8":{"name":"@achingbrain/nat-port-mapper","version":"2.0.8","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@libp2p/logger":"^5.0.1","abort-error":"^1.0.0","any-signal":"^4.1.1","default-gateway":"^7.2.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","race-signal":"^1.1.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^45.0.1"},"_id":"@achingbrain/nat-port-mapper@2.0.8","gitHead":"6587ecd55ef711a41fe6bdd6a87f5862d17bcb27","_nodeVersion":"22.11.0","_npmVersion":"10.9.1","dist":{"shasum":"a4152dbf8a13e3710518bca269475e595d86ce83","size":27250,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-2.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-2.0.8.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_2.0.8_1732532565355_0.5435438981025948"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-25T11:02:45.523Z","publish_time":1732532565523,"_source_registry_name":"default","_cnpm_publish_time":1732532565523},"2.0.7":{"name":"@achingbrain/nat-port-mapper","version":"2.0.7","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@libp2p/logger":"^5.0.1","abort-error":"^1.0.0","any-signal":"^4.1.1","default-gateway":"^7.2.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","race-signal":"^1.1.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^45.0.1"},"_id":"@achingbrain/nat-port-mapper@2.0.7","gitHead":"f0522c16b7484fd75e15b2f44128c5ab50a9e24b","_nodeVersion":"22.11.0","_npmVersion":"10.9.1","dist":{"shasum":"07aef61b0861668c8d7a135421afa162f6a42624","size":27711,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-2.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-2.0.7.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_2.0.7_1732458463109_0.2350124708311454"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-24T14:27:43.303Z","publish_time":1732458463303,"_source_registry_name":"default","_cnpm_publish_time":1732458463303},"2.0.6":{"name":"@achingbrain/nat-port-mapper","version":"2.0.6","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@libp2p/logger":"^5.0.1","abort-error":"^1.0.0","any-signal":"^4.1.1","default-gateway":"^7.2.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","race-signal":"^1.1.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^45.0.1"},"_id":"@achingbrain/nat-port-mapper@2.0.6","gitHead":"18585ff2f27803e553cf8d08e23060ea7b99a20d","_nodeVersion":"22.11.0","_npmVersion":"10.9.1","dist":{"shasum":"19486eb000ecab6f356d60724b9c8c82ed56e129","size":27687,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-2.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-2.0.6.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_2.0.6_1732287845873_0.4902795716880646"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-22T15:04:06.049Z","publish_time":1732287846049,"_source_registry_name":"default","_cnpm_publish_time":1732287846049},"2.0.5":{"name":"@achingbrain/nat-port-mapper","version":"2.0.5","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@libp2p/logger":"^5.0.1","abort-error":"^1.0.0","any-signal":"^4.1.1","default-gateway":"^7.2.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","race-signal":"^1.1.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^45.0.1"},"_id":"@achingbrain/nat-port-mapper@2.0.5","gitHead":"9a8f0720584a58950ea2d8723d1d7a28a78924b4","_nodeVersion":"20.18.0","_npmVersion":"10.9.0","dist":{"shasum":"9a21b26da98be154378403192c8d14b6c39fc02c","size":27702,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-2.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-2.0.5.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_2.0.5_1730539180811_0.08852428617000174"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-02T09:19:41.004Z","publish_time":1730539181004,"_source_registry_name":"default","_cnpm_publish_time":1730539181004},"2.0.4":{"name":"@achingbrain/nat-port-mapper","version":"2.0.4","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@libp2p/logger":"^5.0.1","abort-error":"^1.0.0","any-signal":"^4.1.1","default-gateway":"^7.2.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","race-signal":"^1.1.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^45.0.1"},"_id":"@achingbrain/nat-port-mapper@2.0.4","gitHead":"ed9215529a97cfc8063c5e177b197f592aac8175","_nodeVersion":"20.18.0","_npmVersion":"10.9.0","dist":{"shasum":"bd38df0759e0af332886e24b1abdf044120b56f9","size":27244,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-2.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-2.0.4.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_2.0.4_1730533558306_0.70991664776094"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-02T07:45:58.602Z","publish_time":1730533558602,"_source_registry_name":"default","_cnpm_publish_time":1730533558602},"2.0.3":{"name":"@achingbrain/nat-port-mapper","version":"2.0.3","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@libp2p/logger":"^5.0.1","abort-error":"^1.0.0","any-signal":"^4.1.1","default-gateway":"^7.2.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","race-signal":"^1.1.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^45.0.1"},"_id":"@achingbrain/nat-port-mapper@2.0.3","gitHead":"e528ca654d8854e6791aa3e6085eb5847c99e90f","_nodeVersion":"20.18.0","_npmVersion":"10.9.0","dist":{"shasum":"ab8c7ac6487633db4291c242e9daca87dcdbe83b","size":27266,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-2.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-2.0.3.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_2.0.3_1730532065123_0.5622503967202319"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-02T07:21:05.346Z","publish_time":1730532065346,"_source_registry_name":"default","_cnpm_publish_time":1730532065346},"2.0.2":{"name":"@achingbrain/nat-port-mapper","version":"2.0.2","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@libp2p/logger":"^5.0.1","abort-error":"^1.0.0","any-signal":"^4.1.1","default-gateway":"^7.2.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","race-signal":"^1.1.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^45.0.1"},"_id":"@achingbrain/nat-port-mapper@2.0.2","gitHead":"cf2781e8bba5b8bc236de182c448a8034d09a4f9","_nodeVersion":"20.18.0","_npmVersion":"10.9.0","dist":{"shasum":"d024d41ccb27429b11a40ea4c418c5f253e25a6c","size":26996,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-2.0.2.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_2.0.2_1730493605483_0.7897204201827412"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-01T20:40:05.673Z","publish_time":1730493605673,"_source_registry_name":"default","_cnpm_publish_time":1730493605673},"2.0.1":{"name":"@achingbrain/nat-port-mapper","version":"2.0.1","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test -t node","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.1.0","@libp2p/logger":"^5.0.1","abort-error":"^1.0.0","any-signal":"^4.1.1","default-gateway":"^7.2.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","race-signal":"^1.1.0","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^45.0.1"},"_id":"@achingbrain/nat-port-mapper@2.0.1","gitHead":"452f0c906b6562aa698d2aa7caef04df4b555966","_nodeVersion":"20.18.0","_npmVersion":"10.9.0","dist":{"shasum":"745509663221c2e44eef0a77fad1864369a7cd00","size":27005,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-2.0.1.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_2.0.1_1730483836351_0.6213316601753183"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-01T17:57:16.667Z","publish_time":1730483836667,"_source_registry_name":"default","_cnpm_publish_time":1730483836667},"2.0.0":{"name":"@achingbrain/nat-port-mapper","version":"2.0.0","keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"license":"Apache-2.0 OR MIT","_id":"@achingbrain/nat-port-mapper@2.0.0","maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"homepage":"https://github.com/achingbrain/nat-port-mapper#readme","bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"dist":{"shasum":"d68f1a739501ba02eb4eca6a728438c5f60d1744","size":27034,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-2.0.0.tgz"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"gitHead":"6c5a5e4abfb8248e2c6d2533812f81ea765b66a1","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"release":"major","breaking":true},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"branches":["main"]},"scripts":{"docs":"aegir docs","lint":"aegir lint","test":"aegir test -t node","build":"aegir build --no-bundle","clean":"aegir clean","release":"aegir release","dep-check":"aegir dep-check","test:node":"aegir test -t node"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"repository":{"url":"git+https://github.com/achingbrain/nat-port-mapper.git","type":"git"},"_npmVersion":"10.9.0","description":"Port mapping with UPnP and NAT-PMP","directories":{},"_nodeVersion":"20.18.0","dependencies":{"xml2js":"^0.6.0","p-defer":"^4.0.0","err-code":"^3.0.1","it-first":"^3.0.1","any-signal":"^4.1.1","abort-error":"^1.0.0","race-signal":"^1.1.0","@libp2p/logger":"^5.0.1","default-gateway":"^7.2.2","@achingbrain/ssdp":"^4.1.0"},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"aegir":"^45.0.1","@types/xml2js":"^0.4.11","@types/default-gateway":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nat-port-mapper_2.0.0_1730483147697_0.9310531439502132","host":"s3://npm-registry-packages"},"_cnpmcore_publish_time":"2024-11-01T17:45:47.941Z","publish_time":1730483147941,"_source_registry_name":"default","_cnpm_publish_time":1730483147941},"1.0.18":{"name":"@achingbrain/nat-port-mapper","version":"1.0.18","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","docs":"aegir docs","release":"aegir release","test":"aegir test","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.0.1","@libp2p/logger":"^5.0.1","default-gateway":"^7.2.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","p-timeout":"^6.1.1","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^45.0.1"},"_id":"@achingbrain/nat-port-mapper@1.0.18","gitHead":"a8e59a7d2fd1048b4a5f3bb547cd466dd1fd7475","_nodeVersion":"20.18.0","_npmVersion":"10.9.0","dist":{"shasum":"aa6b6e449a63414bb5e46432990ee324f336fcdc","size":25692,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.18.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.18.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.18_1730468536800_0.943171008812612"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-01T13:42:16.974Z","publish_time":1730468536974,"_source_registry_name":"default","_cnpm_publish_time":1730468536974},"1.0.17":{"name":"@achingbrain/nat-port-mapper","version":"1.0.17","keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"license":"Apache-2.0 OR MIT","_id":"@achingbrain/nat-port-mapper@1.0.17","maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"homepage":"https://github.com/achingbrain/nat-port-mapper#readme","bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"dist":{"shasum":"e39bf1ed8250822db116c2ec7135b7fe58a2c05d","size":25659,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.17.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.17.tgz"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"gitHead":"c90ba3239395606805a5d1a7f461feb27c98be9d","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"release":"major","breaking":true},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"branches":["main"]},"scripts":{"docs":"aegir docs","lint":"aegir lint","test":"aegir test","build":"aegir build --no-bundle","clean":"aegir clean","release":"aegir release","dep-check":"aegir dep-check","test:node":"aegir test -t node"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"repository":{"url":"git+https://github.com/achingbrain/nat-port-mapper.git","type":"git"},"_npmVersion":"10.9.0","description":"Port mapping with UPnP and NAT-PMP","directories":{},"_nodeVersion":"20.18.0","dependencies":{"xml2js":"^0.6.0","p-defer":"^4.0.0","err-code":"^3.0.1","it-first":"^3.0.1","p-timeout":"^6.1.1","@libp2p/logger":"^5.0.1","default-gateway":"^7.2.2","@achingbrain/ssdp":"^4.0.1"},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"aegir":"^45.0.1","@types/xml2js":"^0.4.11","@types/default-gateway":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nat-port-mapper_1.0.17_1730468258689_0.14895695672076315","host":"s3://npm-registry-packages"},"_cnpmcore_publish_time":"2024-11-01T13:37:38.874Z","publish_time":1730468258874,"_source_registry_name":"default","_cnpm_publish_time":1730468258874},"1.0.16":{"name":"@achingbrain/nat-port-mapper","version":"1.0.16","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","release":"aegir release","test":"aegir test","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.0.1","@libp2p/logger":"^5.0.1","default-gateway":"^7.2.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","p-timeout":"^6.1.1","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^45.0.1"},"_id":"@achingbrain/nat-port-mapper@1.0.16","gitHead":"773278deefe2e1f6a69f46359945e735d025e63c","_nodeVersion":"20.18.0","_npmVersion":"10.9.0","dist":{"shasum":"a666db96d99249591bd319c3add53073f3266fd4","size":24554,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.16.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.16.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.16_1730462495958_0.6596626666188043"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-01T12:01:36.130Z","publish_time":1730462496130,"_source_registry_name":"default","_cnpm_publish_time":1730462496130},"1.0.15":{"name":"@achingbrain/nat-port-mapper","version":"1.0.15","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"publishConfig":{"access":"public","provenance":true},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","release":"aegir release","test":"aegir test","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.0.1","@libp2p/logger":"^5.0.1","default-gateway":"^7.2.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","p-timeout":"^6.1.1","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^44.1.1"},"_id":"@achingbrain/nat-port-mapper@1.0.15","gitHead":"310f48cf68ff9b78dbd767217e4668314ba9c566","_nodeVersion":"20.17.0","_npmVersion":"10.8.3","dist":{"shasum":"799e0b8505f411348ba39d13590c55fce0cd2e9a","size":24547,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.15.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.15.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.15_1726163045043_0.23723118657107545"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-09-12T17:44:05.242Z","publish_time":1726163045242,"_source_registry_name":"default","_cnpm_publish_time":1726163045242},"1.0.14":{"name":"@achingbrain/nat-port-mapper","version":"1.0.14","keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"license":"Apache-2.0 OR MIT","_id":"@achingbrain/nat-port-mapper@1.0.14","maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"homepage":"https://github.com/achingbrain/nat-port-mapper#readme","bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"dist":{"shasum":"10a145cc0de5a48bf2247a3954f04fb24fff72de","size":24564,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.14.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.14.tgz"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"gitHead":"981890d31bbf6a617fb19264bd5113925c0b4751","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"release":"major","breaking":true},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"branches":["master"]},"scripts":{"lint":"aegir lint","test":"aegir test","build":"aegir build --no-bundle","clean":"aegir clean","release":"aegir release","dep-check":"aegir dep-check","test:node":"aegir test -t node"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"repository":{"url":"git+https://github.com/achingbrain/nat-port-mapper.git","type":"git"},"_npmVersion":"10.8.3","description":"Port mapping with UPnP and NAT-PMP","directories":{},"_nodeVersion":"20.17.0","dependencies":{"xml2js":"^0.6.0","p-defer":"^4.0.0","err-code":"^3.0.1","it-first":"^3.0.1","p-timeout":"^6.1.1","@libp2p/logger":"^4.0.1","default-gateway":"^7.2.2","@achingbrain/ssdp":"^4.0.1"},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"_hasShrinkwrap":false,"devDependencies":{"aegir":"^42.2.5","@types/xml2js":"^0.4.11","@types/default-gateway":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nat-port-mapper_1.0.14_1726162300237_0.7598545163381321","host":"s3://npm-registry-packages"},"_cnpmcore_publish_time":"2024-09-12T17:31:40.409Z","publish_time":1726162300409,"_source_registry_name":"default","_cnpm_publish_time":1726162300409},"1.0.13":{"name":"@achingbrain/nat-port-mapper","version":"1.0.13","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","release":"aegir release","test":"aegir test","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.0.1","@libp2p/logger":"^4.0.1","default-gateway":"^7.2.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","p-timeout":"^6.1.1","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^41.0.5"},"_id":"@achingbrain/nat-port-mapper@1.0.13","gitHead":"7858d84e812bf477cb56439783faebafa824dbc8","_nodeVersion":"20.10.0","_npmVersion":"9.9.2","dist":{"shasum":"22519833c2d70d48addd551b5cccbf84010ccda5","size":24562,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.13.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.13.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.13_1701435627418_0.5819845037296154"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-12-01T13:00:27.592Z","publish_time":1701435627592,"_source_registry_name":"default","_cnpm_publish_time":1701435627592},"1.0.12":{"name":"@achingbrain/nat-port-mapper","version":"1.0.12","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"project":true,"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","release":"aegir release","test":"aegir test","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.0.1","@libp2p/logger":"^3.0.0","default-gateway":"^7.2.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","p-timeout":"^6.1.1","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^41.0.5"},"_id":"@achingbrain/nat-port-mapper@1.0.12","gitHead":"032681a255d0629587b97f0efcf9d61edad19425","_nodeVersion":"18.18.0","_npmVersion":"9.9.0","dist":{"shasum":"99571049de1c185135fc86af6334bf1fa95224b2","size":24478,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.12.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.12.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.12_1697607901615_0.03408036375589285"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-10-18T05:45:01.966Z","publish_time":1697607901966,"_source_registry_name":"default","_cnpm_publish_time":1697607901966},"1.0.11":{"name":"@achingbrain/nat-port-mapper","version":"1.0.11","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","release":"aegir release","test":"aegir test","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.0.1","@libp2p/logger":"^3.0.0","default-gateway":"^7.2.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","p-timeout":"^6.1.1","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^7.2.0","@types/xml2js":"^0.4.11","aegir":"^40.0.8"},"_id":"@achingbrain/nat-port-mapper@1.0.11","gitHead":"c120193e7c943aa1eafb09cd3102aaaf558bf6b5","_nodeVersion":"18.17.0","_npmVersion":"9.8.1","dist":{"shasum":"226bad068404609cb483f00b104e45a4f34d1c9d","size":24535,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.11.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.11_1691091297786_0.4481027176560328"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-03T19:34:57.978Z","publish_time":1691091297978,"_source_registry_name":"default","_cnpm_publish_time":1691091297978},"1.0.10":{"name":"@achingbrain/nat-port-mapper","version":"1.0.10","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","release":"aegir release","test":"aegir test","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.0.1","@libp2p/logger":"^3.0.0","default-gateway":"^6.0.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","p-timeout":"^6.1.1","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^3.0.1","@types/xml2js":"^0.4.11","aegir":"^40.0.8"},"_id":"@achingbrain/nat-port-mapper@1.0.10","gitHead":"ad74b7f68406cf886fca9ccd4edcd41c5e79e06b","_nodeVersion":"18.17.0","_npmVersion":"9.8.1","dist":{"shasum":"39d7b6fc3bf8b77df3d17ce6bfd2894e902005c8","size":24529,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.10.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.10_1691090175120_0.5219837960800022"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-03T19:16:15.358Z","publish_time":1691090175358,"_source_registry_name":"default","_cnpm_publish_time":1691090175358},"1.0.9":{"name":"@achingbrain/nat-port-mapper","version":"1.0.9","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","browser":"./dist/src/browser.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","release":"aegir release","test":"aegir test","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.0.1","@libp2p/logger":"^2.0.0","default-gateway":"^6.0.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","p-timeout":"^6.1.1","xml2js":"^0.6.0"},"devDependencies":{"@types/default-gateway":"^3.0.1","@types/xml2js":"^0.4.11","aegir":"^39.0.1"},"gitHead":"06f3969296c163b80f534396af7b1aed266532c3","_id":"@achingbrain/nat-port-mapper@1.0.9","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"shasum":"8e61cf6f5dbeaa55c4e64a0023a362d4a1f61a36","size":24526,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.9.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.9_1686161867060_0.11936958650577356"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-06-07T18:17:47.237Z","publish_time":1686161867237,"_source_registry_name":"default","_cnpm_publish_time":1686161867237},"1.0.8":{"name":"@achingbrain/nat-port-mapper","version":"1.0.8","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"browser":"./dist/src/browser.js","import":"./dist/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","release":"aegir release","test":"aegir test","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.0.1","@libp2p/logger":"^2.0.0","default-gateway":"^6.0.2","err-code":"^3.0.1","it-first":"^3.0.1","p-defer":"^4.0.0","p-timeout":"^5.0.2","xml2js":"^0.5.0"},"devDependencies":{"@types/default-gateway":"^3.0.1","@types/xml2js":"^0.4.11","aegir":"^37.0.15"},"gitHead":"231b8d854489877ed15c56164afcd1965d6660e7","_id":"@achingbrain/nat-port-mapper@1.0.8","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"shasum":"020f63a8959d5f3556663441d1522917c81ed9dd","size":23872,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.8.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.8_1682578904619_0.8902727710423948"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-04-27T07:01:44.928Z","publish_time":1682578904928,"_source_registry_name":"default","_cnpm_publish_time":1682578904928},"1.0.7":{"name":"@achingbrain/nat-port-mapper","version":"1.0.7","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"browser":"./dist/src/browser.js","import":"./dist/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","release":"aegir release","test":"aegir test","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.0.1","@libp2p/logger":"^2.0.0","default-gateway":"^6.0.2","err-code":"^3.0.1","it-first":"^1.0.7","p-defer":"^4.0.0","p-timeout":"^5.0.2","xml2js":"^0.4.23"},"devDependencies":{"@types/default-gateway":"^3.0.1","@types/xml2js":"^0.4.9","aegir":"^37.0.15"},"gitHead":"68febb1eff164f1f2c7562e9405feec5989b53a6","_id":"@achingbrain/nat-port-mapper@1.0.7","_nodeVersion":"16.15.1","_npmVersion":"8.12.2","dist":{"shasum":"82c414712da38a0f3da0f938982b6dd724d3c677","size":23893,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.7.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.7_1655383388321_0.555559537536723"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-06-16T13:26:42.892Z","publish_time":1655383388550,"_cnpm_publish_time":1655383388550},"1.0.6":{"name":"@achingbrain/nat-port-mapper","version":"1.0.6","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"browser":"./dist/src/browser.js","import":"./dist/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","release":"aegir release","test":"aegir test","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.0.1","@libp2p/logger":"^1.0.4","default-gateway":"^6.0.2","err-code":"^3.0.1","it-first":"^1.0.7","p-defer":"^4.0.0","p-timeout":"^5.0.2","xml2js":"^0.4.23"},"devDependencies":{"@types/default-gateway":"^3.0.1","@types/xml2js":"^0.4.9","aegir":"^37.0.15"},"gitHead":"3b357d33fd6533c3e6c6b8a208eeab9fc09e94a8","_id":"@achingbrain/nat-port-mapper@1.0.6","_nodeVersion":"16.15.0","_npmVersion":"8.11.0","dist":{"shasum":"8edce49d8936a9add44d798fa98c9b324c0a5939","size":23893,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.6.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.6_1653588345350_0.39827398137832737"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-26T18:05:50.270Z","publish_time":1653588345557,"_cnpm_publish_time":1653588345557},"1.0.5":{"name":"@achingbrain/nat-port-mapper","version":"1.0.5","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"browser":"./dist/src/browser.js","import":"./dist/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","release":"aegir release","test":"aegir test","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^4.0.0","@libp2p/logger":"^1.0.4","default-gateway":"^6.0.2","err-code":"^3.0.1","it-first":"^1.0.7","p-defer":"^4.0.0","p-timeout":"^5.0.2","xml2js":"^0.4.23"},"devDependencies":{"@types/default-gateway":"^3.0.1","@types/xml2js":"^0.4.9","aegir":"^37.0.15"},"gitHead":"c3b6b75257fb5620c4c9ed1f0457cf98f7b76e22","_id":"@achingbrain/nat-port-mapper@1.0.5","_nodeVersion":"16.15.0","_npmVersion":"8.10.0","dist":{"shasum":"e1f0a1ae7bd2e9743bb0976532aaf852985486d8","size":23584,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.5.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.5_1653053113400_0.9733340031636109"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-20T13:42:53.066Z","publish_time":1653053113608,"_cnpm_publish_time":1653053113608},"1.0.4":{"name":"@achingbrain/nat-port-mapper","version":"1.0.4","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"browser":"./dist/src/browser.js","import":"./dist/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","release":"aegir release","test":"aegir test","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^3.0.1","@libp2p/logger":"^1.0.4","default-gateway":"^6.0.2","err-code":"^3.0.1","it-first":"^1.0.7","p-defer":"^4.0.0","p-timeout":"^5.0.2","xml2js":"^0.4.23"},"devDependencies":{"@types/default-gateway":"^3.0.1","@types/xml2js":"^0.4.9","aegir":"^37.0.15"},"gitHead":"6d95c450aeed39dddb3a35a0f24588597a0813ba","_id":"@achingbrain/nat-port-mapper@1.0.4","_nodeVersion":"16.15.0","_npmVersion":"8.10.0","dist":{"shasum":"781ff887044701a650e27d2c775700642286a381","size":23518,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.4.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.4_1652951693533_0.11191159678918905"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-19T11:49:41.201Z","publish_time":1652951693709,"_cnpm_publish_time":1652951693709},"1.0.3":{"name":"@achingbrain/nat-port-mapper","version":"1.0.3","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"browser":"./dist/src/browser.js","import":"./dist/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","release":"aegir release","test":"aegir test","test:node":"aegir test -t node"},"dependencies":{"@achingbrain/ssdp":"^3.0.1","@libp2p/logger":"^1.0.4","default-gateway":"^6.0.2","err-code":"^3.0.1","it-first":"^1.0.7","p-defer":"^4.0.0","p-timeout":"^5.0.2","xml2js":"^0.4.23"},"devDependencies":{"@types/default-gateway":"^3.0.1","@types/xml2js":"^0.4.9","aegir":"^37.0.15"},"gitHead":"04999d9190ff545981f54d1dbe341b72d5832cbd","_id":"@achingbrain/nat-port-mapper@1.0.3","_nodeVersion":"16.15.0","_npmVersion":"8.10.0","dist":{"shasum":"225d7a317792f1e301fa705b3c74157e106b8a4a","size":23497,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.3.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.3_1652873695453_0.2240192662347631"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-18T13:27:08.212Z","publish_time":1652873695660,"_cnpm_publish_time":1652873695660},"1.0.2":{"name":"@achingbrain/nat-port-mapper","version":"1.0.2","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/nat-port-mapper#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/nat-port-mapper.git"},"bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"browser":"./dist/src/browser.js","import":"./dist/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build --no-bundle","release":"aegir release"},"dependencies":{"@achingbrain/ssdp":"^3.0.1","@libp2p/logger":"^1.0.4","default-gateway":"^6.0.2","err-code":"^3.0.1","it-first":"^1.0.7","p-defer":"^4.0.0","p-timeout":"^5.0.2","xml2js":"^0.4.23"},"devDependencies":{"@types/default-gateway":"^3.0.1","@types/xml2js":"^0.4.9","aegir":"^37.0.15"},"gitHead":"364b885b5f89e63e3d0e9fece6a253cd1baf6fa8","_id":"@achingbrain/nat-port-mapper@1.0.2","_nodeVersion":"16.15.0","_npmVersion":"8.10.0","dist":{"shasum":"cab68a545e21fe0b329d0271eb67662446b45b66","size":22946,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.2.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.2_1652789366416_0.5976511337430683"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-17T13:59:19.415Z","publish_time":1652789366555,"_cnpm_publish_time":1652789366555},"1.0.1":{"name":"@achingbrain/nat-port-mapper","version":"1.0.1","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/upnp-nat#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/upnp-nat.git"},"bugs":{"url":"https://github.com/achingbrain/upnp-nat/issues"},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"browser":"./dist/src/browser.js","import":"./dist/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"lint":"aegir lint","dep-check":"aegir dep-check dist/src/**/*.js dist/test/**/*.js","build":"tsc","pretest":"npm run build","test":"aegir test -f ./dist/test/*.js -f ./dist/test/**/*.js","test:node":"npm run test -- -t node --cov","test:electron-main":"npm run test -- -t electron-main","release":"semantic-release"},"dependencies":{"@achingbrain/ssdp":"^3.0.1","@libp2p/logger":"^1.0.4","default-gateway":"^6.0.2","err-code":"^3.0.1","it-first":"^1.0.7","p-defer":"^4.0.0","p-timeout":"^5.0.2","undici":"^4.14.1","xml2js":"^0.4.23"},"devDependencies":{"@types/default-gateway":"^3.0.1","@types/xml2js":"^0.4.9","aegir":"^36.1.3"},"gitHead":"e451365dff7acd8fa19bae562daac50e46651176","_id":"@achingbrain/nat-port-mapper@1.0.1","_nodeVersion":"16.14.0","_npmVersion":"7.24.2","dist":{"shasum":"ee9abfdfaa653448a969a499bc43250c055f4714","size":22870,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.1.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.1_1647014456965_0.680038920919007"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-03-11T16:02:02.940Z","publish_time":1647014457305,"_cnpm_publish_time":1647014457305},"1.0.0":{"name":"@achingbrain/nat-port-mapper","version":"1.0.0","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/upnp-nat#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/upnp-nat.git"},"bugs":{"url":"https://github.com/achingbrain/upnp-nat/issues"},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"import":"./dist/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"lint":"aegir lint","dep-check":"aegir dep-check dist/src/**/*.js dist/test/**/*.js","build":"tsc","pretest":"npm run build","test":"aegir test -f ./dist/test/*.js -f ./dist/test/**/*.js","test:node":"npm run test -- -t node --cov","test:electron-main":"npm run test -- -t electron-main","release":"semantic-release"},"dependencies":{"@achingbrain/ssdp":"^3.0.1","@libp2p/logger":"^1.0.4","default-gateway":"^6.0.2","err-code":"^3.0.1","it-first":"^1.0.7","p-defer":"^4.0.0","p-timeout":"^5.0.2","undici":"^4.14.1","xml2js":"^0.4.23"},"devDependencies":{"@types/default-gateway":"^3.0.1","@types/xml2js":"^0.4.9","aegir":"^36.1.3"},"gitHead":"de8511933ab8478642d06b871e19d72aa50bb858","_id":"@achingbrain/nat-port-mapper@1.0.0","_nodeVersion":"16.14.0","_npmVersion":"7.24.2","dist":{"shasum":"a68844aca8fe52d74fc1e9719440e8f675ba2b36","size":22575,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-1.0.0.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_1.0.0_1645952554229_0.46921245114311794"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-27T09:02:54.717Z","publish_time":1645952554372,"_cnpm_publish_time":1645952554372},"0.0.0":{"name":"@achingbrain/nat-port-mapper","version":"0.0.0","description":"Port mapping with UPnP and NAT-PMP","license":"Apache-2.0 OR MIT","homepage":"https://github.com/achingbrain/upnp-nat#readme","repository":{"type":"git","url":"git+https://github.com/achingbrain/upnp-nat.git"},"bugs":{"url":"https://github.com/achingbrain/upnp-nat/issues"},"keywords":["api","forwarding","holepunch","map","mapping","nat","nat-pmp","pmp","port","upnp"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"import":"./dist/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"lint":"aegir lint","dep-check":"aegir dep-check dist/src/**/*.js dist/test/**/*.js","build":"tsc","pretest":"npm run build","test":"aegir test -f ./dist/test/*.js -f ./dist/test/**/*.js","test:chrome":"npm run test -- -t browser --cov","test:chrome-webworker":"npm run test -- -t webworker","test:firefox":"npm run test -- -t browser -- --browser firefox","test:firefox-webworker":"npm run test -- -t webworker -- --browser firefox","test:node":"npm run test -- -t node --cov","test:electron-main":"npm run test -- -t electron-main","release":"semantic-release"},"dependencies":{"@achingbrain/ssdp":"^3.0.1","@libp2p/logger":"^1.0.4","default-gateway":"^6.0.2","err-code":"^3.0.1","it-first":"^1.0.7","p-defer":"^4.0.0","p-timeout":"^5.0.2","undici":"^4.14.1","xml2js":"^0.4.23"},"devDependencies":{"@types/default-gateway":"^3.0.1","@types/xml2js":"^0.4.9","aegir":"^36.1.3"},"gitHead":"9442d85bfa49e29ae27e2c97624b0c0f77c1e825","_id":"@achingbrain/nat-port-mapper@0.0.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"shasum":"d4e5811eefba44349c1b6fd8e4f77ae5ff96248e","size":22493,"noattachment":false,"key":"/@achingbrain/nat-port-mapper/-/@achingbrain/nat-port-mapper-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@achingbrain/nat-port-mapper/download/@achingbrain/nat-port-mapper-0.0.0.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nat-port-mapper_0.0.0_1645951198790_0.4561111906109234"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-27T08:40:04.780Z","publish_time":1645951198955,"_cnpm_publish_time":1645951198955}},"readme":"# @achingbrain/nat-port-mapper\n\n[![codecov](https://img.shields.io/codecov/c/github/achingbrain/nat-port-mapper.svg?style=flat-square)](https://codecov.io/gh/achingbrain/nat-port-mapper)\n[![CI](https://img.shields.io/github/actions/workflow/status/achingbrain/nat-port-mapper/js-test-and-release.yml?branch=main\\&style=flat-square)](https://github.com/achingbrain/nat-port-mapper/actions/workflows/js-test-and-release.yml?query=branch%3Amain)\n\n> Port mapping with UPnP and NAT-PMP\n\n# About\n\n<!--\n\n!IMPORTANT!\n\nEverything in this README between \"# About\" and \"# Install\" is automatically\ngenerated and will be overwritten the next time the doc generator is run.\n\nTo make changes to this section, please update the @packageDocumentation section\nof src/index.js or src/index.ts\n\nTo experiment with formatting, please run \"npm run docs\" from the root of this\nrepo and examine the changes made.\n\n-->\n\nEnable NAT traversal by mapping public ports to ports on your computer using\neither [UPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play) or\n[NAT-PMP](https://en.wikipedia.org/wiki/NAT_Port_Mapping_Protocol).\n\n## Example - UPnP NAT\n\n```TypeScript\nimport { upnpNat } from '@achingbrain/nat-port-mapper'\n\nconst client = upnpNat()\n\nfor await (const gateway of client.findGateways({ signal: AbortSignal.timeout(10000) })) {\n  // Map public port 1000 to private port 1000 with TCP\n  await gateway.map(1000, '192.168.1.123', {\n    protocol: 'tcp'\n  })\n\n  // Map port 3000 to any available host name\n  for await (const mapping of gateway.mapAll(3000, {\n    protocol: 'udp'\n  })) {\n    console.info(`mapped ${mapping.internalHost}:${mapping.internalPort} to ${mapping.externalHost}:${mapping.externalPort}`)\n  }\n\n  // Unmap previously mapped private port 1000\n  await gateway.unmap(1000)\n\n  // Get external IP\n  const externalIp = await gateway.externalIp()\n\n  console.log('External IP:', externalIp)\n\n  // Unmap all mapped ports and cancel any in-flight network operations\n  await gateway.stop()\n}\n```\n\n## Example - NAT-PMP\n\n```TypeScript\nimport { pmpNat } from '@achingbrain/nat-port-mapper'\nimport { gateway4sync } from 'default-gateway'\n\nconst gateway = pmpNat(gateway4sync().gateway)\n\n// Map public port 1000 to private port 1000 with TCP\nawait gateway.map(1000, '192.168.1.123', {\n  protocol: 'tcp'\n})\n\n// Map public port 2000 to private port 3000 with UDP\nawait gateway.map(3000, '192.168.1.123', {\n  externalPort: 2000,\n  protocol: 'udp'\n})\n\n// Unmap previously mapped private port 1000\nawait gateway.unmap(1000)\n\n// Get external IP\nconst externalIp = await gateway.externalIp()\n\nconsole.log('External IP:', externalIp)\n\n// Unmap all mapped ports and cancel any in-flight network operations\nawait gateway.stop()\n```\n\n## Credits\n\nBased on [alxhotel/nat-api](https://github.com/alxhotel/nat-api)\n\n## Additional Information\n\n- <http://miniupnp.free.fr/nat-pmp.html>\n- <http://wikipedia.org/wiki/NAT_Port_Mapping_Protocol>\n- <http://tools.ietf.org/html/draft-cheshire-nat-pmp-03>\n\n# Install\n\n```console\n$ npm i @achingbrain/nat-port-mapper\n```\n\n# API Docs\n\n- <https://achingbrain.github.io/nat-port-mapper>\n\n# License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](https://github.com/achingbrain/nat-port-mapper/LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](https://github.com/achingbrain/nat-port-mapper/LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n# Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n","_attachments":{},"homepage":"https://github.com/achingbrain/nat-port-mapper#readme","bugs":{"url":"https://github.com/achingbrain/nat-port-mapper/issues"},"license":"Apache-2.0 OR MIT"}