68 lines
2.2 KiB
Markdown
68 lines
2.2 KiB
Markdown
# SonicWall .exp to HTML report tools
|
|
|
|
Two scripts that take a SonicWall `.exp` configuration export and produce a
|
|
styled, standalone HTML report next to the source file: `<name>.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 <file.exp>
|
|
```
|
|
|
|
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 | |