Warning
Legal operation of this software requires an amateur radio license and a valid call sign.
Note
Star this repo to follow our progress! This code is under active development, and contributions are both welcomed and appreciated. See CONTRIBUTING.md for details.
The APRSD Admin Web Interface provides a comprehensive web-based administration and monitoring tool for your APRSD daemon. Key features include:
- Real-time Statistics: View live APRSD statistics including message counts, connection status, and system metrics
- Live Log Monitoring: Stream APRSD logs in real-time via WebSocket connection
- Interactive Charts: Visualize statistics with dynamic charts and graphs
- Configuration Viewer: View your current APRSD configuration in a readable format
- Message Sending: Send APRS messages directly from the web interface
- APRS Symbol Visualization: View APRS symbols and their meanings
- Plugin Management: See installed plugins and their status
- HTTP Basic Authentication: Secure access with username/password authentication
aprsd >= 4.2.4- A running APRSD instance (or run the admin interface standalone)
You can install APRSD Admin Interface via pip from PyPI:
$ pip install aprsd-admin-extensionOr using uv:
$ uv pip install aprsd-admin-extensionBefore using the admin interface, you need to configure it in your APRSD configuration file. Generate a sample configuration file if you haven't already:
$ aprsd sample-configThis will create a configuration file at ~/.config/aprsd/aprsd.conf (or aprsd.yml).
Add the following section to your APRSD configuration file to configure the admin interface:
[aprsd_admin_extension]
# Enable the Admin Web Interface (default: True)
web_enabled = True
# IP address to listen on (default: 0.0.0.0 - all interfaces)
# Use 127.0.0.1 to only allow local connections
web_ip = 0.0.0.0
# Port to listen on (default: 8001)
web_port = 8001
# Admin username for HTTP Basic Authentication (default: admin)
user = admin
# Admin password for HTTP Basic Authentication (default: password)
# IMPORTANT: Change this from the default!
password = your_secure_password_hereImportant: The default password is password. You must change this in production!
For better security:
- Use a strong, unique password
- Consider binding to
127.0.0.1instead of0.0.0.0if you only need local access - Use a reverse proxy (nginx, Apache) with HTTPS if accessing over the internet
- Consider firewall rules to restrict access to the admin port
Here's a complete example configuration for a secure local-only setup:
[aprsd_admin_extension]
web_enabled = True
web_ip = 127.0.0.1 # Only allow local connections
web_port = 8001
user = admin
password = your_secure_password_hereOnce installed and configured, start the admin interface with:
$ aprsd admin webThe admin interface will start and be accessible at http://localhost:8001 (or the IP/port you configured).
- Open your web browser and navigate to
http://YOUR_IP:8001(replaceYOUR_IPwith your server's IP orlocalhostfor local access) - You'll be prompted for HTTP Basic Authentication
- Enter the username and password you configured in
aprsd.conf - You'll see the admin dashboard with statistics, logs, and configuration
The admin interface provides several tabs:
- Dashboard: Overview of APRSD statistics, connection status, and system metrics
- Logs: Real-time log streaming with filtering capabilities
- Configuration: View your current APRSD configuration
- Messages: Send APRS messages directly from the interface
- Plugins: View installed plugins and their status
The admin interface can run standalone without a full APRSD server instance. However, some features (such as sending messages) require a running APRSD server.
After starting the admin interface, check the logs for messages like:
INFO: APRSD Started version: X.X.X
INFO: Registering LogMonitorThread
Then open your browser to http://localhost:8001 (or your configured address) and you should see
the admin interface login prompt.
For more details, see the Command-line Reference.
Contributions are very welcome. To learn more, see the Contributor Guide.
Distributed under the terms of the Apache Software License 2.0 license, APRSD Admin Interface is free and open source software.
If you encounter any problems, please file an issue along with a detailed description.
This project was generated from @hemna's APRSD Extension Python Cookiecutter template.
