Takes exp backup files and converts them to human readable.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-03 13:54:15 -04:00
.gitignore Initial commit 2026-10-03 13:25:33 -04:00
LICENSE Initial commit 2026-10-03 13:25:33 -04:00
process_exp.py Adding python files 2026-10-03 13:27:13 -04:00
process_exp_gui.py Adding python files 2026-10-03 13:27:13 -04:00
README.md Update README.md 2026-10-03 13:54:15 -04:00
requirements.txt added requirements 2026-10-03 13:53:47 -04:00

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:
    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

python3 process_exp.py <file.exp>

Example:

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

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