{"_id":"ssb-tunnel","_rev":"35-be8696f55db2b1bfcdb326714d6e9dbe","name":"ssb-tunnel","dist-tags":{"latest":"2.0.0"},"versions":{"0.0.0":{"name":"ssb-tunnel","description":"Indirectly connect to a peer by tunneling through another connection. If A is connected to B, and C is connected to B, this allows C to connect to A by using B as a proxy or \"portal\".","version":"0.0.0","homepage":"https://github.com/dominictarr/ssb-tunnel","repository":{"type":"git","url":"git://github.com/dominictarr/ssb-tunnel.git"},"dependencies":{"pull-pair":"^1.1.0","ssb-client":"^4.5.7","ssb-ref":"^2.11.1"},"devDependencies":{"scuttlebot":"^11.2.1","ssb-keys":"^7.0.14","tape":"^4.9.0"},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"http://dominictarr.com"},"license":"MIT","gitHead":"c93c1c0b708705775359ceea7df1d1622a0353e3","bugs":{"url":"https://github.com/dominictarr/ssb-tunnel/issues"},"_id":"ssb-tunnel@0.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"dist":{"integrity":"sha512-/1TDsBDBXIlr+LWe8NTQ9buDq+XaiMDNnq25rjWw2NZvCsAGZ7kg0chkRb5puucY+Aoj8nsZwZDimQ68m+xHIw==","shasum":"c971976e06dca03b2740e49dda46fa07071b4840","tarball":"https://registry.npmjs.org/ssb-tunnel/-/ssb-tunnel-0.0.0.tgz","fileCount":6,"unpackedSize":8148,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa3kH2CRA9TVsSAnZWagAAjlUP/2mx26uie9f2ek0HGRWp\nYUUtmiafY2b1t3taDyVlfdXcjtNHSyD9vwpLdOq6cxYMmTEOdogKoDY0DNhh\nlj1iURnhQTkdavVTXMO0hXmxur0Is4IoFUVyvRzR8ReSbljkMLS6+QB1ewqO\nJh3X/E1KMt92McJ4TQKQEptANhhJlAsO85ZY6gNKbTW9zUginsXt/nN7ygMU\n08gK1GEbub1FIQsFR7HnvXfbBE49iSjqb/tcdJH+syFckO0Zt1PiVRClDo82\nOZGppY5TbqYGRYsMqGOGf+jrVpViG0nwejlUmBZvE8A/l4VE6engKtCOWDmu\n3KZrn3GEGR51fSDe9UkcNZJUKURKqBHtgK1wmc/RrnckjxnvfgXcjun1aB/c\n1QkNLMiDWQHzKcuzphsgYo21NvLgxRR4xtF7tMqWIAASg25yNZFdat32aOSF\n8VOOIVQpCC9oROUn3wVQ0YQzzZUd1BJd7H+03K1cRpWVic9L8XHvGuAgSqfO\nGYXWF6JuJVIO6b/cgvGG/H+SxbXCk+QSyONqT5wIj4lQEzufmXDqbewGdoMG\nqSplALTpuUU8MEQ/sU22tFeTdmgg8PUxEIsIddPJc/IKnTKujkqwtuc78vCY\nOJ1UfoAgPKM1NIPdTfv+IA7XK+RGX6GHQfmqjWFlQS+RXK+UOLuA5e9zpUxg\nRhlx\r\n=WUnV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDp/Zbr3SK1vNRX9fgDytRs1UyiBMNgKJaNeqtJdhAtOQIgSvmuTrzgS5r5qi//hY5XtJCoYb/uyj9XtsFsLUo0n5I="}]},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssb-tunnel_0.0.0_1524515316324_0.19522358010528773"},"_hasShrinkwrap":false},"1.0.0":{"name":"ssb-tunnel","description":"tunnel multiserver connections through ssb pubs","version":"1.0.0","homepage":"https://github.com/dominictarr/ssb-tunnel","repository":{"type":"git","url":"git://github.com/dominictarr/ssb-tunnel.git"},"dependencies":{"pull-pair":"^1.1.0","ssb-client":"^4.5.7","ssb-ref":"^2.11.1"},"devDependencies":{"scuttlebot":"^11.2.1","ssb-keys":"^7.0.14","tape":"^4.9.0"},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"http://dominictarr.com"},"license":"MIT","gitHead":"7ca70c1659cf7817b2a6b25ac7936f13b2e308b9","bugs":{"url":"https://github.com/dominictarr/ssb-tunnel/issues"},"_id":"ssb-tunnel@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"dist":{"integrity":"sha512-9kJf00T5bgqOOraS8TwnaZyG1tuLdHeyxiyVdlszkv7JUD38vWiPbJeaoC9ZN38S4jUWsLSSJPXm4dvamqHLrg==","shasum":"3948c523685cccb9193fb71124054bb455b0ea6b","tarball":"https://registry.npmjs.org/ssb-tunnel/-/ssb-tunnel-1.0.0.tgz","fileCount":6,"unpackedSize":12664,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtKXTCRA9TVsSAnZWagAApD0P/iWSJ4/01lSGHnO6Z4eN\nHLJh2+r+r/+44WF4CwC2DA5BaDBWnOEDWX9pkFpetBKKq5RAQgd/huEGvolp\n3abRCVJxOw0JW4r+DpuIvu8XS0Blxv0x71Cm+CBR4ogQoTnxRBQsmx0t81Bt\neGPkkWigZsJtsjQv+Jy3AeziY6Zq9sSAm40s5mcjMrYht2hGY8YyXXQ2vFGa\nSAx1lPGbrqK7lTnDTLQmijf3TSFZk20+0e9KSHCPoqLJ+WLTRFwyNF4yUnhY\noBga0aUktcIfdBiCjEiEM0sj39FlGeT9KwJIU5Zm7O5muZPFCKF/W9b78g/i\n8zSsXfVif7YcYQDpfA/TN32HHKbxvZ95MKUiaSbbNUZTMtToOK+21WT8szUS\nZADqItI0OHB2aJsMq0XZ5O1X/l7IFD2nTJ9kxh4Alh2x0Hu7RFr2CdRF5hbW\ne6h9+aAFcAmx9/oC2v4F7DGge9mO9+g2MXgqn2WiEg3JR/pZp/oFJ3DUAiJO\n7gS9EXJC9Q3qZ1zEUkAgiXwz/2wlO9ecPC7mN2oD5Kuro/tk+TZV58mtTUWG\n4ewTpeQ1NV7gyHjFdXf2gynzPTLQf5JKkYtxHZrq6O5jzoei7cbcBzxYcXf6\n5BpZMB5t9O41AZZhLB/H1Y35clySdQIH2pRh/YKN/EzcjuJ5AKk6f6Fe3VYO\nC4so\r\n=5NzY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGhF84RlFa+qao5GBzq/6w1m5oqG96FVymDSTrIXdY85AiEAvRDf63xsiQ8qPUHU9iRkEVN93KPiIo6HXLwqy43wJME="}]},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssb-tunnel_1.0.0_1538565586997_0.3825084944313488"},"_hasShrinkwrap":false},"1.1.0":{"name":"ssb-tunnel","description":"tunnel multiserver connections through ssb pubs","version":"1.1.0","homepage":"https://github.com/dominictarr/ssb-tunnel","repository":{"type":"git","url":"git://github.com/dominictarr/ssb-tunnel.git"},"dependencies":{"pull-pair":"^1.1.0","ssb-client":"^4.5.7","ssb-ref":"^2.11.1"},"devDependencies":{"scuttlebot":"^11.2.1","ssb-keys":"^7.0.14","tape":"^4.9.0"},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"http://dominictarr.com"},"license":"MIT","gitHead":"aace87669304bdcc3ca958ef10405ea12336006a","bugs":{"url":"https://github.com/dominictarr/ssb-tunnel/issues"},"_id":"ssb-tunnel@1.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"dist":{"integrity":"sha512-z5D7pHPVZNUHtes1t9TTb/sgTVjvY+AqRjB+N2ucH2K/bOiORUC0jClS1ZzDxj6TtxVvdh40m1AVyb/EbCGrmg==","shasum":"994897cb8b5bb2de441a019606aa03cba7820538","tarball":"https://registry.npmjs.org/ssb-tunnel/-/ssb-tunnel-1.1.0.tgz","fileCount":7,"unpackedSize":16029,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtUpiCRA9TVsSAnZWagAAuNEP/j/36QhZcG537gID0jJ3\nQ+uE/WiVlCO5moxbQS1/wWLIOii2lIydpRGRUPERKah1ZFD6Atf8bV74dGpL\nzG/KaY6qXnjLWChgkRxvYgDUgYa0qRgGy1NB/4/NMdnV2mZvLct/jnexXg/a\nnrd//3nlz7OXmrAvxOU10OTNHOZaWB6303pHjZZYaftdytO5HO4lZeZnmdEw\nEP6Ob3EE+NmT5eKDEDtLdL/PxnSE4w28BkA86FzfeDF4s0lyevE9FYg1oL0O\nL3L4ldx8wV3a21TJSthBRsZztFmsxQu+Fj9N+PyPvYHavYwAR3aXj5ptJ27M\nI7HKNv/PzVeIB85f4MloP9uING11DKrKTv6IKTR68mEjVD/jepqe046Z6Ieq\nmdoKc9Al5var4Ffn2+HzQpHTfp0wi2sMA9dgAJy+2dsnJwVHKnHKuS2hiC+h\nRx9jau3G2Awv5Hi4E6EqQ58fE2YGP8CrzS6ieftLM35A5LuoH6igY43LQVeW\n+AWhbPbJmkI9+zoE+pVubZ7nv8pTOs42neV5A4n+COyEzjsHpJtN95Zmc9gU\n4rnIFjFvUOPMjF9lwjsmpXsLKYwXBK4bzaLpFmn1NKX7Nl4fI2uvdtQDPoag\nKx0tM+MZOhVMC0fVgrZXqGtbQzN6OLxKpcnS5x89wXpTn/BC2Q85olE0gl36\ni0SR\r\n=iOQo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHY7FAlOAhTw0YhVxCYhuR2BorRbawuJ7RnPn+AdmD+YAiBHT5/9KRZhqcDbOCssoL0mfsZb5LdMDeYr/G6F8L6tKA=="}]},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssb-tunnel_1.1.0_1538607714064_0.7480435947332196"},"_hasShrinkwrap":false},"1.1.2":{"name":"ssb-tunnel","description":"tunnel multiserver connections through ssb pubs","version":"1.1.2","homepage":"https://github.com/dominictarr/ssb-tunnel","repository":{"type":"git","url":"git://github.com/dominictarr/ssb-tunnel.git"},"dependencies":{"pull-pair":"^1.1.0","ssb-client":"^4.5.7","ssb-ref":"^2.11.1"},"devDependencies":{"scuttlebot":"^12.2.2","ssb-keys":"^7.0.14","tape":"^4.9.0"},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"http://dominictarr.com"},"license":"MIT","gitHead":"a363d4a29968f6f297f838ea8224d1361a216b89","bugs":{"url":"https://github.com/dominictarr/ssb-tunnel/issues"},"_id":"ssb-tunnel@1.1.2","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"dist":{"integrity":"sha512-BT+OlK60RcheWGOZ7nkgPftVqksBj3T/FHk7i5faG0gqG5RBr/cEty79r8fndfqNN8qf8cGThho0whre96XpyQ==","shasum":"5328f0ed05e2a4a0e1390c1c13795bca852e1d51","tarball":"https://registry.npmjs.org/ssb-tunnel/-/ssb-tunnel-1.1.2.tgz","fileCount":7,"unpackedSize":16029,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtWw8CRA9TVsSAnZWagAA6NEQAIBtuJ85BkUCdNlXrVkw\nneJoaL6PkSeCO7s43yihJqllZjAs/gNw1ha+wpEv6/OmFIKRBlQxvmG5QOAK\nh46suiMrGrnWcLV6DiFyoX6aiG0qtGtrj8heMydy0P6xCu9m9a1/Zc70HvI+\nOCOdfR/8lPCWAzg0pWhKfKuZ+zp2Ul9jlQ1z0D2449VEX9JC759xI2VliSlP\nnfguCHDJcXYJk7pKLamug+bkw3Ay5LfuORm6eWfeWLHUhtha2Hej7jcyVMNp\n4QWyQT3rQffrXoh5GNbbua6h4CfG5YHJfTBualqaa1QWquWXKaBBUD4WNGQ3\njl+kSCLWLqxZ622weSo9hifST1J1ZPYgorf/dI4/tTK3E3Atr9JJnW/P+nhG\nbQkrdThPpeIuxF1XiWnQhFls5AkziG8T3AmVq50Era4Ue8kpHiqNMklmof6R\n1svQojHtTlExsVy2v5uYlPF8vyjxEDGvGwoACeDJXF2vaf2jM+71KUEfuTBR\nw9hay/4Oqu98nPLDzEmzm/GUqOz4sXtYqsf8eGNgPt2srgqpaUT8mvUAaZT5\ni5JghFeaZtWN0rEgmyFVfke/nV+UwMntPn66a7JHaNn/ODG1oXUfBdv1x/oa\njf5b+FYpMc3LxGL7nbdhiqkH37n6jnE6hw36FK5C7QfOX5rm2vuPDuZN+Vfx\n7S0c\r\n=L4cs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/9zAa0mF551TSo5qIakleQVedCZKnfoA69l3qnDIHOgIhAKcrLr/MwYCfv36Ro2ctzDRAg1D3NV8sNfQI3z2TaFsF"}]},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssb-tunnel_1.1.2_1538616379526_0.3671642271659883"},"_hasShrinkwrap":false},"1.2.0":{"name":"ssb-tunnel","description":"tunnel multiserver connections through ssb pubs","version":"1.2.0","homepage":"https://github.com/dominictarr/ssb-tunnel","repository":{"type":"git","url":"git://github.com/dominictarr/ssb-tunnel.git"},"dependencies":{"pull-pair":"^1.1.0","ssb-client":"^4.5.7","ssb-ref":"^2.11.1"},"devDependencies":{"scuttlebot":"^12.2.3","ssb-keys":"^7.0.14","tape":"^4.9.0"},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"http://dominictarr.com"},"license":"MIT","gitHead":"bc490717cd9be8bd5f420e6388a6366573ccd9c7","bugs":{"url":"https://github.com/dominictarr/ssb-tunnel/issues"},"_id":"ssb-tunnel@1.2.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"dist":{"integrity":"sha512-iYU0A+c51uQVN2Ahz+r6Xz+LNNpzhoCu/rMLjqzkvXKR4Yzgoai7w6BeIrLGGbKpvDDQxrBVWC3WzHStz+NIDg==","shasum":"a783d747c738997ac3366541631ff0a7f2635bef","tarball":"https://registry.npmjs.org/ssb-tunnel/-/ssb-tunnel-1.2.0.tgz","fileCount":7,"unpackedSize":16505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvEToCRA9TVsSAnZWagAAgi0P/0guzyxAg5D/M583twX/\nP/quZgutlpjTLimv6KPEmf0Rjow7c1/i1QCWOlDGg8LclMTwoEtST6JrZUH8\nTX0+sc4wqdqmsq+0OpaSSdtZUuziHVe7K2WEN5YGzcEcph5OEhADxIWsKzz5\n8e8VoSmftQG7vefklxorh6RG0dTX4jiWNyIRzhBsUHACGbRF3jafoEUYj9at\n6jQ69mD3TtibKGH+a7WXJrVPVRl48Md6pVy7m2Yrnr6OdkrCkFrqXr1hVbPu\nW/Zb0ztbs41gO/EX2HfYh2LybILxfr0O+h/Jsom3H5KW/Ju1j9NbDXV2gKwD\nPK/9lJbhSZMkz33PRC88HcRwW0CtCm9Zu7ssrxUKX8aL3PHZ5qBrShFTIEN3\ne2fkAf5Q1ULSpgqh4LX6dwYfmiVLsMVv+nXDAm0ahuS+ggXOWfAeGerQ5BdD\n89M8WFn/HF76Oso1iRTMbU5yCa4ag1Mf0/vnNO07swhE2D2OpErQWZRk70xR\nN8p4bKxlQG2bxqstXwDvIGgqGpbXTVBLa1OOvKWUBZE1ThgC0XbbkJYwnTLr\nc2NWKxfWZ/68F7BhSTFQxm3HWGhYJgFOl7EpYB4dClO+WorJIKXnVNDDcgmN\nq63UWK8iwdB6wUpIkmJZwDvin0OceEbI5sANap8a0cAbo1XJ6CEvTX4oj76Q\nx/CM\r\n=B3u/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBHRQi8HoGd0hyqfPxVCnVWOSTVh7wF1C3UbTvtnrtW7AiEAjoMnWbyBtBi2ptxLnKZfzD4G3B/0/N1Nkl3Z7j+9wnI="}]},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssb-tunnel_1.2.0_1539065064136_0.23109909461487232"},"_hasShrinkwrap":false},"1.2.2":{"name":"ssb-tunnel","description":"tunnel multiserver connections through ssb pubs","version":"1.2.2","homepage":"https://github.com/dominictarr/ssb-tunnel","repository":{"type":"git","url":"git://github.com/dominictarr/ssb-tunnel.git"},"dependencies":{"pull-pair":"^1.1.0","ssb-client":"^4.5.7","ssb-device-address":"^1.1.4","ssb-ref":"^2.11.1"},"devDependencies":{"ssb-gossip":"^1.0.6","ssb-keys":"^7.1.5","ssb-server":"^14.1.9","tape":"^4.9.0"},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done","build":"browserify examples/browser/index.js > examples/browser/bundle.js"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"http://dominictarr.com"},"license":"MIT","gitHead":"d713f4a18f8099a4b6fd1d9215be97974d11a9a8","bugs":{"url":"https://github.com/dominictarr/ssb-tunnel/issues"},"_id":"ssb-tunnel@1.2.2","_nodeVersion":"8.15.0","_npmVersion":"6.8.0","dist":{"integrity":"sha512-nY1Dw5JPvft3Na0HTcfmefnKUzUqxGNrqX9HM0sVYThHpAlrcrjGmfx5mFiLCctUHzxTgrJgmFu+TbG8LSW7OA==","shasum":"d26645767175305648aba6da0f725c9a4f433ff3","tarball":"https://registry.npmjs.org/ssb-tunnel/-/ssb-tunnel-1.2.2.tgz","fileCount":15,"unpackedSize":1545644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmb6hCRA9TVsSAnZWagAAwecP/RfodjJgiDJ/Hhj0OK2S\nYt+jlJh+EF7n3XQrQ3PkulOo4+shDUWVrQ4VbgbVBZeh3yq4c4rnfLHlN7ZB\n8dFKmGuvWQIbRfJYM0FTCTRlxdaWzOS9Uu6RUR4H/jQqBhd5GOvlrnokhkK/\nKYtT/UIbIwMx3gDDU4j952WXlgTYoItz/ZXAHq6cPMsS6IqU3smOzDcZALwa\nBLqi324KJ4TOml5NkbKt/F4bso25rXDhSjJcbiBJtnUZQ/xZpu7IURVC09Zg\n3YijBqg7XjRcoCehDCVPSAqV8LGWXA12Jpq697JLT1qEd4wUSSdOj4RsxxUw\nrHUQAvRXYnOg7p0uH09irD5hCfku6DfnOounYpRDexqh4MTVgter63OA/Q5f\nliEBy4sfy4F24TnfDu4oHd7CnxaFTJfmaziVtClT55UdlckYLtE75ki63IWb\njKQD1mzFNM12n20sD8ZiWiCAfO0ohr+ULRN3vW/f+2CgxF7f//wk2XE/aMMO\nRwPOmpsJQIlArlHOMevYBBkpn1bEUPNEJAmvYp/yB7Ze1rolbKxYchUcDEIw\nNjmVVgNH3jpYX+8xCcBaduYE/Cf4M8WYdu7cceM/FIxqOyDBilf5XwWe1PNb\nc7qppnn6+K8o1l5eVFjZUljDa72xPv4tUqLLSy6vZpPrXS8Cc6gtoygfnuZV\nk0rd\r\n=HuW+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgbLGkOlpHExpkUR5m+n1DutCd5Hn5oU7Zk+QDtNR/YQIhANAKySq/zizNiOx57lp3vlUcLeG9GtS7D956m4CU9bLB"}]},"maintainers":[{"email":"michael.williams@enspiral.com","name":"ahdinosaur"},{"email":"mail@aljoscha-meyer.de","name":"aljoscha-meyer"},{"email":"andre@andregarzia.com","name":"andregarzia"},{"email":"arj03@protonmail.ch","name":"arj03"},{"email":"npm.cel@celehner.com","name":"cel"},{"email":"christianbundy@fraction.io","name":"christianbundy"},{"email":"cryptix@riseup.net","name":"cryp7ix"},{"email":"dominic.tarr@gmail.com","name":"dominictarr"},{"email":"gordonhughmartin@gmail.com","name":"happy0"},{"email":"kieran@tenthousandthings.org.uk","name":"kyphae"},{"email":"whimful@gmail.com","name":"mixmix"},{"email":"matt@wetsand.co.nz","name":"mmckegg"},{"email":"stephen.whitmore@gmail.com","name":"noffle"},{"email":"pfrazee@gmail.com","name":"pfrazee"},{"email":"pietgeursen@gmail.com","name":"pietgeursen"},{"email":"jan@lagomorph.de","name":"regular"},{"email":"andre+npm@staltz.com","name":"staltz"},{"email":"npm@vtllf.org","name":"vtduncan"}],"_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssb-tunnel_1.2.2_1553579680787_0.10834489098632849"},"_hasShrinkwrap":false},"1.2.3":{"name":"ssb-tunnel","description":"tunnel multiserver connections through ssb pubs","version":"1.2.3","homepage":"https://github.com/dominictarr/ssb-tunnel","repository":{"type":"git","url":"git://github.com/dominictarr/ssb-tunnel.git"},"dependencies":{"pull-pair":"^1.1.0","ssb-client":"^4.5.7","ssb-device-address":"^1.1.4","ssb-ref":"^2.11.1"},"devDependencies":{"ssb-gossip":"^1.0.6","ssb-keys":"^7.1.5","ssb-server":"^14.1.9","tape":"^4.9.0"},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done","build":"browserify examples/browser/index.js > examples/browser/bundle.js"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"http://dominictarr.com"},"license":"MIT","gitHead":"543619fc28cd62c0712574d352a37512d50beee3","bugs":{"url":"https://github.com/dominictarr/ssb-tunnel/issues"},"_id":"ssb-tunnel@1.2.3","_nodeVersion":"8.15.0","_npmVersion":"6.8.0","dist":{"integrity":"sha512-rXvR2zW1NqRDVscvFlMb9AtPdLPV3lLW7lMx5B4QVDSFbGJ/gZmxC2uPeOLFU0QiiX1Fk23Zuhgp52RAe2A3Vg==","shasum":"d282846123aa947bc5b41d87d4cd99c527c23bb4","tarball":"https://registry.npmjs.org/ssb-tunnel/-/ssb-tunnel-1.2.3.tgz","fileCount":14,"unpackedSize":1545770,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmcNHCRA9TVsSAnZWagAAwMYP/03KvKUbWn0XPMsYI7mh\nglaQVpg2p4C5b1uAARg+1BirKcQhiG11aj/3YVyz0w/ZjrsUOPbksNbGl+IN\nfMCN5YHSE8SToNHpJgu4dU0lTdRl6ZL0FMMITSq1VSJeEOBZi5HRNGD0HYks\ne62ZeTiIciVKzMGXOilf1fP55gvHV3KX+kwo7IyYAeh6ni383hmXJxPk/MqR\ngiEFJ21lOVcCYCCWiX1hknqx4Ou8BtehrLlPNumeY+wEeixCqwwAJ7BtHu3B\nV3YB17qW5QShV/33z1xNDG7CRQn6IVgGeq46WW2ka+2zheV0Q68PJTODCdHb\n4dtVgvryVwShGcNghbX17XWWEgkHXU5grwHJj1iTLhTAZqYMEDAQaHjY3dbE\nMBM1CaYNuY/mEiqHJ+0GXcqNaoZMk4HRp965kqhImn6njztLvT+Y1BStL5Ta\ntMhoudPU5++mtWNnyqCUgkMjxeMtlDZXCjNFhUdc5S2jfs5oCAbvTNCM5TOa\nFUd5+Jk52ciAIleE1+AQwBVOMhvrpXLwKvuMCIkx3vMLyZCfulxAEl8Z5nQH\nXCItwvbZAu6O0m7lAuzofs2FCs/RM+HBBqkcWyddyU9Y6B+B9sQz7Hgt0f3s\ncT9iHDG5X/vmsba8PpasbOcedF9R8aFCDZWQ4Wv/6le0+HsZ9XzFT2BIq5ic\n6pN2\r\n=a7cS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRMJ+FXCiBdH2hxXOTbaYC+t28HE5yK8N/oQBx00xrxgIhAIHBNQ12cwzkBx+oRDLvdOTsuSUgljIe/yc4V9kxpzzP"}]},"maintainers":[{"email":"michael.williams@enspiral.com","name":"ahdinosaur"},{"email":"mail@aljoscha-meyer.de","name":"aljoscha-meyer"},{"email":"andre@andregarzia.com","name":"andregarzia"},{"email":"arj03@protonmail.ch","name":"arj03"},{"email":"npm.cel@celehner.com","name":"cel"},{"email":"christianbundy@fraction.io","name":"christianbundy"},{"email":"cryptix@riseup.net","name":"cryp7ix"},{"email":"dominic.tarr@gmail.com","name":"dominictarr"},{"email":"gordonhughmartin@gmail.com","name":"happy0"},{"email":"kieran@tenthousandthings.org.uk","name":"kyphae"},{"email":"whimful@gmail.com","name":"mixmix"},{"email":"matt@wetsand.co.nz","name":"mmckegg"},{"email":"stephen.whitmore@gmail.com","name":"noffle"},{"email":"pfrazee@gmail.com","name":"pfrazee"},{"email":"pietgeursen@gmail.com","name":"pietgeursen"},{"email":"jan@lagomorph.de","name":"regular"},{"email":"andre+npm@staltz.com","name":"staltz"},{"email":"npm@vtllf.org","name":"vtduncan"}],"_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssb-tunnel_1.2.3_1553580871174_0.9776687638964954"},"_hasShrinkwrap":false},"1.3.0":{"name":"ssb-tunnel","description":"tunnel multiserver connections through ssb pubs","version":"1.3.0","homepage":"https://github.com/dominictarr/ssb-tunnel","repository":{"type":"git","url":"git://github.com/dominictarr/ssb-tunnel.git"},"dependencies":{"pull-pair":"^1.1.0","ssb-client":"^4.5.7","ssb-device-address":"^1.1.4","ssb-ref":"^2.11.1"},"devDependencies":{"ssb-gossip":"^1.0.6","ssb-keys":"^7.1.5","ssb-server":"^14.1.9","tape":"^4.9.0"},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done","build":"browserify examples/browser/index.js > examples/browser/bundle.js"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"http://dominictarr.com"},"license":"MIT","gitHead":"0dbc472f682e06fb6749e61284544447da8911c5","bugs":{"url":"https://github.com/dominictarr/ssb-tunnel/issues"},"_id":"ssb-tunnel@1.3.0","_nodeVersion":"8.15.0","_npmVersion":"6.8.0","dist":{"integrity":"sha512-kM5P2ok1zHHmjuhQjT8iLa0qCfdPV0QOyvgcDXzGKjJ+hk7LO1b5KCml9gR15EeZvC7Kn5kFDRSM/wNPRkEdoQ==","shasum":"e50d9bec6dc07189f2f28c54b3037dd889f29d10","tarball":"https://registry.npmjs.org/ssb-tunnel/-/ssb-tunnel-1.3.0.tgz","fileCount":16,"unpackedSize":30535,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmwSOCRA9TVsSAnZWagAAlt0P/1stUsj2PDvcvAP7eqHV\nSKjj46yN4i1UXKbLAsgwysItTasFnUi8NgUfAutb0Cp3pY2uqzx3SXLQwT+F\n9mkvqIYTPjgIcP54LZTMg1I9oSUCjVaZZWANNplp5kW4yQnjkk/Qpb0gGs/H\n/FwABF/Hbl2D2U0m4wIbi0cQ7OUu/U5mpX7575Gz+roae11KSePrNZONPR2p\nW4poF92unuMwJabTHkVGVWadmXRzFJeP7aGXNVW5B8p2bdXkdMLbeIGZDKGM\nlFrTJ2hsrAKA9woqay0+IPg5Yy8m0W+4FR8xM5+tlqkevYdRy6FqpV6rcVo2\ngRBtNb6mT/kPVmXWJ63CRqKsPnL2BsnBBpGkM20Ajut8EjLlEiysjtU27W3w\nV27KsmMXIOa8lIw+C6FnxFM+WYCIZzZLWdeWdC14G1UkJ7T2FWC102zpVoF0\nzdFL/mLVW0F3QHXXyU5LdZoUAmcWwBtV9LcSsIJ96mB+he5UkZwB4bQOjSD4\n5jR2LBn64IrF/JDKpteFTdX3mnuvE9CHuEZEW0lLPJqqrwR8KHCZUKlPE7NB\nr2gVQUY4NuQooHNNA+mWredROVci3Tp2gjY5fjcPq31SRb/yPn3niJYRI3ev\nMtPuhangTqYmTCH3LsViII/5KM+Q13bv8DYon/xXBTfOhK7oOmofSlKQ+VL1\nKkB1\r\n=LUAd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIClso+0QJLDvrjsWlsehJI4H2yEp/hPAxsB+epobHgLyAiEA9I4F6E8N1Pi42h1THJDn4ygR7JU5lCbpEsMDQAHSppE="}]},"maintainers":[{"email":"michael.williams@enspiral.com","name":"ahdinosaur"},{"email":"mail@aljoscha-meyer.de","name":"aljoscha-meyer"},{"email":"andre@andregarzia.com","name":"andregarzia"},{"email":"arj03@protonmail.ch","name":"arj03"},{"email":"npm.cel@celehner.com","name":"cel"},{"email":"christianbundy@fraction.io","name":"christianbundy"},{"email":"cryptix@riseup.net","name":"cryp7ix"},{"email":"dominic.tarr@gmail.com","name":"dominictarr"},{"email":"gordonhughmartin@gmail.com","name":"happy0"},{"email":"kieran@tenthousandthings.org.uk","name":"kyphae"},{"email":"whimful@gmail.com","name":"mixmix"},{"email":"matt@wetsand.co.nz","name":"mmckegg"},{"email":"stephen.whitmore@gmail.com","name":"noffle"},{"email":"pfrazee@gmail.com","name":"pfrazee"},{"email":"pietgeursen@gmail.com","name":"pietgeursen"},{"email":"jan@lagomorph.de","name":"regular"},{"email":"andre+npm@staltz.com","name":"staltz"},{"email":"npm@vtllf.org","name":"vtduncan"}],"_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssb-tunnel_1.3.0_1553663117631_0.15949928740610053"},"_hasShrinkwrap":false},"1.3.1":{"name":"ssb-tunnel","description":"tunnel multiserver connections through ssb pubs","version":"1.3.1","homepage":"https://github.com/dominictarr/ssb-tunnel","repository":{"type":"git","url":"git://github.com/dominictarr/ssb-tunnel.git"},"dependencies":{"pull-pair":"^1.1.0","ssb-client":"^4.5.7","ssb-device-address":"^1.1.4","ssb-ref":"^2.11.1"},"devDependencies":{"ssb-gossip":"^1.0.6","ssb-keys":"^7.1.5","ssb-server":"^14.1.9","tape":"^4.9.0"},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done","build":"browserify examples/browser/index.js > examples/browser/bundle.js"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"http://dominictarr.com"},"license":"MIT","gitHead":"be6f94b33a06c282b0a736094e0fa3414742842b","bugs":{"url":"https://github.com/dominictarr/ssb-tunnel/issues"},"_id":"ssb-tunnel@1.3.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"dist":{"integrity":"sha512-G3jyX1QoyTs0gqvJdg19vXfhFYP/3UKuKgHOSysIZX3XSAhDppZ4UFwsPTwxg9N6fdM5KwMbbxTLp9k8B8PG1A==","shasum":"48595f614a0f4f63d49fae452d89b23dba17f3a2","tarball":"https://registry.npmjs.org/ssb-tunnel/-/ssb-tunnel-1.3.1.tgz","fileCount":16,"unpackedSize":30401,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3QafCRA9TVsSAnZWagAA950P+wdfxndR0KerfZK4bL0k\n4lr7IGO8ZNxkuhXybr42lBGquwbmAxqRGb4D4H3aO49l0Gm2O3GgWtY/QCOC\nRicJyPWzBcmvksL0t176kgC2Mz/wXnHFIEU9EqhZajkoZ3GxivZbSAXuEecB\nAqeJTGA6lTAxWuH5ztkoGDddDkCwAQ4IBBPpLrIhIV/SfeVf1zSf9TLA1A5S\nOh8QKOu4PCVDIEptXaG9MtJvaP3LxXfW+Vk/UIx0YzTSsXLEk5Xz4yumN20U\nUhvOjjvfn9x327pbHIG+CVh6mfkkIcw0+SKQDlcdd4fK7myEBwvR2G8plETo\nMWG3e9pZtmq0Puf5/8pQ1dkXgdTKdgjIIJ4UJ3jJZInIIPD7PcLCgNe/oCLx\nhcz/2UdQemSgKbyV5r1xoJ6LT9yGtIGNiMwcLlCiMUb+EzNxV8gTvhzt+Oq6\n+fjjJxgi8OQJsdUnqvaRV1Twm5v/QIbg/Exk5IJ+/mFqDXxFCDIvyR7JiAG8\nVjv6oJ9Sh6cM9R9Vu4p5/Zm1j4yt75pJ2VHcLU0y6mjxHLUsBYKMu4xZHZlL\nv/eq8VQSeyYFq87cifvsM33J+aPXtArJ2mv55KmcwqMV59iCui2RA+Lsaz5y\niHJjeR57/8mmf1sJC+l3wsxCKeszWE5Sd/Rr0zkVnlR209v63dSwykLV2ovp\nNVlc\r\n=Y8Tw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFtcaetT0r/Idhpe40cShI6nQlGGKYGN1/qDtbqatvrLAiATs1RuEmwvcG0D0fxvJWAcii94K+hzJblHyMfVRGgXfA=="}]},"maintainers":[{"email":"michael.williams@enspiral.com","name":"ahdinosaur"},{"email":"mail@aljoscha-meyer.de","name":"aljoscha-meyer"},{"email":"andre@andregarzia.com","name":"andregarzia"},{"email":"arj03@protonmail.ch","name":"arj03"},{"email":"npm.cel@celehner.com","name":"cel"},{"email":"christianbundy@fraction.io","name":"christianbundy"},{"email":"cryptix@riseup.net","name":"cryp7ix"},{"email":"dominic.tarr@gmail.com","name":"dominictarr"},{"email":"gordonhughmartin@gmail.com","name":"happy0"},{"email":"kieran@tenthousandthings.org.uk","name":"kyphae"},{"email":"whimful@gmail.com","name":"mixmix"},{"email":"matt@wetsand.co.nz","name":"mmckegg"},{"email":"stephen.whitmore@gmail.com","name":"noffle"},{"email":"pfrazee@gmail.com","name":"pfrazee"},{"email":"pietgeursen@gmail.com","name":"pietgeursen"},{"email":"jan@lagomorph.de","name":"regular"},{"email":"andre+npm@staltz.com","name":"staltz"},{"email":"npm@vtllf.org","name":"vtduncan"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssb-tunnel_1.3.1_1557989022869_0.5204263604289441"},"_hasShrinkwrap":false},"1.4.0":{"name":"ssb-tunnel","description":"tunnel multiserver connections through ssb pubs","version":"1.4.0","homepage":"https://github.com/dominictarr/ssb-tunnel","repository":{"type":"git","url":"git://github.com/dominictarr/ssb-tunnel.git"},"dependencies":{"pull-pair":"^1.1.0","ssb-client":"^4.5.7","ssb-device-address":"^1.1.4","ssb-ref":"^2.11.1"},"devDependencies":{"ssb-gossip":"^1.0.6","ssb-keys":"^7.1.5","ssb-server":"^14.1.9","tape":"^4.9.0"},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done","build":"browserify examples/browser/index.js > examples/browser/bundle.js"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"http://dominictarr.com"},"license":"MIT","gitHead":"11442e47b784603bfefbb59cb8b89baa3a4e8c8c","bugs":{"url":"https://github.com/dominictarr/ssb-tunnel/issues"},"_id":"ssb-tunnel@1.4.0","_nodeVersion":"8.15.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-aifQ/NHwL10NpBVls2DdPPWg0loK/P02oocECj5HSLBCnKreAeF2imC+s0qLNOUt78pyljwDnTc6rycvVCsRLA==","shasum":"282409bde52641c44c47d27d4751a151aad210df","tarball":"https://registry.npmjs.org/ssb-tunnel/-/ssb-tunnel-1.4.0.tgz","fileCount":16,"unpackedSize":30421,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdBLpYCRA9TVsSAnZWagAA81EP/0HzvKmCjn6LvAtDwPXC\nncP1AACnmTwnWzO4OlSDqum8IDUe+dmc0jk2ui5OjK1Toabo/mGyHnP/YQlF\nHvZcsZXUAg+dJgo91/S4UaYnKSwOj6NIQBrFTQ27uP6ogmEL/QLmOWmF+9KG\n76aRflyLydQKbpB7dM8ragI3l0dvgc39uGaI2qlQ1O+w9rvmNAlC8+x9k/Sz\nBKSK9NKq8EoYgTm7q1TpQg6MB7c1ayMjfc0zgtE00T4KJ3OrlbBtHu8bjB1l\nfWMPYNJsGgWS2MKKhmz+zBX/Zd+Oa8MSojZ/OyY9MYoSoGM/1VU1R4mf/Gxr\nFFZa/ywQeYzICtejWGkX4J0TIAlzGE/B26YWwWkQqj3Mu/QZfYA70xEoaidU\nvNX79Jceyn2g83lFacJHPJEHmr4Qm+4WsHcRw+DfAw9Ztk+5wc2mdIUoxHR+\nk7vL9x/tsIki8ZkG7SSBrZbxPW/rY97zwCxvFI2WMLvI/WS27yBcSSfk3zBN\nQ3CT0+LNuVLfbbn7otpNgEaGWrYrhK9eck4gKUiH3+xOiQ8/MZA3HOwm7cH2\np43YuBIGj2+3peH67ImfZ/DFIPuaKxALkEaiBKRY9m+yix5UP0endjZraxds\nSPvEFef4F6K7wTDTFwEtUHObuzweA4w+blz/XyO3AZyg5BITma6GNuwuXAcz\njhDS\r\n=WkkH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFySFM9gwBi/XU6rrvan4JaSIqDF+w2ixpuzG82VCeVgIgBVT+7xqhL4fFGSqtcyXqgcCopKgVXm/J+wgL9Phco2I="}]},"maintainers":[{"email":"michael.williams@enspiral.com","name":"ahdinosaur"},{"email":"mail@aljoscha-meyer.de","name":"aljoscha-meyer"},{"email":"andre@andregarzia.com","name":"andregarzia"},{"email":"arj03@protonmail.ch","name":"arj03"},{"email":"npm.cel@celehner.com","name":"cel"},{"email":"christianbundy@fraction.io","name":"christianbundy"},{"email":"cryptix@riseup.net","name":"cryp7ix"},{"email":"dominic.tarr@gmail.com","name":"dominictarr"},{"email":"gordonhughmartin@gmail.com","name":"happy0"},{"email":"kieran@tenthousandthings.org.uk","name":"kyphae"},{"email":"whimful@gmail.com","name":"mixmix"},{"email":"matt@wetsand.co.nz","name":"mmckegg"},{"email":"stephen.whitmore@gmail.com","name":"noffle"},{"email":"pfrazee@gmail.com","name":"pfrazee"},{"email":"pietgeursen@gmail.com","name":"pietgeursen"},{"email":"jan@lagomorph.de","name":"regular"},{"email":"andre+npm@staltz.com","name":"staltz"},{"email":"npm@vtllf.org","name":"vtduncan"}],"_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssb-tunnel_1.4.0_1560590935856_0.7764056878028829"},"_hasShrinkwrap":false},"1.4.1":{"name":"ssb-tunnel","description":"tunnel multiserver connections through ssb pubs","version":"1.4.1","homepage":"https://github.com/dominictarr/ssb-tunnel","repository":{"type":"git","url":"git://github.com/dominictarr/ssb-tunnel.git"},"dependencies":{"pull-pair":"^1.1.0","ssb-client":"^4.5.7","ssb-device-address":"^1.1.4","ssb-ref":"^2.11.1"},"devDependencies":{"ssb-gossip":"^1.0.6","ssb-keys":"^7.1.5","ssb-server":"^14.1.9","ssb-query":"~2.4.3","tape":"^4.9.0"},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done","build":"browserify examples/browser/index.js > examples/browser/bundle.js"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"http://dominictarr.com"},"license":"MIT","gitHead":"874a62302c63bf68af86af889990f5d217a49306","bugs":{"url":"https://github.com/dominictarr/ssb-tunnel/issues"},"_id":"ssb-tunnel@1.4.1","_nodeVersion":"8.15.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-y0rV4a2xAhpe565juBJLwvMvF+hr7Zb4aqysyeBht3VbaX9FKYCMdjK8qAQAquRoXoNmAFZ+brudR75h2VO+BQ==","shasum":"1db7aaa0dad47118fbea54336d4cadb4e05c3d06","tarball":"https://registry.npmjs.org/ssb-tunnel/-/ssb-tunnel-1.4.1.tgz","fileCount":16,"unpackedSize":30469,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLfXnCRA9TVsSAnZWagAApXcP+wYeRzZMnEU98wspX0o8\nP8PAfeNwETJFWgKfxDvno1y6RVJ+3jIKNvBHjADMlygePSRxqaQmJkbFibA6\n8rawZS8rvGmCDcpRaqmdIWXXhKzLzHUfQMIsWdBHv1O7OyEkn/hbnUvncHtJ\nK+MJ3l9mGJVZu88q4haXWoWV8DLTgSHQWMh05Kz/idilHoDiY+l6JeZR7eH9\nYz5Y9HcQlENui6c+ywIQKEfOX1iGoNWwq1EXjav3BRseNorzFF14hiM/NpoK\ngY8vbKEFsx58XmQgGF3ESFobge5EEfC5w0YujRvlJfiV8k+FDOH9rKf6NHH6\nNuFflIYtW9rTAI8DyZ51LgYeS75/y8Ax2JzkrG6WtGphr0HaVG26EGzsIWOJ\nD4Ex3NcyD8/SrDiGOvdH77M36d4nkPim/gL1WDsNVVQijR/7afT0m/1dJYE4\n3nqR5wwJE7afZ/tOfdkpZUpnussxzQ4Grrm9t5a3Fasn/uXpGcE3mtcE8bF3\nT9HC0fXQWDbFcemAgEeuhz2f9khXYXj6a5/z/sVD35Fd0kFLcaKJ3MCX+x13\nesE0UdgtYRuo3+vTCuLkygubrNZsv9ZRU7Uvw1gc/rRYm6UAq1z4JGEDcAU4\nA0sR2A8n4xzxkH+HPn6h70qTfy4xZTjL2gyB/V2FArwMmbubAjKzuwTHSMXs\njrXm\r\n=aQzN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBL6iF46dcT4magwBYWZKUspffP9YmKxLW1/RxUtdFzGAiA3uH78k14+c3YYsrGfh3mnvZdxLQTDpsGi13K6aaxmSw=="}]},"maintainers":[{"email":"michael.williams@enspiral.com","name":"ahdinosaur"},{"email":"mail@aljoscha-meyer.de","name":"aljoscha-meyer"},{"email":"andre@andregarzia.com","name":"andregarzia"},{"email":"arj03@protonmail.ch","name":"arj03"},{"email":"npm.cel@celehner.com","name":"cel"},{"email":"christianbundy@fraction.io","name":"christianbundy"},{"email":"cryptix@riseup.net","name":"cryp7ix"},{"email":"dominic.tarr@gmail.com","name":"dominictarr"},{"email":"gordonhughmartin@gmail.com","name":"happy0"},{"email":"kieran@tenthousandthings.org.uk","name":"kyphae"},{"email":"whimful@gmail.com","name":"mixmix"},{"email":"matt@wetsand.co.nz","name":"mmckegg"},{"email":"stephen.whitmore@gmail.com","name":"noffle"},{"email":"pfrazee@gmail.com","name":"pfrazee"},{"email":"pietgeursen@gmail.com","name":"pietgeursen"},{"email":"jan@lagomorph.de","name":"regular"},{"email":"andre+npm@staltz.com","name":"staltz"},{"email":"npm@vtllf.org","name":"vtduncan"}],"_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssb-tunnel_1.4.1_1563293158722_0.5754021311504673"},"_hasShrinkwrap":false},"2.0.0":{"name":"ssb-tunnel","description":"tunnel multiserver connections through ssb pubs","version":"2.0.0","homepage":"https://github.com/dominictarr/ssb-tunnel","repository":{"type":"git","url":"git://github.com/dominictarr/ssb-tunnel.git"},"dependencies":{"pull-pair":"^1.1.0","ssb-client":"^4.5.7","ssb-device-address":"^1.1.4","ssb-ref":"^2.11.1"},"devDependencies":{"ssb-gossip":"^1.0.6","ssb-keys":"^7.1.5","ssb-server":"^14.1.9","ssb-query":"~2.4.3","tape":"^4.9.0"},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done","build":"browserify examples/browser/index.js > examples/browser/bundle.js"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"http://dominictarr.com"},"license":"MIT","gitHead":"56e206be442b478166bbf532360747a1424faeed","bugs":{"url":"https://github.com/dominictarr/ssb-tunnel/issues"},"_id":"ssb-tunnel@2.0.0","_nodeVersion":"10.11.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-dMjXVuNZUhgokheXdIbq5Op+phPvEWsgsVuzzQpcPwDov6U9dynNxUG+4BI2Rh/EDS5N8dufjVbZ97tfOtufjg==","shasum":"93de9ae0ec9a585d3fe027dcb3e0ae233698546c","tarball":"https://registry.npmjs.org/ssb-tunnel/-/ssb-tunnel-2.0.0.tgz","fileCount":15,"unpackedSize":30128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2744CRA9TVsSAnZWagAAoP8P/js8vhTaFiRb9RCiO/gg\nThdZyJB5eNdFYrXvqgtgNR2+TeJoZ6829RX5vh0JgYYBY2E90wwcJ9IRCjQh\ngxGVOjJOlGcg3GHf+RaIrac0TedY3KF/W10P38N6YgJ9/dJMmVRoO+mOxH+2\n1owW8VvqE+/AMk0lA1lVl9AEWZQMNZ6XNPc81VvLz57ZXDL99JVaknrb0bnz\nEVh+pcT2s9oh+LWz+Yg6ctES/D/NB6/MzBJT/XAwwN2LUfseBte5UZZGDjc0\nK892r3pkBrXOxc4Muao6rEkVWMmpMv1u3XE6QMunLQpKVuew0WEleftdwFHh\nSC9J4D2a/cot5Yp40McxJa3hCbJsDjEzJZk2Oa0EV20U0BkVqDXMCb0XjE7K\nD9L3E2gils/fkxTMP61tLgRnSscwS3vBDDd9Cgm6AeJQ+phqcCl8f1/29ksm\nSW9+pMyILLLJr7qazRP2EDHKnt2Xaz9tKNA6gtXkNoQUfKJC6k6cMwIjKFZ1\n1EtQAEbWWpJk2gScUuPsseqbFkNjVtlsRnY6kx6nIqN/OyQR92s/sb7cYWEZ\nKhTc7Sz3Js/RhnWHkhgH1zxiJQa3a32tBdFj3fIwofYt2WEoRwaTWe0w7dE9\nLJwsEuBTfohAl8NKQ3ykTCt7MWek8WEToRl92tXgSgI5e2aDVBklb8qpYBxD\nrgRt\r\n=uTkC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDeZEleQXy+z+9p7wydWE5YqdSEa4AnI0cH/6V6Q2Sz+AiApQV7qrZPnYW3z1eSN2FLbhuNKwPf0SKrNtMW2SdWZfQ=="}]},"maintainers":[{"email":"michael.williams@enspiral.com","name":"ahdinosaur"},{"email":"mail@aljoscha-meyer.de","name":"aljoscha-meyer"},{"email":"andre@andregarzia.com","name":"andregarzia"},{"email":"arj03@protonmail.ch","name":"arj03"},{"email":"npm.cel@celehner.com","name":"cel"},{"email":"christianbundy@fraction.io","name":"christianbundy"},{"email":"cryptix@riseup.net","name":"cryp7ix"},{"email":"dominic.tarr@gmail.com","name":"dominictarr"},{"email":"gordonhughmartin@gmail.com","name":"happy0"},{"email":"kieran@tenthousandthings.org.uk","name":"kyphae"},{"email":"whimful@gmail.com","name":"mixmix"},{"email":"matt@wetsand.co.nz","name":"mmckegg"},{"email":"stephen.whitmore@gmail.com","name":"noffle"},{"email":"pfrazee@gmail.com","name":"pfrazee"},{"email":"pietgeursen@gmail.com","name":"pietgeursen"},{"email":"jan@lagomorph.de","name":"regular"},{"email":"andre+npm@staltz.com","name":"staltz"},{"email":"npm@vtllf.org","name":"vtduncan"}],"_npmUser":{"name":"arj03","email":"arj03@protonmail.ch"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssb-tunnel_2.0.0_1565723384588_0.6247845336294999"},"_hasShrinkwrap":false}},"time":{"created":"2018-04-23T20:28:36.324Z","0.0.0":"2018-04-23T20:28:36.698Z","modified":"2022-11-09T11:52:18.739Z","1.0.0":"2018-10-03T11:19:47.110Z","1.1.0":"2018-10-03T23:01:54.186Z","1.1.2":"2018-10-04T01:26:19.680Z","1.2.0":"2018-10-09T06:04:24.309Z","1.2.2":"2019-03-26T05:54:41.021Z","1.2.3":"2019-03-26T06:14:31.365Z","1.3.0":"2019-03-27T05:05:17.810Z","1.3.1":"2019-05-16T06:43:43.026Z","1.4.0":"2019-06-15T09:28:56.101Z","1.4.1":"2019-07-16T16:05:58.946Z","2.0.0":"2019-08-13T19:09:44.739Z"},"maintainers":[{"email":"jacob.karlsson95@gmail.com","name":"powersource"},{"email":"arj03@protonmail.ch","name":"arj03"},{"email":"andre+npm@staltz.com","name":"staltz"},{"email":"whimful@gmail.com","name":"mixmix"},{"email":"npm.cel@celehner.com","name":"cel"},{"email":"dominic.tarr@gmail.com","name":"dominictarr"}],"description":"tunnel multiserver connections through ssb pubs","homepage":"https://github.com/dominictarr/ssb-tunnel","repository":{"type":"git","url":"git://github.com/dominictarr/ssb-tunnel.git"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"http://dominictarr.com"},"bugs":{"url":"https://github.com/dominictarr/ssb-tunnel/issues"},"license":"MIT","readme":"## ssb-tunnel\n\nIndirectly connect to a peer by tunneling through another\nconnection. If A is connected to B, and C is connected to B,\nthis allows C to connect to A by using B as a proxy or \"portal\".\n\nWith this module, a peer `A` with an unstable IP address can\nmake a long term connection to a portal `B`, another peer `C` can then connect\nto that portal, and tunnel back up the client connection `C->B`,\ngiving us a connect _through_ `B`, `C-(B)->A`.\n\n```\n,---,      ,---,     ,---,\n|   |----->|   |<----|   |\n| A |<=====|-B-|<====| C |\n|   |----->|   |<----|   |\n`---`      `---`     `---`\n```\nA connects to B, and waits to receive tunnel connections.\nC connects to B, and then requests a tunnel through that\nconnection (B-C) to A. B calls A, creating an incomming tunnel,\nand attaches one end to C's request, C then uses the standard\nhandshake to authenticate A.\n\nNotice that for the tunnel, A is the server and C is the client\n(client calls, server answers) but B is just the portal.\nThe tunnel is _inside_ the outer connections,\nwhich means it is encrypted twice. This means A and C can mutually\nauthenticate each other, and B cannot see the content of their connection.\n\nThe arrows represent the _direction_ of the connection - from the client,\npointing to the server. Notice the `B<=C` tunnel is the same direction as the `B<-C` container,\nbut the `A<=B` tunnel is the opposite direction as the `A->B` container.\n\n# address\n\ntunnel addresses are multiserver style:\n\n`tunnel:<portal_id>:<target_id>:<instance>?` for example:\n`tunnel:@7MG1hyfz8SsxlIgansud4LKM57IHIw2Okw/hvOdeJWw=.ed25519:@1b9KP8znF7A4i8wnSevBSK2ZabI/Re4bYF/Vh3hXasQ=.ed25519~shs:7MG1hyfz8SsxlIgansud4LKM57IHIw2Okw/hvOdeJWw=`\n(instance is optional)\n\nIt is assumed that a peer who wishes to be a client to\n`target` already has a means to connect to `portal`.\nThe address of the portal is left out, so that the client\ncan use anything, and also, to better preserve the privacy\nof the portal.\n\nFor the protocol portion of the multiserver address,\n`tunnel:portal:target:instance`\nthis will include the `shs` portion for the portal.\n`instance` is just an integer that tells the server which\n`ssb-tunnel` instance the client wants to connect to if there are multiple.\n\n`target` is a ssb feed id, which represents the peer.\nThis tells the portal that C wants a connection to A.\n`portal` tells A how to connect to B. \n\n## config\n\nAssuming this plugin is already installed and enabled on your pub\nserver. You need to configure sbot with an incoming section so that it\ncan receive tunnel connections:\n\n```\nincoming: {\n  tunnel: [{scope: 'public', portal: <pub_id>, transform:'shs'}]\n}\n```\n\nthen, another peer will need to have the outgoing config:\n\n```\noutgoing: {\n  tunnel: [{transform:'shs'}]\n}\n```\n\nand have an address for `pub`, can do:\n`sbot.gossip.connect('tunnel:<pub_id>:<your_id>~shs:your_key',\nfunction (err, rpc) {...})` and they'll have connection through `pub`\nto you!\n\n## privacy ideas\n\nInstead of revealing the id of the portal, just use the `hmac(portal_id, your_id)`\nso peers that do not know of the portal do not learn about it from your address.\nThat way only friends can connect to you.\n\n## how it works behind the scenes\n\nfor 3 peers, A, B, and C. A being the client-side server, which\nwill receive the tunnel connection, B being the portal, and C\nbeing the client who connects to A via B.\n\nFirst A connects to B normally, then calls `B.tunnel.announce()`\nThis informs B that A would like to receive connections tunneled\nthough B. (B puts A into a table of endpoints it can provide tunnels\nto)\n\nThen C connects to B, and then calls `B.tunnel.connect({id: A.id})`\nB then checks if it can provide a connection to A, which it can,\nand calls `endpoints[A.id].tunnel.connect({id: A})` returning this stream\nto B (B is now connected to A via C).\n\nB then initiates a [`secret-handshake`](https://github.com/auditdrivencrypto/secret-handshake) through the tunnel, hiding subsequent content from B.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}