- 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
3.0 KiB
3.0 KiB
Changelog
All notable changes to the Alpine 5G Router project are documented here.
[Unreleased]
Added
- Config file –
/etc/5g-router.conf(andetc/5g-router.conf.example) for APN, interfaces, failover, watchdog, signal logging. - Configurable APN and interfaces –
configure_fm350_5g.shandconnect-5g.shread 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=yesandWEAK_SIGNAL_CSQin config; logged to/var/log/5g-router.log. - Fallback to eth0 – Optional
FAILOVER_ENABLED=yesandFAILOVER_IF=eth0so default route uses ethernet when 5G is down. - Watchdog – Optional
WATCHDOG_INTERVALin config to re-run connection periodically. - Firewall rules in repo –
etc/iptables/rules.v4for 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-routerfor Alpine. - Install script –
scripts/install.shdeploys scripts, service, firewall, and config example to the device. - DNS documentation –
docs/DNS.mdfor resolv.conf and dnsmasq. - Status script –
scripts/status-5g.sh(modem, interface, default route, last speedtest); supports--json. - Health check script –
scripts/healthcheck-5g.shfor Nagios/Uptime Kuma (exit 0/1). - Log rotation –
scripts/rotate-5g-log.shfor/var/log/5g-router.log(cron-friendly; Alpine has no logrotate by default). - Optional speedtest cron –
scripts/speedtest-5g.shappends to/var/log/speedtest-5g.log; document cron in README. - Quick start –
docs/QUICKSTART.md(clone → install → config → start). - Deploy / SSH doc –
docs/DEPLOY.mdfor first-time SSH and key-based login. - Example config –
etc/5g-router.conf.examplefor different carriers/interfaces.
Changed
- configure_fm350_5g.sh – Sources
/etc/5g-router.confif 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.shat 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.dbfor users, iptables_rules, and static_routes. Users migrated fromusers.jsonon first run; firewall rules seeded from/etc/iptables/rules.v4when DB is empty. Firewall and Routes GUI: list/add/edit/delete from DB; Apply writes iptables and runsiptables-restore, or runsip route addfor routes.