{"_id":"discovery-swarm-stream","_rev":"10-2e52520dd107f3610083d03944d420ff","name":"discovery-swarm-stream","dist-tags":{"latest":"2.1.1"},"versions":{"1.0.0":{"name":"discovery-swarm-stream","version":"1.0.0","description":"Proxy discovery over a stream","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node server.js","compile-protocol":"protocol-buffers protocol.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/discovery-swarm-stream.git"},"keywords":["dat","swarm","dns","discovery","beaker"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/discovery-swarm-stream/issues"},"homepage":"https://github.com/RangerMauve/discovery-swarm-stream#readme","devDependencies":{"eslint":"^5.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","hyperdrive":"^9.14.0","protocol-buffers":"^4.0.4","random-access-memory":"^3.0.0","websocket-stream":"^5.1.2"},"dependencies":{"discovery-channel":"^5.5.1","length-prefixed-stream":"^1.6.0","protocol-buffers-encodings":"^1.1.0","readable-stream":"^2.3.6","sodium-universal":"^2.0.0"},"gitHead":"4a5a777d8a202b21128a57c363a3e32edda96b07","_id":"discovery-swarm-stream@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.9.0","_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"dist":{"integrity":"sha512-bIMov5o8ZGzVIjedbm4R1Q2uZNNpBpafDUMqE8vxKJEvQxkosjpM0TdGEzBCcDdVkHqLoobHNUfIPecL7nIioQ==","shasum":"6a14a375b25cf5e781eb27fd57bcaf71136b1c6d","tarball":"https://registry.npmjs.org/discovery-swarm-stream/-/discovery-swarm-stream-1.0.0.tgz","fileCount":11,"unpackedSize":20099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUj42CRA9TVsSAnZWagAAfU8P/1thkY1uAlGYLa1bwtma\nb1/7mwtVKJgslwU4ruDjI6gd0BxrgRwfhjYZ6aMJoZmf4H9r7SpUWkyx1lJI\nJPVE+sTy+UbguNwHRuWcV1QGm3lrEzco4FWJGG0G20jv7ZlZFrTv/aBjMzSr\nEdvdyO7GVK6ddUBsKdsmV8r/t0UgnF1/vO9GLaeIG15rDLtOR2X5KsAE78bW\n1pTWINC52bkIHdqFHysZdyzAsL0nL6CSg2iCJZtZGcdvrrFAi01qeSUvGK+h\nV4DjQD3fF8mkGJdOR4B4C9Kx18Py2Ba1sk1G/mRLjn9m3seChzQfiimt3mhP\nHIoLrrvOiTJlyz2clDBFIlP7xho+/vTyG2gnRQvLRaeTdhpkNt1TPzTSq55J\nD/R3+SaGIqUfvekuDAdI717Z7NS97/BQNEZAG5jOeCcsAJ0bVY3PRJvnnMa/\nkrFPXgth9+T7aZdKf0suOh0bzu5jKOOmYA3Ty86q72plVdkw4Tl33FAINGrN\nnXjiB6wyh+rc+rP/6G/gKfWOo0eoEnsHefaujDA1xFK6w30dSeOK8dYoffjH\ne5MmUxbuVBnBS1Za6JISsAvKKex0riiYJNrUIS6nxbn+ZJxzBvKUovAdIqfw\n90WE6BwvHyzgahge+T3/IBmOXmPE4LR2OGgq2J9J9p3M0q+H3QS3dVrcLE2Z\niIYc\r\n=zWjE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdnM3gIxFzbf2kZeAgD2kpFekZQkvItjMcbPy5dp61YwIgaFapCtIK+vMr0jn7V6Ar2l+dPBKCzfOqK0A+BXTL6bo="}]},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/discovery-swarm-stream_1.0.0_1548893749401_0.7001737508040966"},"_hasShrinkwrap":false},"1.1.0":{"name":"discovery-swarm-stream","version":"1.1.0","description":"Proxy discovery over a stream","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node server.js","compile-protocol":"protocol-buffers protocol.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/discovery-swarm-stream.git"},"keywords":["dat","swarm","dns","discovery","beaker"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/discovery-swarm-stream/issues"},"homepage":"https://github.com/RangerMauve/discovery-swarm-stream#readme","devDependencies":{"eslint":"^5.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","hyperdrive":"^9.14.0","protocol-buffers":"^4.0.4","random-access-memory":"^3.0.0","websocket-stream":"^5.1.2"},"dependencies":{"discovery-channel":"^5.5.1","length-prefixed-stream":"^1.6.0","protocol-buffers-encodings":"^1.1.0","readable-stream":"^2.3.6","sodium-universal":"^2.0.0"},"gitHead":"276dc8074e3a12f2c6011cd0eb453320cab15a05","_id":"discovery-swarm-stream@1.1.0","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"dist":{"integrity":"sha512-nRORskud4xU5GrN8Tdz/FzsWid6AM0sKhS0HU2JcUWMmZm9lEWLMEWw6eO+OlTWwHylILtBEf4AzSLWMhzUcPA==","shasum":"ef3a7d56207fbd09e6d0ed600e3e2480e53ed1b4","tarball":"https://registry.npmjs.org/discovery-swarm-stream/-/discovery-swarm-stream-1.1.0.tgz","fileCount":11,"unpackedSize":19931,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcj6gtCRA9TVsSAnZWagAAn7IP/i3UY6J0AftykVQ5PVtT\nhMlK43wxKZTZOokcyAy+EuDo7QdoE7n2b26fPLM74BU+wVySu5218y0gn/vZ\n5tVGcfrFAdTPzW+Hc6YvyOXCIkSp+fOLikxuzVY1ATGa+E06SQ2OIwru3VpS\nr0Hpaa2kbpoOgNdbeE8gC4sIjh1E7BiH0HZ3BxvhevrihRwzBg6cDTbgMQfu\nLb9gRGK46xm8iiIW5k42IdxJnR9N2LU9N4OC5RE6IRZhEgqpxP6cOFjFH8pU\nOCs99bbzgF6cZLUUvN1JjjOwW6KayF0b6mSMAUJE0B6Vu7tsq+hBT+zhtUNk\neUl/r3Tih5IEA/YS39QVpMNv5hv3pNM65y+chVt4lNNTj8nOINc7c1MShPep\nQPBepmCHV31aRgMEpw2+rNdte59rvFszVAehG3scSQPbZHhhEXGsEaMqKpWI\nkljLkEcTUWAuBeTTHy2HeslD4e3cfs6y7h+opb4Qf88PdrXN1B7i+1aEFOTz\nnCaKIrhcHK6DkdpumSCfn4QAweipa9TwFu6qiEa5X2wCxBxwgM6WYgQT42lX\nrR1qnYxR9U6u1GOw74rsWXk6yaINqyYu+D/jP2nmg9GyzU2z6ZTFqw93UHX2\ncMrwX8+p2K4bGWA+YL4qK1cV+TPkjjy1xYfSV0tOWc8+47KEKrZyffMiJ1pW\njIVR\r\n=XEq0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBiDc1NUOXtsxLlS4O9j6QE9YljK1OlA79fHv6r59q0BAiEAxVvTXYvicplGwke3+kRiSTI51XFQnWiufD1bxCg3Fn4="}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/discovery-swarm-stream_1.1.0_1552918572675_0.7474159433271976"},"_hasShrinkwrap":false},"1.1.1":{"name":"discovery-swarm-stream","version":"1.1.1","description":"Proxy discovery over a stream","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node server.js","compile-protocol":"protocol-buffers protocol.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/discovery-swarm-stream.git"},"keywords":["dat","swarm","dns","discovery","beaker"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/discovery-swarm-stream/issues"},"homepage":"https://github.com/RangerMauve/discovery-swarm-stream#readme","devDependencies":{"eslint":"^5.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","hyperdrive":"^9.14.0","protocol-buffers":"^4.0.4","random-access-memory":"^3.0.0","websocket-stream":"^5.1.2"},"dependencies":{"discovery-channel":"^5.5.1","length-prefixed-stream":"^1.6.0","protocol-buffers-encodings":"^1.1.0","readable-stream":"^2.3.6","sodium-universal":"^2.0.0"},"gitHead":"22e2da96e9195f8da9e7719cbb50b6c8895df894","_id":"discovery-swarm-stream@1.1.1","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"dist":{"integrity":"sha512-Iov8HdJqNB1NMleiE8nQfV1L0Ukjk6Aqt6vmHYubCUbKdDaZylwJ/v0ggCLuMSeZQWmwZRhiKdjb+CU8vmfkqg==","shasum":"c121b1996d966b1ae7fa64b9973d8b433d3db8bd","tarball":"https://registry.npmjs.org/discovery-swarm-stream/-/discovery-swarm-stream-1.1.1.tgz","fileCount":11,"unpackedSize":20199,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcj72sCRA9TVsSAnZWagAAb6kQAIke5N4gf6pSeg46wrKb\nuhSnIRdTcY43KhfNdSqkFVQrG3RUg7HiOeeysnXpBYKoLEH4YMC4pIVfbRVf\nc16r6QdfaPXH9BhIToZ0L7O3H7AVjKyblku9zn8Lxl+uj07LjrPQJh2ZgOBp\nVhqc+H+vkFeJadMb14DSnvTe6hz6DJwIXqq7zXZk1WoLr0Yj26hpNsT8Xgoo\nZy/H90thLZtl5OtvEsZOoGu/x7lRz7i8wv1K6V2nVlITTB9BfSMBJBBObe5v\no4J41bFXOYPnHvKi/lUM7/sRQ5luZyLWFlD6xjZYcA+PckXyOyjCj3nVdshb\nrSVLpz1cs4KlV512dzg4rLGrxUQBn2h3wl9DWGmQZm/J+WBbDWaVWqxFUNQ8\nLdTwRFenFxsBotA8faBsM4w821My2oc56yiTW4LmMFFfP/mF3qYd1BHTtS+R\n+CQE1jefhFfK8o4oooZffzKH/HVVKiB8Pc/RqeIesO2tlaLp2jHk4Q7AIoc9\nHorHglb+C5G+0n6Pcwac8LAx7GeyvHzTC8vwdu/o6jZXqxqN7ge2kNswSqea\n/eJ9sVU+LpWA76bmRkovaKTV90+3qhbNxSX+eQqqsOQbu8RRM4OKouckh9Hc\nk5nsY994Hyv6FFKLotXY6kXUObnu8ExJLZh/siFyKGmE3BGyqVVFhsLgIDXp\nuJGP\r\n=yFgq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID6IICtd9SAhGWOrV524qUwl2D2KcvPX9MbwIblYOHzIAiEAhXUgtYZUDImY1ZFV3K+WV/fphvHkrkP3hWjmgBGuHr4="}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/discovery-swarm-stream_1.1.1_1552924075597_0.4894054146329605"},"_hasShrinkwrap":false},"1.1.2":{"name":"discovery-swarm-stream","version":"1.1.2","description":"Proxy discovery over a stream","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node server.js","compile-protocol":"protocol-buffers protocol.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/discovery-swarm-stream.git"},"keywords":["dat","swarm","dns","discovery","beaker"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/discovery-swarm-stream/issues"},"homepage":"https://github.com/RangerMauve/discovery-swarm-stream#readme","devDependencies":{"eslint":"^5.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","hyperdrive":"^9.14.0","protocol-buffers":"^4.0.4","random-access-memory":"^3.0.0","websocket-stream":"^5.1.2"},"dependencies":{"discovery-channel":"^5.5.1","length-prefixed-stream":"^1.6.0","protocol-buffers-encodings":"^1.1.0","readable-stream":"^2.3.6","sodium-universal":"^2.0.0"},"gitHead":"3b973d0ecc846da9c223e50dfeef377ed4da0685","_id":"discovery-swarm-stream@1.1.2","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"dist":{"integrity":"sha512-GrLc3NRDswAS4NZAjzh/qPa12sJftfeoTyneeTEYO3z1/LZQAXuMRV8Nu2r1aEGadn4zCE0/kc4wkvLQSOCoNQ==","shasum":"8dee05c0c00d7c00888fda614e7689207a4dfd87","tarball":"https://registry.npmjs.org/discovery-swarm-stream/-/discovery-swarm-stream-1.1.2.tgz","fileCount":11,"unpackedSize":20225,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcj844CRA9TVsSAnZWagAAcisP/jY5diaU+dPydJ7Tr72n\nY9y5yR3yn0NxOGHH3fb8sGVztndmF5twKA6SMNMDeJdAurOVB3xep9gcWlRk\nH5ykXEZR7H708sP2dk110rZLtpdTxM4f9yw9bKPFTWeEDXIyKxtalJ6OIthQ\nmCdX5H/qXY6lJhXdtO2wuWROnE4U+qXDEayQdS6ADtK8wMQOWek3YzuHqVZt\n3YKW0kZVuOIwO6c3WUlX0a4CTBUqL875yroNNby7fRqEqSKAv3xcSeH1TguN\nwDVEQK4e9mfZ7/JzWEHevCXZfHkkBldvClQcQYB0nDwdrYy4XoN8CbukknVx\n+qXniG+v3YbgsHlwJCsfXpCisRWT6hOCfSxM7tJ6zR/a3LItbp37YhyDPnQF\nOdWa9DMALqsIF/RRsMYCxS4XI8fHCNXWisJOao+UI++6FkuTXwPLpLNcK95S\n4DBZ8LDdTgZmF82jrcaW9r6A3plOF8bx9P40YYnIFrrzV3hgZj51HSXIyv0T\n4D+bh4X8BQGWnZGxotgI6bv9EK6/BxBwe7L5T9A551P86xRUpw7jOjMjoh7V\n9kgpMt222dE4tivkjkyKamdKLEaIIv4UHNg/PijGs+n0Edzf+sRMIUg207GY\nbCtC2lTZkyHWfb0HI4TMDp4zkh8RzcH7tI/bM0krWA79zice3kldD7jk9nec\nvs6V\r\n=DxZz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrob8rQdsRP9OMYmb5zqI9dW6dsy/FaCXzwCDtABhQBQIhAM6xo1oX6cjwGzhi/Jy+Oc1ChHWs71MfaJ4U45ZAmRis"}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/discovery-swarm-stream_1.1.2_1552928312223_0.7463183610342723"},"_hasShrinkwrap":false},"1.1.3":{"name":"discovery-swarm-stream","version":"1.1.3","description":"Proxy discovery over a stream","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node server.js","compile-protocol":"protocol-buffers protocol.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/discovery-swarm-stream.git"},"keywords":["dat","swarm","dns","discovery","beaker"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/discovery-swarm-stream/issues"},"homepage":"https://github.com/RangerMauve/discovery-swarm-stream#readme","devDependencies":{"eslint":"^5.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","hyperdrive":"^9.14.0","protocol-buffers":"^4.0.4","random-access-memory":"^3.0.0","websocket-stream":"^5.1.2"},"dependencies":{"discovery-channel":"^5.5.1","length-prefixed-stream":"^1.6.0","protocol-buffers-encodings":"^1.1.0","readable-stream":"^2.3.6","sodium-universal":"^2.0.0"},"gitHead":"7d3c745466d900856b73c3496cecf58a653f9550","_id":"discovery-swarm-stream@1.1.3","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"dist":{"integrity":"sha512-Zz+n9k6jbIKGV3YKj8DDYBfBiQWoLH81BVyjQxzjensMlodbCFQCMwY3vlNar5Duz4xmsJR3yU1uC7Os5HVNiA==","shasum":"f3b4d431c50ca8c4df816c03b6561bc2da1491d4","tarball":"https://registry.npmjs.org/discovery-swarm-stream/-/discovery-swarm-stream-1.1.3.tgz","fileCount":11,"unpackedSize":20258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcj9U4CRA9TVsSAnZWagAAu5AP/2tYSUVPGHifglU/EN9D\n/NQL8PdeODK0P3ouusEv5hPD/3jzFrW8icpWYPycmPOQe0FcEOn/CUwiRXUR\nE6sSrKWZ07cXB4Re0ZB0cVWC/5cqfuPICv5RHrNIpQTqyBFD5vJtHGjLCrwH\nfk1Ou68tCzl/CpTBywb7elCbcvwXlxAtJ9uywl3gZgI/gKwSOhj22oX0ZAeW\n1kIIEGmstnSE3YtJ3CoalhgD+mNBfY/rdojMn+SPN+3tagm+blGQYpMIVuP4\novaFhpBqPIo09DmuZTfuBO3AnIDLyNpPE47BjZMyd/bLxurQKwzHT41fJ6ZY\nmZQFfGZzI1XXPJYzklwV2PUmI4zTXEyYEQATQk/V5eXQyVFwTcEqoPNwR5em\nb/2teMy+w8way06NVmtmfaQZxF9O5sEdP1+W0R74iJenNBsDX4JABjXIqhh9\n0UMXX1S1Eko23zAHr5XETHKrwcpveVmqbrkuW1Hh8Qh7gvfI0pr1iZRSIBic\nYFg+/fT76BA1v3Ra+QJbRvutWWBzHdhLH/NA8C3bFXA8xqbYga9lUzTajxnz\n9/vnZxgmiatV6doWGPEDLoq302tDf2QmbqcGvI1TQUemntgDotRZ7wwInH6I\nzNMPVQmyDY6la3kfBkcc4DKvREMzN0e5nTLPhvinMcd9FLz8mym87PlqGzfQ\nFg2y\r\n=G+Bf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/BXgJkb4khQ4+KV8R9034TRxjPzNI4kdNf9HSAsB/pwIgYeoSzfqr27YYcYQ32Cr7jKyhOGF9sDfM7AeRJktO5AY="}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/discovery-swarm-stream_1.1.3_1552930103858_0.2342015393824075"},"_hasShrinkwrap":false},"1.1.4":{"name":"discovery-swarm-stream","version":"1.1.4","description":"Proxy discovery over a stream","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node server.js","compile-protocol":"protocol-buffers protocol.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/discovery-swarm-stream.git"},"keywords":["dat","swarm","dns","discovery","beaker"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/discovery-swarm-stream/issues"},"homepage":"https://github.com/RangerMauve/discovery-swarm-stream#readme","devDependencies":{"eslint":"^5.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","hyperdrive":"^9.14.0","protocol-buffers":"^4.0.4","random-access-memory":"^3.0.0","websocket-stream":"^5.1.2"},"dependencies":{"discovery-channel":"^5.5.1","length-prefixed-stream":"^1.6.0","protocol-buffers-encodings":"^1.1.0","readable-stream":"^2.3.6","sodium-universal":"^2.0.0"},"gitHead":"b6c5dc10925236c5ca683b65f4229661411605f0","_id":"discovery-swarm-stream@1.1.4","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"dist":{"integrity":"sha512-9mMkMYbob4lnC39rKKrpGb0h3/CCBvugaDSy3+uklfjSGeQ0A/Ri4pqqTGpGzQyGL8l2cNN/drl7XBfvRv6ogQ==","shasum":"061d4d32608e37fd944cf74847fc86db8a316f74","tarball":"https://registry.npmjs.org/discovery-swarm-stream/-/discovery-swarm-stream-1.1.4.tgz","fileCount":11,"unpackedSize":20318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckmtdCRA9TVsSAnZWagAAbbsP/RXWuKgb8J2z/nZpjo54\nb5OULs0w/YKwKId8qHsS1rCsZjgqrzZ2gZvAwIJFzC7v4mfaCj7TFjadmkV+\nu5kmnhu6QlzW+lBKJCEUMSholkuxL3dQbUrHv6ibDn2Pt9QWrj1laCo5ibPv\njNCCLwCgRxpVwgEoGg2jayKqwvF+UZgiQOGuDohOmXRgz5Wgjlvg7AMO1Xrl\nG2eEvukNHsoynA6x4NfKUSGnxiDz1qqi5f9ldLi4HKRxpcsF86cm38Dk86xR\n1VNZa6FxZkXgIqNiY18CwMgxrvpHYZBReXQxE4YgFkGoqKTyO8neOhJ9Vz76\nw0nWM+cIZDxYzrp2axq1quO7S0eoQjhV6f+po9irjvrxE5m4aXOS7f6mnCYR\nyXnpc8wVVDOgYMfX5xATEo4FJYoq1X+1WR9GHsBUHtioDeAb5zCZZ0tHWUp+\nkbjavrnfEqnGcZwezVTwC12Nyua2ONXPTv5Z3S6QPZPTHZoE0zk2F50JVZo0\nwiyMmKX6qW6Wb7TeyrRDHNZbbFOO4JDYJ8GcDFjYcJhhoMErIACFkEMLASGQ\nd4G0pzlPP3pLPQfTJCd96/zQrlcilH7VOENhqJBYw6iI4He+9Eo2CKB6ieML\nOqkhbdNO1bGMRjgKKcMsgLD/vqR9qOirVkXLqxnJphKdOSD2M53WR9Rz9zp0\nKWn9\r\n=JV3Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPEFEj9TBPJZlnS8p78mWkBJ9z7pOR1Ckuh7aO1Vf4SAIgPiwD0i+KVJFMwt0vCAnzPHM4trZmQpJ5aR5UHY4eDvE="}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/discovery-swarm-stream_1.1.4_1553099612787_0.2727075301998336"},"_hasShrinkwrap":false},"1.1.5":{"name":"discovery-swarm-stream","version":"1.1.5","description":"Proxy discovery over a stream","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node server.js","compile-protocol":"protocol-buffers protocol.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/discovery-swarm-stream.git"},"keywords":["dat","swarm","dns","discovery","beaker"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/discovery-swarm-stream/issues"},"homepage":"https://github.com/RangerMauve/discovery-swarm-stream#readme","devDependencies":{"eslint":"^5.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","hyperdrive":"^9.14.0","protocol-buffers":"^4.0.4","random-access-memory":"^3.0.0","websocket-stream":"^5.1.2"},"dependencies":{"discovery-channel":"^5.5.1","length-prefixed-stream":"^1.6.0","protocol-buffers-encodings":"^1.1.0","readable-stream":"^2.3.6","sodium-universal":"^2.0.0"},"gitHead":"1b26499fc9047f501a06544de5b03a4c433b2ca5","_id":"discovery-swarm-stream@1.1.5","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"dist":{"integrity":"sha512-keN1sE1QQJ94c4HCFoNdwL3wAKfzVsc2wNxY3HmxRF3GdSNiFiUEtMcmJnl0Y7q7eyc0Z6BC1rJY+3OlyfDd7g==","shasum":"d0915088078ad2fd23c96ac8422e0fd58b3f30d3","tarball":"https://registry.npmjs.org/discovery-swarm-stream/-/discovery-swarm-stream-1.1.5.tgz","fileCount":11,"unpackedSize":20530,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckpcTCRA9TVsSAnZWagAA6w8P+gIui9GrOkZNTGVCMx+l\n5/0uYLPCYXBdAn+N/EWfCrmFYx/0zW9PtZHTqQc7EWC5vFmtV4Po5roEmLOH\n3Judxeu04ET9j7Ue8VVhTFIY5ksgdni1TwFHF0r6CYFA6kEdqDCLRu9yxPVl\nPOax+7uNZmTvRrkHW9L7XIs7bMbbP4n7SXTPfOQbbfOaA1FXef/tBxaBTAOy\nYr1em3HVcTfQQhLWsA9ADpGUA4idYDHBVrXmowz9MZkKdnIe7aVJd3jMNbiW\ngiY+7U3G5rsPMwQJYFm614CzgJwwYsoSD5nt4/f+A0OMhRQ+UrTIf3k80r6N\nYWwauYgFfC9Zfp8t/N1OhKEm9jK9unES8WaIFv3x4mtFFy0pArxgZUE7qwGq\nG1F+dttVJSL0HBmEE9yNKxsGewMln+ke3RcduxZTFl8V71nDM1L7+MOBLe73\n/2/iNCT/F+8EeU3wO2fLRXZ3K671KeyP3M+fl3OHu41zSduzLFJblvZocMj8\nn6d/YO3kXn+nH3MerQaTH2U9pqDNTdIq1YPu4myPL87Bg5ECdZoBcSDAeeq4\nddu9vOJvJZQxGwFJP0SN4oxVxeNDXkGNbVvlHbVwTaSBWgKyusYJ5RzQwPov\nYyCQKEoXxAB7gkE1oUEAAyLiWegSttWq+JRzL+xiG8VTIJyhNLT/+YNhQX05\nDi3/\r\n=BoZn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDNlvRCVL0Gqrq/NB/M/fOvLRO+L+bOBPepRETf9Z96zAiEAjUrWLZFJF+4ZasJLV6zjw6NMIxjFBI7tmMaS4r6oho8="}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/discovery-swarm-stream_1.1.5_1553110802928_0.03815881466802562"},"_hasShrinkwrap":false},"2.0.0":{"name":"discovery-swarm-stream","version":"2.0.0","description":"Proxy discovery over a stream","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node server.js","compile-protocol":"protocol-buffers protocol.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/discovery-swarm-stream.git"},"keywords":["dat","swarm","dns","discovery","beaker"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/discovery-swarm-stream/issues"},"homepage":"https://github.com/RangerMauve/discovery-swarm-stream#readme","devDependencies":{"eslint":"^5.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","hyperdrive":"^9.14.0","protocol-buffers":"^4.0.4","random-access-memory":"^3.0.0","websocket-stream":"^5.1.2"},"dependencies":{"debug":"^4.1.1","hyperdiscovery":"^9.0.0","length-prefixed-stream":"^1.6.0","protocol-buffers-encodings":"^1.1.0","readable-stream":"^2.3.6","sodium-universal":"^2.0.0"},"gitHead":"05b11cfd79867530035131536e5c930a89c6ad01","_id":"discovery-swarm-stream@2.0.0","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"dist":{"integrity":"sha512-zuFLjGaNcrS0/Njzyxsjn91YGjDL7HvCGRXOOH0WfIk/ctRzEoY1VsJKhzwcivx1UNKhY6hFaVmHkaZOjN+gmA==","shasum":"7f1bd92b270201ad653ec23d485ab1b1b739f580","tarball":"https://registry.npmjs.org/discovery-swarm-stream/-/discovery-swarm-stream-2.0.0.tgz","fileCount":11,"unpackedSize":22261,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcyLCtCRA9TVsSAnZWagAAQ24P/12Gn8XEpajgnD5xXwDL\nSKILPjqYihpm6ojcJtxl+hSkcvmSHMw3mFmDD3E6ki3QUojisSkbyu8yi1mI\nyY1AHGCD7t4GcnXfJr5FTW++nUlcROROCcQKetszLNipyD7HjADckodGfts0\nguDLTe+pt1XLMRQGsQEtm8zMnxur+J15YvEtJUIqxuir3wwtejCVJuCLOD9G\n5qpRqHAfdex0tA/0Q/XuQAokOuCPqLb9+U9AQYFakznTBtjf62dGRNVQivQ0\nZTzPIUdL6dBlIMbnWQjRGBDh0/LXRbs5Slsc8mpZmgXpkRtVxDub3MZURN8W\n31QEdw1OQsFirKiGYVvjBKP/U+iOWzej0QdXmy7HaQW1SszJL3o/L5JcEI+s\nqyRQvd2Qh9wFiZzEQ3vzDrXiauJAviH8YrEGCWHCofI0ByV9SOpBvb8frjfX\nH6T0tx9dXbIeBEyPyxHGCUS6pThqFlrQ/S7qgu4keI7NrJiyAb41RUQUdkfr\nIKF2BDWF9MakrIzyoshpUXwjRmSEmx8MzErzjSVaVOdzhq0wEW5UtmmW9gVQ\nrvBWlAuoIHnUzh9eo3oENxARkUuMo7hW2Nwz3kGzH1rjJIqVtCA3KnDC/wwR\nnfcO1GpJH1H4TJoLDjlFoQHeGwvw5Rw4xcslAwG696BgD2f9YwkirND5d/c7\nVI7f\r\n=t/jZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEy1kKWajW35Edd6XcnyFRaaGWP5mOA417wV/L2ZgrCwIhAI88TDRAj4XUrTiVGxDNUzDrgZHnRhz3pDnPar61gpK7"}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/discovery-swarm-stream_2.0.0_1556656298878_0.1838787469213352"},"_hasShrinkwrap":false},"2.1.0":{"name":"discovery-swarm-stream","version":"2.1.0","description":"Proxy discovery over a stream","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node server.js","compile-protocol":"protocol-buffers protocol.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/discovery-swarm-stream.git"},"keywords":["dat","swarm","dns","discovery","beaker"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/discovery-swarm-stream/issues"},"homepage":"https://github.com/RangerMauve/discovery-swarm-stream#readme","devDependencies":{"eslint":"^5.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","hyperdrive":"^9.14.0","protocol-buffers":"^4.0.4","random-access-memory":"^3.0.0","websocket-stream":"^5.1.2"},"dependencies":{"debug":"^4.1.1","hyperdiscovery":"^9.0.0","length-prefixed-stream":"^1.6.0","protocol-buffers-encodings":"^1.1.0","pump":"^3.0.0","readable-stream":"^2.3.6","sodium-universal":"^2.0.0"},"gitHead":"d095840b11bf1434d936c4ce126ab25712b72091","_id":"discovery-swarm-stream@2.1.0","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"dist":{"integrity":"sha512-SZOFJCl2QagPAuXa9ynbrSU63ZoWRgPDpBsiYWgwGmLYmP4meZJObBg+VtZOH9AmVlazvp1lZwYcX+84KE21eA==","shasum":"3e721ded47835c75bbcd7fca78b9de4a1e2f107d","tarball":"https://registry.npmjs.org/discovery-swarm-stream/-/discovery-swarm-stream-2.1.0.tgz","fileCount":11,"unpackedSize":23105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc6+vgCRA9TVsSAnZWagAAFg8P/17D912ViHTTupW831Os\nlviDtWdbtwx5KY6L03HGR4T2nPdHxp1feUlaK1IchxpifKYi94LJFSoR3DJk\nbSJsx1F4HTpqsc+QFK/DoFNYMHskElzS7K/1CRYeKvYE6ggfGpgQ/28/Gmwr\ntGeDqASD7UfhO82DXwd9whyTB1yMD8esDXI8GNaTbtUvnxaKa/7ymAQ3Zk4w\nxRCko3avEko8purmbB/4WHxHr9GexQczdr+X+XaHghSrxI+VS2KNQ/aYrDCH\n/cJFvw2YjavTQwqcxxHzVOD8kyekWfsFAuMR0qAci0CK9ylv42eQfNKmcdqL\ny4agRterOj5FVzPu0Ixp+1Zu8k7uJvw22XrohMK28HO3/W7IRi+XVyKchT/W\np+gNr98bRF0hXOq9JmIsWkR7DzilXH9S3l2KYwa/oqcxu9zVj4AQkGerhPVz\nE26TWDtHuCl5NGkfJDSQF/8kJ5RenfxU6443WjyaC+xBc2mg0GiQ8Uw80Yhw\nAG+IY/lZKlcOFn5EWluNTjdF2jBIONNunxlaG/2fkONLU2yOgMxTAyuJFXQC\ncQGxQAk6uzGi3C2rMdG+Le0luyFe98S2dwltSw/9I8B1nXhSXRMcbRpdXg5H\nelRY9j0DoI9RgadriubJE3Idorwe53b3/rPyYDXQSRjEap0cdHDKfGqs1JgT\n+BlU\r\n=NTSk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOiIk9IDoIGgpscqgfZrc/2IHWkJYoLOmbenhLTPQB6wIhAJsMQuqOFp9RIYS02ckVKxOccbQJ2lqg/uK92gYSngNg"}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/discovery-swarm-stream_2.1.0_1558965215982_0.14697017764741083"},"_hasShrinkwrap":false},"2.1.1":{"name":"discovery-swarm-stream","version":"2.1.1","description":"Proxy discovery over a stream","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node server.js","compile-protocol":"protocol-buffers protocol.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/discovery-swarm-stream.git"},"keywords":["dat","swarm","dns","discovery","beaker"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/discovery-swarm-stream/issues"},"homepage":"https://github.com/RangerMauve/discovery-swarm-stream#readme","devDependencies":{"eslint":"^5.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","hyperdrive":"^9.14.0","protocol-buffers":"^4.0.4","random-access-memory":"^3.0.0","websocket-stream":"^5.1.2"},"dependencies":{"debug":"^4.1.1","hyperdiscovery":"^9.0.0","length-prefixed-message":"^3.0.3","length-prefixed-stream":"^1.6.0","protocol-buffers-encodings":"^1.1.0","pump":"^3.0.0","readable-stream":"^2.3.6","sodium-universal":"^2.0.0"},"gitHead":"5f83328d43340edb8d72d21821715c085691a0b4","_id":"discovery-swarm-stream@2.1.1","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"dist":{"integrity":"sha512-a6h4ZV5KnAh10zot9041o23iTLg3WkZ8ciE8gtdpIdT47pgyMtuYsQeOwQO2l6O4vc4AkVWnkNtpk/dGFuYFJA==","shasum":"031d29c67c9c2dfd588d67e2791bda4ba1021757","tarball":"https://registry.npmjs.org/discovery-swarm-stream/-/discovery-swarm-stream-2.1.1.tgz","fileCount":11,"unpackedSize":23610,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc7AQPCRA9TVsSAnZWagAAAhgQAIl5zLVhUsxDLetFMopy\n6DNhvYNUcudH1SqBQPHLBLnkcFAGMiT9Kkc5ZzXAlMbsJspfJXnfvFVA5ys0\ngpkBnr92/b0yKcDg/9JPP0O20yF2l0u0qoT2AWSvVoLruwu0CVQ9hIAutwur\nwt+s72dJMktVCRT1KHpV4i2kse2sBxha15EGXjnboGopyCfS/SveblGJ7Lf9\nDHnWzcJPmO39zOiDeCGZsYtFslAcZF2Aw/ZGbIOG9lPhiN1KCGJHKnti+AVS\nRVKr60WLJZDt4X/SQkHrInTImqNLYrgV32Pfl42peThaDc01T/dVHcIENJPP\nFiCcWmcizjwjGVXqdbVNCpykseLThWeW0zMBqtCj9733DwcGhnPmV5NwQMR8\n3i6zHPjrswLJkSwVRtRjCWRt7nS+Z4bzY8obCcIPuhU2bGb9GRddYh+yaseK\nzl2dgemhJ8MyF7rTnAF9E+mgwrc9FNyxQcYKCsRc+6KBXLKp3ywczRozzFYs\nCp5uBbR+Si4gzCbrgmdRrXDBE5hbuiNTbiynTrNctz5Gg9IhratUGGRWkB99\nB81I6f+/ZQn6II+E982dxEAf3sPY5YrkGd149ao/GwkV1dDzgxm+LDOQs0z2\n5uB4oQly0vzMKotIkazF1rmWjzqA/DNBYsT7M9XyUvS6CIDc5SNR0EOuY6Rk\nG4sI\r\n=WZWn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+F6Ttq3SPlCB7hRc0Un+2x3j0SCA2T25q0XF7r6BT2wIgXdaWrpzV0XMMzc1x4+9K5xVArKEo+3SPQM2SIsK3y4Q="}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/discovery-swarm-stream_2.1.1_1558971406694_0.39802851204968204"},"_hasShrinkwrap":false}},"time":{"created":"2019-01-31T00:15:49.401Z","1.0.0":"2019-01-31T00:15:49.701Z","modified":"2022-04-28T22:23:29.199Z","1.1.0":"2019-03-18T14:16:12.822Z","1.1.1":"2019-03-18T15:47:55.741Z","1.1.2":"2019-03-18T16:58:32.483Z","1.1.3":"2019-03-18T17:28:24.001Z","1.1.4":"2019-03-20T16:33:32.915Z","1.1.5":"2019-03-20T19:40:03.058Z","2.0.0":"2019-04-30T20:31:39.071Z","2.1.0":"2019-05-27T13:53:36.113Z","2.1.1":"2019-05-27T15:36:46.842Z"},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"description":"Proxy discovery over a stream","homepage":"https://github.com/RangerMauve/discovery-swarm-stream#readme","keywords":["dat","swarm","dns","discovery","beaker"],"repository":{"type":"git","url":"git+https://github.com/RangerMauve/discovery-swarm-stream.git"},"author":{"name":"rangermauve"},"bugs":{"url":"https://github.com/RangerMauve/discovery-swarm-stream/issues"},"license":"MIT","readme":"# Discovery Swarm Stream\n\nAlows clients to use [discovery-channel](https://github.com/maxogden/discovery-channel) to discover and connect to peers.\n\nClients connect to the server, search for \"discovery keys\", and the proxy automatically discovers and connects to peers and then proxies those connections to the client.\n\nIf two clients are discovering the same key, the proxy can connect them to each other if you set the `connectExistingClients` on the server.\n\nBy default it supports connections for the [hypercore-protocol](https://github.com/mafintosh/hypercore-protocol) used in [Dat](https://datproject.org/). If you'd like to support a different protocol, provide a `stream` argument that conforms to what's expected in [discovery-swarm](https://www.npmjs.com/package/discovery-swarm#var-sw--swarmopts).\n\nRequires:\n\n- ES6 classes\n- Arrow functions\n- Weak Sets (server only)\n\n## Example\n\n```javascript\n// On a server\nconst DSS = require('discovery-swarm-stream/server')\n\nconst swarm = new DSS({\n\t// Hash topics through sha1 before passing them through\n\tdefaultHash: false,\n\n\t// Use the default discovery-swarm handshaking\n\tdefaultHandshake: false,\n\n\t// swarm options here\n\t// Doesn't support UTP for now\n})\n\nconst httpServer = require('http').createServer()\nhttpServer.listen(4200)\n\nconst server = require('websocket-stream').createServer({server: httpServer}, (ws) => {\n\tswarm.handleConnection(ws)\n})\n\n// On a client\nconst DSS = require('discovery-swarm-stream/client')\nconst websocket = require('websocket-stream')\n\nconst socket = websocket('ws://localhost:4200')\n\nconst swarm = new DSS({\n\tconnection: socket,\n\tstream: (connection) => connection.write('hello!')\n})\n\nswarm.join('wowcool')\n\nswarm.leave('wowcool')\n\n// If you want to add auto-reconnect logic\nswarm.on('disconnected', () => {\n\tswarm.reconnect(websocket('ws://localhost:4200'))\n})\n\nsetTimeout(() => {\n\tswarm.close()\n}, 10000)\n```\n\nCheck out `demo/index.js` for an example of how this can be used with hyperdrive.\n\n### Protocol\n\nSent to the server\n- connect\n- join(discoveryKey)\n- leave(discoveryKey)\n\nSent from the server\n- streamOpen(streamID)\n\nSent from either end\n- streamData(streamId, data)\n- streamClose(streamId)\n\n### Behind the scenes\n- Take a discovery-swarm instance\n- When getting a new connection\n\t- Find out how many clients want it's advertising keys\n\t- If only one exists, proxy the connection to it\n\t- I multiples exist, create new connections per client and proxy them\n- Client side will get streams and should do handshaking on them themselves\n","readmeFilename":"README.md"}