https://github.com/signalapp/libsignal-client Skip to content Sign up * Why GitHub? Features - + Code review + Project management + Integrations + Actions + Packages + Security + Team management + Hosting + Mobile + Customer stories - + Security - * Team * Enterprise * Explore + Explore GitHub - Learn & contribute + Topics + Collections + Trending + Learning Lab + Open source guides Connect with others + Events + Community forum + GitHub Education + GitHub Stars program * Marketplace * Pricing Plans - + Compare plans + Contact Sales + Nonprofit - + Education - [ ] [search-key] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this organization All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} signalapp / libsignal-client * Watch 15 * Star 225 * Fork 19 AGPL-3.0 License 225 stars 19 forks Star Watch * Code * Issues 13 * Pull requests 6 * Actions * Projects 0 * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Security * Insights master 8 branches 3 tags Go to file Code Clone HTTPS GitHub CLI [https://github.com/s] Use Git or checkout with SVN using the web URL. [gh repo clone signal] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching Xcode If nothing happens, download Xcode and try again. Go back Launching Visual Studio If nothing happens, download the GitHub extension for Visual Studio and try again. Go back Latest commit @jack-signal jack-signal Merge pull request #142 from signalapp/jack/fix-bench ... 6be6594 Jan 15, 2021 Merge pull request #142 from signalapp/jack/fix-bench Fix the session encrypt/decrypt benchmark code 6be6594 Git stats * 615 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github/workflows Build benchmarks Jan 15, 2021 bin Java: get local tests working on Mac as well Dec 9, 2020 java Move SignalMessage and PreKeySignalMessage to bridge_fn Jan 14, 2021 node Node: name native library as libsignal_client_PLATFORM.node Jan 14, 2021 rust cargo fmt Jan 15, 2021 swift Regenerate signal_ffi.h for functions moving around Jan 14, 2021 .clippy.toml Fix clippy warnings Jul 30, 2020 .dockerignore Move makefile and docker file into java subdir Nov 6, 2020 .flake8 Add flake8 for checking our Python scripts Nov 30, 2020 .gitignore node: Support for electron-rebuild Nov 11, 2020 .nvmrc Add a Yarn-based Node package for signal-client Nov 10, 2020 .prettierignore Add a Yarn-based Node package for signal-client Nov 10, 2020 .prettierrc.js Switch ESLint configuration to more closely match Signal-Desktop Nov 11, 2020 .rustfmt.license-template Switch to AGPL 3.0 Nov 2, 2020 .rustfmt.toml Switch to AGPL 3.0 Nov 2, 2020 Cargo.lock Speed up libsignal-bridge-macros by not parsing the function bodies Jan 14, 2021 Cargo.toml Rust: don't build any bridge/* crates by default Nov 12, 2020 LICENSE Switch to AGPL 3.0 Nov 2, 2020 README.md Link to Swift in the README Dec 4, 2020 SignalClient.podspec Swift: Generate signal_ffi.h offline, like Native.java Jan 4, 2021 binding.gyp Node: name native library as libsignal_client_PLATFORM.node Jan 14, 2021 package.json Node: add an alias `yarn build` for faster Rust turnaround Dec 21, 2020 rust-toolchain Pin nightly to a specific date Nov 9, 2020 yarn.lock Node: Switch to Neon's napi-runtime and JsBox Dec 4, 2020 View code README.md Overview libsignal-client is an implementation of the Signal client protocol in Rust. Work in progress. Subject to change without notice, use outside Signal not yet recommended. Building To build anything in this repository you must have Rust installed. The build currently uses a specific version of the Rust nightly compiler, which will be downloaded automatically by cargo. To build and test the basic protocol libraries: $ cargo build ... $ cargo test ... Java/Android To build for Android you must install several additional packages including a JDK, the Android NDK/SDK, and add the Android targets to the Rust compiler, using rustup target add armv7-linux-androideabi aarch64-linux-android i686-linux-android x86_64-linux-android To build the Java/Android jar and aar, and run the tests: $ cd java $ ./gradlew test Alternately, a build system using Docker is available: $ cd java $ make java_test Swift To learn about the Swift build process see swift/README.md Contributions Signal does accept external contributions to this project. However unless the change is simple and easily understood, for example fixing a bug or portability issue, adding a new test, or improving performance, first open an issue to discuss your intended change as not all changes can be accepted. Signing a CLA (Contributor License Agreement) is required for all contributions. Legal things Cryptography Notice This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information. The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code. License Copyright 2020 Signal Messenger, LLC Licensed under the AGPLv3: https://www.gnu.org/licenses/agpl-3.0.html About No description, website, or topics provided. Resources Readme License AGPL-3.0 License Releases 3 tags Packages 0 No packages published Used by 2 * @matrix-hacks @matrix-hacks / matrix-puppet-signal * @erkyrath @erkyrath / zarf-signal-cli Contributors 7 * @jack-signal * @jrose-signal * @ehrenkret-signal * @jimio-signal * @flipsasser * @AsamK * @qhhonx Languages * Rust 51.0% * Java 29.6% * Swift 12.4% * C 4.3% * Shell 0.7% * Python 0.5% * Other 1.5% * (c) 2021 GitHub, Inc. * Terms * Privacy * Security * Status * Help * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.