From 6f9587eb9abb7fd17742145bf0c0e6110d7f589c Mon Sep 17 00:00:00 2001 From: DAProgs Date: Sat, 3 Oct 2026 13:54:15 -0400 Subject: [PATCH] Update README.md --- README.md | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 67 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cf686ec..b6a3ba4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,68 @@ -# Sonicwall5060-exp-converter +# SonicWall .exp to HTML report tools -Takes exp backup files and converts them to human readable. \ No newline at end of file +Two scripts that take a SonicWall `.exp` configuration export and produce a +styled, standalone HTML report next to the source file: `.html`. + +- `process_exp.py` — command-line converter +- `process_exp_gui.py` — Tkinter GUI front-end that calls `process_exp.py`'s + `convert()` in a background thread + +## Requirements + +- **Python 3.9 or newer** (only the standard library is used — see + `requirements.txt`; there are no pip dependencies). +- **For the GUI only:** the `tkinter` module. Verify with: + ```sh + python3 -c "import tkinter" + ``` + If it fails, install it for your distro: + - Debian/Ubuntu: `sudo apt install python3-tk` + - Fedora: `sudo dnf install python3-tkinter` + - macOS/Windows: included in the standard python.org installer. + +A `.exp` file is the base64/`&`-encoded export you download from a SonicWall +firewall's admin interface (Configuration > Restore/Upgrade > Download). + +## Usage + +### Command line + +```sh +python3 process_exp.py +``` + +Example: + +```sh +python3 process_exp.py myfw.exp +# -> wrote myfw.html +``` + +The HTML file is written next to the input file, sharing its name +(`myfw.exp` -> `myfw.html`). Open it in any browser; it is fully self-contained +(no external CSS/JS) and has a print-friendly stylesheet. + +Notes: +- Secret-looking fields (passwords, keys, PSKs) are deliberately omitted from + the report. +- If the run fails with a decode error, the file is probably not a valid + `.exp` export (wrong format, corrupted download, etc.). + +### GUI + +```sh +python3 process_exp_gui.py # pick the file via the Browse dialog +python3 process_exp_gui.py file.exp # or pre-select the file +``` + +Workflow: **Browse...** -> select the `.exp` file -> **Run conversion** -> +when done, **Open HTML in browser** opens the report. + +## Files + +| File | Purpose | +|----------------------|-------------------------------------------| +| `process_exp.py` | CLI: `.exp` -> text -> report -> HTML | +| `process_exp_gui.py` | GUI wrapper around `process_exp.convert()`| +| `requirements.txt` | Dependency notes (stdlib only) | +| `README.md` | This file | \ No newline at end of file