
Show HN: Node.js port of WhisperSystem's libsignal - tooker
https://github.com/ForstaLabs/libsignal-node
======
TheAceOfHearts
One of the nice things about JS versions of stuff is being able to run it
everywhere. With that being said, I'd be skeptical of using this since it
doesn't appear to have any tests at all. How do we know it's actually
compatible with libsignal?

~~~
egeozcan
This has a native part written in c and only runs on node.js v8 and up,
according to the package.json.

~~~
qznc
So it is "bindings", but not a "port"?

------
micaksica
How much is this based on the libsignal-protocol-JavaScript code? Where does
it differ from it? Where are the tests to test protocol steps?

I actually love seeing things like this, but it’d be nice if there was some
more documentation on the project. Crypto libraries generally aren’t the kind
of thing you want to pick up when they’re new unless they are both heavily
audited and developed by those with backgrounds in crypto work.

~~~
tooker
It's ported directly from the javascript lib so most of the interfaces are
exactly the same (async differences in some cases and a couple storage
interface differences, see: <[https://github.com/ForstaLabs/libsignal-
node/issues/1>](https://github.com/ForstaLabs/libsignal-node/issues/1>)). The
commit history is intact as well. Haven't had enough time to port tests but
she works.. We use it for various bots in our signal based message platform.

------
sandGorgon
What disturbs me about this port is that they did not use Typescript. I would
have expected that they would use a strongly typesafe language in the ideal
case.

~~~
partycoder
Many checks still need to be done in runtime. Bindings to C code can cause the
program to exit if you pass incorrect input.

