{"_id":"@riavzon/shield-base","_rev":"28-0cb5b312998758b6d501fa1ec5cf0489","name":"@riavzon/shield-base","dist-tags":{"latest":"3.0.4"},"versions":{"1.0.0":{"name":"@riavzon/shield-base","version":"1.0.0","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.0.0","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"bc8fd90c99fa42c674e089bd4ef7d8f2d945ed83","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.0.0.tgz","fileCount":12,"integrity":"sha512-e4Tvtr6PSoZBcI60/f26xwdSkcJpSZNfWV1hwIK69pfzt3Y5ZNSzRXrALhkx5aMMH6jnrCsRZZXfiOFJDR2yWA==","signatures":[{"sig":"MEYCIQCv1fqu3Sz0FCFkuaAoXelJ+zuXtZCCJly0sqVTKsrB2AIhAJD256LsIF//Nnnc9YPibVSiGqhNe7nqF//FBtuJezTa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37298315},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"5c232912784c88e6e0136f9757914bcf832b834d","scripts":{"dev":"tsx src/index.ts","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"sergo99882","email":"sergo998826@gmail.com"},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.4.2","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.4.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","ipaddr.js":"^2.3.0","extract-zip":"^2.0.1","@sergo/utils":"github:Sergo706/utils","magic-regexp":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^10.0.3","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.0.0_1772977642459_0.002681445102779012","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@riavzon/shield-base","version":"1.0.1","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.0.1","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"7ba80b091cff7ce096d4350bab537080e5094018","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.0.1.tgz","fileCount":12,"integrity":"sha512-IO9JgRXA6KwPXoBZxuJIGNNG48Fu+KxkhZ513Dg1LM9MzuDiVH20uP9PvwfCxtITtgdddS/izyWM212FTGUocA==","signatures":[{"sig":"MEYCIQCRRw56seIiVFnJ5CbDDx96HxxN4Ph2iioxDTjNlg9mvQIhAN/gRkKpOxFPhB/QGWKPkSemma90izkRilY/sGzJgjgQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37298260},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"5c232912784c88e6e0136f9757914bcf832b834d","scripts":{"dev":"tsx src/index.ts","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"sergo99882","email":"sergo998826@gmail.com"},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.4.2","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.4.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","ipaddr.js":"^2.3.0","extract-zip":"^2.0.1","@sergo/utils":"github:Sergo706/utils","magic-regexp":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^10.0.3","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.0.1_1772977747092_0.48137461831093753","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@riavzon/shield-base","version":"1.2.0","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.2.0","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"07c0a8046d38e301362e1907abcc366ec4578c8a","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.2.0.tgz","fileCount":12,"integrity":"sha512-STJrco9XvWAibT1KaNCf4j/XfXHrKntZ18E+GiYXLp0/V0O/S0GU10Afbf7Vn63GS5g+qSFa0hcm/RJkrvKvdQ==","signatures":[{"sig":"MEYCIQCfPzZScPVknXenaHIg8YakRro7ClofPmUenNEgLsPdxwIhAIGL55C0KjoMuXCfDHmk1OsPyBv0bI/9sWY34y5yKY4L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37301990},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"c51b58a46982f848c740bb0d8f59d0bfaa45497d","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","ipaddr.js":"^2.3.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.2.0_1772985205657_0.4597427362578905","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@riavzon/shield-base","version":"1.2.1","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.2.1","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"b718eb2d6baf6e9a6c1f49565130d72cad043c05","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.2.1.tgz","fileCount":12,"integrity":"sha512-6cJZ8O86mDCVgq1KzuQPWueCLsp5T/ZB5mQgiPUSKcFeSMTonfZStVRoXZRPioobUMzXP2x1U8n1oIPXu+3uig==","signatures":[{"sig":"MEYCIQC3zuCQYNrR9flgYWijYIQ/fFkEknlHwJ3Pks6g+YQqqgIhAME0N+j6sDoNxRVr8pqUIyA/c9dcS2uO/bcfr81V01zN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37300311},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"c2a914456e32d2b2a6085a1caae4ffa996ca4842","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","ipaddr.js":"^2.3.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.2.1_1772986197757_0.8059406309245041","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@riavzon/shield-base","version":"1.2.2","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.2.2","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"9a140994157e5ebd5d560a6e4d7a3eb85962c756","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.2.2.tgz","fileCount":12,"integrity":"sha512-t893LwTZPHgRdpd1WtBouXZIVcuTHwzNcmfhO2H0YyAzqosoUN9mppygju0uXgzoNKSHrEVa8hU/qp6tjKOugQ==","signatures":[{"sig":"MEQCICvQsYZXRw9jLIuHCV94klZ+u/7eFWk/Drlb1kb4B2gmAiBA/vdjvLCfcEt2/vUTziWTFN9WscJgN/57/mwky6r8zw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37300485},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"0c5b056263bae4649ec27ef260215fd958eb692d","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","ipaddr.js":"^2.3.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.2.2_1772986670585_0.9060406201936926","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@riavzon/shield-base","version":"1.3.0","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.3.0","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"f8211b76a2b1e01926e0d240eeec538bfb6f4d6b","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.3.0.tgz","fileCount":12,"integrity":"sha512-JFCosjhGFPEBiJ6GnrqRC4tCiph74yx03AKl12SRVXkhyJH6g/BaAjXn/frilkiUbUgX6OxV6zWMP7a+K3YcsA==","signatures":[{"sig":"MEYCIQCPYGQyGGNJPuonzBTcsmGrbFNei0NVU2wHDgCdgzgfYwIhAN/QL08ItymGIkOHZKnvdc683/u2uwgL+484Ns7OCdXV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37341245},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"645aba750092a41e60e85c682b173345b8f28d2e","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","cidr-calc":"^1.0.4","ipaddr.js":"^2.3.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.3.0_1773097873169_0.32380735270155037","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@riavzon/shield-base","version":"1.3.1","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.3.1","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"c76b49a0ed6d6a6b57f9db8b01a897200328b5b9","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.3.1.tgz","fileCount":12,"integrity":"sha512-PX/CmP0H9h18PPWPuKSbJyn6hyDWHoVSJpAg3I5LLpq2qdaMpzkF0nSu+X3EM8h6uA4hLdcZCJujyEQG79MBpQ==","signatures":[{"sig":"MEQCICWSgDrO0JXDYcyRLlpe3AUnquu0Mg5EWqxSPRsyEy6/AiADjsn4c4uO5dXUUY23iGE8fSK+ebNiELo9zw4LaapJ9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37341358},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"61afcc9578b2007cc6f23bc5fe35ee58f795770b","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","cidr-calc":"^1.0.4","ipaddr.js":"^2.3.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.3.1_1773098412400_0.5956541996840499","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@riavzon/shield-base","version":"1.3.2","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.3.2","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"4b065c1c7f5e5cdfe804eca53cf29d1d2ef593ec","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.3.2.tgz","fileCount":12,"integrity":"sha512-zympnnZ1shd8tIt+5k47bpzlZHcDkXHQEAR18Hs0Iu1B7naWhoumsuOKDCgEyvFeJp5UW5pfQZwaakun3gvJ5w==","signatures":[{"sig":"MEYCIQDwmJJL3nP2RLUYD1ekPQEaAxH3gbGWF8dTmyWV0KRDZQIhAMW+Z9Y/xuAtbJQIQf+b10H8gOHU3jhyEDBgmoCYx6Xg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37341478},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"3fcf04b412e6172def7b41c39c69cb1595618e67","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","cidr-calc":"^1.0.4","ipaddr.js":"^2.3.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.3.2_1773098976910_0.6281790270091132","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@riavzon/shield-base","version":"1.3.3","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.3.3","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"f05249607ba83525f9d10c8f3dfed68ec113f37e","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.3.3.tgz","fileCount":12,"integrity":"sha512-x+Tdk8h7VRjTFUmdBZiP5+WRWMoKyh+L8iCp6+qFWiYrEHD/xd0py50Gfx7lH2PvdjwXcWIs2M6xyyqxGVRFRQ==","signatures":[{"sig":"MEUCIGJ1b17fTn0PdzyrbuNohNImEo0TM972EVV71lZ9CpbvAiEApDJ0qYlXKbeDrCI8K98XXOsd5/yUr7SVOBJc3xDGBd8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37341443},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"b0ecbbbd59f34d69341a1ca0f5d592d77479b2ad","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","cidr-calc":"^1.0.4","ipaddr.js":"^2.3.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.3.3_1773144644264_0.4863856674178899","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@riavzon/shield-base","version":"1.4.0","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.4.0","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"99c961a2d842b044d1dc2b03fdc51d52d0df065a","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.4.0.tgz","fileCount":12,"integrity":"sha512-N6YyJ/uYX2v635qZV0jUz8+IV7OtrExxV3T1TyD01sN6AkKNnzKmdMqLyiEkd1spq+2XVuQ+x3omWdkEZCpQGw==","signatures":[{"sig":"MEQCIFoggUbv9NRd1W8qEmpvmiSGjBQH5M3VT+RiOvr49EdvAiBId1yE112ZQfLfyvboNPDPV1Hq7/RsHiAZadYqFtqGLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37346415},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"79505625401708f17a722dcfe6d9d4b98965002a","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","cidr-calc":"^1.0.4","ipaddr.js":"^2.3.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.4.0_1773145527044_0.13215547068214661","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@riavzon/shield-base","version":"1.5.0","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.5.0","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"bd96e7261018719f008793f67ae48708df4f62ea","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.5.0.tgz","fileCount":12,"integrity":"sha512-fEMLgdvuRFtAH2NEQ/abNMt9Ddhme8+n1N86fmceLOXfE99XTDQnf2/yQhn8YLgnfvP+NcR8iDYF3M9tqOqa7g==","signatures":[{"sig":"MEYCIQCjnlRowtBt2/rqK+qWGZ9jAANAacnIqLxd4wiIGahQpwIhAIqinxU420VQHJ30/WkHYHQar7f8XNP08dZfNJEEyL/g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26570839},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"d37d93cb2d40475e9124f9e37ecf7c4a4e05c33b","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","cidr-calc":"^1.0.4","ipaddr.js":"^2.3.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.5.0_1773222283716_0.040326971335468365","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@riavzon/shield-base","version":"1.6.0","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.6.0","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"40adced39bdd8522c20ec7c5fcf13b76ae77afd7","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.6.0.tgz","fileCount":12,"integrity":"sha512-fVEeqNsdCfnil/ZoAj15CiUkArYjLL0T+jRqRypUI/fG+XuYr3JkNsBu281i1DJtTbjmL/IoBxWl6Q4VrugwBw==","signatures":[{"sig":"MEYCIQCdvhuG3IEiOOgXsn7D1yfG2tBgLWgxScWS2m+KnprldgIhAK3K4UJIRQpQ7F3c8bMj4GWmye/fpN4IOHkaaSyf8AWA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26610624},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"e7e154208be3dc16b06d17e7dad2b1992a9a8f68","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","cidr-calc":"^1.0.4","ipaddr.js":"^2.3.0","json-to-ts":"^2.1.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.6.0_1773344683637_0.8178293496286739","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@riavzon/shield-base","version":"1.6.1","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.6.1","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"1945bb32d30c535572f71e83fbd623f595e64221","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.6.1.tgz","fileCount":12,"integrity":"sha512-RaPcXJAfblm6sH41WcujVyRR0nYr7c+YwerjgwDasV/1WwIi93674kKMoOp2vxUECsQIJsHWfygj0GkQ65vF8g==","signatures":[{"sig":"MEQCIASJutZ07azsW1IYt5KdI0apUnTEWKANVaMC736JGzgNAiBcLyIFPCgENjXe2rUKy2EOcnm9JK0Xg6ATl1Vq4WRWtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26610626},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"7230b457b5ba2b2500c07aaff3ce0471d9827cbb","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","cidr-calc":"^1.0.4","ipaddr.js":"^2.3.0","json-to-ts":"^2.1.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.6.1_1773345392636_0.8536612817562641","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"@riavzon/shield-base","version":"1.6.2","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.6.2","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"90bc1902c3ef57805ef3ff7e6855d70cd454c97d","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.6.2.tgz","fileCount":12,"integrity":"sha512-BuGwx99btEKXLZPThwkch4mr2ls0ANDynEBka9UlOO6nH2eyFyuNP+7PVj1ajqBva6RtuF/G0Y1JY7cYwka12A==","signatures":[{"sig":"MEUCIQD+9I5xsWGeVueoBJ4fYcIVi9A09fqOPb1Dfy+O5AYOnQIgDuiu6uba6fdLFQdtiUH1DyEzuqRU2OdxetQOp0+XqJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26610712},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"4d21da39ff278553a1c5bc1d629020cb3631df9f","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","cidr-calc":"^1.0.4","ipaddr.js":"^2.3.0","json-to-ts":"^2.1.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.6.2_1773345826316_0.9255230811120077","host":"s3://npm-registry-packages-npm-production"}},"1.6.3":{"name":"@riavzon/shield-base","version":"1.6.3","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.6.3","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"82f497fec8fa7f9314658ddf31bfa9e20eed5537","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.6.3.tgz","fileCount":12,"integrity":"sha512-Qur85gz9IDMbEwvE1mPXNfgfa0AfcjfgVhUoajK6HBJRXKYAXbpsky4l7wT24LnDrGZzXhFMQh98Zb1mzFj+vw==","signatures":[{"sig":"MEUCIQCxssU4DlGG/1LNSoujnAPbbc5OeYhtorHn2DYlwaX5AAIgdk4a5r5egUqZqOrCCtI7OTlq0Au9Xcl7H9b0+aUmHI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.6.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26610653},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"a536dd246b3e9431fe96ab881a912d63718c41b2","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","cidr-calc":"^1.0.4","ipaddr.js":"^2.3.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0","@riavzon/json-to-ts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.6.3_1773420080323_0.06842473599701115","host":"s3://npm-registry-packages-npm-production"}},"1.6.4":{"name":"@riavzon/shield-base","version":"1.6.4","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.6.4","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"1c76a11ebaa1195df344af811a2552b5d0baab90","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.6.4.tgz","fileCount":18,"integrity":"sha512-cvirNFaKVyUlD4h15mPkitAptoRb63sYNtmoFtW+nm/segV4fKKEqhDI3OcYFslmwXQReiDon7W1tWEayZPj8A==","signatures":[{"sig":"MEQCIFR13ecE/qI8A1tn3taIpn+4CDIUJiSJP6yGxprfDV/YAiAvLyGAFt5xWo+kU7nUWu1hOXd2OGzWACo2cgBpDLGGsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.6.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26615638},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./internal":{"types":"./dist/_internal.d.ts","import":"./dist/_internal.js","default":"./dist/_internal.js"}},"gitHead":"50957e5c184f6be80f5a4feec227c74942738f6f","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","cidr-calc":"^1.0.4","ipaddr.js":"^2.3.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0","@riavzon/json-to-ts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.6.4_1774151645026_0.31204332412085756","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@riavzon/shield-base","version":"1.7.0","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.7.0","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"3c2cfca9ef343d207b6cbd21b7d143746ea76104","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.7.0.tgz","fileCount":18,"integrity":"sha512-Ta577zW1iH8pL+4eNPqrKgA6W5qPIHTEGBGlsDYAVx5Zgrgvxo2ZMpxic21jhM+BdFrBmkoaOMGXNo9GgIqwDA==","signatures":[{"sig":"MEQCIGhoxQ/CmrElwJKQvkp6EIIjEeQA+vDALREEi94P1mtfAiB2fvHPhiReE/sZsulo3Pn5fdljfByuiuU/Fked1ZEFug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26640113},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./internal":{"types":"./dist/_internal.d.ts","import":"./dist/_internal.js","default":"./dist/_internal.js"}},"gitHead":"609a9da0d98608aecfaa3c56f5d454497d057460","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","cidr-calc":"^1.0.4","ipaddr.js":"^2.3.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0","@riavzon/json-to-ts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.7.0_1774177165480_0.9197489328073643","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@riavzon/shield-base","version":"1.8.0","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","mmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@1.8.0","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.js"},"dist":{"shasum":"106db0a3018178547ca0416330bf9b3f22ef2016","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-1.8.0.tgz","fileCount":18,"integrity":"sha512-aTGH1O2lpWoui9HHDcKs6oDLDpeBXrAkgCdbMOXqgsHxs4sNJpzmnNi5amEb0n0Wwy0T8esauQgtbDZXlAbdXw==","signatures":[{"sig":"MEUCIQCbz+W5Z4VfS1+wEdZwjYid4TO2hCX5J6Kv6z8Ub6ThPQIgLHj/d4SzlTJasVrNMRD6Li/ze/tkrXV3XvLu1TYTcLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26645715},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./main":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"},"./internal":{"types":"./dist/_internal.d.ts","import":"./dist/_internal.js","default":"./dist/_internal.js"}},"gitHead":"ba74227aab676afa04a2b78e98d5154a422ee1ee","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.10","consola":"^3.4.2","cidr-calc":"^1.0.4","ipaddr.js":"^2.3.0","extract-zip":"^2.0.1","magic-regexp":"^0.11.0","@riavzon/json-to-ts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","citty":"^0.2.1","eslint":"^9.39.2","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_1.8.0_1774241242712_0.41027358576968287","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@riavzon/shield-base","version":"2.0.0","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","lmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@2.0.0","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.mjs"},"dist":{"shasum":"6fb254c8e7ec33bec84843e04371f48844b611e6","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-2.0.0.tgz","fileCount":28,"integrity":"sha512-1WrBiQRftJS3JR6dsnzgwg5T7vKdNeRsZZS77KpmoLfPMppi/NKPJCmE15I/uExBCQ4sae27qEIWXRuYqcggXA==","signatures":[{"sig":"MEUCIA+q0ykf9+D7q9Wz7sg/64e8HD5XC+sdUMsGeigteFeIAiEArGkZ/ihvYTkAS9fWYBcz7pKNXEO4JhhkdIQrphNZTEQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":939076},"main":"./dist/main.mjs","type":"module","types":"./dist/main.d.mts","exports":{".":{"import":{"types":"./dist/main.d.mts","default":"./dist/main.mjs"},"require":{"types":"./dist/main.d.cts","default":"./dist/main.cjs"}},"./internal":{"import":{"types":"./dist/_internal.d.mts","default":"./dist/_internal.mjs"},"require":{"types":"./dist/_internal.d.cts","default":"./dist/_internal.cjs"}}},"gitHead":"07e4d9ada4c3e7ed360fa3aa8133a49668a13493","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsdown","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"7.5.10","lmdb":"3.5.2","consola":"3.4.2","cidr-calc":"1.0.4","ipaddr.js":"2.3.0","extract-zip":"2.0.1","stream-json":"2.0.0","magic-regexp":"0.11.0","@riavzon/json-to-ts":"^1.0.1"},"typesVersions":{"*":{"internal":["./dist/_internal.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"citty":"0.2.1","eslint":"^9.39.2","tsdown":"^0.21.4","publint":"^0.3.18","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0","@types/stream-json":"^1.7.8","@arethetypeswrong/core":"^0.18.2"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_2.0.0_1774395972533_0.6778766765053863","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@riavzon/shield-base","version":"2.0.1","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","lmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@2.0.1","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.mjs"},"dist":{"shasum":"92a0a933638f9dcb0b39434f552a8485f56583cb","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-2.0.1.tgz","fileCount":29,"integrity":"sha512-203uy/VHHVrQAgFPcCpF1Wx15BoBIQ4/TiaHlXKecNjDVSInXGwO8RFc5YeenOAXo+sPQnJW0r7MkTFJgHZh+g==","signatures":[{"sig":"MEUCICL6ly2tKHWtlR7NuhroMcUT3SHLZCGsVktYh3fFBCCuAiEA0aWqEEKH8sI6UuRa8CmleHo8kBzMKlz/GfONAxKnqwM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27277680},"main":"./dist/main.mjs","type":"module","types":"./dist/main.d.mts","exports":{".":{"import":{"types":"./dist/main.d.mts","default":"./dist/main.mjs"},"require":{"types":"./dist/main.d.cts","default":"./dist/main.cjs"}},"./internal":{"import":{"types":"./dist/_internal.d.mts","default":"./dist/_internal.mjs"},"require":{"types":"./dist/_internal.d.cts","default":"./dist/_internal.cjs"}}},"gitHead":"78eb93543f0716b22d54fb090f0c8cefff2aa00a","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsdown","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"7.5.10","lmdb":"3.5.2","consola":"3.4.2","cidr-calc":"1.0.4","ipaddr.js":"2.3.0","extract-zip":"2.0.1","stream-json":"2.0.0","magic-regexp":"0.11.0","@riavzon/json-to-ts":"^1.0.1"},"typesVersions":{"*":{"internal":["./dist/_internal.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"citty":"0.2.1","eslint":"^9.39.2","tsdown":"^0.21.4","publint":"^0.3.18","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0","@types/stream-json":"^1.7.8","@arethetypeswrong/core":"^0.18.2"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_2.0.1_1774486369878_0.009316744560368795","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@riavzon/shield-base","version":"2.0.3","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","lmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@2.0.3","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.mjs"},"dist":{"shasum":"38cb079ceeb1b24268646892dac1fae17c277e67","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-2.0.3.tgz","fileCount":29,"integrity":"sha512-NXx5rIeplrZrt5Xb4awCwlTEt1ZcAw6ABv3SAME0GAfRdE5VuZk5tVoloYJeVadXQmeo+U84oiciisB4mTH8DA==","signatures":[{"sig":"MEUCIQCITTJ0PoslcUbsVsVYOXoF90k6FZGhju8CuE9r4X/TvQIgJ5jMulwbuN6vd1qhFUfcv1SUef23f0yR3uL8LRX9J7Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@2.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27278797},"main":"./dist/main.mjs","type":"module","types":"./dist/main.d.mts","exports":{".":{"import":{"types":"./dist/main.d.mts","default":"./dist/main.mjs"},"require":{"types":"./dist/main.d.cts","default":"./dist/main.cjs"}},"./internal":{"import":{"types":"./dist/_internal.d.mts","default":"./dist/_internal.mjs"},"require":{"types":"./dist/_internal.d.cts","default":"./dist/_internal.cjs"}}},"gitHead":"686b795be9bea0b11c0c1221f1c2d5946b669e2b","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsdown","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"7.5.10","lmdb":"3.5.2","consola":"3.4.2","cidr-calc":"1.0.4","ipaddr.js":"2.3.0","extract-zip":"2.0.1","stream-json":"2.0.0","magic-regexp":"0.11.0","@riavzon/json-to-ts":"^1.0.1"},"typesVersions":{"*":{"internal":["./dist/_internal.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"citty":"0.2.1","eslint":"^9.39.2","tsdown":"^0.21.4","publint":"^0.3.18","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0","@types/stream-json":"^1.7.8","@arethetypeswrong/core":"^0.18.2"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_2.0.3_1774492393350_0.5416926833294522","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@riavzon/shield-base","version":"2.0.4","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","lmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@2.0.4","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.mjs"},"dist":{"shasum":"08f3783f95c31df6212534f49bf04903d7449aab","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-2.0.4.tgz","fileCount":29,"integrity":"sha512-h2d+Iq+dP8YnlAbEe+AebtKTfpgHSQGIO7OEz/kK7jvrvpltbVuf0CLYCKnb9VRGMiQL8N2DSIIiTn7rvvTJcQ==","signatures":[{"sig":"MEUCIQDAFE5FEV3AQxvR1olnCLuoUUJcpZI6zRxFI6vpJXgI+gIgNmyhAg3bpN/wtgQ3oyGltARNGRvAIoKzKJ2QdZZlhvQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@2.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27281203},"main":"./dist/main.mjs","type":"module","types":"./dist/main.d.mts","exports":{".":{"import":{"types":"./dist/main.d.mts","default":"./dist/main.mjs"},"require":{"types":"./dist/main.d.cts","default":"./dist/main.cjs"}},"./internal":{"import":{"types":"./dist/_internal.d.mts","default":"./dist/_internal.mjs"},"require":{"types":"./dist/_internal.d.cts","default":"./dist/_internal.cjs"}}},"gitHead":"a3a9ccca5dc2d14fa004ea41aaf54ef33b6c89fe","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsdown","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.0","dependencies":{"tar":"7.5.11","lmdb":"3.5.2","consola":"3.4.2","cidr-calc":"1.0.4","ipaddr.js":"2.3.0","extract-zip":"2.0.1","stream-json":"2.0.0","magic-regexp":"0.11.0","@riavzon/json-to-ts":"^1.0.1"},"typesVersions":{"*":{"internal":["./dist/_internal.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"citty":"0.2.1","eslint":"^9.39.2","tsdown":"^0.21.4","publint":"^0.3.18","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0","@types/stream-json":"^1.7.8","@arethetypeswrong/core":"^0.18.2"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_2.0.4_1774788747018_0.8817757670010808","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@riavzon/shield-base","version":"2.0.5","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","lmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@2.0.5","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://github.com/Sergo706/shield-base#readme","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.mjs"},"dist":{"shasum":"6b0a3c164a7aa49b43ad0a4d30aeea2f1127c81f","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-2.0.5.tgz","fileCount":29,"integrity":"sha512-n3Y3MQ7mRfIeh/351l55tT36tRde2Bv+TZ5aLw8S2Qhu8Q48tD0xedPytSgPIk/AjReasvOaolenP/ulD7g0aA==","signatures":[{"sig":"MEUCIG3xv6rN6BhaR208SmNlhCsAfC+BC+OtyzQoz2TR7BrpAiEA3EAUImIgayj5bkxFFFGEBPcLhp64gjkMAwNqH+Bf+cw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@2.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27282643},"main":"./dist/main.mjs","type":"module","types":"./dist/main.d.mts","exports":{".":{"import":{"types":"./dist/main.d.mts","default":"./dist/main.mjs"},"require":{"types":"./dist/main.d.cts","default":"./dist/main.cjs"}},"./internal":{"import":{"types":"./dist/_internal.d.mts","default":"./dist/_internal.mjs"},"require":{"types":"./dist/_internal.d.cts","default":"./dist/_internal.cjs"}}},"gitHead":"afa0c2f74fa101d460a34c02372daa332df4ce6c","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsdown","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.1","dependencies":{"tar":"7.5.11","lmdb":"3.5.2","consola":"3.4.2","cidr-calc":"1.0.4","ipaddr.js":"2.3.0","extract-zip":"2.0.1","stream-json":"2.0.0","magic-regexp":"0.11.0","@riavzon/json-to-ts":"^1.0.1"},"typesVersions":{"*":{"internal":["./dist/_internal.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"citty":"0.2.1","eslint":"^9.39.2","tsdown":"^0.21.4","publint":"^0.3.18","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0","@types/stream-json":"^1.7.8","@arethetypeswrong/core":"^0.18.2"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_2.0.5_1776156074313_0.7699371165387578","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"@riavzon/shield-base","version":"2.0.6","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","lmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@2.0.6","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://docs.riavzon.com/docs/shield-base","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.mjs"},"dist":{"shasum":"abfbd5cccc03afc4986c57676c99674e6ef356fd","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-2.0.6.tgz","fileCount":29,"integrity":"sha512-o1AZ0zCvSwPXSnH3YlsmddHzp89uGs10UC+6kYB10ta1/cqyiKJdShczPMj367w7rSyb/JMHJmrLT5Kz0Mzl2Q==","signatures":[{"sig":"MEUCIQDK6e2V6h9L04X87qYZ1zjXT8Wl6wkNY99kWzptK111ZQIgBnou8dWWMT8+udTVas7pwIU/sW/MuXINGq6l5hIC4fc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@2.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27282688},"main":"./dist/main.mjs","type":"module","types":"./dist/main.d.mts","exports":{".":{"import":{"types":"./dist/main.d.mts","default":"./dist/main.mjs"},"require":{"types":"./dist/main.d.cts","default":"./dist/main.cjs"}},"./internal":{"import":{"types":"./dist/_internal.d.mts","default":"./dist/_internal.mjs"},"require":{"types":"./dist/_internal.d.cts","default":"./dist/_internal.cjs"}}},"gitHead":"31fc797f00047a8d550be04bf255b66eb97d0526","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsdown","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.14.1","dependencies":{"tar":"7.5.11","lmdb":"3.5.2","consola":"3.4.2","cidr-calc":"1.0.4","ipaddr.js":"2.3.0","extract-zip":"2.0.1","stream-json":"2.0.0","magic-regexp":"0.11.0","@riavzon/json-to-ts":"^1.0.1"},"typesVersions":{"*":{"internal":["./dist/_internal.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"citty":"0.2.1","eslint":"^9.39.2","tsdown":"^0.21.4","publint":"^0.3.18","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0","@types/stream-json":"^1.7.8","@arethetypeswrong/core":"^0.18.2"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_2.0.6_1776262031917_0.9266116182157949","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@riavzon/shield-base","version":"3.0.0","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","lmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@3.0.0","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://docs.riavzon.com/docs/shield-base","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.mjs"},"dist":{"shasum":"8df8562f09fd9b1dc8f477bd01e01192a00d23f9","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-3.0.0.tgz","fileCount":29,"integrity":"sha512-+czUOi4V0IrHHoAeMSn4Enh7gVVZ8MW4khrNAk8JAYI5meqt3q8I5jYGzKibhgzqy354C7bj0V9zDOflmRFoxw==","signatures":[{"sig":"MEYCIQCil5WwxO2Z0t8HvcW1XXETljDc2KfQ+/ksmm0/L5gbggIhAKi21YwYtClaFuyujHzP8kQEmzQ6eLs3fVQjvVIlOPVr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27195168},"main":"./dist/main.mjs","type":"module","types":"./dist/main.d.mts","exports":{".":{"import":{"types":"./dist/main.d.mts","default":"./dist/main.mjs"},"require":{"types":"./dist/main.d.cts","default":"./dist/main.cjs"}},"./internal":{"import":{"types":"./dist/_internal.d.mts","default":"./dist/_internal.mjs"},"require":{"types":"./dist/_internal.d.cts","default":"./dist/_internal.cjs"}}},"gitHead":"da02b73b2a27d679f875e6265c04e6f1e5c474fa","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsdown","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.13.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.16.0","dependencies":{"tar":"7.5.11","lmdb":"3.5.2","consola":"3.4.2","cidr-calc":"1.0.4","ipaddr.js":"2.3.0","extract-zip":"2.0.1","stream-json":"2.0.0","magic-regexp":"0.11.0","@riavzon/json-to-ts":"^1.0.1"},"typesVersions":{"*":{"internal":["./dist/_internal.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"citty":"0.2.1","eslint":"^9.39.2","tsdown":"^0.21.4","publint":"^0.3.18","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0","@types/stream-json":"^1.7.8","@arethetypeswrong/core":"^0.18.2"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_3.0.0_1780052633311_0.5377902082738419","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@riavzon/shield-base","version":"3.0.1","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","lmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@3.0.1","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://docs.riavzon.com/docs/shield-base","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.mjs"},"dist":{"shasum":"d51ae6769aa9a4f4d240da1576c3fbc94668232c","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-3.0.1.tgz","fileCount":29,"integrity":"sha512-YqCamQrMFXlrmU1ryisX5MH9SIrYm0ajI9C9GmBHQdTbR07aUxkGl4N3d2ry9+mx+fdXiSVVnz20I1g1PGStTg==","signatures":[{"sig":"MEUCIQDq4UH2LlJlqNWaiIWPRkMffncU3mjbXpmipRYxCHMPzAIgYkmrFqXbxzPP5xP1HZPM+e0/4NtIxhCcf6qztPiWuME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27195147},"main":"./dist/main.mjs","type":"module","types":"./dist/main.d.mts","exports":{".":{"import":{"types":"./dist/main.d.mts","default":"./dist/main.mjs"},"require":{"types":"./dist/main.d.cts","default":"./dist/main.cjs"}},"./internal":{"import":{"types":"./dist/_internal.d.mts","default":"./dist/_internal.mjs"},"require":{"types":"./dist/_internal.d.cts","default":"./dist/_internal.cjs"}}},"gitHead":"463314b89ef0e6bdc9204458fe55d973753e5955","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsdown","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.13.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.16.0","dependencies":{"tar":"7.5.11","lmdb":"3.5.2","consola":"3.4.2","cidr-calc":"1.0.4","ipaddr.js":"2.3.0","extract-zip":"2.0.1","stream-json":"2.0.0","magic-regexp":"0.11.0","@riavzon/json-to-ts":"^1.0.1"},"typesVersions":{"*":{"internal":["./dist/_internal.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"citty":"0.2.1","eslint":"^9.39.2","tsdown":"^0.21.4","publint":"^0.3.18","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0","@types/stream-json":"^1.7.8","@arethetypeswrong/core":"^0.18.2"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_3.0.1_1780580512410_0.3402983580712384","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@riavzon/shield-base","version":"3.0.2","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","lmdb","firehol","bgp","asn","botnet","security","cli"],"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","_id":"@riavzon/shield-base@3.0.2","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"homepage":"https://docs.riavzon.com/docs/shield-base","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"bin":{"shield-base":"dist/cli.mjs"},"dist":{"shasum":"8bc9474a8ebd820c23c4fe7488035696c3f66656","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-3.0.2.tgz","fileCount":29,"integrity":"sha512-zzfvpxJMt2i6U93dGqO6Matp83PT8aCKkYmBwQDZikjnqqP2ytWpYpBdg6ynLnnexpsoa5bhXiH1hPs+FN3pUA==","signatures":[{"sig":"MEUCIH3jnMGBpzNbm05Q2jXu+OLkmQ0YPFMzI3fFUAmgbIMhAiEAz9nyWOekdEFzmyI3OpagmyX+BxpoxPkFvWelkBnJknM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@3.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27197190},"main":"./dist/main.mjs","type":"module","types":"./dist/main.d.mts","exports":{".":{"import":{"types":"./dist/main.d.mts","default":"./dist/main.mjs"},"require":{"types":"./dist/main.d.cts","default":"./dist/main.cjs"}},"./internal":{"import":{"types":"./dist/_internal.d.mts","default":"./dist/_internal.mjs"},"require":{"types":"./dist/_internal.d.cts","default":"./dist/_internal.cjs"}}},"gitHead":"b8dd8e7e9f5c02790e73753298f07de026027643","scripts":{"dev":"tsx src/index.ts","lint":"eslint .","build":"tsdown","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"repository":{"url":"git+https://github.com/Sergo706/shield-base-cli.git","type":"git"},"_npmVersion":"11.13.0","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","directories":{},"_nodeVersion":"24.16.0","dependencies":{"tar":"7.5.11","lmdb":"3.5.2","consola":"3.4.2","cidr-calc":"1.0.4","ipaddr.js":"2.3.0","extract-zip":"2.0.1","stream-json":"2.0.0","magic-regexp":"0.11.0","@riavzon/json-to-ts":"^1.0.1"},"typesVersions":{"*":{"internal":["./dist/_internal.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"citty":"0.2.1","eslint":"^9.39.2","tsdown":"^0.21.4","publint":"^0.3.18","@types/tar":"^6.1.13","typescript":"^5.9.3","@types/node":"^25.3.5","typescript-eslint":"^8.56.1","@types/extract-zip":"^2.0.0","@types/stream-json":"^1.7.8","@arethetypeswrong/core":"^0.18.2"},"_npmOperationalInternal":{"tmp":"tmp/shield-base_3.0.2_1780581700258_0.11477348212516625","host":"s3://npm-registry-packages-npm-production"}},"3.0.4":{"name":"@riavzon/shield-base","version":"3.0.4","type":"module","main":"./dist/main.mjs","types":"./dist/main.d.mts","author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","repository":{"type":"git","url":"git+https://github.com/Sergo706/shield-base-cli.git"},"homepage":"https://docs.riavzon.com/docs/shield-base","bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","lmdb","firehol","bgp","asn","botnet","security","cli"],"bin":{"shield-base":"dist/cli.mjs"},"exports":{".":{"import":{"types":"./dist/main.d.mts","default":"./dist/main.mjs"},"require":{"types":"./dist/main.d.cts","default":"./dist/main.cjs"}},"./internal":{"import":{"types":"./dist/_internal.d.mts","default":"./dist/_internal.mjs"},"require":{"types":"./dist/_internal.d.cts","default":"./dist/_internal.cjs"}}},"typesVersions":{"*":{"internal":["./dist/_internal.d.mts"]}},"scripts":{"dev":"tsx src/index.ts","build":"tsdown","prepublishOnly":"npm run build","lint":"eslint ."},"dependencies":{"@riavzon/json-to-ts":"^1.0.1","cidr-calc":"1.0.4","consola":"3.4.2","extract-zip":"2.0.1","ipaddr.js":"2.3.0","lmdb":"3.5.2","magic-regexp":"0.11.0","stream-json":"2.0.0","tar":"7.5.11"},"devDependencies":{"@arethetypeswrong/core":"^0.18.2","@types/extract-zip":"^2.0.0","@types/node":"^25.3.5","@types/stream-json":"^1.7.8","@types/tar":"^6.1.13","citty":"0.2.1","eslint":"^9.39.2","publint":"^0.3.18","tsdown":"^0.21.4","typescript":"^5.9.3","typescript-eslint":"^8.56.1"},"gitHead":"2b044446561a5434de7921d376fe92dbe7d9784c","_id":"@riavzon/shield-base@3.0.4","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-J3WigIf4LlGe64SXjtr06Bc9/Reoucp9J4Pis8xb/AeSFyMaDe5gNGnSskMYw+J4vT1cKHkgLkS3eHf/BGYssA==","shasum":"16a02309ec95d675ca365c99e44712b838c8bcd8","tarball":"https://registry.npmjs.org/@riavzon/shield-base/-/shield-base-3.0.4.tgz","fileCount":29,"unpackedSize":27197148,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riavzon%2fshield-base@3.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHvQbzrMnkWXyc9AFf3wCRREoQSVinkNeyxZdJ4u+71IAiEAti7UmSR6nVMx2hhO1GWWG+2Pb4oPp76DUp9WsmbT0XU="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5015a7f5-fcdd-41e3-80e4-7f0faf33bc81"}},"directories":{},"maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/shield-base_3.0.4_1781802382084_0.6928914750690474"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-08T13:47:22.328Z","modified":"2026-06-18T17:06:22.757Z","1.0.0":"2026-03-08T13:47:22.794Z","1.0.1":"2026-03-08T13:49:07.380Z","1.2.0":"2026-03-08T15:53:25.963Z","1.2.1":"2026-03-08T16:09:58.097Z","1.2.2":"2026-03-08T16:17:50.944Z","1.3.0":"2026-03-09T23:11:14.519Z","1.3.1":"2026-03-09T23:20:12.716Z","1.3.2":"2026-03-09T23:29:37.217Z","1.3.3":"2026-03-10T12:10:44.571Z","1.4.0":"2026-03-10T12:25:27.347Z","1.5.0":"2026-03-11T09:44:43.992Z","1.6.0":"2026-03-12T19:44:43.981Z","1.6.1":"2026-03-12T19:56:32.922Z","1.6.2":"2026-03-12T20:03:46.644Z","1.6.3":"2026-03-13T16:41:20.648Z","1.6.4":"2026-03-22T03:54:05.337Z","1.7.0":"2026-03-22T10:59:25.738Z","1.8.0":"2026-03-23T04:47:23.079Z","2.0.0":"2026-03-24T23:46:12.683Z","2.0.1":"2026-03-26T00:52:50.190Z","2.0.3":"2026-03-26T02:33:13.672Z","2.0.4":"2026-03-29T12:52:27.315Z","2.0.5":"2026-04-14T08:41:14.622Z","2.0.6":"2026-04-15T14:07:12.246Z","3.0.0":"2026-05-29T11:03:53.589Z","3.0.1":"2026-06-04T13:41:52.655Z","3.0.2":"2026-06-04T14:01:40.458Z","3.0.4":"2026-06-18T17:06:22.428Z"},"bugs":{"url":"https://github.com/Sergo706/shield-base-cli/issues"},"author":{"name":"Sergio contact@riavzon.com"},"license":"MIT","homepage":"https://docs.riavzon.com/docs/shield-base","keywords":["geoip","geo data","city data","geolocation","tor exist nodes","mmdb","threat-intelligence","lmdb","firehol","bgp","asn","botnet","security","cli"],"repository":{"type":"git","url":"git+https://github.com/Sergo706/shield-base-cli.git"},"description":"Shield-Base is a command-line tool designed to aggregate, process, and compile network intelligence data into offline ready formats. It fetches data from multiple public sources, including BGP routing tables, geographic location databases, and threat inte","maintainers":[{"name":"sergo99882","email":"sergo998826@gmail.com"}],"readme":"# Shield-Base CLI\n\nShield-Base is a command line tool designed to aggregate, process, and compile network data into offline binary formats.\n\nIt fetches data from multiple public sources, including [BGP](https://en.wikipedia.org/wiki/Border_Gateway_Protocol) routing tables, geographic location databases, threat intelligence lists, and common crawler ips and consolidates them for use in security analysis and traffic filtering.\n\nThe tool can be used as both interactive cli powered by [Consola](https://github.com/unjs/consola/tree/main), and programmatically.\n\n>Docs: https://docs.riavzon.com/docs/shield-base\n\n## Features\n\n- Comes with an Installation wizard, choose only the databases you need, or compile them all, supports flag based execution for CI/CD environments.\n- Merges ASN, GeoIP, Tor exit nodes, Threat data, and verified crawler datasets into a single pipeline.\n- Automatically compiles processed data into .mmdb formats using [mmdbctl](https://github.com/ipinfo/mmdbctl).\n- Compiles key value data (user-agent patterns, disposable email domains) into [LMDB](https://en.wikipedia.org/wiki/Lightning_Memory-Mapped_Database) `.mdb` databases.\n- Supports generating fully typed mmdb or lmdb database from json inputs.\n- Can generate Typescript types from json inputs.\n- Includes an `lm-read` subcommand for inspecting LMDB databases from the command line.\n- Written fully in Typescript.\n\n## Data Sources\nThe tool relies on several public data providers:\n\n### 1. [BGP](https://bgp.tools) & ASN Data\nProvides Autonomous System Numbers and prefix routing data.\n\n>**WARNING**\n>\n> **BGP.tools Integration**: To get data from them, you need to provide a valid contact User-Agent in the format: `<name> [url] - <email>`. You will be prompted for this in the interactive mode or you can provide it via the `--contact` flag.\n> More info at  [BGP.tools](https://bgp.tools/kb/api) API docs.\n\n\n### 2. Geographic Data\n- [Country](https://github.com/sapics/ip-location-db/tree/main/geo-asn-country-mmdb) and rich meta information derived from RIR databases (AFRINIC, APNIC, ARIN, LACNIC, RIPE NCC) and WHOIS records, and mapped locally.\n\n- **City**: IP to city geolocation mapping using [RFC 8805](https://datatracker.ietf.org/doc/html/rfc8805) [Geofeeds](https://geolocatemuch.com) and enriched geographic datasets.\n\n### 3. Threat Intelligence\nThe tool allows you to choose from multiple security blocklists, categorized into levels based on the environment:\n\n- **Level 1**: Maximum protection, minimum false positives.\n- **Level 2**: Recent attacks.\n- **Level 3**: Active attacks, spyware, and viruses.\n- **Level 4**: Aggressive tracking, higher false-positive risk.\n- **Anonymous**: Specifically targets Tor exit nodes, I2P, VPNs, and other anonymity network relays.\n\n>**NOTE**\n>\n> Check [FireHOL](https://github.com/firehol/blocklist-ipsets) documentation, for more information.\n\n\n\n### 4. Anonymity Networks\n\nThe tool fetches data and ip lists directly from the [Tor Project's Onionoo API](https://metrics.torproject.org/onionoo.html),\nAnd a list of known public proxies from different sources, such as [awesome-lists](https://github.com/mthcht/awesome-lists/tree/main/Lists/PROXY), and [FireHOL](https://github.com/firehol/blocklist-ipsets/blob/master/firehol_proxies.netset) then merges them into a single formatted database.\n\n### 5. Verified Crawlers\nShield-Base also fetches IP ranges for major search engine crawlers and legitimate automated agents (Google, Bing, Apple, Meta, etc.).\nYou can easily customize it to provide additional URLs when used programmatically, or you can use its functions to feed it raw HTML/text to get clean IPs back.\n\nData is extracted directly from official provider geofeeds (JSON/CSV) and HTML pages.\nThis fetcher uses a tiered fetch with a fallback mechanism that will use `curl` to bypass anti scraping measures on social media geofeeds when it detects a regular fetch being blocked.\n\n>**WARNING**\n>\n> Make sure `curl` is installed when you use this data source.\n\n#### Example Usage\n**Command Line**\n\nSimply run `npx shield-base --seo` and the database will be built with around 3400 records.\n\n**Programmatic Usage**\n\nIf you want to provide custom URLs to fetch into the database, you need to define an array of objects including the provider `name`, the list of `urls` to process, and the type of data at the URL, for example:\n\n```ts\nconst myCustomCrawlersUrls = [\n  {\n  name: 'cloudflare', // REQUIRED\n\n  /** REQUIRED. If the links you are providing include a regular html/markdown/other-raw-text-data page, use HTML. If it is a link to a CSV file, use CSV.\n  * If it is a JSON (e.g., https://developers.google.com/static/search/apis/ipranges/googlebot.json), use JSON.\n  */\n  type: 'CSV' | 'JSON' | 'HTML',\n  urls: ['example.com', 'example1.com','example2.com'] // REQUIRED.\n}\n\n]\nconst mmdbPath = 'path to mmdbctl binary'\nawait getCrawlersIps(outputDirectory, mmdbPath, myCustomCrawlersUrls)\n```\nThis will compile the built in datasets with your data into a single `mmdb` database.\nIf `mmdbctl` is already installed in your system, simply provide `mmdbctl` for the `mmdbctl` binary argument; if not, you can run the installation wizard to install it for you automatically (see below), or you can [download](https://github.com/ipinfo/mmdbctl) it directly.\n\n### 6. Suspicious user agents\n\nThis source downloads a curated CSV list of suspicious and malicious HTTP\nUser-Agent strings from\n[mthcht/awesome-lists](https://github.com/mthcht/awesome-lists/tree/main/Lists).\nUse it to detect and block known bad clients at the request level.\n\nOutput file: `useragent.mdb`\n\n>**NOTE**\n>\n> A `useragent.mdb-lock` file is generated automatically alongside the database.\n\n**Command line**\n\n```bash\nshield-base --useragent\n```\n\n**Programmatic usage**\n\n```ts\nimport { getUserAgentLmdbList } from '@riavzon/shield-base';\nawait getUserAgentLmdbList(outputDirectory);\n```\n\n### 7. Disposable email domains\n\nThis source downloads a plain-text blocklist of disposable and temporary email\ndomain providers from\n[disposable-email-domains](https://github.com/disposable-email-domains/disposable-email-domains).\nUse it to reject registrations and form submissions from throwaway email\naddresses.\n\nOutput file: `disposable-emails.mdb`\n\n>**NOTE**\n>\n> A `disposable-emails.mdb-lock` file is generated automatically alongside the database.\n\n**Command line**\n\n```bash\nshield-base --email\n```\n\n**Programmatic usage**\n\n```ts\nimport { getDisposableEmailLmdbList } from '@riavzon/shield-base';\nawait getDisposableEmailLmdbList(outputDirectory);\n```\n\n### 8. Custom\n\nYou can provide your own data and generate fully typed mmdb/lmdb compatible databases.\n\n>**NOTE**\n>\n>When processing multiple input files, the first output uses your --name (e.g., myDb.mmdb), while subsequent files are indexed (e.g., myDb-1.mmdb, myDb-2.mmdb).\n\n>**NOTE**\n>\n>The `--type` flag is required and determines the output format. For `mmdb`, every record must contain a `range` field with an ipv4/ipv6 address or CIDR range. For `lmdb`, every record must contain a `key` or `id` field used as the lookup key.\n\nExamples:\n\n**Command Line**\n\n```bash\n# Compile an MMDB database (IP range data)\nshield-base compile --type mmdb --name myMmdbDb --outputDir src/types example.json\n\n# Compile an LMDB database (key-value data)\nshield-base compile --type lmdb --name myDb --outputDir src/types example.json\n\n# Compile from multiple JSON files (batch) — works for both mmdb and lmdb\nshield-base compile --type mmdb --name myMmdbDb --outputDir src/types file1.json file2.json file3.json\n\n# OR with npx\nnpx @riavzon/shield-base compile --type mmdb --name myMmdbDb --outputDir src/types example.json\n```\nThis will output the database file and a `myMmdbDbTypes.ts` type file typed from the json file. When processing multiple input files, the first output uses your `--name` (for example, `myMmdbDb.mmdb`), while subsequent files are indexed (for example, `myMmdbDb-1.mmdb`, `myMmdbDb-2.mmdb`).\n\n**Programmatic Usage**\n\nYou can use the compiler directly in your code, the below code will produce the same output as above:\n\n```ts\nimport { compiler } from '@riavzon/shield-base'\n\n// MMDB (IP range data)\nconst mmdbPath = 'path to mmdbctl binary'\nawait compiler({\n    type: 'mmdb',\n    input: {\n        data: 'example.json',\n        dataBaseName: 'myMmdbDb',\n        mmdbPath,\n        outputPath: './',\n        generateTypes: true\n    }\n});\n\n// LMDB (key-value data)\nawait compiler({\n    type: 'lmdb',\n    input: {\n        data: 'example.json',\n        dataBaseName: 'myDb',\n        outputPath: './',\n        generateTypes: true\n    }\n});\n```\nIf you need to generate a database from many json files you can provide an array of paths. This works for both `mmdb` and `lmdb` types:\n\n```ts\nimport { compiler } from '@riavzon/shield-base'\nimport type { StringOfSources } from '@riavzon/shield-base';\n\nconst sources: StringOfSources[] = [\n  {\n    pathToJson: 'example.json', // REQUIRED\n    dataBaseName: 'myMmdbDb', // REQUIRED\n    outputPath: './' // REQUIRED\n  },\n    {\n    pathToJson: 'example2.json', // REQUIRED\n    dataBaseName: 'myMmdbDb2', // REQUIRED\n    outputPath: './' // REQUIRED\n  },\n  ]\n\n// MMDB batch\nconst mmdbPath = 'path to mmdbctl binary'\nawait compiler({\n    type: 'mmdb',\n    input: {\n        data: sources,\n        dataBaseName: 'myMmdbDb',\n        mmdbPath,\n        outputPath: './',\n        generateTypes: true\n    }\n});\n\n// LMDB batch (no mmdbPath needed)\nawait compiler({\n    type: 'lmdb',\n    input: {\n        data: sources,\n        dataBaseName: 'myDb',\n        outputPath: './',\n        generateTypes: true\n    }\n});\n```\nYou can also feed it raw json data and it will happily generate a database and its types:\n\n```ts\nimport { compiler } from '@riavzon/shield-base'\n\nconst data = [\n  {\n    \"range\": \"1.1.1.0/24\",\n    \"metadata\": {\n      \"version\": \"1.0.0\",\n      \"author\": \"Person\",\n      \"tags\": [\"dns\", \"secure\", \"fast\"],\n      \"sub_data\": {\n        \"level_1\": { // Can be as much nested as you need\n          \"level_2\": {\n            \"level_3\": {\n              \"level_4\": {\n                \"deep_value\": \"Success\",\n                \"array_of_objects\": [\n                  { \"index\": 0, \"active\": true },\n                  { \"index\": 1, \"active\": false }\n                ],\n                \"mixed_types\": [1, \"two\", { \"three\": 3 }]\n              }\n            }\n          }\n        }\n      }\n    },\n    \"organization\": {\n      \"name\": \"Cloudflare, Inc.\",\n      \"details\": {\n        \"headquarters\": \"San Francisco\",\n        \"employees\": 3000,\n        \"is_public\": true\n      }\n    }\n  },\n];\n\nawait compiler({\n    type: 'mmdb',\n    input: {\n        data,\n        dataBaseName: 'myMmdbDb',\n        mmdbPath,\n        outputPath: './',\n        generateTypes: true\n    }\n});\n```\nThe above will produce:\n\n- `myMmdbDb.mmdb` database:\n```bash\n    mmdbctl read -f json-pretty 1.1.1.10 ./myMmdbDb.mmdb\n```\n```json\n{\n  \"ip\": \"1.1.1.10\",\n  \"metadata\": {\n    \"author\": \"Person\",\n    \"sub_data\": {\n      \"level_1\": {\n        \"level_2\": {\n          \"level_3\": {\n            \"level_4\": {\n              \"array_of_objects\": [\n                {\n                  \"active\": true,\n                  \"index\": 0\n                },\n                {\n                  \"active\": false,\n                  \"index\": 1\n                }\n              ],\n              \"deep_value\": \"Success\",\n              \"mixed_types\": [\n                1,\n                \"two\",\n                {\n                  \"three\": 3\n                }\n              ]\n            }\n          }\n        }\n      }\n    },\n    \"tags\": [\n      \"dns\",\n      \"secure\",\n      \"fast\"\n    ],\n    \"version\": \"1.0.0\"\n  },\n  \"network\": \"1.1.1.0/24\",\n  \"organization\": {\n    \"details\": {\n      \"employees\": 3000,\n      \"headquarters\": \"San Francisco\",\n      \"is_public\": true\n    },\n    \"name\": \"Cloudflare, Inc.\"\n  }\n}\n```\n- `mymmdbdbTypes.ts` Typescript types:\n```ts\ninterface MyMmdbDb {\n  range: string;\n  metadata: Metadata;\n  organization: Organization;\n}\n\ninterface Organization {\n  name: string;\n  details: Details;\n}\n\ninterface Details {\n  headquarters: string;\n  employees: number;\n  is_public: boolean;\n}\n\ninterface Metadata {\n  version: string;\n  author: string;\n  tags: string[];\n  sub_data: Subdata;\n}\n\ninterface Subdata {\n  level_1: Level1;\n}\n\ninterface Level1 {\n  level_2: Level2;\n}\n\ninterface Level2 {\n  level_3: Level3;\n}\n\ninterface Level3 {\n  level_4: Level4;\n}\n\ninterface Level4 {\n  deep_value: string;\n  array_of_objects: Arrayofobject[];\n  mixed_types: (Mixedtype | number | string)[];\n}\n\ninterface Mixedtype {\n  three: number;\n}\n\ninterface Arrayofobject {\n  index: number;\n  active: boolean;\n}\n```\n\n> **TIP**\n>\n> Each data source is updated regularly, some even every 5 minutes. You can use the `-refresh` flag to restart your current datasets or use the `--refreshAll` flag to refresh your current datasets and add any missing datasets Shield-Base has to offer.\n\n## Installation\n\n```bash\nnpm install @riavzon/shield-base\n\nnpm link\n\n# Or\nnpx @riavzon/shield-base <command> <args>\n\n# Or to start the wizard\nnpx @riavzon/shield-base\n\nnpx @riavzon/shield-base <args>\n\n```\n## Caching\n\nTo speed things up, and remember your choices for the next runs, Shield-Base caches the mmdbctl binary path and settings you chose in the interactive wizard, in:\n`~/.shield-base/.cache.json`\n\nYou can safely delete this file to force the tool to reverify or reinstall dependencies.\n\n## Usage\n\n>**WARNING**\n>\n>The tool requires [mmdbctl](https://github.com/ipinfo/mmdbctl) to be installed locally, in order to run.\n>It tries to install it by itself if it detects it's not installed and prompt you before it does so.\n\n### Interactive Mode\nSimply run the command without arguments to start the wizard:\n```bash\nshield-base\n\n# Or\nnpx @riavzon/shield-base\n```\n### Types Generations\n\nYou can generate types from any json inputs files or raw data:\n\n```bash\n# Raw data\nshield-base types --name example --outputDir ./ <raw-json-data>\n# OR\nnpx @riavzon/shield-base types --name example --outputDir ./ <raw-json-data>\n\n# Files\nshield-base types --name example --outputDir ./ example.json\nnpx @riavzon/shield-base types --name example --outputDir ./ example.json\n\n# Batch Processing\nshield-base types --name batchExample --outputDir ./ file1.json file2.json '{\"raw\": \"json\"}'\nnpx @riavzon/shield-base types --name batchExample --outputDir ./ file1.json file2.json '{\"raw\": \"json\"}'\n```\nThe above will generate multiple TypeScript files (`batchExampleTypes.ts`, `batchExample-1Types.ts`, etc.) in the `outputDir` directory.\n\n\nThe `generateTypeFile` utility accepts three input formats:\n\n- File Path: A string path to a `.json` file './data.json'.\n- JSON String: A raw stringified JSON '{\"key\": \"value\"}'.\n- Object: A standard Javascript object or array already in memory.\n\nThe below code will produce the same output as above:\n```ts\nimport { generateTypeFile } from '@riavzon/shield-base'\n\ngenerateTypeFile('example.json', 'exampleName', \"./\");\n\n\n// Or\nconst json = {\n  \"id\": 1,\n  \"value\": \"someValue\",\n  \"anotherValue\": \"someAnotherValue\"\n}\ngenerateTypeFile(json, 'exampleName', \"./\");\n\n```\n### Programmatic\n\n```ts\n// Core scripts\nimport {\n    getBGPAndASN,\n    buildCitiesData,\n    generateData as executeAll,\n    getGeoDatas,\n    getListOfProxies,\n    getThreatLists,\n    getTorLists,\n    restartData,\n    getCrawlersIps,\n    getUserAgentLmdbList,\n    getDisposableEmailLmdbList,\n    getJaDatabaseLmdb,\n    run\n} from '@riavzon/shield-base';\nconst contactInfo = `<name> [url] - <email>`\n\nconst mmdbPath = 'path to mmdbctl binary'\nawait executeAll(outputDirectory, contactInfo ?? '', true, mmdbPath)\n\nconst ids = [\n    \"firehol_anonymous\",\n    \"firehol_l1\",\n    \"firehol_l2\",\n    \"firehol_l3\",\n    \"firehol_l4\"\n]\n\nconst selectedSources = true; // or use ids array.\nconst myCustomCrawlersUrls = [];\nconst results = await Promise.allSettled([\n            getBGPAndASN(contactInfo, outputDirectory, mmdbPath),\n            buildCitiesData(outputDirectory, mmdbPath),\n            getTorLists(outputDirectory, mmdbPath),\n            getGeoDatas(outputDirectory, mmdbPath),\n            getListOfProxies(outputDirectory, mmdbPath),\n            getThreatLists(outputDirectory, mmdbPath, selectedSources),\n            getCrawlersIps(outputDirectory, mmdbPath, myCustomCrawlersUrls),\n            getUserAgentLmdbList(outputDirectory),\n            getDisposableEmailLmdbList(outputDirectory),\n            getJaDatabaseLmdb(outputDirectory)\n]);\nconst restartAllData = true;\n\nconst restart = await restartData(outputDirectory, restartAllData)\n\n// A utility to run shell commands\nawait run('ls')\n```\n\n### Flag Based\nFor automated environments, you can specify exactly which sources to compile:\n\n```bash\n# Compile everything with parallel execution\nshield-base --all --parallel --contact \"name example.com - admin@example.com\"\n\n# Compile only Tor and BGP data\nshield-base --tor --bgp --contact \"name - admin@example.com\"\n\n# Compile FireHOL Level 1 and Level 2\nshield-base --l1 --l2 --acceptFireholRisk\n```\n\n### Global Flags\n\nThese flags control the interactive installation wizard and automated data fetching.\nyou can use the --help flag to see the full list of options available, or\n`shield-base <command> --help` to see available options for a command.\n\n| Flag | Description |\n| --- | --- |\n| `--help`, `-h` | Show help for the main command or a subcommand. |\n| `--acceptFireholRisk` | Acknowledge licensing for FireHOL datasets. |\n| `--all` | Skip interactive selection and fetch all available sources. |\n| `--refresh` | Force redownload of existing data sources. |\n| `--refreshAll` | Force redownload and recompilation of all data sources using cached config. |\n| `--parallel` | Run compilation tasks concurrently. |\n| `--contact <str>` | Provide the required BGP.tools contact info. |\n| `--path <dir>` | Specify the output directory for compiled databases. |\n| `--bgp` | Compile BGP data. |\n| `--city` | Compile City data. |\n| `--geo` | Compile Geography data. |\n| `--proxy` | Compile Proxy data. |\n| `--tor` | Compile Tor data. |\n| `--seo` | Compile verified search engine and automated agent ranges. |\n| `--useragent` | Compile suspicious user-agent patterns into an LMDB database. |\n| `--email` | Compile the disposable email domain blocklist into an LMDB database. |\n| `--l1` | Compile FireHOL Level 1. |\n| `--l2` | Compile FireHOL Level 2. |\n| `--l3` | Compile FireHOL Level 3. |\n| `--l4` | Compile FireHOL Level 4. |\n| `--anonymous` | Compile FireHOL Anonymous network list. |\n\n### Subcommands\n\n#### `compile`\nGenerates MMDB or LMDB databases and TypeScript types from custom JSON files.\n\n| Argument / Flag | Type | Description |\n| --- | --- | --- |\n| `<INPUT>` | Positional | One or more paths to JSON data files separated by spaces. |\n| `--type` | `mmdb` \\| `lmdb` | **Required**. The output format. Use `mmdb` for ip range data (`range` field required), `lmdb` for key value data (`key` or `id` field required). |\n| `--name` | String | **Required**. Base name for the output files. |\n| `--outputDir` | String | Directory to save the files. Defaults to `./`. |\n| `--types` | Boolean | Whether to generate TypeScript types. Defaults to `true`. |\n| `--no-types` | Flag | Disable TypeScript type generation. |\n| `--help`, `-h` | Flag | Show help for the compile command. |\n\n#### `lm-read`\nReads and inspects data from an LMDB database. Pass the full path to the `.mdb` environment directory, not its parent.\n\n| Argument / Flag | Type | Description |\n| --- | --- | --- |\n| `--path` | String | **Required**. Full path to the `.mdb` database (e.g. `./out/myDb.mdb`). |\n| `--name` | String | **Required**. Name of the LMDB sub-database. |\n| `--operation` | Enum | **Required**. One of `get`, `range`, `prefix`, `count`, `exists`, `stats`, `drop`. |\n| `--key` | String | Exact key to look up. Required for `get` and `exists`. |\n| `--prefix` | String | Key prefix to search. Required for `prefix`. |\n| `--limit` | String | Max records to return. Used by `range` and `prefix`. Defaults to `10`. |\n| `--help`, `-h` | Flag | Show help for the lm-read command. |\n\n```bash\n# Get a record by exact key\nshield-base lm-read --path ./out/myDb.mdb --name myDb --operation get --key \"some-key\"\n\n# List the first 5 records in B-tree order\nshield-base lm-read --path ./out/myDb.mdb --name myDb --operation range --limit 5\n\n# Find all keys starting with a prefix\nshield-base lm-read --path ./out/myDb.mdb --name myDb --operation prefix --prefix \"curl\"\n\n# Count all records\nshield-base lm-read --path ./out/myDb.mdb --name myDb --operation count\n\n# Check if a key exists\nshield-base lm-read --path ./out/myDb.mdb --name myDb --operation exists --key \"some-key\"\n```\n\n#### `types`\nGenerates standalone TypeScript type definitions from JSON files.\n\n| Argument / Flag | Type | Description |\n| --- | --- | --- |\n| `<INPUT>` | Positional | One or more paths to JSON data files or raw JSON strings separated by spaces. |\n| `--name` | String | **Required**. Base name for the generated type file. |\n| `--outputDir` | String | Directory to save the types. Defaults to `./`. |\n| `--help`, `-h` | Flag | Show help for the types command. |\n\n\n## Reading data\n\n### MMDB databases\nYou can read from a compiled database via the command line with [`mmdbctl`](https://github.com/ipinfo/mmdbctl):\n\n```bash\nmmdbctl read -f json-pretty 8.8.8.8 outputDirectory/asn.mmdb\n```\nOr with a specialized library such as [`mmdb-lib`](https://www.npmjs.com/package/mmdb-lib), [`@maxmind/geoip2-node`](https://www.npmjs.com/package/@maxmind/geoip2-node), or [`maxmind`](https://www.npmjs.com/package/maxmind).\n\nExample:\n\n```js\nimport fs from 'fs';\nimport * as mmdb from 'mmdb-lib';\nconst db = fs.readFileSync('/path/to/data.mmdb');\nconst reader = new mmdb.Reader<CityGeoRecord>(db);\nconsole.log(reader.get('66.6.44.4'));\n\n// OR\nimport { Reader } from \"@maxmind/geoip2-node\";\nconst read = await Reader.open(path.join(__dirname, '/path/to/data.mmdb'));\n```\n\n### LMDB databases\n[LMDB](https://en.wikipedia.org/wiki/Lightning_Memory-Mapped_Database) is a memory-mapped key value store. You can query any `.mdb` database from the command line using the `lm-read` subcommand (see above), or read it programmatically.\n\nFor production use, use the [`lmdb-js`](https://github.com/kriszyp/lmdb-js) library directly, its fully ACID complaint, gives you full control over iteration, transactions, and much more:\n\n```ts\nimport { open } from 'lmdb';\n\nconst db = open({\n    path: './out/useragent.mdb',\n    name: 'useragent',\n    readOnly: true,\n    useVersions: true,\n    compression: true,\n    sharedStructuresKey: Symbol.for('structures'),\n});\n\nconst record = db.get('sqlmap');\ndb.close();\n```\n\nThe exported reader functions from `@riavzon/shield-base` are a convenience wrapper suited for scripting and inspection:\n\n```ts\nimport { getByKey, getRange, getByPrefix, countRecords, doesExist } from '@riavzon/shield-base';\n\nconst dbPath = './out/useragent.mdb';\nconst dbName = 'useragent';\n\nconst record = getByKey(dbPath, dbName, 'sqlmap');\nconst records = getRange(dbPath, dbName, 10);\nconst matches = getByPrefix(dbPath, dbName, 'curl', 20);\nconst total = countRecords(dbPath, dbName);\nconst exists = doesExist(dbPath, dbName, 'nmap-scripting-engine');\n```\n\n## Data Examples\n\n\n### SEO Bots\n```bash\nmmdbctl read -f json-pretty 66.249.66.1 outputDirectory/goodBots.mmdb\n```\n```json\n{\n  \"provider\": \"google\",\n  \"range\": \"66.249.66.0/24\",\n  \"syncToken\": \"1710000000\",\n  \"creationTime\": \"2024-03-09T22:00:00.000Z\"\n}\n```\n\n### BGP\n```bash\nmmdbctl read -f json-pretty 8.8.8.8 outputDirectory/asn.mmdb\n```\n\nOutput:\n\n```json\n{\n\"asn_id\": \"15169\",\n\"asn_name\": \"Google LLC\",\n\"classification\": \"Content\",\n\"hits\": \"2679\",\n\"ip\": \"8.8.8.8\",\n\"network\": \"8.8.8.0/24\"\n}\n```\n\n### City\n```bash\nmmdbctl read -f json-pretty 137.174.48.5 outputDirectory/city.mmdb\n```\n\nOutput:\n\n```json\n{\n\"capital\": \"Paris\",\n\"city\": \"Paris\",\n\"continent\": \"Europe\",\n\"country_code\": \"FR\",\n\"currency\": \"EUR\",\n\"currency_name\": \"Euro\",\n\"emoji\": \"🇫🇷\",\n\"ip\": \"137.174.48.5\",\n\"languages\": \"Frañs\",\n\"latitude\": \"48.85661400\",\n\"longitude\": \"2.35222190\",\n\"name\": \"France\",\n\"nationality\": \"French\",\n\"native\": \"France\",\n\"network\": \"137.174.48.0/21\",\n\"numericCode\": \"250\",\n\"phone\": \"33\",\n\"region\": \"FR-75C\",\n\"state\": \"Paris\",\n\"subregion\": \"Western Europe\",\n\"timeZoneName\": \"Central European Time\",\n\"timezone\": \"Europe/Paris\",\n\"tld\": \".fr\",\n\"utc_offset\": \"UTC+01:00\",\n\"zip_code\": \"123456\"\n}\n```\n### Country\n\n```bash\nmmdbctl read -f json-pretty 161.185.160.93 outputDirectory/country.mmdb\n```\nOutput\n\n```json\n{\n\"capital\": \"Washington\",\n\"country_code\": \"US\",\n\"currency\": \"USD\",\n\"currency_name\": \"United States dollar\",\n\"currency_symbol\": \"$\",\n\"emoji\": \"🇺🇸\",\n\"ip\": \"161.185.160.93\",\n\"languages\": \"Stadoù-Unanet\",\n\"name\": \"United States\",\n\"nationality\": \"American\",\n\"native\": \"United States\",\n\"network\": \"161.185.0.0-161.186.255.255\",\n\"numericCode\": \"840\",\n\"phone\": \"1\",\n\"region\": \"Americas\",\n\"subregion\": \"Northern America\",\n\"timeZoneName\": \"Hawaii–Aleutian Standard Time\",\n\"timezone\": \"America/Adak\",\n\"tld\": \".us\",\n\"utc_offset\": \"UTC-10:00\"\n}\n```\n### Tor\n\n```bash\nmmdbctl read -f json-pretty 192.42.116.52 outputDirectory/tor.mmdb\n```\n\n```json\n{\n\"as\": \"AS215125\",\n\"as_name\": \"Church of Cyberology\",\n\"contact\": \"email:mail[]nothingtohide.nl url:nothingtohide.nl proof:uri-rsa abuse:abuse[]nothingtohide.nl ciissversion:2\",\n\"country\": \"nl\",\n\"country_name\": \"Netherlands\",\n\"exit_addresses\": \"192.42.116.49\",\n\"exit_policy\": \"reject 0.0.0.0/8:*,reject 169.254.0.0/16:*,reject 127.0.0.0/8:*,reject 192.168.0.0/16:*,reject 10.0.0.0/8:*,reject 172.16.0.0/12:*,reject 192.42.116.49:*,accept *:80,accept *:443,accept *:8080,accept *:8443,accept *:110,accept *:143,accept *:220,accept *:465,accept *:587,accept *:993,accept *:995,accept *:43,accept *:53,accept *:853,accept *:4321,accept *:11371,accept *:873,accept *:3690,accept *:9418,accept *:194,accept *:6660-6669,accept *:6679,accept *:6697,accept *:7000-7001,accept *:5222-5223,accept *:5228,accept *:64738,accept *:1194,accept *:1293,accept *:51820,accept *:8233,accept *:8333,accept *:9333,accept *:18080-18081,accept *:30303,accept *:51235,reject *:*\",\n\"exit_policy_summary\": \"{\\\"accept\\\":[\\\"43\\\",\\\"53\\\",\\\"80\\\",\\\"110\\\",\\\"143\\\",\\\"194\\\",\\\"220\\\",\\\"443\\\",\\\"465\\\",\\\"587\\\",\\\"853\\\",\\\"873\\\",\\\"993\\\",\\\"995\\\",\\\"1194\\\",\\\"1293\\\",\\\"3690\\\",\\\"4321\\\",\\\"5222-5223\\\",\\\"5228\\\",\\\"6660-6669\\\",\\\"6679\\\",\\\"6697\\\",\\\"7000-7001\\\",\\\"8080\\\",\\\"8233\\\",\\\"8333\\\",\\\"8443\\\",\\\"9333\\\",\\\"9418\\\",\\\"11371\\\",\\\"18080-18081\\\",\\\"30303\\\",\\\"51235\\\",\\\"51820\\\",\\\"64738\\\"]}\",\n\"exit_probability\": 0.0005507535,\n\"first_seen\": \"2023-07-07 00:00:00\",\n\"flags\": \"Exit,Fast,Running,Valid\",\n\"guard_probability\": 0,\n\"ip\": \"192.42.116.52\",\n\"last_changed_address_or_port\": \"2026-03-07 19:00:00\",\n\"last_restarted\": \"2026-03-07 17:44:13\",\n\"last_seen\": \"2026-03-08 10:00:00\",\n\"measured\": true,\n\"middle_probability\": 0,\n\"network\": \"192.42.116.0/24\",\n\"or_addresses\": \"192.42.116.49:9004\",\n\"recommended_version\": true,\n\"running\": true,\n\"version_status\": \"recommended\"\n}\n{\n\"as\": \"AS29802\",\n\"as_name\": \"HIVELOCITY, Inc.\",\n\"contact\": \"Unknown\",\n\"country\": \"us\",\n\"country_name\": \"United States of America\",\n\"exit_addresses\": \"\",\n\"exit_policy\": \"reject *:*\",\n\"exit_policy_summary\": \"{\\\"reject\\\":[\\\"1-65535\\\"]}\",\n\"exit_probability\": 0,\n\"first_seen\": \"2019-02-18 00:00:00\",\n\"flags\": \"Fast,Guard,HSDir,Running,Stable,V2Dir,Valid\",\n\"guard_probability\": 0.000067750596,\n\"ip\": \"66.206.0.138\",\n\"last_changed_address_or_port\": \"2024-01-29 19:00:00\",\n\"last_restarted\": \"2025-05-29 16:27:56\",\n\"last_seen\": \"2026-03-08 10:00:00\",\n\"measured\": true,\n\"middle_probability\": 0.000039495306,\n\"network\": \"66.206.0.0/24\",\n\"or_addresses\": \"66.206.0.82:9001\",\n\"recommended_version\": false,\n\"running\": true,\n\"version_status\": \"obsolete\"\n}\n```\n### Proxy\n```bash\nmmdbctl read -f json-pretty 1.0.136.198 outputDirectory/proxy.mmdb\n\nmmdbctl read -f json-pretty 102.217.190.157 outputDirectory/proxy.mmdb\n\n```\nOutput:\n```json\n{\n\"comment\": \"Ip from Firehol\",\n\"ip\": \"1.0.136.198\",\n\"network\": \"1.0.136.198/32\",\n\"port\": \"unknown\"\n}\n\n{\n\"comment\": \"TheSpeedX, openproxy\",\n\"ip\": \"102.217.190.157\",\n\"network\": \"102.217.190.157/32\",\n\"port\": \"7080\"\n}\n```\n### Threat levels\n\n```bash\nmmdbctl read -f json-pretty 45.143.203.111 outputDirectory/firehol_l1.mmdb\nmmdbctl read -f json-pretty 1.31.80.222 outputDirectory/firehol_l2.mmdb\nmmdbctl read -f json-pretty 1.24.16.177 outputDirectory/firehol_l3.mmdb\nmmdbctl read -f json-pretty 1.10.141.115 outputDirectory/firehol_l4.mmdb\nmmdbctl read -f json-pretty 1.0.136.76 outputDirectory/firehol_anonymous.mmdb\n\n```\n\nOutput:\n\n```json\n{\n\"comment\": \"firehol_l1  Maintainer: http://iplists.firehol.org/\",\n\"ip\": \"45.143.203.111\",\n\"network\": \"45.143.203.0/24\"\n}\n\n{\n\"comment\": \"firehol_l2  Maintainer: http://iplists.firehol.org/\",\n\"ip\": \"1.31.80.222\",\n\"network\": \"1.31.80.222/32\"\n}\n{\n\"comment\": \"firehol_l3  Maintainer: http://iplists.firehol.org/\",\n\"ip\": \"1.24.16.177\",\n\"network\": \"1.24.16.177/32\"\n}\n\n{\n\"comment\": \"firehol_l4  Maintainer: http://iplists.firehol.org/\",\n\"ip\": \"1.10.141.115\",\n\"network\": \"1.10.141.115/32\"\n}\n\n{\n\"comment\": \"firehol_anonymous  Maintainer: http://iplists.firehol.org/\",\n\"ip\": \"1.0.136.76\",\n\"network\": \"1.0.136.76/32\"\n}\n```\n\n\n\n### User-Agent patterns\n\n```bash\nshield-base lm-read --path outputDirectory/useragent.mdb --name useragent --operation get --key *DecoyLoader*\n```\n\n```json\n{\n  \"useragent_rx\": \"(?:).*DecoyLoader.*(?:)\",\n  \"metadata_description\": \"malware sample communicating over HTTP with a hard-coded C2 server and this using string in the user-agent\",\n  \"metadata_tool\": \"DecoyLoader\",\n  \"metadata_category\": \"Malware\",\n  \"metadata_link\": \"\",\n  \"metadata_priority\": \"high\",\n  \"metadata_fp_risk\": \"none\",\n  \"metadata_severity\": \"high\",\n  \"metadata_usage\": \"Detection rule\",\n  \"metadata_flow_from_external\": null,\n  \"metadata_flow_from_internal\": null,\n  \"metadata_flow_to_internal\": null,\n  \"metadata_flow_to_external\": null,\n  \"metadata_for_successful_external_login_events\": null,\n  \"metadata_comment\": \"\",\n  \"date\": \"2026-03-24T23:23:16.470Z\",\n  \"comment\": \"Data maintained by https://github.com/mthcht/awesome-lists, transformed by Shield-base\"\n}\n```\n\n### Disposable email domains\n\n```bash\nshield-base lm-read --path outputDirectory/disposable-emails.mdb --name email --operation get --key 0-mail.com\n```\n```json\n{\n  \"domain\": \"0-mail.com\",\n  \"date\": \"2026-03-24T23:23:16.866Z\",\n  \"comment\": \"Maintained by https://github.com/disposable-email-domains/disposable-email-domains transformed by Shield-Base\"\n}\n```\n\n---\n\n  MIT License\n","readmeFilename":"README.md"}