Watch
1
0
Fork
You've already forked mautrix-signal
0
mirror of https://github.com/mautrix/signal.git synced 2026-11-09 07:39:20 -05:00
mautrix-signal/pkg/libsignalgo
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-02 21:59:48 +02:00
..
libsignal@904c8dc821 libsignal: update to v0.106.1 2026-11-02 21:59:48 +02:00
resources copy over everything from libsignalgo 2023-03-22 10:32:13 -06:00
signalversion libsignal: update to v0.106.1 2026-11-02 21:59:48 +02:00
accountentropy.go libsignal: update to v0.100.0 2026-08-07 15:04:29 +03:00
address.go libsignal: update to v0.97.2 2026-07-13 15:44:31 +03:00
address_test.go Drop their_device_id column in signalmeow_identity_keys table 2024-03-21 16:24:03 +02:00
aes256gcmsiv.go libsignalgo: fix some keepalives and other ffi uses 2026-09-14 13:11:47 +03:00
aes256gcmsiv_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
authcredential.go signalmeow: add support for phonenumberless accounts 2026-10-08 16:54:29 +03:00
backupkey.go libsignalgo: remove gcc const pointer hack by using typedefs from libsignal headers 2026-10-17 13:53:01 +03:00
buffer.go libsignalgo: fix some keepalives and other ffi uses 2026-09-14 13:11:47 +03:00
cflags.go libsignalgo: move version constant to separate package 2026-08-28 12:55:53 +03:00
ciphertextmessage.go libsignalgo: fix some keepalives and other ffi uses 2026-09-14 13:11:47 +03:00
conversions.go libsignalgo/conversions: use unsafe.Pointer for go -> c string too 2026-08-07 15:15:39 +03:00
decryptionerrormessage.go signalmeow: add support for retry receipts 2025-12-09 00:16:45 +02:00
devicetransfer.go libsignal: update to v0.97.2 2026-07-13 15:44:31 +03:00
devicetransfer_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
error.go libsignal: update to v0.94.4 2026-06-05 00:22:40 +03:00
fingerprint.go libsignalgo: fix some keepalives and other ffi uses 2026-09-14 13:11:47 +03:00
fingerprint_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
fixedarray.go libsignalgo: remove gcc const pointer hack by using typedefs from libsignal headers 2026-10-17 13:53:01 +03:00
groupcipher.go libsignal: update to v0.86.12 2026-01-16 15:01:48 +02:00
groupcipher_test.go Drop their_device_id column in signalmeow_identity_keys table 2024-03-21 16:24:03 +02:00
groupsecretparams.go libsignalgo: remove gcc const pointer hack by using typedefs from libsignal headers 2026-10-17 13:53:01 +03:00
groupsendendorsement.go libsignalgo: fix some keepalives and other ffi uses 2026-09-14 13:11:47 +03:00
hsmenclave.go libsignalgo: remove duplicate cflags 2025-01-17 20:05:42 +02:00
hsmenclave_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
identitykey.go signalmeow/store: dispatch events for identity changes 2026-10-12 14:53:08 +03:00
identitykey_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
identitykeystore.go libsignalgo: free records and addresses owned by store callbacks (#682) 2026-10-19 17:51:23 +03:00
inmemorystore_test.go Drop their_device_id column in signalmeow_identity_keys table 2024-03-21 16:24:03 +02:00
kdf.go libsignalgo: remove duplicate cflags 2025-01-17 20:05:42 +02:00
kdf_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
kyberprekey.go libsignalgo: remove duplicate cflags 2025-01-17 20:05:42 +02:00
kyberprekeystore.go libsignalgo: free records and addresses owned by store callbacks (#682) 2026-10-19 17:51:23 +03:00
libsignal-ffi.h libsignal: update to v0.106.1 2026-11-02 21:59:48 +02:00
logging.go libsignalgo: fix some keepalives and other ffi uses 2026-09-14 13:11:47 +03:00
message.go libsignalgo: fix time precision in some calls 2026-10-10 13:15:27 +03:00
messagebackupkey.go libsignalgo: fix some keepalives and other ffi uses 2026-09-14 13:11:47 +03:00
nocopy.go Don't allow copying structs with finalizers 2024-01-03 00:16:19 +02:00
plaintextcontent.go libsignalgo: remove duplicate cflags 2025-01-17 20:05:42 +02:00
prekey.go libsignalgo: fix some keepalives and other ffi uses 2026-09-14 13:11:47 +03:00
prekeybundle.go signalmeow/store: dispatch events for identity changes 2026-10-12 14:53:08 +03:00
prekeymessage.go libsignalgo: remove duplicate cflags 2025-01-17 20:05:42 +02:00
prekeystore.go libsignalgo: free records and addresses owned by store callbacks (#682) 2026-10-19 17:51:23 +03:00
privatekey.go libsignalgo: remove duplicate cflags 2025-01-17 20:05:42 +02:00
privatekey_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
profilekey.go libsignalgo: remove gcc const pointer hack by using typedefs from libsignal headers 2026-10-17 13:53:01 +03:00
publickey.go libsignal: update to v0.87.1 2026-02-09 13:54:02 +02:00
README.md Update readme and other things 2023-12-18 02:05:18 +02:00
sealedsender.go signalmeow: remove dependency on sealed sender proto 2026-09-04 22:53:07 +03:00
sendercertificate.go signalmeow/receiving: validate sender certificates properly 2026-10-12 13:39:29 +03:00
sendercertificate_test.go Small consistency fixes 2023-12-22 14:56:31 +02:00
senderkeydistributionmessage.go libsignalgo: fix some keepalives and other ffi uses 2026-09-14 13:11:47 +03:00
senderkeyrecord.go libsignalgo: remove duplicate cflags 2025-01-17 20:05:42 +02:00
senderkeystore.go libsignalgo: free records and addresses owned by store callbacks (#682) 2026-10-19 17:51:23 +03:00
serializedeserializeroundtrip_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
servercertificate.go libsignalgo: remove duplicate cflags 2025-01-17 20:05:42 +02:00
serverpublicparams.go libsignal: update to v0.100.0 2026-08-07 15:04:29 +03:00
serviceid.go libsignalgo: remove gcc const pointer hack by using typedefs from libsignal headers 2026-10-17 13:53:01 +03:00
session_test.go signalmeow/store: dispatch events for identity changes 2026-10-12 14:53:08 +03:00
sessionrecord.go libsignalgo: fix time precision in some calls 2026-10-10 13:15:27 +03:00
sessionstore.go libsignalgo: free records and addresses owned by store callbacks (#682) 2026-10-19 17:51:23 +03:00
setup_test.go libsignal: update to v0.92.1 2026-04-13 16:49:08 +03:00
sgxclient.go libsignalgo: remove duplicate cflags 2025-01-17 20:05:42 +02:00
signedprekey.go libsignalgo: remove duplicate cflags 2025-01-17 20:05:42 +02:00
signedprekeystore.go libsignalgo: free records and addresses owned by store callbacks (#682) 2026-10-19 17:51:23 +03:00
storeutil.go libsignalgo: remove duplicate cflags 2025-01-17 20:05:42 +02:00
update-ffi-docker-inner.sh libsignal: update to v0.101.2 2026-08-28 13:02:03 +03:00
update-ffi-docker.sh libsignal: update to v0.106.1 2026-11-02 21:59:48 +02:00
update-ffi-version.sh libsignal: update to v0.106.1 2026-11-02 21:59:48 +02:00
update-ffi.sh libsignal: update to v0.106.1 2026-11-02 21:59:48 +02:00
username.go startchat,signalmeow,libsignalgo: add support for looking up usernames 2026-10-08 17:33:31 +03:00
version.go libsignal: update to v0.106.1 2026-11-02 21:59:48 +02:00

libsignalgo

Go bindings for libsignal.

Installation

  1. Install Rust. You may also need to install libclang-dev and cbindgen manually.
  2. Clone libsignal somewhere.
  3. Run ./update-ffi.sh <path to libsignal> (this builds the library, regenerates the header, and copies them both here)
  4. Copy libsignal_ffi.a to /usr/lib/.
    • Alternatively, set LIBRARY_PATH to the directory containing libsignal_ffi.a. Something like this: LIBRARY_PATH="$LIBRARY_PATH:./pkg/libsignalgo" ./build.sh
  5. Use like a normal Go library.

Precompiled

You can find precompiled libsignal_ffi.a's on mau.dev/tulir/gomuks-build-docker. Direct links: