Repository navigation
Releases: tsix2019/RouteLink
Release list
RouteLink v1.1.1
RouteLink 1.1.1
- Android & iOS: second- and third-level pages no longer show the bottom tab bar (#15).
- Android: segmented options whose labels are too long (e.g. MAC filter modes) now show as a stacked radio list instead of being cut off (#15).
- Docs: added CLAUDE.md (#14).
APK and IPA are attached by the build workflows once they finish.
RouteLink v1.1.0
RouteLink 1.1.0
Everything merged since 1.0.0:
- P2–P4 (#13): network groups, Wi-Fi tools, diagnostics, limits & quotas, DNS log, push, Android live monitor (router plugin 1.0.0).
- M5 (#9): forms are pages, and software updates.
- AI assistant (#7): redesign with chat history; terminal landscape and finger scrolling.
- Android widgets (#8): six kinds, ↻ refresh, and adding them when the launcher blocks it.
- Fixes: one-tap plugin install on Kwrt 25.12 / opkg (#6); root-stack screens never opening from inside a tab on ARM translation (#10); guest Wi-Fi passwords from a secure random generator (#11); no more enlarged-icon page on cold start (#12).
APK and IPA are attached by the build workflows once they finish.
RouteLink router plugin 1.0.0
RouteLink router plugin: per-device traffic statistics for OpenWrt 23.05, 24.10 and 25.12, with LuCI
pages and an API for the RouteLink app.
Easiest: install it from the RouteLink app (More → Router plugin).
Manual install (pick the files for your OpenWrt version and architecture; manifest.json lists them):
# OpenWrt 23.05 / 24.10 (opkg), and 25.12 firmware that kept opkg such as Kwrt (the 25.12 .ipk files)
opkg update
opkg install routelinkd_*.ipk luci-app-routelink_*.ipk luci-i18n-routelink-zh-cn_*.ipk
# OpenWrt 25.12 (apk): trust the RouteLink key first
wget -O /etc/apk/keys/routelink.pem https://tsix2019.github.io/RouteLink/agent/keys/routelink-apk.pem
apk update
apk add routelinkd-*.apk luci-app-routelink-*.apk luci-i18n-routelink-zh-cn-*.apkPackage feed (updates through LuCI → System → Software): see the "Router plugin" section of the README.
Notes:
- nlbwmon resets the connection counters this plugin reads; stop it (the LuCI page offers a button).
- Hardware offloading and Turbo ACC/SFE bypass connection accounting; software offloading is fine.
RouteLink v1.0.0
第四个里程碑(M4):SSH 终端、AI 助手、桌面小组件和掉线通知。English below.
下载
- Android(8.0 及以上,ARM 处理器):
RouteLink-v1.0.0.apk - iOS(17 及以上,液态玻璃效果需要 iOS 26):
RouteLink-unsigned.ipa是未签名的安装包,需要用 AltStore、SideStore 或 Sideloadly 以自己的 Apple ID 签名后安装。IPA 里带一个桌面小组件扩展,签名时要用两个 App ID,App Group 要换成你账号下的(AltStore、SideStore 会自动处理),详见 README。
系统要求提高了:iOS 16 和 Android 7 不再支持(SSH 用到的库需要 iOS 17、Android 8.0)。还在用这两个版本的,请继续用 v0.3.1。
新功能
- SSH 终端(更多 → SSH 终端):密码或密钥登录;第一次连接时确认主机指纹,之后指纹变了会拦下来;键盘上方有 Esc、Tab、Ctrl、方向键;可以调字号。在路由器详情页可以一键把 App 的公钥装到路由器上,以后免密码登录。
- AI 助手(概览 → 问 AI):用你自己的 API Key,支持 Claude、OpenAI、DeepSeek、通义千问、Ollama 和任意 OpenAI 兼容的服务。它能查路由器状态、设备、无线、防火墙和日志;踢掉或拉黑设备、改 Wi-Fi、加端口转发、重启服务或路由器之前,会在对话里请你确认。
- 第一次使用前会说明哪些数据会发给服务商。MAC 地址和公网 IP 默认打码,每类数据都可以单独关闭;密码和密钥永远不会发送。对话只存在手机上。
- 桌面小组件(iOS、Android):当前路由器的在线状态、实时速率、在线设备数,点按打开 App。Android 可以在"更多 → 通知与小组件"里直接添加到桌面。
- 掉线通知(更多 → 通知与小组件):App 在后台大约每 15 分钟检查一次,路由器连不上、恢复、有新设备接入时发通知。每台路由器单独开关,需要保存密码。具体什么时候运行由系统决定,iOS 上间隔可能更长。
- 演示模式:终端、AI 助手、小组件都有演示数据,不用路由器也能试。
The fourth milestone (M4): SSH terminal, AI assistant, home-screen widget and offline alerts.
Downloads
- Android (8.0 or newer, ARM processor):
RouteLink-v1.0.0.apk - iOS (17 or newer; Liquid Glass needs iOS 26):
RouteLink-unsigned.ipais unsigned. Sign and install it with your own Apple ID using AltStore, SideStore or Sideloadly. The IPA carries a home-screen widget extension, so signing takes two App IDs, and its App Group has to become one of your account (AltStore and SideStore do it for you); see the README.
Higher system requirements: iOS 16 and Android 7 are no longer supported (the SSH libraries need iOS 17 and Android 8.0). On those versions, stay with v0.3.1.
New
- SSH terminal (More → SSH Terminal): password or key login; you confirm the host key on first connection and the app stops if it ever changes; Esc, Tab, Ctrl and arrow keys above the keyboard; adjustable font size. The router's detail page installs the app's public key on the router in one tap, for logins without a password.
- AI assistant (Overview → Ask AI): with your own API key for Claude, OpenAI, DeepSeek, Qwen, Ollama or any OpenAI-compatible service. It looks up the router's state, devices, Wi-Fi, firewall and logs, and asks you in the chat before it kicks or blocks a device, changes Wi-Fi, adds a port forward, or restarts a service or the router.
- Before first use it explains what is sent to the provider. MAC addresses and public IPs are masked by default, each kind of data can be turned off, and passwords and keys are never sent. Conversations stay on the phone.
- Home-screen widget (iOS, Android): the current router's state, live speed and devices online; tap to open the app. On Android, More → Notifications & Widget adds it to the home screen.
- Offline alerts (More → Notifications & Widget): about every 15 minutes the app checks in the background and notifies you when a router can't be reached, comes back, or sees a new device. On or off per router; needs a saved password. The system decides when it runs, which on iOS can be less often.
- Demo mode: the terminal, the assistant and the widget all have demo data, so you can try them without a router.
RouteLink v0.3.1
修复版。English below.
下载
- Android(7.0 及以上,ARM 处理器):
RouteLink-v0.3.1.apk - iOS(16.4 及以上,液态玻璃效果需要 iOS 26):
RouteLink-unsigned.ipa是未签名的安装包,需要用 AltStore、SideStore 或 Sideloadly 以自己的 Apple ID 签名后安装
修复
- 打开 Wi-Fi 二维码页面时报错"Cannot read property 'UTF-8' of undefined"(v0.3.0 的 iOS 和 Android 都受影响)。原因是生成二维码的库在打包后少了 UTF-8 编码表,现在由 App 自己编码。
改进
- Android 安装包从 122 MB 减到 32 MB:只保留 ARM 架构(市面上的手机和平板都是),压缩原生库,开启 R8 精简代码。x86 模拟器要靠 ARM 转译运行,部分弹出页面可能打不开;真机不受影响。
A bug-fix release.
Downloads
- Android (7.0 or newer, ARM processor):
RouteLink-v0.3.1.apk - iOS (16.4 or newer; Liquid Glass needs iOS 26):
RouteLink-unsigned.ipais unsigned. Sign and install it with your own Apple ID using AltStore, SideStore or Sideloadly
Fixed
- Opening the Wi-Fi QR code page showed "Cannot read property 'UTF-8' of undefined" (iOS and Android in v0.3.0). The QR code library's UTF-8 table goes missing in the app bundle; the app now encodes the text itself.
Improved
- The Android APK shrinks from 122 MB to 32 MB: ARM only (every phone and tablet on the market), compressed native libraries, R8 code shrinking. x86 emulators run it through ARM translation, where some sheets may not open; real phones are not affected.
RouteLink v0.3.0
RouteLink 的第二个预发布版本,包含里程碑 M2、M3,以及路由器插件配套的流量统计(P1)。English below.
下载
- Android(7.0 及以上):
RouteLink-v0.3.0.apk - iOS(16.4 及以上,液态玻璃效果需要 iOS 26):
RouteLink-unsigned.ipa是未签名的安装包,需要用 AltStore、SideStore 或 Sideloadly 以自己的 Apple ID 签名后安装
新增
流量统计(需要路由器插件,App 里一键安装)
- 每台设备的实时速率,任意时间段的用量和曲线,可以只看每天的某几个小时,导出 CSV
- WAN 口按日、按月的用量,按每月重置日计算本期已用
- 概览的今日流量卡片、设备详情里的单台设备流量
M2
- Wi-Fi 二维码分享;访客网络(一键创建、只能上网、访客之间隔离);MAC 过滤
- WAN 设置(DHCP、静态、PPPoE)和 LAN 设置(改地址时 App 在新地址确认,连不上会自动改回)
- 路由表和静态路由、实时连接(反查域名)、防火墙(端口转发、通信规则、区域)、WireGuard 状态
- 进程、软件包(搜索、安装、卸载)、计划任务、LED、系统(时区、同步手机时间、修改管理密码)
M3
- 家长控制:按时段禁止某台设备上网,跨午夜的时段也可以,时段开始时连正在进行的连接一起断开
- Wi-Fi 定时开关:到点关、到点开,可以只管某个射频
- VLAN:"端口 × VLAN"矩阵,支持 DSA 和 swconfig;改错了路由器会自动回滚
- VPN:WireGuard 新建隧道和对端、导出配置文件和二维码;OpenVPN 导入
.ovpn、启停 - DDNS、SQM 限速、广告过滤(adblock-fast 或 adblock)
- 备份与恢复、固件升级(官方 OpenWrt 和 ImmortalWrt 可以在线升级,也可以用本地文件)、恢复出厂。这几项都是高风险操作:先提示备份,勾选并输入路由器名称才能继续,执行时全屏提示不要断电
测试情况
- 在 QEMU 上的 OpenWrt 23.05、24.10、25.12 三个版本跑完整的集成测试,包括真正执行 VLAN 回滚、恢复备份、在线刷机、恢复出厂
- 演示模式里所有新页面都能操作(刷机、恢复、恢复出厂只是动画)
已知问题
- OpenWrt 25.12.5 上 LuCI 自带的网络唤醒接口执行失败(上游问题),此时 Android 改由手机直接发送唤醒包;iOS 暂不支持由手机发送
- OpenWrt 23.05 不提供服务的运行状态,服务列表里只显示是否开机自启
- 第三方固件(非官方 OpenWrt/ImmortalWrt 正式版)只能用本地文件升级
- 新功能目前只在虚拟路由器上完整测试过,欢迎反馈真实设备上的问题
The second pre-release of RouteLink: milestones M2 and M3, plus the traffic statistics that come with the router plugin (P1).
Downloads
- Android (7.0 or newer):
RouteLink-v0.3.0.apk - iOS (16.4 or newer; Liquid Glass needs iOS 26):
RouteLink-unsigned.ipais unsigned. Sign and install it with your own Apple ID using AltStore, SideStore or Sideloadly
What's new
Traffic statistics (with the router plugin, installed from the app in one tap)
- Live rates per device; usage and charts for any period, optionally only certain hours of each day; CSV export
- WAN usage per day and per month, with the current billing period from your reset day
- A "today" card on the overview, and traffic per device in its details
M2
- Wi-Fi QR codes; guest network (one tap: internet only, guests isolated); MAC filter
- WAN settings (DHCP, static, PPPoE) and LAN settings (after an address change the app confirms at the new address, or the router reverts)
- Routes and static routes, live connections (with reverse DNS), firewall (port forwards, traffic rules, zones), WireGuard status
- Processes, packages (search, install, remove), scheduled tasks, LEDs, system (time zone, phone time sync, admin password)
M3
- Parental control: block a device during set periods, across midnight too; its open connections end when a period starts
- Wi-Fi schedule: off and on at set times, per radio if you like
- VLANs: a port × VLAN matrix for DSA and swconfig; a mistake is rolled back by the router
- VPN: new WireGuard tunnels and peers, with config file and QR code export; OpenVPN
.ovpnimport, start and stop - DDNS, SQM bandwidth shaping, ad blocking (adblock-fast or adblock)
- Backup and restore, firmware upgrade (online for official OpenWrt and ImmortalWrt releases, or from a file), factory reset. All high-risk: a backup is offered first, a checkbox and the router's name confirm, and a full-screen page asks to keep the power on
Testing
- Full integration tests on OpenWrt 23.05, 24.10 and 25.12 in QEMU, including real VLAN rollbacks, backup restores, online firmware upgrades and factory resets
- Every new page works in demo mode (firmware, restore and reset are animations there)
Known issues
- On OpenWrt 25.12.5, LuCI's Wake-on-LAN helper fails (an upstream bug). Android then sends the packet itself; iOS can't yet
- OpenWrt 23.05 doesn't report whether services are running, so the services list shows only whether they start at boot
- Third-party firmware (anything but official OpenWrt or ImmortalWrt releases) can be upgraded from a file only
- The new features have been fully tested on virtual routers so far. Reports from real hardware are welcome
RouteLink v0.1.0
RouteLink 的第一个预发布版本(里程碑 M1)。English below.
下载
- Android(7.0 及以上):
RouteLink-v0.1.0.apk - iOS(16.4 及以上,液态玻璃效果需要 iOS 26):
RouteLink-unsigned.ipa是未签名的安装包,需要用 AltStore、SideStore 或 Sideloadly 以自己的 Apple ID 签名后安装
这个版本有什么
- 概览:系统信息、资源占用、外网状态、实时流量、重启
- 设备:在线设备列表,可以改名、固定 IP、禁止上网、断开 Wi-Fi、网络唤醒
- Wi-Fi:开关射频,修改信道、频宽、功率、名称、密码、加密方式,扫描附近的网络
- 网络:接口详情,重新连接
- 更多:服务管理、系统和内核日志、唤醒列表、多台路由器管理、语言、外观
- 自动发现局域网里的 OpenWrt(旁路由也能找到),可以添加多台路由器并随时切换
- 所有修改都通过 OpenWrt 的"应用并确认"机制下发,App 连不回路由器时,路由器会在 90 秒后自动撤销修改
- 自签名 HTTPS 证书首次连接时确认指纹,之后只信任这一张证书
- 演示模式:没有路由器也能体验全部功能
已知问题
- OpenWrt 25.12.5 上 LuCI 自带的网络唤醒接口执行失败(上游问题),此时 Android 改由手机直接发送唤醒包;iOS 暂不支持由手机发送
- OpenWrt 23.05 不提供服务的运行状态,服务列表里只显示是否开机自启
- 目前只在虚拟路由器(Docker、QEMU 上的 OpenWrt 23.05、24.10、25.12)上完整测试过,欢迎反馈真实设备上的问题
The first pre-release of RouteLink (milestone M1).
Downloads
- Android (7.0 or newer):
RouteLink-v0.1.0.apk - iOS (16.4 or newer; Liquid Glass needs iOS 26):
RouteLink-unsigned.ipais unsigned. Sign and install it with your own Apple ID using AltStore, SideStore or Sideloadly
What's in it
- Overview: system, resources, internet status, live traffic, reboot
- Devices: everything on your network; rename, reserve an IP, block internet access, disconnect from Wi-Fi, Wake-on-LAN
- Wi-Fi: turn radios on and off; change channel, width, power, network name, password and security; scan nearby networks
- Network: interface details, reconnect
- More: services, system and kernel logs, saved Wake-on-LAN devices, several routers, language, appearance
- Finds OpenWrt on your network automatically (side routers too); add several routers and switch between them
- Every change goes through OpenWrt's apply-and-confirm mechanism: if the app can't reach the router afterwards, the router undoes the change after 90 seconds
- Self-signed HTTPS certificates: confirm the fingerprint once, then only that certificate is trusted
- Demo mode: try everything without a router
Known issues
- On OpenWrt 25.12.5, LuCI's Wake-on-LAN helper fails (an upstream bug). Android then sends the packet itself; iOS can't yet
- OpenWrt 23.05 doesn't report whether services are running, so the services list shows only whether they start at boot
- So far fully tested only on virtual routers (OpenWrt 23.05, 24.10 and 25.12 in Docker and QEMU). Reports from real hardware are welcome
RouteLink router plugin 0.1.0
RouteLink router plugin: per-device traffic statistics for OpenWrt 23.05, 24.10 and 25.12, with LuCI
pages and an API for the RouteLink app.
Easiest: install it from the RouteLink app (More → Router plugin).
Manual install (pick the files for your OpenWrt version and architecture; manifest.json lists them):
# OpenWrt 23.05 / 24.10 (opkg)
opkg update
opkg install routelinkd_*.ipk luci-app-routelink_*.ipk luci-i18n-routelink-zh-cn_*.ipk
# OpenWrt 25.12 (apk): trust the RouteLink key first
wget -O /etc/apk/keys/routelink.pem https://tsix2019.github.io/RouteLink/agent/keys/routelink-apk.pem
apk update
apk add routelinkd-*.apk luci-app-routelink-*.apk luci-i18n-routelink-zh-cn-*.apkPackage feed (updates through LuCI → System → Software): see the "Router plugin" section of the README.
Notes:
- nlbwmon resets the connection counters this plugin reads; stop it (the LuCI page offers a button).
- Hardware offloading and Turbo ACC/SFE bypass connection accounting; software offloading is fine.
RouteLink router plugin 0.1.0-rc.1
RouteLink router plugin: per-device traffic statistics for OpenWrt 23.05, 24.10 and 25.12, with LuCI
pages and an API for the RouteLink app.
Easiest: install it from the RouteLink app (More → Router plugin).
Manual install (pick the files for your OpenWrt version and architecture; manifest.json lists them):
# OpenWrt 23.05 / 24.10 (opkg)
opkg update
opkg install routelinkd_*.ipk luci-app-routelink_*.ipk luci-i18n-routelink-zh-cn_*.ipk
# OpenWrt 25.12 (apk): trust the RouteLink key first
wget -O /etc/apk/keys/routelink.pem https://tsix2019.github.io/RouteLink/agent/keys/routelink-apk.pem
apk update
apk add routelinkd-*.apk luci-app-routelink-*.apk luci-i18n-routelink-zh-cn-*.apkPackage feed (updates through LuCI → System → Software): see the "Router plugin" section of the README.
Notes:
- nlbwmon resets the connection counters this plugin reads; stop it (the LuCI page offers a button).
- Hardware offloading and Turbo ACC/SFE bypass connection accounting; software offloading is fine.