You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Interactive menu**: Running with no arguments (or `menu`) launches a guided, 7-category menu-driven interface with validated input, cancel support, and per-backend configuration submenus.
349
+
**Two operation modes:**
350
350
351
-
**Direct CLI**: All 17 commands work directly — `add-rule`, `remove-rule`, `list-rules`, `backup`, `restore`, `import`, `export`, etc. Every command supports `--help` for detailed usage. Full CLI reference in the [Usage Guide](docs/USAGE_GUIDE.md).
351
+
-**Interactive mode** (`--interactive`): Launches the guided, 7-category menu-driven interface with validated input, cancel support, and per-backend configuration submenus. Recommended for first-time users and complex multi-step operations.
352
+
-**CLI mode** (`COMMAND [OPTIONS]`): Direct command execution for scripting, automation, and advanced users. All 17 commands support `--help` for detailed usage.
353
+
354
+
**Backward compatibility**: Running with no arguments or the `menu` subcommand also launches the interactive menu.
352
355
353
356
**Alternative install methods**: See [SETUP_GUIDE.md](docs/SETUP_GUIDE.md) for system-wide installation via `make install`, configuration file setup, and first-run instructions.
354
357
@@ -521,16 +524,18 @@ sudo ./apotropaios.sh status # Backend service status
sudo ./apotropaios.sh menu # Backward compatible subcommand
535
+
sudo ./apotropaios.sh # Backward compatible (no args)
531
536
```
532
537
533
-
The menu provides seven categories: Firewall Management, Rule Management, Quick Actions, Backup & Recovery, System Information, Install & Update, and Help & Documentation.
538
+
The `--interactive` flag is mutually exclusive with CLI commands and `--non-interactive`. The menu provides seven categories: Firewall Management, Rule Management, Quick Actions, Backup & Recovery, System Information, Install & Update, and Help & Documentation.
534
539
535
540
<palign="right">(<ahref="#table-of-contents">back to top</a>)</p>
536
541
@@ -542,9 +547,10 @@ These options are available on all commands:
542
547
543
548
| Option | Description |
544
549
|--------|-------------|
550
+
|`--interactive`| Launch the interactive menu-driven interface (mutually exclusive with commands and `--non-interactive`) |
@@ -814,10 +820,10 @@ sudo ./apotropaios.sh detect # Test with detect command
814
820
815
821
### "Invalid option" in the interactive menu
816
822
817
-
Ensure you are running version 1.1.5 or later. Earlier versions had a sanitization bug (BUG-010) that caused all menu input to be rejected:
823
+
Ensure you are running version 1.1.10 or later. Earlier versions had a sanitization bug (BUG-010) that caused all menu input to be rejected:
818
824
819
825
```bash
820
-
sudo ./apotropaios.sh --version # Should show v1.1.5+
826
+
sudo ./apotropaios.sh --version # Should show v1.1.10+
821
827
```
822
828
823
829
### "Root privileges required"
@@ -857,7 +863,7 @@ Check directory permissions and disk space:
857
863
858
864
```bash
859
865
ls -la data/logs/ # Check permissions
860
-
df -h # Check disk space
866
+
df -h # Check disk space
861
867
sudo ./apotropaios.sh --log-level trace detect # Maximum diagnostic detail
862
868
```
863
869
@@ -869,7 +875,7 @@ For additional troubleshooting scenarios, see the [Wiki Troubleshooting Guide](d
869
875
870
876
## Testing
871
877
872
-
The project includes a comprehensive test suite built on [BATS](https://github.com/bats-core/bats-core) (Bash Automated Testing System) with 375 tests covering validation, security, lifecycle, CLI, help system, and backup operations.
878
+
The project includes a comprehensive test suite built on [BATS](https://github.com/bats-core/bats-core) (Bash Automated Testing System) with 380 tests covering validation, security, lifecycle, CLI, help system, and backup operations.
873
879
874
880
```bash
875
881
# Run the full test suite (lint + all tests)
@@ -927,7 +933,7 @@ Contributions are welcome and appreciated. To contribute:
927
933
928
934
### Guidelines
929
935
930
-
- Run `make test` before submitting — all 375 tests must pass
936
+
- Run `make test` before submitting — all 380 tests must pass
931
937
- Run `make lint` — ShellCheck must report no warnings
932
938
- Run `make security-scan` — no new warnings introduced
933
939
- Follow the existing code style: comprehensive function documentation headers (Synopsis, Description, Parameters, Returns), inline comments explaining non-obvious logic, and consistent formatting
@@ -967,7 +973,12 @@ For the complete development guide including environment setup, test architectur
|**1.1.10**| 2026-03-29 | Background expiry monitor (30s interval, auto-deactivation). Proactive terminal alerts at 10-minute mark. Inline expiry warnings on main menu. |
977
+
|**1.1.9**| 2026-03-29 | Firewalld status shows all zones. Zone selector rewritten (nameref, no subshell hang). UFW port-less rule fix. Improved error logging across firewalld and ufw. |
978
+
|**1.1.8**| 2026-03-28 | Firewalld full zone support (dynamic zone selection, all-zone reset, zone-aware config submenu). Iptables table selection in config submenu. |
0 commit comments