Compare commits

..

5 Commits

Author SHA1 Message Date
1c1d5e370e feat: Replace SQM with per-client speed control for paid WiFi upgrade
Add parahub-speed-control script (nftables set + tc HTB) for per-IP
speed shaping. Free tier 512kbps, paid tier unlimited. Heartbeat now
parses paid_clients from API response and syncs nftables set.

Replaced sqm-scripts/kmod-sched-cake/luci-app-sqm packages with
tc-full/kmod-ifb/kmod-sched-htb. Section 8 of uci-defaults creates
init.d service for speed control instead of SQM config.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 22:35:16 +00:00
383569de92 feat: Split firmware into Bee (L2 transport) and Bumblebee (L3 gateway) roles
Bee (wr3000, ar300m16): minimal batman-adv mesh relay with gw_mode=client,
no yggdrasil/GRE6/VPN/SQM/DoH, Parahub_Free bridged to private network.
Bumblebee (axt1800, mt3000, mt6000, ax6s, ax53u): full stack with
gw_mode=server, yggdrasil overlay, GRE6 tunnel, guest isolation, SQM, DoH.

Build creates /etc/parahub/role marker; heartbeat reports firmware_role
and mesh_ip; Bee uses public URL, Bumblebee tries yggdrasil with fallback.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 20:21:06 +00:00
69a8285c8c feat: Add heartbeat phone-home script and norn SSH key
- parahub-heartbeat: cURL heartbeat to cloud API every 5min via cron
- authorized_keys: add norn@parahub-ng for WiFi password SSH retrieval
- 99-parahub-mesh: section 12 enables cron + heartbeat on first boot

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:30:20 +00:00
454e811594 feat: add GL-AR300M16-EXT (ath79/generic, 16MB flash) target
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:25:26 +00:00
b6ff803e5d feat: local Mullvad WireGuard + policy routing for guest traffic
- parahub-mullvad script: setup/status/remove for owner's Mullvad key
- WireGuard packages: kmod-wireguard, wireguard-tools, luci-proto-wireguard
- Policy routing: ip4table='100' + guest subnet rule (fixes guest→VPN flow)
- setup: auto-detects country, registers key, creates WG interface, switches firewall
- remove: reverts to GRE6→VPS gateway

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 15:42:45 +00:00
2 changed files with 6 additions and 12 deletions

View File

@@ -61,9 +61,9 @@ cmd_setup() {
echo "Usage: parahub-mullvad setup <account_key> [country_code]" echo "Usage: parahub-mullvad setup <account_key> [country_code]"
echo "" echo ""
echo "Examples:" echo "Examples:"
echo " parahub-mullvad setup 1234567890123456 pt # Portugal" echo " parahub-mullvad setup 3032661375392987 pt # Portugal"
echo " parahub-mullvad setup 1234567890123456 de # Germany" echo " parahub-mullvad setup 3032661375392987 de # Germany"
echo " parahub-mullvad setup 1234567890123456 # Auto-detect" echo " parahub-mullvad setup 3032661375392987 # Auto-detect"
echo "" echo ""
echo "Countries: us gb de nl se pt fr es ch at it jp sg br ..." echo "Countries: us gb de nl se pt fr es ch at it jp sg br ..."
exit 1 exit 1

View File

@@ -35,7 +35,7 @@ device_config() {
FIRMWARE_ROLE="bumblebee" FIRMWARE_ROLE="bumblebee"
;; ;;
ax6s) ax6s)
OPENWRT_TARGET="mediatek/mt7622" OPENWRT_TARGET="mediatek/filogic"
PROFILE="xiaomi_redmi-router-ax6s" PROFILE="xiaomi_redmi-router-ax6s"
FIRMWARE_ROLE="bumblebee" FIRMWARE_ROLE="bumblebee"
;; ;;
@@ -54,11 +54,6 @@ device_config() {
PROFILE="cudy_wr3000-v1" PROFILE="cudy_wr3000-v1"
FIRMWARE_ROLE="bee" FIRMWARE_ROLE="bee"
;; ;;
cpe710)
OPENWRT_TARGET="ath79/generic"
PROFILE="tplink_cpe710-v1"
FIRMWARE_ROLE="bee"
;;
*) *)
return 1 return 1
;; ;;
@@ -93,7 +88,7 @@ PACKAGES_BUMBLEBEE=(
https-dns-proxy https-dns-proxy
tc-full tc-full
kmod-ifb kmod-ifb
kmod-sched kmod-sched-htb
luci luci
tcpdump tcpdump
iperf3 iperf3
@@ -112,11 +107,10 @@ usage() {
echo " axt1800 GL.iNet GL-AXT1800 (Slate AX) qualcommax/ipq60xx Bumblebee" echo " axt1800 GL.iNet GL-AXT1800 (Slate AX) qualcommax/ipq60xx Bumblebee"
echo " mt3000 GL.iNet GL-MT3000 (Beryl AX) mediatek/filogic Bumblebee" echo " mt3000 GL.iNet GL-MT3000 (Beryl AX) mediatek/filogic Bumblebee"
echo " mt6000 GL.iNet GL-MT6000 (Flint 2) mediatek/filogic Bumblebee" echo " mt6000 GL.iNet GL-MT6000 (Flint 2) mediatek/filogic Bumblebee"
echo " ax6s Xiaomi Redmi AX6S mediatek/mt7622 Bumblebee" echo " ax6s Xiaomi Redmi AX6S mediatek/filogic Bumblebee"
echo " ax53u Asus RT-AX53U ramips/mt7621 Bumblebee" echo " ax53u Asus RT-AX53U ramips/mt7621 Bumblebee"
echo " ar300m16 GL.iNet GL-AR300M16-EXT (16MB) ath79/generic Bee" echo " ar300m16 GL.iNet GL-AR300M16-EXT (16MB) ath79/generic Bee"
echo " wr3000 Cudy AX3000 (WR3000) mediatek/filogic Bee" echo " wr3000 Cudy AX3000 (WR3000) mediatek/filogic Bee"
echo " cpe710 TP-Link CPE710 v1 (5GHz outdoor) ath79/generic Bee"
echo "" echo ""
echo "Roles:" echo "Roles:"
echo " Bumblebee L3 Gateway — full stack (yggdrasil, VPN, guest isolation, SQM, DoH)" echo " Bumblebee L3 Gateway — full stack (yggdrasil, VPN, guest isolation, SQM, DoH)"