Skip to content

Quick Start Guide

Ryan edited this page Jul 18, 2026 · 1 revision

Quick Start Guide

Get Apotropaios running in 2 minutes. No installation required.

Prerequisites

  • Python 3.12 or later (python3 --version to check)
  • Linux with at least one firewall installed (iptables, nftables, firewalld, ufw, or ipset)
  • Root privileges (sudo) for firewall operations

Step 1: Get the Code

git clone https://github.com/Sandler73/Apotropaios-Firewall-Manager-Python-Variant.git
cd Apotropaios-Firewall-Manager-Python

Step 2: Detect Your System

No install needed -- run directly from the project root:

sudo python3 apotropaios.py detect

This displays your OS details (name, version, family, package manager) and all installed firewall backends (version, running/stopped, enabled/disabled). The framework auto-selects the first available backend (preference: iptables → nftables → firewalld → ufw).

Step 3: Check Firewall Status

sudo python3 apotropaios.py status

Shows the active backend's service state (running/stopped, enabled/disabled, version, binary path), a summary of all detected firewalls, and the count of Apotropaios-tracked rules.

Step 4: Create Your First Rule

# Allow HTTPS traffic
sudo python3 apotropaios.py add-rule --protocol tcp --dst-port 443 --action accept \
    --description "Allow HTTPS"

Output: Rule created: a1b2c3d4-e5f6-7890-abcd-ef1234567890

The rule is applied to the firewall immediately and tracked by UUID in the rule index.

Step 5: Verify

# Show Apotropaios-tracked rules
sudo python3 apotropaios.py list-rules

# Show native firewall rules (all rules, not just ours)
sudo python3 apotropaios.py system-rules

Step 6: Create a Backup

sudo python3 apotropaios.py backup initial-setup

Creates a compressed archive with all backend configs, rule index, and state file. SHA-256 checksum sidecar generated automatically.

Step 7: Try the Interactive Menu

sudo python3 apotropaios.py --interactive

8 categories: Firewall Management, Rule Management, Quick Actions, Backup & Recovery, System Information, Install & Update, Help & Documentation, Exit.

Cancel any prompt by typing q, quit, cancel, back, or b.

Verbose Output

Default console shows only warnings and errors. For diagnostic output:

# Show informational messages
sudo python3 apotropaios.py detect --log-level info

# Maximum verbosity (trace level)
sudo python3 apotropaios.py detect --log-level trace

The log file (in data/logs/) always captures all levels regardless of console setting.

Next Steps

Apotropaios -- Python Variant

Getting Started

Architecture

Operations

Project


35 files · 14,545 lines · 322 tests

Clone this wiki locally