Skip to content

A fast N-API-based Node.js addon wrapping sqlcipher and FTS5 segmenting APIs.

License

Notifications You must be signed in to change notification settings

tutao/node-sqlcipher

 
 

Repository files navigation

@signalapp/sqlcipher

npm

A fast N-API-based Node.js addon wrapping sqlcipher and Signal-specific FTS5 segmenting APIs.

Usage

import Database from '@signalapp/sqlcipher';

const db = new Database('/path/to/db');

db.exec(`
  CREATE TABLE t (
    a INTEGER,
    b TEXT,
    c BLOB
  );
`);

const insert = db.prepare('INSERT INTO t (a, b, c) VALUES ($a, $b, $c)');
insert.run({ a: 1, b: 'hello', c: Buffer.from('world') });
insert.run({ a: 2, b: 'world', c: Buffer.from('hello') });

console.log(db.prepare('SELECT * FROM t').all());

Updating sqlcipher

On macOS:

cd deps/sqlcipher
export OPENSSL_PREFIX=`brew --prefix openssl`
export CFLAGS="-I $OPENSSL_PREFIX/include"
export LIBRARY_PATH="$LIBRARY_PATH:$OPENSSL_PREFIX/lib"
./update.sh v4.7.0
cd -

License

Copyright 2025 Signal Messenger, LLC.

Licensed under the AGPLv3: http://www.gnu.org/licenses/agpl-3.0.html

About

A fast N-API-based Node.js addon wrapping sqlcipher and FTS5 segmenting APIs.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 46.7%
  • C++ 40.1%
  • JavaScript 6.4%
  • Dockerfile 3.9%
  • Shell 2.0%
  • Python 0.9%