- Live Dashboard — Real-time updates without page refresh.
- Chrony Integration — Direct integration with chronyc command output.
- Client Monitoring — Track all NTP clients connected to your Chrony server.
- Sync Status — Visual indicators for synchronization health.
- Offset Tracking — Monitor time offset and frequency drift.
- Lightweight — Single-script Flask application, no database required.
- Bootstrap 5 UI — Clean, responsive interface.
- AJAX Updates — jQuery-powered automatic data refresh.
git clone https://github.com/OneByJorah/ChronoGuard.git
cd ChronoGuard
pip install -r requirements.txt
python3 app.pyOpen http://localhost:5000 in your browser.
sudo cp chroneguard.service /etc/systemd/system/
sudo systemctl enable chroneguard
sudo systemctl start chroneguard| Variable | Default | Description |
|---|---|---|
FLASK_APP |
app.py |
Flask application entry point |
PORT |
5000 |
Server port |
HOST |
0.0.0.0 |
Bind address |
CHRONYC_PATH |
/usr/bin/chronyc |
Path to chronyc binary |
REFRESH_INTERVAL |
5000 |
Dashboard refresh interval (ms) |
Browser (Bootstrap/jQuery) ──AJAX──▶ Flask App ──▶ chronyc ──▶ Chrony Server
│
└──▶ Time Sync Data
- Backend: Flask (Python 3.10+)
- Frontend: Bootstrap 5, jQuery, AJAX
- NTP: Chrony/chronyc integration
- Deployment: systemd service
ChronoGuard/
├── app.py # Flask application
├── templates/
│ └── index.html # Dashboard template
├── static/
│ ├── css/
│ │ └── style.css # Custom styles
│ └── js/
│ └── app.js # AJAX update logic
├── chroneguard.service # systemd service file
├── requirements.txt # Python dependencies
└── README.md
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | Dashboard UI |
/api/status |
GET | Chrony server status |
/api/clients |
GET | Connected NTP clients |
/api/sources |
GET | NTP source statistics |
| Panel | Description |
|---|---|
| Server Status | Chrony daemon status and uptime |
| Sync Mode | Current synchronization mode (NTP, PPS, etc.) |
| Sources | NTP sources with reachability and offset |
| Clients | Connected clients with last query time |
| System Time | Current system time and offset from reference |
Contributions are welcome. Please see CONTRIBUTING.md for guidelines and CODE_OF_CONDUCT.md for community standards.
For security concerns, see SECURITY.md. Please report vulnerabilities to info@jorahone.com — do not use public issues.
MIT © Jhonattan L. Jimenez
See CONTRIBUTING.md. All contributions follow the Code of Conduct.
Found a vulnerability? Please follow our Security Policy and report privately to security@jorahone.com.
MIT License © Jhonattan L. Jimenez (OneByJorah)
Built with 🌴 by OneByJorah · jorahone.com
