2.**Initialize or tidy Go modules** (optional if you already have them):
```bash
go mod tidy
```
3.**Run the server** (with `sudo` if necessary):
```bash
sudo go run ./cmd/server
```
By default, it listens on port `:8080`.
4.**Open the UI**:
- Visit [http://localhost:8080/](http://localhost:8080/) (or replace `localhost` with your server IP).
5.**Manage Fail2ban**:
- See jails and banned IPs on the main dashboard
- Unban IPs via the “Unban” button
- Edit jail configs by clicking the jail name
- Save your changes, then **reload** Fail2ban using the top banner prompt
---
## Security Considerations
- Running this UI typically requires **root** or sudo privileges to execute `fail2ban-client` and manipulate config files.
- Consider restricting network access or using authentication (e.g., reverse proxy with Basic Auth or a firewall rule) to ensure only authorized users can access the dashboard.
- Make sure your Fail2ban logs and configs aren’t exposed publicly.
---
## Contributing
We welcome pull requests and issues! Please open an [issue](./issues) if you find a bug or have a feature request.
1.**Fork** this repository
2.**Create** a new branch: `git checkout -b feature/my-feature`
3.**Commit** your changes: `git commit -m 'Add some feature'`
4.**Push** to the branch: `git push origin feature/my-feature`