zwse.rs -- Export Zen Browser tabs and workspaces
Export tabs and workspaces from a Zen Browser sessionstore.jsonlz4
zwse : Session exporter for Zen Browser
A CLI tool that reads Firefox/Zen Browser session files (sessionstore.jsonlz4), decompresses them with lz4_flex, and exports tab/workspace data as a pipe-delimited table. Supports automatic Zen profile discovery across Linux, macOS, and Windows, or explicit session file paths for CI/fixtures.
curl -fsSL https://github.com/MrDwarf7/zwse.rs/raw/main/build/install.sh | shiwr https://github.com/MrDwarf7/zwse.rs/raw/main/build/install.ps1 | iexcargo install --git https://github.com/MrDwarf7/zwse.rsgit clone https://github.com/MrDwarf7/zwse.rs
cd zwse.rs
cargo build --release
# Binary at ./target/release/zwse# Auto-discover Zen profile, export to data/workspace_export_rs.txt
zwse
# Explicit session file (useful for CI/fixtures)
zwse -i data/sessionstore_operations.jsonlz4 -o data/export.txt
# Custom profile directory + session name
zwse -p ~/.zen/fg7mv5ii.Default\ \(beta\) -s sessionstore.jsonlz4 -o export.txt
# Verbosity
zwse -l DEBUG -i sessionstore.jsonlz4 -o export.txtOptions:
-i, --input <PATH>— Sessionstore file path.auto(default) = discover via Zen profile-p, --profile <DIR>— Zen profile directory.auto(default) = first profile found-s, --session-name <NAME>— Session filename inside profile (default: sessionstore.jsonlz4)-o, --output <PATH>— Output file (default: data/workspace_export_rs.txt)-l, --level_verbosity <LEVEL>— ERROR|WARN|INFO|DEBUG|TRACE or 0-4 (default: INFO)-v, --version— Print version and exit
Pipe-delimited table:
| id | title | workspace | pinned | pinned_entry | pinned_id | last_accessed | url |
Example:
| 1 | "GitHub - Home" | | false |None | | 1704067200 | "https://github.com" |
# Release binary
cargo build --release
# Run tests
cargo test
# Format check
cargo fmt --all --check
# Clippy
cargo clippy --all-targets --all-features -- -D warningsOr via cargo make:
cargo make build # cargo build
cargo make build_release # cargo build --release
cargo make test # cargo test
cargo make format # cargo fmt- build.yml — fmt, check, clippy (Linux + Windows, nightly)
- test.yml — cargo test (Linux + Windows)
- format.yml — fmt + build check
- docs.yml — cargo doc with warnings as errors
- draft.yml — Tag push: builds release artifacts (zip + sha256), uploads as draft release
Artifacts: zwse-<target>-<tag>.zip and .sha256
MIT OR Apache-2.0 — see LICENSE-MIT and LICENSE-APACHE.
