- Remove the paragraph about filling out forms, Nostr, Cashu eCash from the flyer footer (both generated flyers and landing site) - Wrap Print/Download buttons in a button-bar div with padding - Keep 'built with voxvera' credit line
VoxVera Flyers
Generate printable flyers with QR codes linking to Tor (.onion) hidden services, plus optional Nostr sharing. Flyers are hosted exclusively over Tor for anonymous, censorship-resistant distribution.
Key Features
- Interactive setup:
voxvera initprompts for metadata or extracts from a PDF form. When editing body text, a small Tkinter GUI window opens with existing content pre-filled, falling back to the user's$EDITORif the GUI isn't available. - Template support:
voxvera init --template <name>copies built-in templates (blank,voxvera). - Build assets:
voxvera build [--pdf <path>] [--download <file.zip>]generates HTML, minified JS/CSS, QR codes, and bundles PDFs. - Batch import:
voxvera importprocesses all JSON configs inimports/. - Automatic Tor hosting:
voxvera servepublishes via Tor/OnionShare. The .onion address is automatically derived from Tor keys and written into the flyer's tear-off links. Tor ports are auto-detected -- no manual configuration needed. - All-in-one:
voxvera quickstartruns init, build, and serve in sequence. - Dependency check:
voxvera checkverifies presence of required tools and Python packages. - GUI: Minimal Electron wrapper (
gui/electron) for non-CLI users.
Quick Start
One-line installer (Linux/macOS) -- recommended
Installs VoxVera, Tor, and OnionShare in one step:
curl -fsSL https://raw.githubusercontent.com/PR0M3TH3AN/VoxVera/main/install.sh | bash
Install with pip/pipx (Linux, macOS, Windows)
VoxVera is a pure Python package. All build dependencies (QR codes, HTML minification, PDF parsing) are handled by Python libraries -- no Node.js, ImageMagick, or other system tools needed.
# Recommended (isolated environment)
pipx install 'voxvera@git+https://github.com/PR0M3TH3AN/VoxVera.git@main'
# Or with pip
pip install 'voxvera@git+https://github.com/PR0M3TH3AN/VoxVera.git@main'
Tor and OnionShare are also required for hosting. The install scripts handle this automatically, but if you installed via pip/pipx you'll need them separately:
| Platform | Command |
|---|---|
| Debian/Ubuntu | sudo apt install tor onionshare-cli |
| Fedora | sudo dnf install tor onionshare-cli |
| macOS | brew install tor onionshare |
| Windows | onionshare.org |
Windows (PowerShell)
irm https://raw.githubusercontent.com/PR0M3TH3AN/VoxVera/main/install.ps1 | iex
Run VoxVera
# Interactive: configure, build, and serve in one step
voxvera quickstart
# Or use the helper script (starts Tor if needed, then launches quickstart)
./voxvera-run.sh
Typical Workflow
# 1. Configure flyer text, external URL, and other metadata
voxvera init
# 2. Build flyer assets (HTML, QR codes, PDFs)
voxvera build --pdf form.pdf --download file.zip # optional flags
# 3. Host via Tor (auto-detects ports, generates .onion address)
voxvera serve
Or do all three steps in one shot:
voxvera quickstart
Flyer Configuration Reference
voxvera init prompts you to fill in the following fields. Each one maps to a specific part of the printed flyer.
Metadata
| Field | Max | Where it appears |
|---|---|---|
| name | 60 chars | Browser tab title. Not printed on the flyer itself. |
| subdomain | 63 chars | Used internally as the folder name under host/. Lowercase letters, numbers, and hyphens only. |
| title | 60 chars | Large heading at the top-right of the flyer (e.g. "TOP SECRET"). |
| subtitle | 80 chars | Smaller text directly below the title (e.g. "DO NOT DISTRIBUTE"). Supports basic HTML like <span class="redacted">. |
| headline | 80 chars | Second heading below the subtitle (e.g. "OPERATION VOX VERA"). |
Body
| Field | Max | Where it appears |
|---|---|---|
| content | 1000 chars | The main body text in the right-hand column. Opens in a text editor during voxvera init. Newlines are preserved. |
Links
| Field | Max | Set by | Where it appears |
|---|---|---|---|
| url | 200 chars | You, during voxvera init |
The content link shown at the bottom of the right-hand column with a QR code. Points to any external resource (website, download, video, etc.). |
| tear_off_link | -- | Automatically by voxvera serve |
The .onion address printed on every tear-off tab (left side) with a QR code. People tear off a tab to revisit and reprint the flyer. |
| url_message | 120 chars | You, during voxvera init |
Short message displayed above the content link (e.g. "Follow this link to learn more. Use Tor Browser."). |
| binary_message | 120 chars | You, during voxvera init |
Decorative binary string shown at the very bottom of the flyer footer. |
Flyer Layout
+---------------------+-------------------------+
| | [title] |
| TEAR-OFF TABS | [subtitle] |
| (10 tabs, each | [headline] |
| with tear_off_ | ---------------------- |
| link + QR code) | [content] |
| | |
| | [url_message] |
| | [url] + QR code |
| | ---------------------- |
| | [footer + binary_msg] |
+---------------------+-------------------------+
You never need to manually configure Tor ports or the .onion address. voxvera serve auto-detects a running Tor instance (defaulting to SOCKS port 9050 / control port 9051) and derives the onion address from persistent keys.
Run voxvera --help for the full CLI reference.
Dependencies
Python packages (installed automatically)
| Package | Replaces |
|---|---|
qrcode + Pillow |
qrencode + ImageMagick |
jsmin + htmlmin2 |
javascript-obfuscator + html-minifier-terser + Node.js |
pypdf |
pdftotext / poppler-utils |
InquirerPy + rich |
Interactive prompts and console output |
External tools (installed by install scripts)
| Tool | Required for |
|---|---|
onionshare-cli |
voxvera serve (Tor hosting) |
tor |
OnionShare runtime |
Run voxvera check to verify your setup.
GUI (optional)
If you prefer a point-and-click experience:
cd gui/electron
npm install
npm start
The GUI internally calls the same CLI commands, so make sure VoxVera is installed first.
Documentation
See the docs/ folder for additional guides:
docs/usage.md-- CLI workflowsdocs/templates.md-- available flyer templatesdocs/troubleshooting.md-- common fixesdocs/docker.md-- Docker usage
License
MIT (c) 2025 thePR0M3TH3AN