{"_id":"ssb-caps","_rev":"31-aa4a5dda420068433dc3528087017b60","name":"ssb-caps","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"ssb-caps","version":"1.0.0","description":"The Caps string for accessing the SSB protocol using secret handshake","repository":{"type":"git","url":"git+https://github.com/ssbc/ssb-caps.git"},"main":"readme.js","author":{"name":"public-domain"},"license":"CC0-1.0","keywords":["ssb"],"gitHead":"9cb1d2883c7fa0667033d092203cc06445e096e3","bugs":{"url":"https://github.com/ssbc/ssb-caps/issues"},"homepage":"https://github.com/ssbc/ssb-caps#readme","_id":"ssb-caps@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"staltz","email":"andre+npm@staltz.com"},"dist":{"integrity":"sha512-jIGaUPWJdXcgavGV4X9FGDwbfyWs+uiCAOQMCsNPj8hUoV5xByfFRjTi1/RYkS1uYcxoV53BWZ9Ye/ApM1H3Cg==","shasum":"5a3eb85ba0d034a4511e6bf5e51a6dec09823c9d","tarball":"https://registry.npmjs.org/ssb-caps/-/ssb-caps-1.0.0.tgz","fileCount":3,"unpackedSize":8672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5CSLCRA9TVsSAnZWagAA/AcQAJqcT4lxj4X8Ur/qIWie\n6MTyOmqMDibwsXvmzGGuaKTbcONBqOgXxDdTjRzDJChKLR84FKov1YSGv4Us\nm1scVkeZ0+kXXqItEAskdtUphwEUQPm2wpDZTIMoQ7XdV4jBCVqyY1kW0wox\n3g5gV/Jt8+GlLyTvUc09Fsq9OFfe3IW8GYFJ0NXN/69Hwz1t3G+VBESfU/Cu\nw3iRiEm4d2HtRWGRLFlojsDU9mEIRvFwG4dISgF6qgbfZRRCZRdr/NTazXoX\nxIFKrnp+1Ubf3RMYN2rVV3xFOHhCeulePZBKdB2M61sWckec06B8HFQHfUae\njY6i0Y8vyQ68sOeuBVlfF2B9V7TwAQH8AlbxN2vWlvAZ7QMQS3iGiENJABHU\nrnnMIQvGgr4aPSudvFTXabebvSdxmhwdE8eIuIk/8vS0leQeDfDYxt0OXqtn\nKWl9NwiqJ8TAj04QUWfraBFOiieNZ6DVZv+ui06bs204iFZY4NkPumNy2S6C\nZzMsU/2UWJTCiu/w1vP/yjtINjzPRd4xM1V1aENeluFQlTJEM0mmUVyq9ZYm\nOH1uEXwpcm0UPCIv6lC/DfQT6W3oH8IDgCNEnjKj9gav5ASCyjWs1xqhFLMM\nEKEzzcUZCOUXD/41/Yw0xMPpSb2JC2yO6r3kZAvmjpUWLKZf/7fml96Z9rWV\n+qdy\r\n=t6o0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDU3nhwHrCQ+iOyevK+u1UzKAfv2B6wUljuV+SoyLf/IgIgc3MsfwEXIG2vTRToMXriVLG8Rb3myh1AKQvUaCzTKKQ="}]},"maintainers":[{"name":"staltz","email":"andre+npm@staltz.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssb-caps_1.0.0_1558455434924_0.8302364947501428"},"_hasShrinkwrap":false},"1.0.1":{"name":"ssb-caps","version":"1.0.1","description":"The Caps string for accessing the SSB protocol using secret handshake","repository":{"type":"git","url":"git+https://github.com/ssbc/ssb-caps.git"},"main":"caps.json","author":{"name":"public-domain"},"license":"CC0-1.0","keywords":["ssb"],"gitHead":"4216ed7b71cb64012b82a9b26972516fd21a6f58","bugs":{"url":"https://github.com/ssbc/ssb-caps/issues"},"homepage":"https://github.com/ssbc/ssb-caps#readme","_id":"ssb-caps@1.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"staltz","email":"andre+npm@staltz.com"},"dist":{"integrity":"sha512-ULJhokqDW4a9l7xXKPHwbhLQgRZmEjwdrrXMsPGoVYnvKb9sJuJ8ki9ilBZIs+NmYuAV+H1ffbB2Z4uioBtFYQ==","shasum":"878dd4ffa511b80c360d9a7a58b8b95e72c2656c","tarball":"https://registry.npmjs.org/ssb-caps/-/ssb-caps-1.0.1.tgz","fileCount":4,"unpackedSize":9047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5apmCRA9TVsSAnZWagAAvjYP/jQJkFOAsyjNQkr5H+XA\n227VX1Ds6Eq0cqjsdADF5pn+3YQCq/qcelVm8bL3DtMu404/3RfwwxiVyP/R\nKfevhJAcXISwedN3XZFDa3xMQxu6JNPUc13YIg4ukhQp6KlvVt0RZhM/V7Z7\nNoZr1YLEtq+TqBz3G8jmLZmBp6A4TPvovBWeYhXnboE6XLQ5AkiGaUxyEuEV\nnsU+/cyTClZJlfmMIa7ijT789tEzCD0b2TbloZv72BDSixCoYFicrhOZb/ie\nLoHzTu5asXI6GHCxDwk1Ra8XlseVNF0OFA8gGdfmFOdp7EgaEvFSX0ZBYD4t\nihLCrzr3h1aejDPXK/Hi/gjx0gJR+DG9uZ4v2HBhzKsPXqQFE2UHvYmgDuUq\n9KA9prQGqL0byRGj9qtB2S/Kyro7ceOAAaInw1nPVzDm2NRcdw0LunxKLto5\n2RIK7orlIBqw/6Fl74HhA9Caf4cdzY8rLazOv2XyWK1OZjrfZiTtbi0lR7ur\nRyqalMFfOlmNsK9XaA8yztLKvC7sU3p6g0ndP6ArSWUkftwOnUbGDiYESaIb\ntOCI8VeclnJ3AIC8QZBiZvuvpBk9NTi3t70KzhuQFkbGvqlylLAL22NKvDMP\niVoiQhs7VukpGrcTRTj2sYdkuuuNnVSkmpe7ge8zhmJerJDsOSRExb/Ea6UH\n49m7\r\n=qxWu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtdXz22B4yJqHEcMnnD0UUBPnS6mPPDU4njulfQTB0xwIgERUncW1UMMlvsv15y3Xdc+hDvOLnnQ8W1LDwD6QigFk="}]},"maintainers":[{"name":"staltz","email":"andre+npm@staltz.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssb-caps_1.0.1_1558555237868_0.8742009913506963"},"_hasShrinkwrap":false},"1.1.0":{"name":"ssb-caps","version":"1.1.0","description":"The Caps string for accessing the SSB protocol using secret handshake","repository":{"type":"git","url":"git+https://github.com/ssbc/ssb-caps.git"},"main":"caps.json","author":{"name":"public-domain"},"license":"CC0-1.0","keywords":["ssb"],"gitHead":"838581c6bc47fab88b241c74c537798857d38c11","bugs":{"url":"https://github.com/ssbc/ssb-caps/issues"},"homepage":"https://github.com/ssbc/ssb-caps#readme","_id":"ssb-caps@1.1.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"staltz","email":"andre+npm@staltz.com"},"dist":{"integrity":"sha512-qe3qpvchJ+gnH8M/ge4rpL+7eRbSmsEAzNwHkDdrW06OBcziQ6/KuAdmcR6joxCbNeoAXAZF+inkefgE16okXA==","shasum":"1cdce2971b13dea8ca595be9668fdf94b5955fb2","tarball":"https://registry.npmjs.org/ssb-caps/-/ssb-caps-1.1.0.tgz","fileCount":4,"unpackedSize":9572,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh272FCRA9TVsSAnZWagAAV8UP/05C0Cuou1Yka6RkhkXm\nuXjRMYUOGBRW1gBXiz/oY1mcIkYGeIONWO373EjaqkUb35s/A+TutZSAgKv0\nbSILKkChIy6jk0TxT9fjHHDUbuFz4bbn7V7gjlafPrr1uLakXueHeHY+hjHc\nhpK1Hb6FhLpWad0J6LpEpYQD4hPZc7wqQprMA3RjZG9N54eVUHR7tYIQZBtp\n9vG3zUQeAnqJN8L0zIarsn3RBgoJpL4MEO/qwBj6JRu++xkudQNPlHY5oZMQ\nVH4hkOI1i8a77dxQPzchYnw3OnnNTgFdmLZkgebR6312JT2d/UjBvJD1BbDN\narafmvAcs5PPhGo/8TdKZxnIDosyxBCClvz3kftocjN2Oz0PXLo5kvuBJAic\nizGHqzjMpDeAQqyHDNHFAHny/X342mkKHsDYKZ1C9NctpoPDHApE7wcbRypv\n6sMwwrlUBe2UgMKNxNKai1pwAb5eoT0pb8hiVVSMcJQV3HeLzSMPRNfZmaa2\nVJVxbueQ2cjdHKP08JDSdIUOCczzTvvFWbNX6KzKEcFDfj6M63DlvdhZiqvq\n2JZB5JDWkdRuxHAd0yTnTqU3IlwpnsSXmt4od1MlIRlRnqHIQ+pUyPtPcsFC\nBphvMeEU+5hm8ffV0RA4LAtKORS/S/xAxXkGqB1BzRc/iZI6YftcC0YfWJf6\nqI6X\r\n=nANn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHtRR/OzfXuFWh9r5/hQknFvmBmij+72S/w1BKiJGpSKAiBTEYLYlVxoSo9ZCY2DYpNB968DLksVv/J9QTiPgWvTjQ=="}]},"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-caps_1.1.0_1562795349072_0.25718841028259276"},"_hasShrinkwrap":false}},"time":{"created":"2019-05-21T16:17:14.924Z","1.0.0":"2019-05-21T16:17:15.146Z","modified":"2022-11-09T11:52:02.345Z","1.0.1":"2019-05-22T20:00:38.016Z","1.1.0":"2019-07-10T21:49:09.216Z"},"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":"christianbundy@fraction.io","name":"christianbundy"},{"email":"michael.williams@enspiral.com","name":"ahdinosaur"},{"email":"jan@lagomorph.de","name":"regular"},{"email":"pfrazee@gmail.com","name":"pfrazee"},{"email":"cryptix@riseup.net","name":"cryp7ix"},{"email":"gordonhughmartin@gmail.com","name":"happy0"},{"email":"cherese.eriepa@outlook.com","name":"chereseeriepa"}],"description":"The Caps string for accessing the SSB protocol using secret handshake","homepage":"https://github.com/ssbc/ssb-caps#readme","keywords":["ssb"],"repository":{"type":"git","url":"git+https://github.com/ssbc/ssb-caps.git"},"author":{"name":"public-domain"},"bugs":{"url":"https://github.com/ssbc/ssb-caps/issues"},"license":"CC0-1.0","readme":"# SSB Caps\n\nThis is the \"Caps\" key for accessing the SSB protocol. It will be updated\nwhenever breaking changes are made. See the secret-handshake paper for a full\nexplanation:\n\nhttp://dominictarr.github.io/secret-handshake-paper/shs.pdf\n\n## Installation\n\n```\nnpm install --save ssb-caps\n```\n\n## Usage\n\nFrom JavaScript:\n\n```js\nvar caps = require('ssb-caps')\n\nconsole.log(caps) // JSON object: {shs, sign}\nconsole.log(caps.shs) // this is a string to be interpreted as base64\nconsole.log(caps.sign) // this is so far null\n\nvar buf = Buffer.from(caps.shs, 'base64')\n```\n\nFrom other languages: download the `caps.json` file from this package and\nparse it using some JSON parser in your language.\n\n## Details\n\n\n### shs (secret-handshake connection key)\n\nThere is nothing special about the Caps SHS value, it was randomly generated in\nthe Node.js REPL with:\n\n    crypto.randomBytes(32).toString('base64')\n\nThis value is presented as a string to be interpreted in base64. To convert\nfrom this string to binary (in Node.js):\n\n    Buffer.from(require('ssb-caps').shs, 'base64')\n\nIf this library updates the Caps, we MUST issue a new major version.\n\n### sign (message validation key)\n\nthis is used to hmac messages before signing/verification.\nbecause originally, ssb does not use anything, this defaults to null.\n\n### invite (peer invites signing key)\n\npeer invites sign a message content using the private key which is given to\nthe guest. It is the hash of the string `\"peer-invites\"`\n\n    crypto.createHash('sha256').update('peer-invites', 'utf8').digest('base64')\n\n## Legal\n\n- Written in 2015 by 'Dominic Tarr' <dominic.tarr@gmail.com>\n- Contributor: Andre Medeiros <andre@staltz.com>\n\nTo the extent possible under law, the author(s) have dedicated all copyright\nand related and neighboring rights to this software to the public domain\nworldwide. This software is distributed without any warranty.\n\nYou should have received a copy of the CC0 Public Domain Dedication along\nwith this software. If not, see\n<http://creativecommons.org/publicdomain/zero/1.0/>.\n","readmeFilename":"readme.md"}