Installation
Choose the parts of WakeLink you need: Android client, ESP32 firmware, CLI tooling, or a full self-hosted relay deployment.
Android App
Note
Requirements:
- Android 7.0 (API 24) or higher
- Internet connectivity (mobile data or WiFi)
- ~12 MB free storage
1 Download APK
Visit the Downloads page on your Android agent and tap Download APK. Wait for the download to complete. Download APK
2 Enable installation from unknown sources
Open your file manager and locate the downloaded
wakelink.apk. Tap the file — Android will prompt you to allow installation from unknown sources. Go to Settings → Security → Install Unknown Apps, enable it for your browser or file manager. 3 Install and launch
Return to the file manager and tap Install. Once installed, open WakeLink from your app drawer, tap Sign In or Create Account, grant network permissions, and your registered agents will appear on the home screen.
Note
First Launch Tip: Make sure to grant network permissions when prompted — the app needs internet access to communicate with WakeLink agents.
Build from Source
Build the Android app yourself from the public repository.
1 Install prerequisites
- Android Studio (latest stable)
- JDK 17 or higher
- Android SDK with API level 26+
2 Clone and build
git clone https://git.deadboizxc.org/wakelink/android.git
cd android
# Build release APK
./gradlew assembleRelease
# APK output: app/build/outputs/apk/release/3 Install on agent
# Via ADB
adb install app/build/outputs/apk/release/app-release.apkNote
You will need to sign the APK with your own keystore for distribution. See the Android developer documentation for signing instructions.
ESP32 Firmware
Note
Prerequisites:
- Python 3.7+ — Download Python
- esptool — installed via pip (see below)
- USB cable (Micro-USB or USB-C depending on your board)
- Supported board: ESP32-WROOM-32, ESP32-DevKitC, NodeMCU-32S, or similar
1 Install esptool
pip install esptool
# Confirm the install
esptool.py version
# Expected: esptool.py v4.x.x2 Download firmware
Grab the latest
wakelink-esp32.bin from the Downloads page. 3 Erase and flash
# Step 1: Erase existing flash (recommended for clean install)
esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
# Step 2: Flash the WakeLink firmware
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 \
write_flash 0x0 wakelink-esp32.bin
# Windows users — replace /dev/ttyUSB0 with your COM port, e.g.:
esptool.py --chip esp32 --port COM3 --baud 460800 \
write_flash 0x0 wakelink-esp32.binWarning
If flashing fails, hold the BOOT button on the ESP32 while running the flash command, releasing it once output begins.
Note
After a successful flash, the ESP32 reboots and broadcasts a
WakeLink-Setup-XXXX WiFi hotspot for initial configuration. See First Agent Setup for the next steps. Self-Hosted Server
Run your own WakeLink backend instead of using the hosted cloud service. Requires a server or VPS reachable from the internet.
Note
Requirements:
- Python 3.10+
- Git
- A publicly reachable server (VPS, home server with port forwarding, etc.)
- Optional: PostgreSQL or SQLite (SQLite used by default)
Pre-built Binary (Python/uvicorn)
1 Clone and install
git clone https://git.deadboizxc.org/wakelink/relay-ce.git
cd relay-ce
# Create a virtual environment
source .venv/bin/activate # Linux / macOS
# .venv\\Scripts\\activate.bat # Windows
pip install -r requirements.txt2 Configure environment
cp .env.example .env
# Edit .env with your settings:
WAKELINK_SECRET_KEY=your-secret-key-here
WAKELINK_DATABASE_URL=sqlite:///./wakelink.db
WAKELINK_REDIS_URL=redis://redis:***@wakelink-postgres:5432/wakelink3 Launch services
# Run the deployer (clones all service repos and starts containers)
./install.sh
# Check relay server logs
docker logs -f wakelink-relay
# Verify all services are running
docker psNote
See the Self-Hosted guide for full SSL/TLS, database, and security configuration.
CLI Tool
The WakeLink CLI lets you manage agent entries and send commands from the terminal.
1 Install
pipx install wakelink-cli
# or
pip install wakelink-cli
wakelink --help2 Register an agent
# Local TCP agent
wakelink add desk --ip 192.168.1.50 --token "$AGENT_TOKEN"
# Cloud relay entry
wakelink register esp32-cloud \
--token "$AGENT_TOKEN" \
--mode cloud \
--api-url https://wakelink-project.org/api/v13 Run commands
wakelink list
wakelink ping desk
wakelink info desk
wakelink wake desk AA:BB:CC:DD:EE:FF4 Use account commands (optional)
export WAKELINK_SERVER=https://wakelink-project.org
export WAKELINK_TOKEN=wl_xxxxxxxxxxxxxxxxxxxx
wakelink account info
wakelink account telegram-link