# Alpine 5G Router – TODO / Features

Track features and tasks for the solution. Use `[ ]` for pending, `[x]` for done.

---

## Connection & modem

- [x] Auto-reconnect when 5G link drops (watchdog or periodic check)
- [x] Configurable APN (env var or config file) for different carriers
- [x] USB mode check on boot (warn or fix if modem is in Mode 41)
- [x] Signal strength logging / alert when signal is weak
- [x] Fallback to eth0 (e.g. LAN) when 5G is unavailable (optional)

---

## Network & routing

- [x] Persist default route preference (5G vs eth0) across reboots
- [x] Optional dual-WAN or failover (5G + ethernet)
- [x] Firewall rules in repo (e.g. `etc/iptables/rules.v4`) for repeatable setup
- [ ] IPv6 support (if carrier provides it)

---

## Deployment & automation

- [x] Add `connect-5g.sh` (or equivalent) to repo for version control
- [x] Add OpenRC service file(s) to repo (e.g. `etc/init.d/5g-router`)
- [x] Install/setup script: deploy scripts + service + firewall from repo to device
- [x] Document or automate DNS (e.g. resolv.conf / dnsmasq) for 5G

---

## Monitoring & ops

- [x] Simple status script or endpoint (modem, interface, default route, last speedtest)
- [x] Optional speedtest on schedule (cron) with log or alert
- [x] Log rotation for `5g-router.log` (and any other logs)
- [x] Health check script for monitoring (Nagios, Uptime Kuma, etc.)

---

## Documentation & config

- [x] Single "quick start" for new device (clone repo → run script → done)
- [x] Document or script for first-time SSH/key setup
- [x] Example or template config (APN, interfaces, firewall) for different carriers
- [x] Changelog or version notes for script/service changes

---

## Web GUI

- [x] Login screen with admin and support users and different permissions
- [x] Configuration Modem/network interfaces (admin: /etc/5g-router.conf)
- [x] Monitoring status Modem/systems (Status tab)
- [ ] Data consumption from both terminals (graphs/tables) – *future: needs traffic accounting e.g. vnstat*
- [x] Logs modem/system (5G router log + speedtest log)
- [x] List/add/modify firewall rules (admin: iptables rules.v4)
- [x] List/modify static routes (admin: ip route view)
- [x] User management (admin: add/delete users, set password)
- [x] Restart 5G (admin + support)

---

*Edit this file to add/remove items and check off completed work.*
