diff --git a/README.md b/README.md index de6ad35..5b86efa 100644 --- a/README.md +++ b/README.md @@ -6,178 +6,93 @@ Generate printable flyers with QR codes linking to Tor (.onion) or HTTPS sites, ## 🚀 Key Features -// 🔧 merged conflicting changes from codex/populate-gui-text-fields-for-editing vs main -* **Interactive setup**: `voxvera init` prompts 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 `$EDITOR` if the GUI isn't available. -* **Template support**: `voxvera init --template ` copies built-in templates (`blank`, `voxvera`). +* **Interactive setup**: `voxvera init` prompts 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 `$EDITOR` if the GUI isn't available. +* **Template support**: `voxvera init --template ` copies built‑in templates (`blank`, `voxvera`). * **Build assets**: `voxvera build [--pdf ] [--download ]` generates HTML, obfuscated JS/CSS, QR codes, and bundles PDFs. * **Batch import**: `voxvera import` processes all JSON configs in `imports/`. * **Onion hosting**: `voxvera serve` publishes via Tor/OnionShare and updates flyer links. -* **All-in-one**: `voxvera quickstart` runs init, build, and serve in sequence. +* **All‑in‑one**: `voxvera quickstart` runs init, build, and serve in sequence. * **Dependency check**: `voxvera check` verifies presence of required tools. -* **GUI**: Minimal Electron wrapper (`gui/electron`) for non-CLI users. +* **GUI**: Minimal Electron wrapper (`gui/electron`) for non‑CLI users. --- -## 📥 Fool-Proof Installation +## 📥 Quick Start (Debian & Ubuntu) -### 1. Prebuilt Binary (Linux) +### 1️⃣ Install VoxVera and all dependencies ```bash -# Download and install to $HOME/.local/bin -mkdir -p ~/.local/bin \ - && wget -qO ~/.local/bin/voxvera \ - https://github.com/PR0M3TH3AN/VoxVera/releases/latest/download/voxvera \ - && chmod +x ~/.local/bin/voxvera +# Download the installer +curl -fsSL https://raw.githubusercontent.com/PR0M3TH3AN/VoxVera/main/voxvera-install.sh -o voxvera-install.sh +chmod +x voxvera-install.sh -# Ensure ~/.local/bin is in your PATH -if ! echo "$PATH" | grep -q "$HOME/.local/bin"; then - echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc - echo 'Add ~/.local/bin to your PATH and restart your shell.' -fi -```` - -### 2. Homebrew (macOS) - -```bash -brew tap PR0M3TH3AN/voxvera -brew install voxvera +# Run the installer (requires sudo for apt packages) +./voxvera-install.sh ``` -### 3. pipx (cross-platform) +The script will: + +1. Update **apt** and install Tor, OnionShare, ImageMagick, Poppler, Node.js, and other CLI helpers. +2. Fetch the latest VoxVera release and place it in `~/.local/bin` (creating the directory if needed). +3. Create a minimal per‑user `torrc` under `~/.voxvera/` and (re)start the `tor` service. + +After the script finishes, open a new terminal or reload your shell to ensure `~/.local/bin` is on your **PATH**. + +### 2️⃣ Run VoxVera (every session) ```bash -pipx install voxvera +# First‑time only: make the wrapper executable +chmod +x voxvera-run.sh + +# Start VoxVera +./voxvera-run.sh ``` -### 4. From Source - -```bash -# Download the latest-main branch as a tarball -wget -O VoxVera.tar.gz \ - https://github.com/PR0M3TH3AN/VoxVera/archive/refs/heads/main.tar.gz - -# Extract it -tar -xzf VoxVera.tar.gz - -# Enter the extracted directory (note the “-main” suffix) -cd VoxVera-main - -# Create & activate virtualenv -python3 -m venv .venv -source .venv/bin/activate - -# Install editable package -pip install --upgrade pip -pip install -e . -``` - -> After install, verify with `voxvera --help`. +`voxvera-run.sh` checks that Tor is healthy, starts it if necessary, and then launches `voxvera quickstart`. Use it every time you work with VoxVera. --- -## 🛠️ System Dependencies - -These tools must be available in your PATH: - -``` -ton, onionshare-cli, jq, qrencode, convert (ImageMagick), pdftotext, -node, javascript-obfuscator, html-minifier-terser -``` - -Run `voxvera check` to see missing dependencies. - -### Placeholder Tor files - -The `voxvera/resources/tor/*` folders only contain small text files named -`placeholder`. VoxVera expects real `tor` and `obfs4proxy` binaries in those -locations when running `voxvera serve` or the Electron GUI. - -**Option 1: install via your package manager** -```bash -sudo apt update && sudo apt install tor obfs4proxy -# or on macOS -brew install tor obfs4proxy -``` -Ensure the Tor daemon is running (`sudo service tor start` on Linux). - -**Option 2: use the helper script** -```bash -scripts/download_tor.sh -``` -The script downloads the official Tor expert bundle for your OS and places the -executables under `voxvera/resources/tor/`. - -After installing either way, set the ports used by Tor: -```bash -export TOR_SOCKS_PORT=9050 -export TOR_CONTROL_PORT=9051 -``` -These variables let OnionShare connect to the already running Tor using its -`--use-running-tor` option. Run `voxvera check` to confirm the binaries are -detected before launching. - ---- - -## 🎮 GUI (Electron) +## 🏗️ Typical Workflow ```bash -cd gui/electron -npm install -voxvera check # verify dependencies before launching -npm start -``` - -Click **Quickstart** to generate flyers without the terminal. If any tools are -missing or the network fails, see `docs/troubleshooting.md` for fixes. - ---- - -## 🏗️ Basic Usage - -```bash -# 1. Interactive setup: +# 1. Interactive metadata voxvera init -# 2. Build flyers: -voxvera build [--pdf path/to/form.pdf] [--download path/to/file.zip] +# 2. Build flyers oxvera build --pdf form.pdf --download file.zip # optional flags -# 3. Serve via OnionShare: +# 3. Host via Tor voxvera serve ``` -Or run all steps: +Or do all three steps in one shot: ```bash voxvera quickstart ``` -### Other Commands - -* `voxvera init --template ` — copy a template into `dist/`. -* `voxvera import` — batch-import JSON configs from `imports/`. -* `voxvera check` — dependency health check. +Run `voxvera --help` for the full CLI reference. --- -## 🐳 Docker (optional) +## 🎮 GUI (optional) + +If you prefer a point‑and‑click experience: ```bash -# Pull and run -docker pull ghcr.io/PR0M3TH3AN/voxvera:latest -mkdir flyers -docker run --rm -it -v "$(pwd)/flyers:/flyers" ghcr.io/PR0M3TH3AN/voxvera +cd gui/electron +npm install +npm start ``` -Flyers appear in `./flyers`. +The GUI internally calls the same CLI commands, so make sure the installer has run first. --- ## 📄 Documentation -See the `docs/` folder for detailed guides: +See the `docs/` folder for additional guides: * `docs/usage.md` — CLI workflows -* `docs/docker.md` — Docker tips * `docs/templates.md` — available flyer templates * `docs/troubleshooting.md` — common fixes @@ -185,4 +100,4 @@ See the `docs/` folder for detailed guides: ## 📜 License -MIT © 2025 thePR0M3TH3AN +MIT © 2025 thePR0M3TH3AN