Teleporter (Encrypted Config Backup)¶
The Teleporter lets you export and import your entire configuration as a single encrypted file. Useful for migrating to a new server, creating backups, or cloning your setup.
What's Included¶
Always exported:
.env- all settings (API keys, playlist config, scheduler settings)browser.json- YouTube Music authentication cookiesconfig/search_overrides.json- manual search overrides and blacklistconfig/tag_overrides.json- tag overridesconfig/custom_playlists.json- custom tag playlist definitions
Optionally exported:
cache/.search_cache.json- cached YouTube Music search results. Avoids re-searching tracks on a new instance.cache/.playlist_cache.json- stores playlist IDs and desired track state. Needed to resume syncing without recreating playlists.cache/.tag_cache.json- cached Last.fm tag lookups. Avoids re-fetching tags for every track.
Encryption Flow¶
Binary format (v1):
[4B magic "TPRT"][1B version][1B KDF id][4B mem_cost][4B iterations][4B parallelism]
[16B salt][12B nonce][ciphertext || 16B GCM auth tag]
Export details
- Collect all selected config/cache files into a JSON bundle
- Generate a random 16-byte salt and 12-byte nonce
- Derive a 256-bit key using Argon2id (128 MiB memory, 3 iterations, 4 threads)
- Build an 18-byte header: 4B magic + version + KDF algorithm + KDF params
- Encrypt the JSON bundle with AES-256-GCM, passing the header as AAD
- Output = header ‖ salt ‖ nonce ‖ ciphertext ‖ GCM tag
- Download as
.binfile
Import details
- Verify the 4-byte magic identifier (
TPRT) - Read the header to extract version, KDF algorithm, and parameters
- Extract salt, nonce, ciphertext, and GCM auth tag
- Re-derive the 256-bit key from password + salt (Argon2id params from header)
- Decrypt with AES-256-GCM, verifying the full header as AAD
- Detects wrong password, tampered ciphertext, or modified KDF params
- Validate and restore each config file atomically (temp file + rename)
The magic bytes (TPRT) identify the file format before any crypto work begins. The full header (magic + KDF params) is authenticated via GCM's AAD mechanism - any modification to the version byte or KDF parameters (e.g. downgrading memory cost) causes decryption to fail. The password is never stored; it exists only in memory during key derivation.
Usage¶
- Open Settings → Data Management → Teleporter
- Export: enter a password (min. 8 characters), optionally select which cache files to include, click Export Encrypted Backup
- Import: drop a
.binfile, enter the password, click Preview to verify contents, then Restore Backup
Security
The backup contains sensitive data (API keys, auth tokens). Store it securely and use a strong password.