Add docs and CI/CD workflows

This commit is contained in:
thePR0M3TH3AN
2025-06-19 11:58:39 -04:00
parent f3b27d1148
commit abe95a7edf
9 changed files with 156 additions and 40 deletions

View File

@@ -2,6 +2,17 @@
VoxVera provides scripts and templates for producing printable flyers with QR codes. These flyers link to content hosted through Tor and can also include a Nostr page. The project automates building the HTML, generating the QR codes, and copying all assets into a directory under `host/` so they can be served statically.
## TL;DR
```bash
git clone https://github.com/PR0M3TH3AN/VoxVera.git
cd VoxVera
./install.sh # use install.ps1 on Windows
voxvera quickstart
```
See [docs/usage.md](docs/usage.md) for detailed usage instructions.
## Quick Install
Run the installer to set up all dependencies and the `voxvera` CLI in one step.
@@ -103,45 +114,7 @@ The script updates the chosen config file, regenerates QR codes, obfuscates `ind
Additional documentation is available in the `src/` directory; see [src/README.md](src/README.md) for more details on the obfuscation scripts and additional usage notes.
## Step-by-Step
1. Edit `src/index-master.html` or `src/nostr-master.html` if you need custom content.
2. Run `voxvera init` and follow the prompts, or use `voxvera init --from-pdf path/to/form.pdf`.
3. Host the generated `host/<subdomain>` directory.
The `index.html` file fetches `config.json`, so the flyer must be served via a
local or remote web server rather than opened directly from disk. For a quick
test you can run `python3 -m http.server` inside the folder and then visit the
provided address.
Additional documentation, including step-by-step instructions and hosting guides, lives under the [docs](docs/) directory.
## Batch Import
Place configuration files in an `imports/` directory at the project root. Run
```bash
voxvera import
```
Each JSON file is copied to `src/config.json` and processed with
`voxvera build`. Existing folders under `host/` with the
same subdomain are removed before new files are written.
## Hosting with OnionShare
The folder under `host/<subdomain>` contains everything needed to serve the
flyer. Use the CLI to publish it over Tor:
The script now resolves the configuration and host paths internally, so it can
be invoked from any directory:
```bash
voxvera serve
```
The script launches `onionshare-cli` in persistent website mode, waits for the
generated onion URL, patches `config.json`, regenerates the QR codes and
obfuscated HTML, and then copies the updated files back into the `host`
directory. The onion address is printed when ready. Keep OnionShare running to
continue hosting.
`index.html` fetches `config.json` dynamically, so the flyer should be viewed
through a local or remote web server. For quick testing, run
`python3 -m http.server` in the folder and open the provided address instead of
loading the file directly.
This project is licensed under the [MIT License](./LICENSE).