Initial commit
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is passing

This commit is contained in:
Juan José Gutiérrez de Quevedo Pérez 2026-02-04 14:14:28 +01:00
commit 94d8e201f5
10 changed files with 909 additions and 0 deletions

69
README.md Normal file
View file

@ -0,0 +1,69 @@
# Hostapd Web UI
A Flask-based web application that provides a REST API interface to manage WiFi stations via hostapd.
## Features
- List connected WiFi stations (MAC addresses)
- Get detailed information about specific stations
- RESTful API with proper error handling
- JSON responses for easy integration
## API Endpoints
### `GET /api/v1/sta/list`
Returns a JSON array of connected station MAC addresses.
**Response:**
```json
[
"aa:bb:cc:dd:ee:ff",
"11:22:33:44:55:66"
]
```
### `GET /api/v1/sta/details/<mac>`
Returns detailed information about a specific station.
**Response:**
```json
{
"rx_packets": "1234",
"tx_packets": "5678",
"signal": "-65",
"connected_time": "3600"
}
```
### `GET /health`
Health check endpoint.
**Response:**
```json
{
"status": "healthy",
"service": "hostapd-webui"
}
```
## Requirements
- Python 3.7+
- Flask
- hostapd with hostapd_cli installed and configured
## Error Handling
The API returns appropriate HTTP status codes:
- 200: Success
- 400: Bad request (invalid MAC address format)
- 404: Station not found
- 500: Internal server error
## Logging
The application logs information and errors to the console. Set the `LOG_LEVEL` environment variable to control verbosity.
## Development
To run in debug mode, set `debug=True` in the `app.run()` call in `app.py`.