- Web app (Flask): status, config, firewall, logs, users, restart - Docs: AT commands, deploy, DNS, quickstart, web GUI - Scripts: connect, deploy, diag, healthcheck, modem-status, speedtest, status, troubleshoot - Init and iptables: 5g-router, 5g-webgui, rules.v4 - CHANGELOG, TODO, REVISION; config and README updates
39 lines
3.0 KiB
Markdown
39 lines
3.0 KiB
Markdown
# Changelog
|
||
|
||
All notable changes to the Alpine 5G Router project are documented here.
|
||
|
||
## [Unreleased]
|
||
|
||
### Added
|
||
|
||
- **Config file** – `/etc/5g-router.conf` (and `etc/5g-router.conf.example`) for APN, interfaces, failover, watchdog, signal logging.
|
||
- **Configurable APN and interfaces** – `configure_fm350_5g.sh` and `connect-5g.sh` read from config; defaults remain CYTA/eth1/eth0.100.
|
||
- **USB mode check on boot** – Scripts detect Mode 41 (7127), warn and attempt switch to Mode 40 (with modem reset).
|
||
- **Signal strength logging** – Optional `LOG_SIGNAL=yes` and `WEAK_SIGNAL_CSQ` in config; logged to `/var/log/5g-router.log`.
|
||
- **Fallback to eth0** – Optional `FAILOVER_ENABLED=yes` and `FAILOVER_IF=eth0` so default route uses ethernet when 5G is down.
|
||
- **Watchdog** – Optional `WATCHDOG_INTERVAL` in config to re-run connection periodically.
|
||
- **Firewall rules in repo** – `etc/iptables/rules.v4` for repeatable NAT/forward rules.
|
||
- **connect-5g.sh in repo** – `scripts/connect-5g.sh` (installed to `/usr/local/bin/connect-5g.sh`).
|
||
- **OpenRC service in repo** – `etc/init.d/5g-router` for Alpine.
|
||
- **Install script** – `scripts/install.sh` deploys scripts, service, firewall, and config example to the device.
|
||
- **DNS documentation** – `docs/DNS.md` for resolv.conf and dnsmasq.
|
||
- **Status script** – `scripts/status-5g.sh` (modem, interface, default route, last speedtest); supports `--json`.
|
||
- **Health check script** – `scripts/healthcheck-5g.sh` for Nagios/Uptime Kuma (exit 0/1).
|
||
- **Log rotation** – `scripts/rotate-5g-log.sh` for `/var/log/5g-router.log` (cron-friendly; Alpine has no logrotate by default).
|
||
- **Optional speedtest cron** – `scripts/speedtest-5g.sh` appends to `/var/log/speedtest-5g.log`; document cron in README.
|
||
- **Quick start** – `docs/QUICKSTART.md` (clone → install → config → start).
|
||
- **Deploy / SSH doc** – `docs/DEPLOY.md` for first-time SSH and key-based login.
|
||
- **Example config** – `etc/5g-router.conf.example` for different carriers/interfaces.
|
||
|
||
### Changed
|
||
|
||
- **configure_fm350_5g.sh** – Sources `/etc/5g-router.conf` if present; USB Mode 41 handling (warn + try switch); signal logging and weak-signal alert when enabled in config.
|
||
|
||
### Notes
|
||
|
||
- **Persist default route** – Handled by running `connect-5g.sh` at boot via 5g-router service; failover adds eth0 default when 5G fails.
|
||
- **Dual-WAN / failover** – Basic failover (use eth0 when 5G down) is implemented; full dual-WAN policy routing is not.
|
||
- **IPv6** – Not implemented; carrier and kernel support required; can be added later.
|
||
- **Web GUI** – Implemented with login (admin/support), per-page templates, and SQLite backend.
|
||
- **SQLite database** – `web/data/alpine5g.db` for users, iptables_rules, and static_routes. Users migrated from `users.json` on first run; firewall rules seeded from `/etc/iptables/rules.v4` when DB is empty. Firewall and Routes GUI: list/add/edit/delete from DB; **Apply** writes iptables and runs `iptables-restore`, or runs `ip route add` for routes.
|