Baltram/seednaut
Inspect, verify and extract files from Seedvault backups. - Baltram/seednaut
19 stars · 0 forks · 0 watchers
README
Seednaut Inspect, verify and extract files from Seedvault backups.
Quick Start • CLI Examples • Development notes
Various Android distributions like CalyxOS, GrapheneOS, iodéOS, LineageOS and /e/OS integrate Seedvault as their main backup mechanism. There are currently no official tools for inspecting such backups off-device. To help fill that gap: Seednaut is a desktop command-line and terminal UI utility that lets you
Verify that backups are intact Explore backup contents before relying on them Recover specific files without a full device restore Unpack app backup data (.tar, .db) into accessible formats
It runs purely offline and supports current Seedvault backup formats (v2 app backup and v0 file backup formats). For older backups you can try some of the other 3rd party tools.
Quick start Prerequisites: Seedvault backups are usually stored in a directory named .SeedVaultAndroidBackup. Depending on your backup configuration you can copy it
from a phone from a USB drive from Nextcloud/WebDAV storage
Note: some file managers hide directories beginning with . by default. You will also need the 12-word mnemonic phrase that was used to create the backup. 1. Get Seednaut Choose one of the following methods: A) pkgsrc (NetBSD, SmartOS, Linux, etc.) If you use pkgin: pkgin install seednaut Or via pkg_add: pkg_add seednaut Build from source using pkgsrc: cd /usr/pkgsrc/sysutils/seednaut # Adjust pkgsrc path as needed make install B) Install from crates.io (Rust >=1.88) cargo install seednaut C) Build from source (Rust >=1.88) git clone https://github.com/Baltram/seednaut && cd seednaut cargo build --release D) Download a prebuilt binary Go to the Releases page and download the file matching your operating system:
Platform File match
Linux (Intel/AMD) x86_64-unknown-linux-musl
Windows (64-bit) x86_64-pc-windows-msvc
macOS Apple Silicon aarch64-apple-darwin
macOS Intel x86_64-apple-darwin
2. Run Seednaut Running Seednaut without arguments starts the interactive TUI mode. It guides you through the steps of locating the backup, entering your mnemonic and performing the inspection/verification/extraction. Depending on your installation method, enter seednaut or ./seednaut in a shell. On Windows, you can simply double click seednaut.exe or drag&drop your backup onto it. CLI Examples Seednaut can also be used directly via the following commands. List snapshots: seednaut list /path/to/.SeedVaultAndroidBackup Inspect snapshot contents:
All snapshots
seednaut inspect /path/to/.SeedVaultAndroidBackupOnly specific snapshots (e.g. indices 1 and 3 from the output of the list command)
seednaut inspect /path/to/.SeedVaultAndroidBackup 1 3 Verify cryptographic integrity of snapshots: seednaut verify /path/to/.SeedVaultAndroidBackup Extract files:Basic extraction
seednaut extract /path/to/backup --out ./recoveredAlso unpack app backup data or, in case of K/V app backup, convert to JSON
seednaut extract /path/to/backup --export --out ./recoveredUse regex to selectively extract matching package names and file paths
seednaut extract /path/to/backup --match "IMG_2026.*\.jpg$" --out ./recovered Pipe mnemonic via stdin: echo "$MY_MNEMONIC" | seednaut verify /path/to/backup Run seednaut help or seednaut help <command> for full CLI documentation. Development notes Generated man pages are available under man/ and can be regenerated with cargo run -p xtask -- man. Similarly, protobuf bindings can be regenerated with cargo run -p xtask -- proto. AI coding tools were used during development. Generated code, architecture, crate selection were manually reviewed and iterated on extensively before release. Please note that, while developed with security in mind, Seednaut has not undergone professional security auditing and is provided on a best-effort basis. License Licensed under either ofApache License, Version 2.0 MIT license
at your option.