Repository navigation
Releases
Dawnline v0.18.0
What’s new
- Add V2RayTun to a device's set-up on Android: its awg:// link as a code and to copy, in the portal and in the admin (phones, tablets and other devices), with the server's IP, which its Android app needs; not with the Maximum disguise. Its Windows app is ready but stays off until it gives the tunnel the server's DNS.
- Portal: show V2RayTun's Telegram channel beside Google Play.
- Make WireGuard part of AmneziaWG's choice when the disguise is off: the same file and code, both apps named in the steps, WireGuard's store a tap away; a router still picks its package.
- Portal: Reconnect asks again what the device is and about LAN Bypass, and LAN Bypass switches from a device's ⋯ menu, in a group of its own between the copy actions and Rename, Reconnect, Remove (the keys stay; the device takes its updated configuration).
- Turn LAN Bypass on by default for new devices, in the portal and the admin.
- Portal: an app's name too long for the picker fades at its edge and glides to its end on hover or tap; two store buttons stack where they do not fit side by side; the month chart's "Today" stays inside its axis.
- Write to the router's system log by level (Settings → Logs & history → System log: errors, warnings, normal, verbose): the service starting and stopping, every apply with its time, network, firewall, nftables and peer changes, changed settings and portal errors, in English whatever the admin's language, with keys masked.
- Activity: say what a device's change on the portal was (LAN Bypass on or off, its type).
- Demo: build again after a force-pushed main instead of failing on the commit that is gone.
Install
Install or upgrade on the router (OpenWrt 24.10 with opkg, or 25.12 with apk):
sh -c "$(wget -qO- https://raw.githubusercontent.com/tickcount/luci-app-dawnline/main/install.sh)"Or update from LuCI → Services → Dawnline → Components.
Full Changelog: v0.17.0...v0.18.0
Dawnline v0.17.0
What’s new
- Redraw the admin's charts in the connection map's style: the live speed as lines, the last 30 days and a device's week as stacked download and upload bars, a device's days as a strip, data use as meters.
- Read any chart point by point with the pointer, a tap or the arrow keys; a day's tooltip compares it with the average and shows its download and upload.
- Show where a data limit leads at the recent pace: the week ahead on the meter, and when the limit fills or what a monthly one reaches by the reset.
- Make Speed now live, one point a second, on a person's page, in the People list and in an online person's card.
- Name every place an online person's devices connect from, and the city each device connects from now.
- Portal: read the month and the week by tap or arrow keys, see how a day compares with the others, the pace toward the data limit and how long the allowed hours still run.
- Send VPN clients' DNS to the LAN's DNS after its interceptors, so transparent proxies such as forkop also handle their lookups.
Install
Install or upgrade on the router (OpenWrt 24.10 with opkg, or 25.12 with apk):
sh -c "$(wget -qO- https://raw.githubusercontent.com/tickcount/luci-app-dawnline/main/install.sh)"Or update from LuCI → Services → Dawnline → Components.
Full Changelog: v0.16.3...v0.17.0
Dawnline v0.16.3
What’s new
- Move Dawnline to Services in LuCI and update links and documentation.
- Make activity messages clearer, including device renames and person-specific history.
- Prune redundant frontend tests.
Install
Install or upgrade on the router (OpenWrt 24.10 with opkg, or 25.12 with apk):
sh -c "$(wget -qO- https://raw.githubusercontent.com/tickcount/luci-app-dawnline/main/install.sh)"Or update from LuCI → Services → Dawnline → Components.
Full Changelog: v0.16.2...v0.16.3
Dawnline v0.16.2
What’s new
- The personal page switches to a renewed HTTPS certificate on its own: after ACME issues or renews one, the page restarts with it instead of serving the old certificate until Dawnline restarts
Install
Install or upgrade on the router (OpenWrt 24.10 with opkg, or 25.12 with apk):
sh -c "$(wget -qO- https://raw.githubusercontent.com/tickcount/luci-app-dawnline/main/install.sh)"Or update from LuCI → Network → Dawnline → Components.
Full Changelog: v0.16.1...v0.16.2
Dawnline v0.16.1
What’s new
- Checking one component for updates in Components no longer fails with "XHR request timed out": the check starts at once instead of keeping the page waiting twenty seconds
- On a router without curl, updates and the installer download release files through GitHub's API: GitHub's own download links can make OpenWrt's built-in downloader hang
- Adding a device in the admin offers the same four types as the personal page: PC, Mobile, Router and Other (phones and tablets are one choice)
Install
Install or upgrade on the router (OpenWrt 24.10 with opkg, or 25.12 with apk):
sh -c "$(wget -qO- https://raw.githubusercontent.com/tickcount/luci-app-dawnline/main/install.sh)"Or update from LuCI → Network → Dawnline → Components.
Full Changelog: v0.16.0...v0.16.1
Dawnline v0.16.0
What’s new
- The personal page loads faster and costs the router less: its script and styles come compressed, stay in the browser until the next update, and the icon comes with the page instead of a request of its own
- The page uses the system's own font (SF Pro on Apple devices, Segoe UI on Windows, Roboto on Android) instead of downloading one
- The top of the page shows the server's name alone, so it fits on a phone
- Text can be selected only where it is there to be copied (addresses, file names, the configuration), with the name field's own selection: a soft highlight with handles that glides after the pointer
- Sheets scroll without a scrollbar
- Red buttons (Remove) light up under the pointer, as the others do
- Demo: "Demo" and GitHub are one button; on a phone it floats at the bottom of the screen, and switching scenarios no longer makes the edge fades jump
Install
Install or upgrade on the router (OpenWrt 24.10 with opkg, or 25.12 with apk):
sh -c "$(wget -qO- https://raw.githubusercontent.com/tickcount/luci-app-dawnline/main/install.sh)"Or update from LuCI → Network → Dawnline → Components.
Full Changelog: v0.15.1...v0.16.0
Dawnline v0.15.1
What’s new
- Dropdowns (the ⋯ menu, the language picker, the page's QR card) open on a softer spring: they grow in without the wobble at the end
- Renaming a device on its card: the hint under the name and a refusal take the status's place as whole words, and after a save the status comes back the same way
- Cancelling a rename started while the status was still changing puts back what it said, not a mix of its old and new letters
Install
Install or upgrade on the router (OpenWrt 24.10 with opkg, or 25.12 with apk):
sh -c "$(wget -qO- https://raw.githubusercontent.com/tickcount/luci-app-dawnline/main/install.sh)"Or update from LuCI → Network → Dawnline → Components.
Full Changelog: v0.15.0...v0.15.1
Dawnline v0.15.0
What’s new
- The device menu (⋯) is an iOS-style menu on frosted glass: the copy actions show the address they copy, Rename, Reconnect and Remove sit under them, and one highlight glides from row to row
- The language picker shows flags; pick a language with a click, or press the pill and slide onto one. The flag and the code change in place
- The page's QR code opens as a small card under its button, with Copy link and Share
- All dropdowns look and behave the same: frosted glass, one open at a time, and a press outside, Escape or the button again closes them
- Setting a device up: when it can't finish connecting or connects but passes no data, the sheet keeps just the status and what it means. No data now says the router drops its traffic because the address doesn't match, and the device's card says "Connected, but no data" right away instead of "Connected"
- Setting a phone up from another device: Download and Copy for the connection sit on its row, next to the arrow
- On iPhone and iPad the caret shows as soon as a field is focused, the page no longer zooms on a pinch or a double tap, and sheets and their animations run smoother
- A press near the edge of a button or a card always counts, even as it shrinks under the pointer
- Animations settle without a jump at the end
- New green, orange and red
- The focus ring shows only while moving around with the keyboard
Install
Install or upgrade on the router (OpenWrt 24.10 with opkg, or 25.12 with apk):
sh -c "$(wget -qO- https://raw.githubusercontent.com/tickcount/luci-app-dawnline/main/install.sh)"Or update from LuCI → Network → Dawnline → Components.
Full Changelog: v0.14.1...v0.15.0
Dawnline v0.14.1
What’s new
- The updater started without a command, with one it doesn't know, or with an install of nothing prints its usage and exits. It no longer counts that as a failed update: nothing goes into the service log, Activity or the update history, and Components shows no failed job.
updater --helpprints the same usage
Install
Install or upgrade on the router (OpenWrt 24.10 with opkg, or 25.12 with apk):
sh -c "$(wget -qO- https://raw.githubusercontent.com/tickcount/luci-app-dawnline/main/install.sh)"Or update from LuCI → Network → Dawnline → Components.
Full Changelog: v0.14.0...v0.14.1
Dawnline v0.14.0
What’s new
- A device is renamed where its name stands on its card: a click on the name, Return or Space on it, or Rename in the ⋯ menu turns it into a field with the name selected. Return saves, and the words shimmer until the router answers. Esc or a click elsewhere puts the old name back. The rename window is gone, and the page no longer redraws under a name being edited
- Device names take up to 20 characters: letters of any language, digits, spaces and - _ . The router refuses anything else when a device is added or renamed, so a name can't carry symbols into configurations, file names or the AmneziaVPN key. The portal and the admin turn a character like that away as it is typed: the field shakes, its outline goes red and a short line says why. Suggested names (a phone's model, "Phone 2") are stripped of such characters and cut to fit. Names set before this stay as they are
- LAN Bypass: Add a device, in the portal and in the admin, has a switch that keeps the device's own local network (printer, TV, NAS) reachable while it is connected. It is off by default and stays as chosen; the admin's device drawer shows it. With home and internet access the switch says which addresses still lead to the home network
- Health warns when a server's home network is on one of the subnets home routers come with (192.168.0.x, 192.168.1.x and others). People with home access who connect from a network on the same addresses reach your home instead of their own, LAN Bypass or not
- The router tells when a device can't connect properly. After the problem lasts three minutes, the portal card and the admin drawer name it: can't finish connecting (the network may block it), connected but no data (an outdated configuration, and the card offers Reconnect), on two devices at once, or a connection that keeps dropping. Activity lists these under Problems, one line per device per hour, and says when the device connects normally again
- The set-up sheet's connection line follows what the device does: waiting, can't finish, connected, or connected but no data. The sheet closes by itself only once data comes through. On the device itself and for a router, the steps regroup to what fixes the problem: "Set it up again" when the handshake never finishes, "Add the connection again" ("Import the configuration again" for a router) when no data comes
- Set-up in the portal: a QR code too long for a camera to read gives its place to a code that opens the set-up link (a LAN Bypass configuration or a long AmneziaVPN key can be that long). A TV, box or NAS added from a phone gets the steps for setting up from another device. Back from "Open on the device" keeps the kind, LAN Bypass and the name typed. The packet-size note under the kinds is gone
- The portal on phones keeps its place: nothing jumps when an access row opens or folds, a notice comes or goes, or Safari redraws the cards. A reload, or coming back from the VPN app, opens where the page was. Cards glide to their new height, and an animation interrupted half-way goes on from where it is instead of snapping. A double click no longer closes the sheet it just opened
- In the admin, a device's drawer has its own MTU and keep-alive (empty means the server's), each with a Change dialog. A change touches only that device's configuration and restarts nothing on the router. Opening the drawer no longer counts as handing out the configuration: "Update config" stays until the new configuration is shown as a QR code, downloaded or copied ("Show the new configuration"). New keys set the device up again, as the portal's Reconnect does
- "Speed now" on a server's Overview is live: one point a second over the last two minutes, all there as soon as the Overview opens. The agent keeps those two minutes in memory and writes them out only while someone is looking
- Disguise values that AmneziaWG refuses or crashes on are stopped before they reach the kernel. That covers overlapping H1-H4, Jmin above Jmax, broken I1-I5 tags, padding under 12 with header protection, and more. Import and restore refuse them. After a hand edit in uci, the server's tunnel stays down and Health and the service log say why and what to do. Errors are full sentences in the reader's language
- The header protection key no longer shows in the status that read-only users can see: the Server page says only that the key is set, and each device's configuration still has it. The server no longer turns off WireGuard's protection against handshake floods (devices keep DisableCookies). A device can't be added with a server's own key
- An AmneziaWG update whose kernel module can't be swapped (another AmneziaWG interface holds the old one) no longer fails. It is installed, the tunnels come back on the old module, and Health and Components say the update starts after a reboot. On apk firmware, an install that apk left at the old version counts as failed. A module installed by hand is recorded, so after a firmware upgrade Health can tell that it is gone
- Dawnline reads only its own tunnels, each one separately. Another AmneziaWG interface on the router no longer slows the agent's once-a-second check, has its keys read or breaks Dawnline's reads. A portal request reads only that person's server: one process however many servers there are
- Fewer false disconnects: a tunnel that netifd sets up again no longer logs everyone as leaving and coming back, and a device with a long keep-alive stays online between handshakes. One configuration on two devices isn't logged as roaming every few seconds, and new keys end the old session at once. A tunnel that is missing devices is synced within a minute, and traffic across a tunnel restart is no longer undercounted
- Renaming a server no longer restarts its tunnel. If a tunnel's interface is edited outside Dawnline (LuCI, uci), the watchdog sets it up again with Dawnline's settings and names only the changed options. The routing rules for "Internet like a home device" change one at a time, new ones first, so traffic never falls between them. Health and the Server page warn when the address's AAAA record isn't this router's, or the router has no public IPv6: devices that prefer IPv6 fail to connect
- The README screenshots come in English and Russian; the portal's are taken from its demo. The demo has a switch beside × in the set-up sheet to show each state of the connection line. In Russian, long labels in the admin's wide option buttons wrap under their icon. DESIGN.md describes the switch, renaming on the card, the shimmer, the shake and how the portal scrolls. New tests cover link states, the meter, access, Health, firewall rules, network settings and packages
Install
Install or upgrade on the router (OpenWrt 24.10 with opkg, or 25.12 with apk):
sh -c "$(wget -qO- https://raw.githubusercontent.com/tickcount/luci-app-dawnline/main/install.sh)"Or update from LuCI → Network → Dawnline → Components.
Full Changelog: v0.13.0...v0.14.0