{"_id":"@alannxd/libsignal-node","_rev":"5-65c10bb01db6687edae01f51a96a2f66","name":"@alannxd/libsignal-node","dist-tags":{"latest":"2.5.1"},"versions":{"2.0.1":{"name":"@alannxd/libsignal-node","version":"2.0.1","keywords":["signal","whispersystems","crypto"],"license":"GPL-3.0","_id":"@alannxd/libsignal-node@2.0.1","maintainers":[{"name":"alannxd","email":"axcyylstore50@gmail.com"}],"homepage":"https://github.com/alannxd/libsignal-node#readme","bugs":{"url":"https://github.com/alannxd/libsignal-node/issues"},"dist":{"shasum":"9ffb275c9e07191bbc4082825e63d7bc140cf3a8","tarball":"https://registry.npmjs.org/@alannxd/libsignal-node/-/libsignal-node-2.0.1.tgz","fileCount":19,"integrity":"sha512-alMeSInom/gzqo4rmDEIbu+V4ILxzqP4/64YJfxuiByQ9OB1OH+BFvTKbP9y7sJVGTsYq5mkD4lwteNcwQ5aoQ==","signatures":[{"sig":"MEQCIANCFCpzyCPbZ0gpICqtVDeSaoGexlmXXqPO1A8+N2/wAiBMtBku7FYdSasY0Wk7WHIl1kOmF/ouyhUSyaPVSdVOWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127479},"main":"index.js","_npmUser":{"name":"alannxd","email":"axcyylstore50@gmail.com"},"repository":{"url":"git+https://github.com/alannxd/libsignal-node.git","type":"git"},"_npmVersion":"11.4.2","description":"Open Whisper Systems' libsignal for Node.js","directories":{},"_nodeVersion":"24.4.1","dependencies":{"protobufjs":"6.8.8","curve25519-js":"^0.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libsignal-node_2.0.1_1754976033887_0.9875163081420277","host":"s3://npm-registry-packages-npm-production"}},"2.3.5":{"name":"@alannxd/libsignal-node","version":"2.3.5","keywords":["signal","whispersystems","crypto"],"license":"GPL-3.0","_id":"@alannxd/libsignal-node@2.3.5","maintainers":[{"name":"alannxd","email":"axcyylstore50@gmail.com"}],"homepage":"https://github.com/shennmine/libsignal-node#readme","bugs":{"url":"https://github.com/shennmine/libsignal-node/issues"},"dist":{"shasum":"b477ce96d48c26ee672df09ecbe457f2d215482c","tarball":"https://registry.npmjs.org/@alannxd/libsignal-node/-/libsignal-node-2.3.5.tgz","fileCount":20,"integrity":"sha512-nPbXZ3Rrp6Jwg20N17P7VEz2F7RVIqjQGwJdtyIkfSjUEhbmfsdmGONuyJ3rQrvhns1Y2MH4io+JYKikv2V0Cg==","signatures":[{"sig":"MEYCIQDdzHDLihUQhiclX7gLyRD+hXiEBdYWRaaHOvZ8BCqqRwIhAKCXyUkywLift9F6vwOby/B1cu7C6KGH3/ly+X41vQ6g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144998},"main":"index.js","_npmUser":{"name":"alannxd","email":"axcyylstore50@gmail.com"},"repository":{"url":"git+https://github.com/shennmine/libsignal-node.git","type":"git"},"_npmVersion":"10.8.2","description":"Open Whisper Systems' libsignal for Node.js","directories":{},"_nodeVersion":"20.19.6","dependencies":{"fs":"^0.0.1-security","path":"^0.12.7","crypto":"^1.0.1","protobufjs":"6.8.8","curve25519-js":"^0.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libsignal-node_2.3.5_1768999353138_0.78736485714222","host":"s3://npm-registry-packages-npm-production"}},"2.3.8":{"name":"@alannxd/libsignal-node","version":"2.3.8","keywords":["signal","whispersystems","crypto"],"license":"GPL-3.0","_id":"@alannxd/libsignal-node@2.3.8","maintainers":[{"name":"alannxd","email":"axcyylstore50@gmail.com"}],"homepage":"https://github.com/alannxd/libsignal-node#readme","bugs":{"url":"https://github.com/alannxd/libsignal-node/issues"},"dist":{"shasum":"03c22f35cd9884f4d0279951d291c3e866680fb2","tarball":"https://registry.npmjs.org/@alannxd/libsignal-node/-/libsignal-node-2.3.8.tgz","fileCount":20,"integrity":"sha512-bqhwUAdh2FTzLMAd5DpIUb6Y4qBXM8EAXEOE7ijVtD03nbLGo685UrTuge6JhQqbdqd4hvsvp8A5YFFhGEBPbw==","signatures":[{"sig":"MEYCIQCBAeMn99njjGs7NBlM5lrkxluuSFmHdZgXZjhA17xKgAIhANHjinCAGguEA+Xiwx4FX+Kt8sCeieJPp8pSwh5zMyXr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144995},"main":"index.js","_npmUser":{"name":"alannxd","email":"axcyylstore50@gmail.com"},"repository":{"url":"git+https://github.com/alannxd/libsignal-node.git","type":"git"},"_npmVersion":"10.8.2","description":"Open Whisper Systems' libsignal for Node.js","directories":{},"_nodeVersion":"20.19.6","dependencies":{"fs":"^0.0.1-security","path":"^0.12.7","crypto":"^1.0.1","protobufjs":"6.8.8","curve25519-js":"^0.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libsignal-node_2.3.8_1773217715906_0.6130029212938959","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@alannxd/libsignal-node","version":"2.5.0","keywords":["signal","whispersystems","crypto"],"license":"GPL-3.0","_id":"@alannxd/libsignal-node@2.5.0","maintainers":[{"name":"alannxd","email":"axcyylstore50@gmail.com"}],"homepage":"https://github.com/alannxd/libsignal-node#readme","bugs":{"url":"https://github.com/alannxd/libsignal-node/issues"},"dist":{"shasum":"568b95d8551430924aabed36fc96cc66a3997414","tarball":"https://registry.npmjs.org/@alannxd/libsignal-node/-/libsignal-node-2.5.0.tgz","fileCount":21,"integrity":"sha512-HkY/w6N0DzpznH5E2rFfYl4HlwoZ1TR40Sk6oOjkazgFVyf/OZIO/yP6uVbbwDh2TZBVrYikY/2o782HsUuxjA==","signatures":[{"sig":"MEQCIHDNrbyfC/fibS2KZ4j+DXF2hdibkJ9CX4AX7/w4gFX3AiALe38axyNwslCSHKdrrNjYX2FJySdVqfTVVPLyrQIQUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145560},"main":"index.js","_npmUser":{"name":"alannxd","email":"axcyylstore50@gmail.com"},"repository":{"url":"git+https://github.com/alannxd/libsignal-node.git","type":"git"},"_npmVersion":"10.8.2","description":"Open Whisper Systems' libsignal for Node.js","directories":{},"_nodeVersion":"20.19.6","dependencies":{"fs":"^0.0.1-security","path":"^0.12.7","crypto":"^1.0.1","protobufjs":"6.8.8","curve25519-js":"^0.0.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libsignal-node_2.5.0_1780504238502_0.7876315577261952","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"@alannxd/libsignal-node","version":"2.5.1","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":"@alannxd/libsignal-node@2.5.1","_nodeVersion":"20.19.6","_npmVersion":"10.8.2","dist":{"integrity":"sha512-ZHeR5IUSmlJTf+RBDUqTFg5DgUBaLvoFipoyS/ncTv5UQZj+O5yMU3nEPtiV4Lp2oNz3xk0djV2NKK2A+OHKDA==","shasum":"9d4989b0f0829dc80601aed9a16b01089ba9183d","tarball":"https://registry.npmjs.org/@alannxd/libsignal-node/-/libsignal-node-2.5.1.tgz","fileCount":20,"unpackedSize":128245,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD8a3+4ZGsBTP0gC06erUmKBFzs9d+bxg1J48jVxSnYiAIgKsSSBAseootJC7MOU15iDTI7rV2MC+uDTu2KWyo3O6Y="}]},"_npmUser":{"name":"alannxd","email":"axcyylstore50@gmail.com"},"directories":{},"maintainers":[{"name":"alannxd","email":"axcyylstore50@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/libsignal-node_2.5.1_1783350065860_0.23942878646198817"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-12T05:20:33.801Z","modified":"2026-07-06T15:01:06.102Z","2.0.1":"2025-08-12T05:20:34.060Z","2.3.5":"2026-01-21T12:42:33.279Z","2.3.8":"2026-03-11T08:28:36.055Z","2.5.0":"2026-06-03T16:30:38.654Z","2.5.1":"2026-07-06T15:01:05.990Z"},"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":"alannxd","email":"axcyylstore50@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"}