{"_id":"@otaxayun/libsignal-node","_rev":"3-69fa90dd08203c527c5b132cc48fe429","name":"@otaxayun/libsignal-node","dist-tags":{"latest":"2.0.3"},"versions":{"2.0.1":{"name":"@otaxayun/libsignal-node","version":"2.0.1","keywords":["signal","whispersystems","crypto"],"license":"GPL-3.0","_id":"@otaxayun/libsignal-node@2.0.1","maintainers":[{"name":"otaxayun","email":"otaxxx17@gmail.com"}],"homepage":"https://github.com/otaxayun/libsignal-node#readme","bugs":{"url":"https://github.com/otaxayun/libsignal-node/issues"},"dist":{"shasum":"37a4d559c8978e779ceef3c72e4f92dd18079c35","tarball":"https://registry.npmjs.org/@otaxayun/libsignal-node/-/libsignal-node-2.0.1.tgz","fileCount":19,"integrity":"sha512-0/f/8lM+yFqpWtGRAIQBTbj4B6hGkWbC1O9u/dJG8Z4Xpu4/weY+chEw6pAaO80Ot58TClzBhefmMGe/k0jG2w==","signatures":[{"sig":"MEUCIA4tqBAbSfafoc8cfwqDhM1NdsLN751SkTYVcC0dWcxtAiEA3c0n/bW2JD3UxfqVlNBBi4karX2aiuCgsqb2JKRjIIo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127661},"main":"index.js","_npmUser":{"name":"otaxayun","email":"otaxxx17@gmail.com"},"repository":{"url":"git+https://github.com/otaxayun/libsignal-node.git","type":"git"},"_npmVersion":"11.6.1","description":"Open Whisper Systems' libsignal for Node.js","directories":{},"_nodeVersion":"24.9.0","dependencies":{"protobufjs":"6.8.8","curve25519-js":"^0.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libsignal-node_2.0.1_1759771538036_0.8853242859359285","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@otaxayun/libsignal-node","version":"2.0.2","keywords":["signal","whispersystems","crypto"],"license":"GPL-3.0","_id":"@otaxayun/libsignal-node@2.0.2","maintainers":[{"name":"otaxayun","email":"otaxxx17@gmail.com"}],"dist":{"shasum":"a47ed2892bbc9ab88e88d20c447fffa4355fb1ab","tarball":"https://registry.npmjs.org/@otaxayun/libsignal-node/-/libsignal-node-2.0.2.tgz","fileCount":22,"integrity":"sha512-MfbY/SgzfnkBWNNbSPVKlBMtPqjtAHGQiwkGF6eA3hNCfglwz6dkQ/K4BBevQ0XJ/1h95WACOxPyindRlCypCA==","signatures":[{"sig":"MEYCIQDKBJ/m+JbFrcccTWovtw2vUNCjINXGNDo7svPVYnCSBgIhAOcRFa58q4X31Ma76bOEJy5Sr5RPmLa7ldzFYlz9tZVg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129813},"main":"index.js","types":"index.d.ts","_npmUser":{"name":"otaxayun","email":"otaxxx17@gmail.com"},"repository":{"url":"@otaxayun/libsignal-node","type":"git"},"_npmVersion":"11.6.1","description":"Open Whisper Systems' libsignal for Node.js","directories":{},"_nodeVersion":"24.9.0","dependencies":{"protobufjs":"6.8.8","curve25519-js":"^0.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libsignal-node_2.0.2_1760229545286_0.517796261694925","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@otaxayun/libsignal-node","version":"2.0.3","description":"Open Whisper Systems' libsignal for Node.js","repository":{"type":"git","url":"@otaxayun/libsignal-node"},"main":"index.js","keywords":["signal","whispersystems","crypto"],"license":"GPL-3.0","dependencies":{"curve25519-js":"^0.0.4","protobufjs":"6.8.8"},"devDependencies":{"eslint":"6.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"@otaxayun/libsignal-node@2.0.3","_nodeVersion":"24.10.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-GiaY9Q7P0Jo7PwJETtKDdHDaI7iL4hhVYv2qX8AFECo94pZjLQ+1Y8L8iO4cXF57p0TjpglwMNRyyvXhYgvccw==","shasum":"7cefd969fe849e665a32039be4d3224fd082c4a2","tarball":"https://registry.npmjs.org/@otaxayun/libsignal-node/-/libsignal-node-2.0.3.tgz","fileCount":19,"unpackedSize":127662,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAG15ZnN5ZXz02xEBSNzOJOAri01MdujouiQMFVOExyzAiEA9bEFc3lXpOwtK7kyhLKq5ON6AP4frzk95Hkheie6AHg="}]},"_npmUser":{"name":"otaxayun","email":"otaxxx17@gmail.com"},"directories":{},"maintainers":[{"name":"otaxayun","email":"otaxxx17@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/libsignal-node_2.0.3_1760780836663_0.31480701625827456"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-06T17:25:37.957Z","modified":"2025-10-18T09:47:17.100Z","2.0.1":"2025-10-06T17:25:38.297Z","2.0.2":"2025-10-12T00:39:05.457Z","2.0.3":"2025-10-18T09:47:16.890Z"},"license":"GPL-3.0","keywords":["signal","whispersystems","crypto"],"repository":{"type":"git","url":"@otaxayun/libsignal-node"},"description":"Open Whisper Systems' libsignal for Node.js","maintainers":[{"name":"otaxayun","email":"otaxxx17@gmail.com"}],"readme":"libsignal-node\n========\nSignal protocol implementation for Node.js based on\n[libsignal-protocol-javascript](https://github.com/WhisperSystems/libsignal-protocol-javascript).\n\n[![npm](https://img.shields.io/npm/v/libsignal.svg)](https://www.npmjs.com/package/libsignal)\n[![npm](https://img.shields.io/npm/l/libsignal.svg)](https://github.com/ForstaLabs/libsignal-node)\n\n\nOverview\n--------\nA ratcheting forward secrecy protocol that works in synchronous and\nasynchronous messaging environments.\n\n\nPreKeys\n--------\nThis protocol uses a concept called 'PreKeys'. A PreKey is an ECPublicKey and\nan associated unique ID which are stored together by a server. PreKeys can also\nbe signed.\n\nAt install time, clients generate a single signed PreKey, as well as a large\nlist of unsigned PreKeys, and transmit all of them to the server.\n\n\nSessions\n--------\nSignal Protocol is session-oriented. Clients establish a \"session,\" which is\nthen used for all subsequent encrypt/decrypt operations. There is no need to\never tear down a session once one has been established.\n\nSessions are established in one of two ways:\n\n1. PreKeyBundles. A client that wishes to send a message to a recipient can\n   establish a session by retrieving a PreKeyBundle for that recipient from the\n   server.\n2. PreKeySignalMessages. A client can receive a PreKeySignalMessage from a\n   recipient and use it to establish a session.\n\n\nState\n--------\nAn established session encapsulates a lot of state between two clients. That\nstate is maintained in durable records which need to be kept for the life of\nthe session.\n\nState is kept in the following places:\n\n* Identity State. Clients will need to maintain the state of their own identity\n  key pair, as well as identity keys received from other clients.\n* PreKey State. Clients will need to maintain the state of their generated\n  PreKeys.\n* Signed PreKey States. Clients will need to maintain the state of their signed\n  PreKeys.\n* Session State. Clients will need to maintain the state of the sessions they\n  have established.\n\n\nLicense\n--------\nLicensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html\n\n* Copyright 2015-2016 Open Whisper Systems\n* Copyright 2017-2018 Forsta Inc\n","readmeFilename":"README.md"}