1
0
Fork 0
mirror of https://github.com/mautrix/signal.git synced 2026-05-14 21:26:54 -04:00
mautrix-signal/pkg/libsignalgo
2024-01-04 02:21:46 +02:00
..
libsignal@126f87b73c Update bridge to use libsignal v0.36.1 and latest protobufs 2023-12-10 21:39:43 -05:00
resources copy over everything from libsignalgo 2023-03-22 10:32:13 -06:00
address.go Use uuid type everywhere in signalmeow 2024-01-03 23:14:54 +02:00
address_test.go Use uuid type everywhere in signalmeow 2024-01-03 23:14:54 +02:00
aes256gcmsiv.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
aes256gcmsiv_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
authcredential.go Add -lm to ldflags 2024-01-03 00:16:19 +02:00
buffer.go Add -lm to ldflags 2024-01-03 00:16:19 +02:00
ciphertextmessage.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
conversions.go Add -lm to ldflags 2024-01-03 00:16:19 +02:00
decryptionerrormessage.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
devicetransfer.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
devicetransfer_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
error.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
fingerprint.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
fingerprint_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
groupcipher.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
groupcipher_test.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
groupsecretparams.go Use uuid type everywhere in signalmeow 2024-01-03 23:14:54 +02:00
hsmenclave.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
hsmenclave_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
identitykey.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
identitykey_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
identitykeystore.go Use uintptrs for store contexts 2024-01-04 02:21:46 +02:00
inmemorystore_test.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
kdf.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
kdf_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
kyberprekey.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
kyberprekeystore.go Use uintptrs for store contexts 2024-01-04 02:21:46 +02:00
libsignal-ffi.h Use uintptrs for store contexts 2024-01-04 02:21:46 +02:00
logging.go Add -lm to ldflags 2024-01-03 00:16:19 +02:00
message.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
nocopy.go Don't allow copying structs with finalizers 2024-01-03 00:16:19 +02:00
plaintextcontent.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
prekey.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
prekeybundle.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
prekeymessage.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
prekeystore.go Use uintptrs for store contexts 2024-01-04 02:21:46 +02:00
privatekey.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
privatekey_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
profilekey.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
protocol.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
publickey.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
README.md Update readme and other things 2023-12-18 02:05:18 +02:00
sealedsender.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
sendercertificate.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
sendercertificate_test.go Small consistency fixes 2023-12-22 14:56:31 +02:00
senderkeydistributionmessage.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
senderkeyrecord.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
senderkeystore.go Use uintptrs for store contexts 2024-01-04 02:21:46 +02:00
serializedeserializeroundtrip_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
servercertificate.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
serviceid.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
serviceid_clang.go Add -lm to ldflags 2024-01-03 00:16:19 +02:00
serviceid_gcc.go Add -lm to ldflags 2024-01-03 00:16:19 +02:00
session_test.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
sessionrecord.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
sessionstore.go Use uintptrs for store contexts 2024-01-04 02:21:46 +02:00
setup_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
signedprekey.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
signedprekeystore.go Use uintptrs for store contexts 2024-01-04 02:21:46 +02:00
storeutil.go Use uintptrs for store contexts 2024-01-04 02:21:46 +02:00
update-ffi.sh Use uintptrs for store contexts 2024-01-04 02:21:46 +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: