All Projects → xeals → Signal Back

xeals / Signal Back

Licence: apache-2.0
Decrypt Signal encrypted backups outside the app

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Signal Back

Rdedup
Data deduplication engine, supporting optional compression and public key encryption.
Stars: ✭ 690 (+47.44%)
Mutual labels:  backup, encryption
Backup
Easy full stack backup operations on UNIX-like systems.
Stars: ✭ 4,682 (+900.43%)
Mutual labels:  backup, encryption
Silence
PROJECT MOVED: https://git.silence.dev/Silence/Silence-Android/ (GitHub is just a mirror.)
Stars: ✭ 1,019 (+117.74%)
Mutual labels:  signal, encryption
paperback
Paper backup generator suitable for long-term storage.
Stars: ✭ 517 (+10.47%)
Mutual labels:  backup, encryption
Agent
The best way to backup and restore your database
Stars: ✭ 80 (-82.91%)
Mutual labels:  backup, encryption
Duplicati
Store securely encrypted backups in the cloud!
Stars: ✭ 6,915 (+1377.56%)
Mutual labels:  backup, encryption
Kopia
Cross-platform backup tool for Windows, macOS & Linux with fast, incremental backups, client-side end-to-end encryption, compression and data deduplication. CLI and GUI included.
Stars: ✭ 507 (+8.33%)
Mutual labels:  backup, encryption
Bash Snippets
A collection of small bash scripts for heavy terminal users
Stars: ✭ 8,558 (+1728.63%)
Mutual labels:  backup, encryption
Photos
[DEPRECATED] Encrypted, secure, decentralized personal data wallet -- technology behind textile.photos
Stars: ✭ 236 (-49.57%)
Mutual labels:  backup, encryption
Nfreezer
nFreezer is an encrypted-at-rest backup tool.
Stars: ✭ 259 (-44.66%)
Mutual labels:  backup, encryption
Docker Ipsec Vpn Server
Docker image to run an IPsec VPN server, with IPsec/L2TP, Cisco IPsec and IKEv2
Stars: ✭ 4,356 (+830.77%)
Mutual labels:  encryption
S2n Tls
s2n : an implementation of the TLS/SSL protocols
Stars: ✭ 4,029 (+760.9%)
Mutual labels:  encryption
Xorstr
heavily vectorized c++17 compile time string encryption.
Stars: ✭ 435 (-7.05%)
Mutual labels:  encryption
Bupstash
Easy and efficient encrypted backups.
Stars: ✭ 457 (-2.35%)
Mutual labels:  encryption
Telegram backup
Java app to download all your telegram data.
Stars: ✭ 409 (-12.61%)
Mutual labels:  backup
Scytale
One tool to manage key generation, key storing and encryption on different APIs of Android.
Stars: ✭ 432 (-7.69%)
Mutual labels:  encryption
Tutanota
Tutanota is an email service with a strong focus on security and privacy that lets you encrypt emails, contacts and calendar entries on all your devices.
Stars: ✭ 4,326 (+824.36%)
Mutual labels:  encryption
Wikiteam
Tools for downloading and preserving wikis. We archive wikis, from Wikipedia to tiniest wikis. As of 2020, WikiTeam has preserved more than 250,000 wikis.
Stars: ✭ 404 (-13.68%)
Mutual labels:  backup
Vbad
VBA Obfuscation Tools combined with an MS office document generator
Stars: ✭ 403 (-13.89%)
Mutual labels:  encryption
Wesher
wireguard overlay mesh network manager
Stars: ✭ 461 (-1.5%)
Mutual labels:  encryption

signal-back

Build status

In version 4.17.5, the Signal Android app introduced encrypted backups. While these are undoubtedly a security benefit over unencrypted backups, they do present an issue in being read into other systems or simply by their owner.

signal-back is intended to use the same decryption process as the Signal app uses when importing its backups, to make them readable without being used by the app.

Usage

Either build from source or download a pre-built binary and put the executable somewhere you can find it.

Usage: signal-back COMMAND [OPTION...] BACKUPFILE

  --help, -h                show help
  --log FILE, -l FILE       write logging output to FILE
  --password PASS, -p PASS  use PASS as password for backup file
  --pwdfile FILE, -P FILE   read password from FILE
  --version, -v             print the version

Commands:
  format   Read and format the backup file
  analyse  Information about the backup file
  extract  Retrieve attachments from the backup
  check    Verify that a backup is readable
  help     Shows a list of commands or help for one command

Current export formats are:

Password

The password you need to decrypt the content of the Signal backup file was shown to you by Signal when you enabled local backups similar to this screenshot. It consists of six groups of five digits.

You can enter the password in the interactive dialog such as 12345 12345 12345 12345 12345 12345 or you can write it in a text file and pass it to signal-back using -P password.txt.

Example usage

Download whichever binary suits your system from the releases page; Windows, Mac OS (darwin), or Linux, and 32-bit (386) or 64-bit (amd64). Checksums are provided to verify file integrity.

Find where you downloaded the file and open an interactive shell (Command Prompt, Terminal.app, gnome-terminal, etc.). Make sure your signal-XXX.backup file is in the same folder.

Decrypting

If you're on Windows:

signal-back_windows_amd64.exe format -f XML -o backup.xml signal-XXX.backup

If you're on MacOS or Linux (where e.g., OS is darwin and ARCH is amd64):

chmod +x signal-back_OS_ARCH
./signal-back_OS_ARCH format -f XML -o backup.xml signal-XXX.backup

Enter your 30-digit password at the prompt (with or without spaces, doesn't matter). Note that your password will not be echoed back to you for security purposes.

You can then copy backup.xml to your phone and restore it using SMS Backup & Restore.

Extracting media

You can pull out all your attachment files from the backup such as images, videos, and PDFs.

If you're on Windows:

signal-back_windows_amd64.exe extract -o output signal-XXX.backup

If you're on MacOS or Linux (where e.g., OS is darwin and ARCH is amd64):

chmod +x signal-back_OS_ARCH
./signal-back_OS_ARCH extract -o output signal-XXX.backup

Everything will be in the output folder where you ran the command. Note that some files may have a .unknown extension; this is because signal-back might not be able to determine what these files are. However, they should still be completely valid files of some sort.

Building from source

Building requires Go and dep. If you don't have one (or both) of these tools, instructions should be easy to find. After you've initialised everything:

$ git clone https://github.com/xeals/signal-back $GOPATH/src/github.com/xeals/signal-back
$ cd $GOPATH/src/github.com/xeals/signal-back
$ dep ensure
$ go build .

You can also just use go get github.com/xeals/signal-back, but I provide no guarantees on dependency compatibility.

Todo list

  • [ ] Code cleanup
    • [ ] make code legible for other people
  • [x] Actual command line-ness
  • [x] Formatting ideas and options
  • [ ] User-friendliness in errors and stuff

License

Licensed under the Apache License, Version 2.0 (LICENSE or http://www.apache.org/licenses/LICENSE-2.0).

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].