{"_id":"hyperswarm-proxy","_rev":"11-db03806e371e0408c8d2de759725f2b8","name":"hyperswarm-proxy","dist-tags":{"latest":"1.5.2"},"versions":{"1.0.0":{"name":"hyperswarm-proxy","version":"1.0.0","description":"Proxy p2p connections using a duplex stream and Hyperswarm","main":"index.js","scripts":{"compile-protocol":"protocol-buffers protocol.proto -o messages.js","test":"node test","start":"node server.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/hyperswarm-proxy.git"},"keywords":["dat","hyperswarm","swarm","p2p","proxy","stream"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/hyperswarm-proxy/issues"},"homepage":"https://github.com/RangerMauve/hyperswarm-proxy#readme","dependencies":{"@hyperswarm/network":"^1.0.3","length-prefixed-stream":"^2.0.0"},"devDependencies":{"duplexpair":"^1.0.1","hypercore":"^7.6.1","hypercore-protocol":"^6.12.0","protocol-buffers":"^4.1.0","random-access-memory":"^3.1.1","tape":"^4.11.0"},"gitHead":"43779fa6ed7a035213e222cb39deddc977ad616e","_id":"hyperswarm-proxy@1.0.0","_nodeVersion":"11.15.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-1E7b65WMKCvEI4+bD+WjoYOYM0Xh6jPbDjBrbQjm+X/n0Eh83EHTwmNDZIz0OlnuWQo+Mp2WF4r2W90k2t3wVA==","shasum":"56e1035a891c205999f39de20084d3c1bec2f3d3","tarball":"https://registry.npmjs.org/hyperswarm-proxy/-/hyperswarm-proxy-1.0.0.tgz","fileCount":10,"unpackedSize":26408,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdYJOzCRA9TVsSAnZWagAApFMP/A4JNz6Pin3fCfVCWX4D\nX7AwZ25QzH7GRP9LO8GXSrB1C63Y2Y47QvxVc5d12Cioc3PBUC5zeB7vE4qB\nYa3eQBEo8Aqor5A3z5tAgVbVp264/k7iySDTDrKGGNvatCpl8HilkCFzchdP\npHYfk6qEq1TVLIfMAGb1RvoSv+ZguaVKkI7BNEJrKUB1mg7Bweb3JPjtZr4c\nqM/vSgonuX9FsP3tFbZnIqybL0USRZ9SQeZrORKcNEkpz1NyDCD3G5eTPeIa\n45Q5gyhmSuzBFGwd3Vdd7Ai8eJ50iIY7Te98zBvo95XBmff7JF4sOFqoHFGd\nlw/TaWbJAUxOkFHFYP1KoGiuQxdY9xcb4MuX9Ee9hMILbsrGbh7QPgJ53Y0a\nKI4IsnghacDdnyFo+v6dY6mepB5jNM70n+Eu+IEUDJdp0DDs7+1X3R2FWxsp\nLWQaPmgPaH2w01f6osJ4jLm/rjrm7bl3oXvlsAZk/oqlIFqKYco73A6n0LgG\nAt8ypOgvyEMwuAv/JGG0E+yqz9R3jlGaN7wk0MTFkDU4l6wzBAiCS9MNyfWe\ncoxZaGnwZCytBBeb1iNSBF4kbprMp+WRBQbf/wdGhcpfE4pzscMpoCdX8yGJ\nLxzHWe0ARcm9IM28HU37sIIer7iQfX9C+icSgzlJ8s2G1L+m+ltYYKl4V7vJ\n3OpZ\r\n=tj+t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHsBB/C7oOXXzpl2XlTbZNU0DujA9YcgdchmC0ac7N9YAiEAj108DHVJU8NNXXL1A57l3KaVLZqD5vI6Vo6EEgTlhlQ="}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hyperswarm-proxy_1.0.0_1566610354571_0.5317032981947332"},"_hasShrinkwrap":false},"1.1.0":{"name":"hyperswarm-proxy","version":"1.1.0","description":"Proxy p2p connections using a duplex stream and Hyperswarm","main":"index.js","scripts":{"compile-protocol":"protocol-buffers protocol.proto -o messages.js","test":"node test","start":"node server.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/hyperswarm-proxy.git"},"keywords":["dat","hyperswarm","swarm","p2p","proxy","stream"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/hyperswarm-proxy/issues"},"homepage":"https://github.com/RangerMauve/hyperswarm-proxy#readme","dependencies":{"@hyperswarm/network":"^1.0.3","length-prefixed-stream":"^2.0.0"},"devDependencies":{"duplexpair":"^1.0.1","hypercore":"^7.6.1","hypercore-protocol":"^6.12.0","protocol-buffers":"^4.1.0","random-access-memory":"^3.1.1","tape":"^4.11.0"},"gitHead":"89e2c470fee60de28cc6b51e0408ce913d346c5b","_id":"hyperswarm-proxy@1.1.0","_nodeVersion":"11.15.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-a1siG6XqS8/RSlH3sZGQqwbBbkiHCv+/SnTxkMnUDmqu41+FGW3/9kkyO5wHRXeKK2ZHei3cUh24lgLEC2tlOQ==","shasum":"75cce20692a03d5f6208ea6ec5648f86a218cf4e","tarball":"https://registry.npmjs.org/hyperswarm-proxy/-/hyperswarm-proxy-1.1.0.tgz","fileCount":10,"unpackedSize":26445,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvbVdCRA9TVsSAnZWagAATaQP/iolkhvvq2FOzJzhCvbE\nJ5ChtoU0WT7UYFTDp8Ju4G7t8iCeXo31PZCeFwitKKD0ZNBtrsKTScpgUvUH\nb37sUVbV10Nvc6m3PXU8CApUIpNXXFgm0X8nrGMgzVp2BGOaZVNeM7QzCpWP\nsd+OebxqCs2FixRCKelpUSekHRWg2VKHcfhoHhH/Uh5h+MioykwJuab/24Ok\nwgSzMCWPxMcK4pDyoLUDu5CLggFpQzHqprXS1xtr6X79gzNuGbkjuecGW7t9\ngpEYiQudKLs8T5o78Twq2ZsCmJEzpwUvfDSluN2pd4Dgl8/j2oeUcduHuzaM\nALQ2SALRy5nXF4h/9+8S9trJK4fGxiUvo+L8YKuEjB8luuqz81mFees6m++V\nJcLtjqjZMoWU4wCsMZU42iCHhZozu69fmxYsZEGp/3KbgxHoPYgqyWR83bJG\nMxbp9A6uhWkpDvh+JYCuYhOmWjJLpMg7l3gCKcobz6ozb3XJrx6vqAL4P39v\npCKesYIZmZYSQySPplQurgED+G/UdbIeNe4yWdZfV/FMFHvgPHXZerJg1+uQ\npXlLXmZnjzWBhmRlqPzpXTYTfoH+Ghie0qPbDqpP9N/76TnH1tCuQMVlpcjN\nWWzD/VMzLwJmbWNkWXkjBO2oCBz3LTKmCnxdGLECqCdXt61UTsN71lHpRbqL\nxrFa\r\n=SwXS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1Jw8rc3FKDmmxWQXCLD4h8jLJ9kq0u5pT7vOaLSPGBAIhANPN4WNWmJepD4aRjvAm56CkCMkJV6rZVDsn3ksqvL1a"}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hyperswarm-proxy_1.1.0_1572713821181_0.6978168227642387"},"_hasShrinkwrap":false},"1.2.0":{"name":"hyperswarm-proxy","version":"1.2.0","description":"Proxy p2p connections using a duplex stream and Hyperswarm","main":"index.js","scripts":{"compile-protocol":"protocol-buffers protocol.proto -o messages.js","test":"node test","start":"node server.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/hyperswarm-proxy.git"},"keywords":["dat","hyperswarm","swarm","p2p","proxy","stream"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/hyperswarm-proxy/issues"},"homepage":"https://github.com/RangerMauve/hyperswarm-proxy#readme","dependencies":{"@hyperswarm/network":"^1.0.3","length-prefixed-stream":"^2.0.0"},"devDependencies":{"duplexpair":"^1.0.1","hypercore":"^7.6.1","hypercore-protocol":"^6.12.0","protocol-buffers":"^4.1.0","random-access-memory":"^3.1.1","tape":"^4.11.0"},"gitHead":"4bff3fc1fd4d9684967ae0b6b9439298f13ab793","_id":"hyperswarm-proxy@1.2.0","_nodeVersion":"11.15.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-/KA85mXUAA4u2IiXWxPydDAmtied3vae1LuZ8z8n8fzwmDVGmuL0Ppr83gwwKmVx7lv2GyBpwro+STyh/i48LQ==","shasum":"aa8472b7a1b83a2aa7eda4fdd220674c0b3214dd","tarball":"https://registry.npmjs.org/hyperswarm-proxy/-/hyperswarm-proxy-1.2.0.tgz","fileCount":10,"unpackedSize":26846,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwalgCRA9TVsSAnZWagAAEwYP/iZA2HcEs7FND+yV78Ok\nulpQpW/a8BVdXHrCzxv1hB5gsjFQVs5ssP1p6ikUbk7gMoV1x9Uj+MjMseT8\ngKHYiOGZU4KwjMwWO1fYu6HA6ghFSGZTredDBfep4rq47AAt8fZhTG5Pz/ZG\nD/ej1iFZQz6mTrUxN1K2IllQOXud1a7qoEoWFFcmZy9yga9/cajny/NSTq4l\nLlODBw+7x/UVCwkPhVSgmy5gJZA/08zMtp6U5fvrkAvqvhizzwApe4o25Ma4\n7d11PnvpyU1RgRX5aLthwnaDgUbIXGLNRXDmElzKhylMEP/R2fBgAeGJ8n9v\nOlJzX/SBdDa0Kvgtl816+pXWiLFMDGZGRlFYdxr20j6NagV81I8aImxGJlmC\nfssEle4e+SxaYMDuhMY8BHxWwb2PZTtivUJ1P/YarxDf1PiHWVSgn5kMSj1t\nvLcnG7jw5f00PFE5BTY473IwZywifnmoVZ7mUSCK7EdRPGzTpHydqh8sjkf7\n8T+jVkbXNj3ilROH5e1wu8GG0VjmUbo3Jz9GmilHM98+3jFLxpfV9za4krEr\niJTKqKYCf1MX9VcOkYmY+n+lbDATy0CNeUM+EFLsiamcDdIg5mdZmAQdKvL7\n0gUK15g0Km2yTEuKNkF++rWC513CEwLpedp/MW6wAJ3wdfdw+CGjLjAgr3/K\nMoNz\r\n=6sSi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHg1Fq3i9w1v2L+Qcb2VSMD1MwuzAPJepVjbVaIYN8fbAiEAkche7+1GY0Xv5GBfBLihNWdBbtuXR/J90XMLQ+h2pNw="}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hyperswarm-proxy_1.2.0_1572972896253_0.7717118273200507"},"_hasShrinkwrap":false},"1.2.1":{"name":"hyperswarm-proxy","version":"1.2.1","description":"Proxy p2p connections using a duplex stream and Hyperswarm","main":"index.js","scripts":{"compile-protocol":"protocol-buffers protocol.proto -o messages.js","test":"node test","start":"node server.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/hyperswarm-proxy.git"},"keywords":["dat","hyperswarm","swarm","p2p","proxy","stream"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/hyperswarm-proxy/issues"},"homepage":"https://github.com/RangerMauve/hyperswarm-proxy#readme","dependencies":{"@hyperswarm/network":"^1.0.3","length-prefixed-stream":"^2.0.0"},"devDependencies":{"duplexpair":"^1.0.1","hypercore":"^7.6.1","hypercore-protocol":"^6.12.0","protocol-buffers":"^4.1.0","random-access-memory":"^3.1.1","tape":"^4.11.0"},"gitHead":"d21eebe3b06068b29af5a8f7dc54bb1d7a2ad38f","_id":"hyperswarm-proxy@1.2.1","_nodeVersion":"12.4.0","_npmVersion":"6.12.1","dist":{"integrity":"sha512-J2zLH5FIS1YV0vtk7IJ2CzeBekO2O4W5VAsW0m9icj/1BC1FEqf3A4gYFwMoyRhbK6FkE04GdV+xy8NOwD6LLA==","shasum":"86efb6ef2ba8d2314be2561f069a85c5a83e7e7d","tarball":"https://registry.npmjs.org/hyperswarm-proxy/-/hyperswarm-proxy-1.2.1.tgz","fileCount":15,"unpackedSize":30605,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdyIgDCRA9TVsSAnZWagAAxMMP/Rr6Bt/VWI6Hzsy1DC7B\nTPSHd3p5E0MQRzapUCuZrO5M877APU4WYQylXSQ1A+bE3WtdYhMqANkF+Z9G\n/w2p1sC6Jim9h/LdOJEmcJoG7wbjZEjatQMlefGzDw7AruQg50lRuJx878El\nlZ2oWJv3cE6dlswAooIT0Lo/gBZJjpmx0Shcye+ayXWlvV1/TMVqKC7VpK+2\nsc+h3lgvQhpJAhwUu93gWSpipjkrUh1ZirACug4rytGda4aEb5SVn0tJpd47\nQuvau8OnuoLDFOVQZHdTQKreilzpVfRCk1bLatZMaOMKw9iecnaDI6tbNS4h\nzsbl4ibuV0yQewYk0aO+cWw2EKMt098JAVZrZDCSqN7Sutjn8j1zadiUnGa8\nHz+G4skpXwvV+ZHUUBjKEoH7ryaekz1pgdnqjkcbDxL7iAgYdvnlVBB+SuOt\nLr3AQDXtonmu0iQYswK5hbVjblTmw5K6qJJor/DcTzteaZkvQ/janT7pGgeq\n3A65aoRai3SfO6HNMrXfQmH8ffIBbUIRC/O993DIg50Ttb98n6bMFIZN5/yU\nteXsyh5cN4x9AjgILGpePrHCoP4IthdPy1shIub9Xzfv04jgF1hDhikJI30A\nGRQ5GO6RscKlu9QjoOrVyAQnrYVvZSLXxKeUXkdz825bBO/SuTFMOYVxqRb+\nFcX8\r\n=nbKI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLiaQ6b8NkGpuTJ2j3OnStp/6oOFj1tUWkRW3kf6o1WAIhAIHWwRC9h8sO5BJXjX05XHSJafJbzIzVn6BvToUq7smh"}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"_npmUser":{"name":"falafeljan","email":"jan@kassel.works"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hyperswarm-proxy_1.2.1_1573423106514_0.7951212260707385"},"_hasShrinkwrap":false},"1.3.0":{"name":"hyperswarm-proxy","version":"1.3.0","description":"Proxy p2p connections using a duplex stream and Hyperswarm","main":"index.js","scripts":{"compile-protocol":"protocol-buffers protocol.proto -o messages.js","test":"node test","start":"node server.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/hyperswarm-proxy.git"},"keywords":["dat","hyperswarm","swarm","p2p","proxy","stream"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/hyperswarm-proxy/issues"},"homepage":"https://github.com/RangerMauve/hyperswarm-proxy#readme","dependencies":{"@hyperswarm/network":"^1.0.3","length-prefixed-stream":"^2.0.0","pump":"^3.0.0"},"devDependencies":{"duplexpair":"^1.0.1","hypercore":"^7.6.1","hypercore-protocol":"^6.12.0","protocol-buffers":"^4.1.0","random-access-memory":"^3.1.1","tape":"^4.11.0"},"gitHead":"d6ff5c610b6d4b0389c88559e8c0aab1788658cd","_id":"hyperswarm-proxy@1.3.0","_nodeVersion":"11.15.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-2Xlb81SuGWlg5D7WmiLoBpNe7d91xmy2jiNa0BOELQzOjDoEnOh4T+V8mQHy6N7RvHU/oN1+4h3T4hAvDcOjeA==","shasum":"f564eebd5823671665c1d6c1f152d5f18f6ec8f1","tarball":"https://registry.npmjs.org/hyperswarm-proxy/-/hyperswarm-proxy-1.3.0.tgz","fileCount":10,"unpackedSize":27637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeDjv/CRA9TVsSAnZWagAA8a8QAKMSq3bhLDUKwlTWvpPi\nEon/a1zdWor0igxxiHaBkl7SdWuJxowc5GdAOkAS5DEYne1UjBcIQCLMCda0\nF/kWhT89L79+8N8Ou8VMKXMf0q/LdYhfhZkYYvE31brLfFadJz9Dncn67GKQ\nq0nK43xZoGr1i+Xc0sIMFJRm0lL7HL73ZH8GSuQFe4cN2mYwi8CoqfcvxTTK\n0gsRgGvi05D5Gl+OAM8n77HtYprwxGdN/XYCIleaYxKSiL9oHs0+8ezfgpUL\nyYqDdD5g0f34AOsZfh6JVbAzL5jRkhnwzIV6sT9U09q7ssUaQUsVpZi8EBn6\nNTqWRd14DuRiwJvUDTMxsecl7xJZ71dCKC1P4zG4Ne9oECnnuUoeo7h6Jjx3\nMjDUwMIXC5V9mH8vjcPklX6iaDAC2P/m9xubesaZpJDxePK057tcTSJJdxWh\nQ8HVOKv5VpnZyPULMtJ2Z1upqFeU1FVoU3XBc3HHREYzuQoU/qB3deCgW3N3\n2F/0A6ETQytlgHSBDgYJqXvdgGyipZ1Z8iYmGN27BH3FQV9nXuirrIii0DAe\nCMDh00vXLc67Hvp6kGnK4GQ6gk6PeQywvRXWPxLbRlnSX/ScyeWDMvJHLlfk\nxXYx8H8GliYUmRA8qictKlemxH3hPrcJd1wE4kF5xT7DSxdIkZunq34zTkKj\ngCVf\r\n=EZIL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE8NjPr72hOfIGBGsp6KbReDFzvdlYWpFPNyZwUTdkZCAiEA1FVWxAfHO8PwXhNHgNRiFkrkROg1eGdYdOGrD135sk4="}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hyperswarm-proxy_1.3.0_1577991166563_0.47954792111221445"},"_hasShrinkwrap":false},"1.3.1":{"name":"hyperswarm-proxy","version":"1.3.1","description":"Proxy p2p connections using a duplex stream and Hyperswarm","main":"index.js","scripts":{"compile-protocol":"protocol-buffers protocol.proto -o messages.js","test":"node test","start":"node server.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/hyperswarm-proxy.git"},"keywords":["dat","hyperswarm","swarm","p2p","proxy","stream"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/hyperswarm-proxy/issues"},"homepage":"https://github.com/RangerMauve/hyperswarm-proxy#readme","dependencies":{"@hyperswarm/network":"^1.3.2","length-prefixed-stream":"^2.0.0","pump":"^3.0.0"},"devDependencies":{"duplexpair":"^1.0.1","hypercore":"^7.6.1","hypercore-protocol":"^6.12.0","protocol-buffers":"^4.1.0","random-access-memory":"^3.1.1","tape":"^4.11.0"},"gitHead":"37231ae9e1cee9231210c89e42cba916914bd138","_id":"hyperswarm-proxy@1.3.1","_nodeVersion":"11.15.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-+x2IMOw0MsmPVLFonO79HBe/bvIte85H5Xscdlwx0bxi9y3a6R4GtyVM8J+DJydou+cNl+rqT2E26VuM+cd7CQ==","shasum":"f3acac83f8518113abf299c312044064a99fb9c1","tarball":"https://registry.npmjs.org/hyperswarm-proxy/-/hyperswarm-proxy-1.3.1.tgz","fileCount":10,"unpackedSize":27806,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekPxoCRA9TVsSAnZWagAAwwYP/3IIsHDHHX78gaecg3d4\nmUn7soA3K0RI6zfP9yaGlVU/A0t8r0kjeGIUQY+0/Z2T2nYGY+cYea0QDEO0\nPPQvYrjMD7Rd0cEFKfgl7UCksBd75M5acQOwLLyUHpSFTTstM1ZMz88YwATv\nWd7Xy+nlSZrbYGl+IwBSKJws3rGUjJ6DMMaWOm9VyZKvj2TKACXUEa4XHQKH\nmlAL0T6oq03SHTIMgDwOkT1TIUehkmIQ36yUqFN/Q5NlfaxNAbNYxYwix/wc\nauQByaXkfuBessVVwcUZ/wCLl8nvixDYKSlGeQw8h7rNso4oiIegDJfQWQAL\nVw5sDfwLyehbbk8QtK+DD1hS3Vq08idMQy1e6nDh99nxxiRBzWTlUPpySdmX\nF6STrn3XjBH1UP5nkkNKCZYUlRZPD/SfPh8WwE9cF80mTprj0ry1vd18roTc\nUVQspNNtxORVvPtMMYKFkdRa/L6b3G9awDn0ea8P8I4GYje+QmUqB8Fi4K+S\nqogleU4OcEG90LooHopx3r66CMt95P6RXiJAuwh3ou6duPArCiE7sjHF3hTe\nFVZ3E633gTzO9Sn7brRvl1/3OrWS1onu1yqEmrcW9Snqo8aoKt6foFYFT1Y6\nmhu/rZkl2HqXiKU5OTgIrvuMZaDZo6kaYCI13WQSkYudTfencNh5oJm5O/Jq\nvIAw\r\n=gBmC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCN9Ud5LIe2HGGHji7XChXXnB0kPL3rlx8h8NNc8NhygwIgMteHUayJUZjrz4dVgPQ+b2mqWRmLjDBS+vACLqLTF1w="}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hyperswarm-proxy_1.3.1_1586560104288_0.15341618690705383"},"_hasShrinkwrap":false},"1.3.2":{"name":"hyperswarm-proxy","version":"1.3.2","description":"Proxy p2p connections using a duplex stream and Hyperswarm","main":"index.js","scripts":{"compile-protocol":"protocol-buffers protocol.proto -o messages.js","test":"node test","start":"node server.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/hyperswarm-proxy.git"},"keywords":["dat","hyperswarm","swarm","p2p","proxy","stream"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/hyperswarm-proxy/issues"},"homepage":"https://github.com/RangerMauve/hyperswarm-proxy#readme","dependencies":{"@hyperswarm/network":"^1.3.2","length-prefixed-stream":"^2.0.0","pump":"^3.0.0"},"devDependencies":{"duplexpair":"^1.0.1","hypercore":"^7.6.1","hypercore-protocol":"^6.12.0","protocol-buffers":"^4.1.0","random-access-memory":"^3.1.1","tape":"^4.11.0"},"gitHead":"f4de77d3126082368e11031023d789c127bfe45c","_id":"hyperswarm-proxy@1.3.2","_nodeVersion":"11.15.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-VaaS68+Bp2grBCBRQ8+bneom3vFTo9oIPXmgsMpdMm06mpm+J07gFo8G4rzvo3YvoKiGsmgn3zR/pZalzyQs7Q==","shasum":"0ed703077dc74489899c41fce47bee356ab3b093","tarball":"https://registry.npmjs.org/hyperswarm-proxy/-/hyperswarm-proxy-1.3.2.tgz","fileCount":10,"unpackedSize":27953,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekR2pCRA9TVsSAnZWagAAREMP/3mBmCEHInq9m6EXh00n\nHifV55K6XRYKT7ctrQ+CZwLoiiCX9o7ETxuG8qln+VvqR7b8wlqj0ngKG3ie\nD28ETbtPNc2Arpfe+9ptDH7lNlowUDNzT6YSU5tUaRA63p//cuNB6P7IKFOd\nO4Aq/clEQV6c2vpGSwRXWrPMR+kdfPp1Q6vAxuSv3ZSUeNuNwZV761FU/HBr\njQqDY4pt6/+k+ptV9VQBQ/xNhqo8N8MFen2HXGitB33WVZJ/gwtgc4GQ1lcN\nNKDYADUxoF6NFDIAxY9Zt07syXIkgy1+Bjf8OBSaiEMQtPW7G1ZJpn4WSkqs\n9RvPg5WR2Y/og48c3kmfu0VJ4FE6WNNGOFSpmC5Y9D/OPGy0VKT42QqxK8Va\n7GhfVFj1/EX89MiNGwgSxMehnn/9a5E8F+SiAV6LTcy8/iIDXHMSCCEnE1/s\nIJPN8sZ9hgOarUzr/6ZyWd8jbtFQIuTtkCgDx+wDOZXptrihn0m11QpyGkKC\n9FfX4kGec6+6h9rTfECDy/ZplDJ0TMbA5XOYUFsh8duE8uQB8fkBc0XVABYt\nx2Ug8yzS2IiWVjCDoU8HTJQyyEnmIU7iAQu8yl7YkMsjScP0EdXt9xj6Crmg\nPWVzkB5i4VEh6aU6iKdjloFTuzhSONAoTff5aA7lal418vZi4yNIzoppfD/k\nujLH\r\n=sayS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8aHtLfw9aJLA2mH+Y8yZuEmnV1FJMRYynQzyCQhnYywIhAK5X/sXL56SVGP1269MSb3++MsUcZ7WBP+sMGVUh11IH"}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hyperswarm-proxy_1.3.2_1586568617224_0.9969537131801511"},"_hasShrinkwrap":false},"1.4.0":{"name":"hyperswarm-proxy","version":"1.4.0","description":"Proxy p2p connections using a duplex stream and Hyperswarm","main":"index.js","scripts":{"compile-protocol":"protocol-buffers protocol.proto -o messages.js","test":"node test","start":"node server.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/hyperswarm-proxy.git"},"keywords":["dat","hyperswarm","swarm","p2p","proxy","stream"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/hyperswarm-proxy/issues"},"homepage":"https://github.com/RangerMauve/hyperswarm-proxy#readme","dependencies":{"@hyperswarm/network":"^1.3.2","length-prefixed-stream":"^2.0.0","pump":"^3.0.0"},"devDependencies":{"duplexpair":"^1.0.1","hypercore":"^7.6.1","hypercore-protocol":"^6.12.0","protocol-buffers":"^4.1.0","random-access-memory":"^3.1.1","tape":"^4.11.0"},"gitHead":"cfa8e986c956d843d96d08090cd4681c70caf253","_id":"hyperswarm-proxy@1.4.0","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-1YAEHbmsATQ6E6G52iRFVIWmxIGmmwem+gJZwfhWBWdJM/+/SmN7DFaCBuGgPWgkf05Hcq1JyHCNgpXXLOsxJQ==","shasum":"ceed4ce07e8d7c196bdeba07fbe7773ea94c2896","tarball":"https://registry.npmjs.org/hyperswarm-proxy/-/hyperswarm-proxy-1.4.0.tgz","fileCount":10,"unpackedSize":28250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUUwTCRA9TVsSAnZWagAACRQQAJStC+JyD3XC9lE8egdU\nATHzc01MM0q8lWIpUjkXbAmwitZHHvxNWxvDhE9hUOKOTnT+PvSYGMIA837g\n5j7jcSvhjAdwmlwZa5r3ArFjCj/7h7rybq0IVHqfuZEtWUOGmTtjHfqGA8nt\n7Vh6QgbgWx1mpG5cQUVyvOxhLYXwnqkfgO6H6m/g9E7JzseQjcx4nuIzj3SW\nK5T/raU8LRhPoNr5dAeMjTeXgSd4FqwnUoV1k5i9r4VZb1frLb24NcX8hBe/\nBjTkxn1gNMcxcPp8pl9ykZCzZQwxVq52gO70IEmsGu39zdCYxQPfb0hR4+8g\nTaBedA4XTyS10rjGs9slUvvH1JLMroA6QWf/Q2cSWgl1BQ7FUpzRAJ0JDmAw\npln6DhYvcRlZeGJdVpQLUzXSI6Sb9Px5LMooRF1V1BlrDmxRID/ZatDJ79uc\nB6eyyR3k66MTMoBAYt35fGtNWnfNG+4Ay8sSsBOKkpy8uZcU1dXKfuWO+4Jc\ndxvgvtMqJVXVq/CrGtzlwul6paZrJLc005LobL726apk2LjJxBQWApy/YpPg\nn3TXSfcQA6k7LNSWIvBa+dZvgH6ax+fTjwJDrYBNgkduf95uq+V0bA4N2im+\nGeiuG2VPcgYV3v3nolDT93Is2DdBtcoFvLZBV2B9BeZPBq0075p0ujqfhVoY\n4XJq\r\n=HjkJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGJK5nFDOYHslo1hC2EyozaND8CTE2j703kyW7XKh7ilAiEAi9bkntvs4I6iwtbHnZ6TyGxm4/ZKZ+CLVCRnpna7fzE="}]},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"}],"_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hyperswarm-proxy_1.4.0_1599163411026_0.6636972902262748"},"_hasShrinkwrap":false},"1.5.0":{"name":"hyperswarm-proxy","version":"1.5.0","description":"Proxy p2p connections using a duplex stream and Hyperswarm","main":"index.js","scripts":{"compile-protocol":"protocol-buffers protocol.proto -o messages.js","test":"node test","start":"node server.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/hyperswarm-proxy.git"},"keywords":["dat","hyperswarm","swarm","p2p","proxy","stream"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/hyperswarm-proxy/issues"},"homepage":"https://github.com/RangerMauve/hyperswarm-proxy#readme","dependencies":{"@hyperswarm/network":"^2.1.0","length-prefixed-stream":"^2.0.0","pump":"^3.0.0"},"devDependencies":{"duplexpair":"^1.0.1","hypercore":"^7.6.1","hypercore-protocol":"^6.12.0","protocol-buffers":"^4.1.0","random-access-memory":"^3.1.1","tape":"^4.11.0"},"gitHead":"098abb114784edfe1322ca87ed9689a621190b1f","_id":"hyperswarm-proxy@1.5.0","_nodeVersion":"15.2.1","_npmVersion":"7.0.8","dist":{"integrity":"sha512-HsQA5fw7CZbO5RKzuGCOtaWvDxKWD/YZeVHxXL6CeaHHm9JVJaOzwtwwxook8u+E2KMXQczmQsij3ANZSESH3Q==","shasum":"f4ff1ff288e3513bac58f67af9c793b22cc8e2c5","tarball":"https://registry.npmjs.org/hyperswarm-proxy/-/hyperswarm-proxy-1.5.0.tgz","fileCount":10,"unpackedSize":28250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZSKhCRA9TVsSAnZWagAAxYIP/2YQJqKIRUP4DQg3Fbwf\nu75KM3EM9w/ZDfv3WvQr77S/r8mBRu6efrCO/Q/UpuijtkCdgEVoe//wsxXn\n3Kh4N8qn9/C10zVd79VayDgPwQSrr666HDHHBnoI+B/jFQvFRQz2fp1jPwKe\naxthoo3bwFlT2RaQAw6swr2wnYP6BM382kwCkUUS7YAKYcSrMf9Si1ttsNIL\n6LOP0pGaFyb6f8AuuFqajdCQQKkXn2htHcgrBA/QC+cSLygmfzVQQeXYsqza\nXvne2OVyJZfDc446UBjarNo6UV568mssmvLyxu8bSMNKYPNBsd73W5R8cdWs\nVnZypvS/w6T2iyk+XTrk3cGLM2OaojIATb4Es7G3VOnEQjOxAk3LQc3WqoPR\n2RN29x4Sc+5LtTMujAr6/wVvPAOe3Hy3Zw2KVbUUoucyoKLWEcfjZIzvC+jw\nGFHswVUkln1vV9If7nDx2usK/wJJBWSkULyhrQAs/xQVGRnH7GyjJOUVpQLw\nKJaIdMiIZGTnajCoSkXQGtsOdckL9uNoQrt6Fsa5tFFHNSW8odCV2nUlh1mn\n3KYXE0VNxoigAwrGVH/UfgXEeY9enUixLmpoQ5ijVup2xpOJea3aaJP5ehaT\nzpPL6GWMgHJk1oxbbTUXo7tae/6GiTE2vo3tWjHV2JushoLkKljfyj5NuMoe\ngRLh\r\n=GExE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnCHgLL9oVg4109QhqQUPKjx8II+x5fAsEBFPAp0YMIwIhAIuVsu70NxrG5iFt+edN3tmASM2tsGDL4q1RKX/oZW09"}]},"_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"directories":{},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"},{"name":"falafeljan","email":"jan@kassel.works"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hyperswarm-proxy_1.5.0_1617240736638_0.20276994130824977"},"_hasShrinkwrap":false},"1.5.1":{"name":"hyperswarm-proxy","version":"1.5.1","description":"Proxy p2p connections using a duplex stream and Hyperswarm","main":"index.js","scripts":{"compile-protocol":"protocol-buffers protocol.proto -o messages.js","test":"node test","start":"node server.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/hyperswarm-proxy.git"},"standard":{"ignore":["messages.js"]},"keywords":["dat","hyperswarm","swarm","p2p","proxy","stream"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/hyperswarm-proxy/issues"},"homepage":"https://github.com/RangerMauve/hyperswarm-proxy#readme","dependencies":{"@hyperswarm/network":"^2.1.0","length-prefixed-stream":"^2.0.0","pump":"^3.0.0"},"devDependencies":{"duplexpair":"^1.0.1","hypercore":"^7.6.1","hypercore-protocol":"^6.12.0","protocol-buffers":"^4.1.0","random-access-memory":"^3.1.1","tape":"^4.11.0"},"gitHead":"24a444aa74e31688457f5f60ce3d0535370c6267","_id":"hyperswarm-proxy@1.5.1","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-BD1WzFOnWhrWESHc1YtRzbTjFqRjXp5sASty8KYy22C5sU4Y3Alu0PEKEo/fK5DkcUmQDFkxCVaGfaGGEBl8/Q==","shasum":"2e084868c2fe07b12f2c0471da4d5be1b49ad2d4","tarball":"https://registry.npmjs.org/hyperswarm-proxy/-/hyperswarm-proxy-1.5.1.tgz","fileCount":10,"unpackedSize":28641,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFmZFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJIQ//Z316N5FtoLj4b8iAph5teWJd02J/pCthB8Ng/3DOIKNN9Ggb\r\n7SRvl+L/ebwHSaJGSU5gSf1jPEXxTuvrEkyBLhGkzn5HtqoyFljcfCz76dHD\r\nfykWF/2Ay9/dnM7ha79CXVdbcAhHrhar0S47koThHKP9DHQefFCgtBzrnLDc\r\nahvcnJrS+q1hGfGHYqsT/1TMvlPREWULlDqYgIewnd8sHvhteMmmGn1TMbl+\r\nYCJ5jly4kuBL5261lsezqnoeDp02PEolCfGpA5qFr6BoZuFC9VOC1IiFQhL8\r\nGoO5MJiUiQTB+yYaYzG+BSzEbabSpeuWOtQNGdpa9UJ6MWf9jEfzs1nao0qo\r\nkGWNV4kczDiDVbs4TWYIuPHRb9W3DqzAB/+kSeQWuImb77NZIOAO6cnXv7Uq\r\nVUmACFHaI+wNzjAtCgdhBl+SRe3azYmQH1EfYYSAJt0gObmmCmsMw3HgsXmJ\r\nRMS4recYKXjIUNnK86XaVKw6AWkQ5IrUmafe2GaOb/p0HKM19yTTqN2ecpWG\r\n2YqCSONacS2eRXbY9Wbnyp7jiorB1lSGXpj6k7NmZ4acjk7+4TijwSkAgQh2\r\nYQlHFo3jECR6Zu2jQ90yApCAgbCNFn6HSKyI7ZYvFxyn1rLiRcCGzt0KHWge\r\nz31KezUhZz2jm0sYo1BpPiMtx5lq3vriMj8=\r\n=KOE5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA91NuJXZ7qDWw4q/CcVLzawpQ4UndZve8/PVj6OLu6mAiB4Tzyv4B5sffUAuUNw6IVZTtPoK5hUBtmDGdPfvmPh/w=="}]},"_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"directories":{},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"},{"name":"falafeljan","email":"jan@kassel.works"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hyperswarm-proxy_1.5.1_1645635141702_0.24034283417864466"},"_hasShrinkwrap":false},"1.5.2":{"name":"hyperswarm-proxy","version":"1.5.2","description":"Proxy p2p connections using a duplex stream and Hyperswarm","main":"index.js","scripts":{"compile-protocol":"protocol-buffers protocol.proto -o messages.js","test":"node test","start":"node server.js"},"repository":{"type":"git","url":"git+https://github.com/RangerMauve/hyperswarm-proxy.git"},"standard":{"ignore":["messages.js"]},"keywords":["dat","hyperswarm","swarm","p2p","proxy","stream"],"author":{"name":"rangermauve"},"license":"MIT","bugs":{"url":"https://github.com/RangerMauve/hyperswarm-proxy/issues"},"homepage":"https://github.com/RangerMauve/hyperswarm-proxy#readme","dependencies":{"@hyperswarm/network":"^2.1.0","length-prefixed-stream":"^2.0.0","pump":"^3.0.0"},"devDependencies":{"duplexpair":"^1.0.1","hypercore":"^7.6.1","hypercore-protocol":"^6.12.0","protocol-buffers":"^4.1.0","random-access-memory":"^3.1.1","tape":"^4.11.0"},"gitHead":"0b7ba05ad574a4ef7aaa4c907e3695d168b54403","_id":"hyperswarm-proxy@1.5.2","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-DaRfQoL1YH7qki+4bqIN8Run0F6JrgBupwUdZRWWSKbQPPKb+9NUygbG/CVZiJeKV/E+nntEO42xBuIrfE9gFw==","shasum":"0b2dd2e64958db898f5f1a4825ea9bc1d68242dc","tarball":"https://registry.npmjs.org/hyperswarm-proxy/-/hyperswarm-proxy-1.5.2.tgz","fileCount":10,"unpackedSize":28695,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHX9sACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpRmRAAoqSd1AAfiaccsCXq9QI24rFUX24n2vkyPmUK1Mw8Kb2y0tGS\r\nTpvYcZE4F74uAF4odfKzeLFda6SxtLgKXFg/pAbUXDH98KqPilzilxaorH1n\r\nPr/gMoh0jEw05SYnqEoe6MvuOirlcf4Np/DChkRjgVBdJBUPOIeO/ptHEk1T\r\npao3XQraPHiNU4rS5CrD10EU2TPniSu9uheEj3ey/gCSJq2sIOU71KH42ttX\r\nB9EjjWaWPSn6mP6wndHskZffKkUQGqX5Yk4mwiFrmycbXM8RtXAa8AVGm2zw\r\neLmbs8a/G5TahtJJD08xjwvYOoYXRBgq2sXZZ2dSVveGcVrW/EbNDkVWBh5a\r\n/zoghmMTYAJ8SnUVZXCzEk/655ExLkDN0L3xQmkhw5tlYAy2EXQ8f8/rW2p+\r\n/tQX7ue3m8j22PGFMOjbUZOQ+JPCmfjE35lFhXcPVw3U2QwKGfuZqFFjcDo9\r\n4rWjkjK334poJl2mBeu4fZeWlZit1UieaFUzDKIL/tzRYZfg7g25fymrLD67\r\n0VHgF7z7A26RkcqX9za9B4bMdIwlDiC87lpNOP9uIRbY4x4sEWITZDyzzSC1\r\nwrLLR2MMUEScHaRTeDcl1fczkX4OhwrAj5Girn9rlItG4pQXMw8KCEFZS2MV\r\nAQzU2NN1vHR502DEqQAscLymhl40vWb9lFQ=\r\n=15QO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuvmaJUYcv9xeQaV49xNcZ6uBf2I4YXrDJ64jTfTSRPQIhAKNCh1hh064XhGHvDXPQ3O0jWxXYEEMaVN+7NPSjhuDk"}]},"_npmUser":{"name":"rangermauve","email":"rangermauve@hotmail.com"},"directories":{},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"},{"name":"falafeljan","email":"jan@kassel.works"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hyperswarm-proxy_1.5.2_1646100332269_0.7207289731817819"},"_hasShrinkwrap":false}},"time":{"created":"2019-08-24T01:32:34.570Z","1.0.0":"2019-08-24T01:32:34.725Z","modified":"2022-05-05T12:42:59.317Z","1.1.0":"2019-11-02T16:57:01.304Z","1.2.0":"2019-11-05T16:54:56.414Z","1.2.1":"2019-11-10T21:58:26.681Z","1.3.0":"2020-01-02T18:52:46.801Z","1.3.1":"2020-04-10T23:08:24.463Z","1.3.2":"2020-04-11T01:30:17.452Z","1.4.0":"2020-09-03T20:03:31.126Z","1.5.0":"2021-04-01T01:32:16.926Z","1.5.1":"2022-02-23T16:52:21.881Z","1.5.2":"2022-03-01T02:05:32.620Z"},"maintainers":[{"name":"rangermauve","email":"rangermauve@hotmail.com"},{"name":"falafeljan","email":"jan@kassel.works"}],"description":"Proxy p2p connections using a duplex stream and Hyperswarm","homepage":"https://github.com/RangerMauve/hyperswarm-proxy#readme","keywords":["dat","hyperswarm","swarm","p2p","proxy","stream"],"repository":{"type":"git","url":"git+https://github.com/RangerMauve/hyperswarm-proxy.git"},"author":{"name":"rangermauve"},"bugs":{"url":"https://github.com/RangerMauve/hyperswarm-proxy/issues"},"license":"MIT","readme":"# hyperswarm-proxy\nProxy p2p connections using a duplex stream and Hyperswarm\n\n## How it works\n\n- A server initializes an instance of [hyperswarm](https://github.com/hyperswarm/hyperswarm)\n- A client opens a connection to the server (use any duplex stream)\n- Client instance behaves the same as hyperswarm\n- The client asks to join \"topics\"\n- The server starts searching for peers and sends peer information to the client\n- The client chooses which peers to connect to (all of them by default)\n- The server establishes a connection to the peer and proxies it over to the client\n- The client can relay whatever data they want to the peer.\n\n## Server\n\n```js\nconst HyperswarmProxyServer = require('hyperswarm-proxy/server')\n\nconst server = new HyperswarmProxyServer({\n  // The bootstrap nodes to pass to hyperswarm (optional)\n  bootstrap,\n\n  // Whether your server will be sort lived (ephemeral: true)\n  ephemeral,\n\n  // Pass in an existing hyperswarm instance instead of creating a new one (optional)\n  network,\n\n  // Function that takes incoming connections to decide what to do with them\n  // Can be used to notify clients about peers\n  // Disconnect incoming by default\n  handleIncoming: (socket) => socket.end(),\n})\n\nconst somestream = getStreamForClient()\n\n// Get the server to handle streams from clients\nserver.handleStream(somestream)\n\n// Tell all clients about a peer for a particular topic\n// This is useful in conjunction with `handleIncoming`\n// Use handleIncoming to figure out which topic the connection is from\n// Then tell clients to connect to them using `socket.address()`\nserver.connectClientsTo(SOME_TOPIC, port, hostname)\n\n// Close connections to clients and any connected peers\nserver.destroy(() => {\n  // Done!\n})\n```\n\n## Client\n\n```js\nconst HyperswarmProxyClient = require('hyperswarm-proxy/client')\n\nconst somestream = getStreamForServer()\n\nconst swarm = new HyperswarmProxyClient({\n  // Pass in the stream which connects to the server\n  // If this isn't passed in, invoke `.reconnect(somestream)` to start connecting\n  connection: somestream,\n\n  // Whether you should autoconnect to peers\n  autoconnect: true,\n\n  // The max number of peers to connect to before stopping to autoconnect\n  maxPeers: 24,\n})\n\n// When we disconnect, reconnect to the server\nswarm.on('disconnected', () => {\n  swarm.reconnect(getStreamForServer())\n})\n\n// Same as hyperswarm\nswarm.on('connection', (connection, info) => {\n\n  const stream = getSomeStream(info.topic)\n  // Pipe the data from the connection into something to process it\n  // E.G. `hyperdrive.replicate()`\n  connection.pipe(stream).pipe(connection)\n})\n\nswarm.join(topic)\n\nswarm.leave(topic)\n\n// Listen for peers manually\nswarm.on('peer', (peer) => {\n  // If autoconnect is `false` you can connect manually here\n  swarm.connect(peer, (err, connection) => {\n    // Wow\n  })\n})\n\n// Destroy the swarm\nswarm.destroy()\n```\n","readmeFilename":"README.md"}