DawnVPN Install Guide for AI Agents
Audience: AI agents (coding assistants, desktop assistants, etc.) installing DawnVPN on a device on behalf of a human user. Items marked TODO are unverified: stop and ask the human. Machine-readable version: /agent-install.json.
0. Safety rules (MUST)
- Only download from
tinystone.us/www.tinystone.us/client.tinystone.usor the Apple App Store. Never from mirrors, forums, or chat attachments. - Always verify SHA256 against the live meta/manifest below; on mismatch delete the file and stop.
- Do not hardcode hashes; read them live every time from:
- Windows / Android links / Apple links:
https://client.tinystone.us/api/public/win/meta - Router gw program:
https://client.tinystone.us/api/public/gw/meta - Firmware, Android APK, MiFi tools, router packs:
https://www.tinystone.us/downloads/manifest.json(each file also has a.sha256file with the same name)
- Windows / Android links / Apple links:
- Ask the human for explicit consent before flashing firmware, rooting a device, or changing router/network settings (LAN IP, Wi-Fi, firewall, gateway, DNS).
- Account email/password: let the user type it into the app. If the user tells you to enter it, use it once for this login only and never write it to files, logs, scripts, shell history or memory.
- Announce the plan to the human first; after installing, report the version and the verification result.
1. Windows
- Prereqs: Windows 10/11 x64, administrator rights (needed to install the TUN driver). TODO: confirm the minimum OS version.
- Download:
https://client.tinystone.us/api/public/win/latest?kind=setup(orhttps://tinystone.us/download/windows/DawnVPN-Setup.exe). Current: 1.1.22, see win/metabuilds.setup. - Verify (PowerShell):
$m = Invoke-RestMethod https://client.tinystone.us/api/public/win/meta
Invoke-WebRequest "https://client.tinystone.us$($m.builds.setup.download)" -OutFile "$env:TEMP\DawnVPN-Setup.exe"
$h = (Get-FileHash "$env:TEMP\DawnVPN-Setup.exe" -Algorithm SHA256).Hash.ToLower()
if ($h -ne $m.builds.setup.sha256) { Remove-Item "$env:TEMP\DawnVPN-Setup.exe"; throw "SHA256 mismatch" }
- Install: run the installer and follow the wizard (the user confirms the UAC prompt). TODO: silent install flags are unverified; do not guess flags such as
/S. - Log in: open DawnVPN, the user enters the account email and password, picks a node and connects.
- Verify: the app shows connected; open
https://ifconfig.meor similar in a browser and check the public IP changed. - Uninstall: Settings > Apps > DawnVPN > Uninstall.
- Troubleshoot: antivirus blocks the TUN driver: ask the user to allow it. Connection fails: quit and reopen, try another node. Still failing: ask the user to contact support.
2. Android (phone / Android TV)
- Prereqs: an Android phone; "Install unknown apps" allowed (the user turns it on in Settings).
- Download:
https://www.tinystone.us/downloads/latest/android/apkorhttps://tinystone.us/download/android/DawnVPN.apk. Current: 1.2.2; SHA256 is in manifest.json under the file entry ofid: android. - Verify and install (computer + adb):
curl -fLo DawnVPN.apk https://tinystone.us/download/android/DawnVPN.apk curl -fs https://www.tinystone.us/downloads/manifest.json | python3 -c "import json,sys;print([f['sha256'] for p in json.load(sys.stdin)['products'] if p['id']=='android' for f in p['files']][0])" sha256sum DawnVPN.apk # must match adb install -r DawnVPN.apk
Installing on the phone itself: download in the browser and tap to install (if you cannot verify the hash, tell the user).
- Log in: open DawnVPN, the user enters email and password, connect, allow the system VPN permission prompt.
- Verify: a key icon appears in the status bar and the public IP changes.
- Uninstall:
adb uninstall <package>(TODO: package name unverified; find it withadb shell pm list packages | grep -i -e dawn -e quic -e tinystone) or uninstall from system Settings. - Android TV: same APK as the phone, but 1.2.2 has remote-control issues on TV; the 1.2.3 fix is pending release. Do not install on TV before 1.2.3 is live; an empty Android TV link on the website means it is not released.
3. MiFi (DawnVPN portable Wi-Fi, model M3A)
- About:
m3a-suin the manifest is the root helper for the M3A MiFi (arm64-v8a). It is installed automatically by the Windows setup tool, only works on unlocked M3A devices, and only the DawnVPN app may use it. - Recommended flow: install DawnVPN on a Windows PC (section 1), connect the M3A over USB, and use the MiFi install feature in the Windows client. TODO: menu names and steps unverified.
- Do not push
sumanually or root the device unless the human explicitly asks and understands the risk. Manual verification URL:https://www.tinystone.us/downloads/latest/m3a-su/su, SHA256 in manifestid: m3a-su. - TODO: the download URL of the MiFi-specific APK (mifi flavor) is not public; the login method and user steps for the admin page (port 17890) are unverified.
4. Router (OpenWrt)
Recommended model: Cudy TR3000 256MB v1 (board cudy,tr3000-256mb-v1).
| Model | uname -m | OpenWrt | Pack |
|---|---|---|---|
| Cudy TR3000 | aarch64 | 24.10.5 (opkg) | quicvpn-tr3000-openwrt-24.10.5-20261028-ffd8045b.tar.gz |
| Cudy TR3000 | aarch64 | 25.12.6 (apk) | quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b.tar.gz |
| Redmi AC2100 | mips (mipsel_24kc) | 23.05.5 (opkg) | quicvpn-ac2100-openwrt-23.05.5-20261028-ffd8045b.tar.gz |
Download base URL (currently available): https://tinystone.us/download/router/<tr3000|ac2100>/pack/20261028-ffd8045b/<pack>, with a .sha256 file of the same name.
(TODO: router pack entries in manifest.json and the /downloads/router/... URLs are not live yet; once live, the manifest is authoritative.)
Steps:
- Ask the human first: confirm the model, whether it already runs OpenWrt, and that you may modify the router.
- Identify:
ssh [email protected] 'cat /tmp/sysinfo/board_name; uname -m; cat /etc/openwrt_release'(AC2100 is often192.168.2.1, possibly192.168.1.1). - Not OpenWrt: flashing is required. You must get the human's consent. TR3000 images (Cudy 2.5.21 to OpenWrt 24.10.5) are in manifest
id: tr3000(recovery.bin / sysupgrade-intermediate.bin / openwrt-sysupgrade.bin); flash following the official OpenWrt docs at https://openwrt.org/docs/ . - Download and verify:
P=quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b # pick from the table above U=https://tinystone.us/download/router/tr3000/pack/20261028-ffd8045b curl -fLO $U/$P.tar.gz && curl -fLO $U/$P.tar.gz.sha256 && sha256sum -c $P.tar.gz.sha256 tar xzf $P.tar.gz # contains MANIFEST.json / SHA256SUMS.json
- Upload (dropbear has no SFTP,
scp -Ois required):scp -O -r $P [email protected]:/tmp/qvpack - On the router, copy the files for your model and run
sh /tmp/install_quicvpn.sh; the last line should beINSTALL_TR3000_DONE/INSTALL_AC2100_DONE. The exact copy commands are in the website router install guide (router section of/install). The program installs to/opt/quicvpn, with servicesquicvpn-gwandquicvpn-sni, and disablesuhttpd.- Alternatively use the one-click router install in the Windows client (detects the model, uploads, verifies).
- Verify: on the router
curl -s http://127.0.0.1/api/discoverreturns a response; open the admin pagehttp://192.168.8.1/in a computer browser, the user logs in with email and password and connects.
- Uninstall: TODO (no uninstall script found). At minimum
/etc/init.d/quicvpn-gw stop; /etc/init.d/quicvpn-gw disable(same for quicvpn-sni), and restoreuhttpd; ask the human first. - Troubleshoot: on an architecture mismatch the script exits immediately: use the matching pack. The AC2100 may run out of flash space (TODO: verify). On 25.12, if kernel modules are missing the script runs
apk addonline, so the router needs internet access. - The older standalone gw program (1.1.21) is listed in gw/meta; usually no separate download is needed.
5. Linux (CentOS/RHEL LAN gateway)
- About: the repo has
quicvpn-linux-gw: host-wide VPN (TUNquicvpn0) + nftables NAT shared to the LAN + web admin pagehttp://HOST:8088/, systemd servicequicvpn-linux-gw. - TODO: the website has no prebuilt Linux download yet (
/api/public/linux/metareturns 404). Currently it must be built from source withcargo build -p quicvpn-linux-gw --release, then rundeploy/linux-gw/install-linux-gw.sh(needs root). Whether the source is public and the official download URL are undecided; agents must stop here and tell the human. - Log in: open
http://<host IP>:8088/in a browser, the user enters email and password, picks a node and connects. - LAN sharing (ask the human before changing the network): set other devices' gateway to this host's IP, DNS
1.1.1.1; optional env varsQUICVPN_LAN_CIDR,QUICVPN_LAN_IF. - Verify / troubleshoot:
systemctl status quicvpn-linux-gw;journalctl -u quicvpn-linux-gw -f. - Uninstall:
systemctl disable --now quicvpn-linux-gw, then remove the service file and program (TODO: install paths unverified).
6. Apple (iPhone/iPad, Mac, Apple TV)
App Store only, no installer packages:
- iPhone/iPad: https://apps.apple.com/app/id1518181400
- Mac: https://apps.apple.com/app/id6816577177 (not available in the China storefront)
- Apple TV: https://apps.apple.com/app/id6816577135