Getting Started

User Guide

Install the desktop app and Android companion, pair your phone, and use every feature.

1 Installation

Linux

Download the latest covelink-linux-amd64 binary from the Releases page, then:

chmod +x covelink-linux-amd64
sudo mv covelink-linux-amd64 /usr/local/bin/covelink
covelink

The web UI opens automatically at http://localhost:8486.

To run CoveLink at login as a systemd user service:

mkdir -p ~/.config/systemd/user
cp covelink.service ~/.config/systemd/user/
systemctl --user enable --now covelink

macOS

chmod +x covelink-macos
sudo mv covelink-macos /usr/local/bin/covelink
covelink

When macOS asks to allow incoming connections, click Allow. The web UI opens at http://localhost:8486.

To grant Accessibility permission for the trackpad feature: System Settings → Privacy & Security → Accessibility → enable CoveLink.

Windows

Download CoveLink-windows-amd64.exe from the Releases page and run it. CoveLink appears in the system tray - right-click the icon to open the web UI or quit.

Windows Firewall will prompt to allow incoming connections - click Allow access. If SmartScreen warns about an unknown publisher, click More info → Run anyway.

Closing the browser window does not stop CoveLink. It continues running in the system tray. Right-click the tray icon to reopen the UI or quit.

Android app

Install CoveLink.apk from the Releases page. When prompted, grant all requested permissions. The most important one is Notification access - without it, notifications will not mirror.

Grant Notification access manually: Settings → Apps → Special app access → Notification access → CoveLink.
Disable battery optimisation to keep the connection alive when the screen is off: Settings → Apps → CoveLink → Battery → Unrestricted. On Xiaomi/MIUI devices, also disable MIUI optimisations in Developer Options.

2 Pairing your phone

Both devices must be on the same Wi-Fi network. Guest networks, mobile data, and VPNs that isolate devices will not work.

1 Open Settings in the desktop UI

Click Settings in the sidebar. A QR code appears under Pair new phone.

2 Scan on Android

Open the CoveLink Android app, tap Pair desktop, and point the camera at the QR code.

3 Done

Your phone appears in the Phones tab within seconds. The connection is end-to-end encrypted - nothing leaves your local network.

The QR token expires after 5 minutes. Click ↻ Refresh QR in Settings if it expires before you scan. Each token can only be used once.

3 Firewall setup (Linux)

CoveLink needs TCP 52300 (hub) and UDP 44810 (discovery) open on the desktop. It tries to configure this automatically. If it fails, a ⚠ Firewall banner appears at the top of the UI - run the commands for your firewall:

ufw

sudo ufw allow 52300/tcp && sudo ufw allow 44810/udp

firewalld

sudo firewall-cmd --permanent --add-port=52300/tcp --add-port=44810/udp
sudo firewall-cmd --reload

nftables

sudo nft insert rule inet filter input tcp dport 52300 accept
sudo nft insert rule inet filter input udp dport 44810 accept

To persist across reboots add these rules to /etc/nftables.conf and run sudo systemctl enable --now nftables.

iptables

sudo iptables -I INPUT -p tcp --dport 52300 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 44810 -j ACCEPT
iptables rules are not persistent by default. Install iptables-persistent and run sudo netfilter-persistent save to keep them after reboot.

Once the ports are open, click I've fixed it in Settings → Firewall to dismiss the warning banner.


4 Features

Notifications

Every notification from your phone appears in the Notifications tab in real time. From there you can:

  • Reply inline - works with any app that exposes a reply action (WhatsApp, Telegram, Signal, Gmail, etc.).
  • Trigger action buttons - the same actions available in your phone's notification shade.
  • Dismiss - removes the notification from both desktop and phone.
  • Snooze - hides the notification for 5 min, 15 min, or 1 hour.

To mute all notifications from a specific phone temporarily, open the Phones tab and use the mute button on that phone's card.

Messages (SMS)

Read and reply to SMS conversations from the Messages tab. Conversations are listed on the left; click one to open the thread on the right.

Use the button in the reply box to insert a quick-reply template. Add templates in Settings → Quick Replies.

Phone calls

When your phone rings, a call banner appears at the top of the screen showing the caller's name and number. You can:

  • Answer the call from the desktop.
  • Decline and send it to voicemail.
  • Mute mic or toggle speakerphone during an active call.

Media control

The Media tab shows what is currently playing on your phone. Control playback (play, pause, skip forward/back) and adjust volume without switching windows or picking up your phone.

Clipboard

The Clipboard tab shows the most recent text copied on your phone. Click Copy to desktop to paste it on your computer.

To push text to your phone, type or paste into the Send to phone box and click → Send.

Enable Clipboard History in Settings to keep the last 20 received items - useful if you copy multiple things in quick succession. History is stored locally and opt-in.

Android 10+ restricts silent background clipboard reads. Sending from phone to desktop uses the Android share sheet: share any text to the CoveLink app to push it to your desktop.

Files

Desktop → Phone: drag a file onto the drop zone in the Files tab (max 50 MB). It saves to Downloads on your phone.

Phone → Desktop: share any file to CoveLink from the Android share sheet. It saves to ~/Downloads on your desktop and an Open button appears in the Files tab.

Find Phone

Click 🔔 Find on a phone's card in the Phones tab. The phone rings at full alarm volume, overriding silent mode and Do Not Disturb. Click Stop to cancel the ring remotely.

Multiple phones and desktops

You can pair multiple Android phones to the same desktop. When two or more phones are connected, a phone switcher appears in the sidebar - select a phone to scope the Notifications, Messages, Media, and Clipboard tabs to that device.

For multiple desktops, pair your phone with one primary desktop. Other desktops on the same LAN connect to the primary and receive relayed notifications and messages - no extra battery drain on the phone. The sidebar shows a relay badge: primary desktops show Relaying to N desktops; secondary desktops show Secondary - relayed via N peers.

Relay traffic stays entirely on your LAN. The primary desktop re-encrypts each relayed message before forwarding it to secondary desktops.

5 Phone as Trackpad

Use your phone screen as a wireless trackpad and keyboard for your desktop. Your phone must be connected and appear online in the Phones tab.

One-time setup - Linux

Add your user to the input group (needed to write to /dev/uinput), then log out and back in:

sudo usermod -aG input $USER

One-time setup - macOS

Grant Accessibility permission so CoveLink can inject pointer events: System Settings → Privacy & Security → Accessibility → enable CoveLink.

One-time setup - Windows

No extra setup required. SendInput works out of the box.

Using the trackpad

  1. Click 🕹 Trackpad on the phone card in the Phones tab.
  2. The CoveLink app on your phone opens the trackpad screen automatically.
  3. Tap or press Back to exit trackpad mode.

Gestures

  • One-finger drag - move pointer
  • Tap - left click
  • Two-finger drag - scroll
  • Left / Right click buttons (bottom bar) - explicit clicks

6 Troubleshooting

Phone can't connect

  • Both devices must be on the same Wi-Fi. Guest networks and mobile hotspots isolate devices and will not work.
  • Check that firewall ports are open (see Section 3 for Linux; on Windows, ensure CoveLink is allowed through Windows Firewall).
  • Some corporate/managed Wi-Fi networks block device-to-device communication.

Notifications not appearing

  • Check that Notification access is granted: Settings → Apps → Special app access → Notification access → CoveLink should be on.
  • Disable battery optimisation for CoveLink on Android to prevent the OS from killing the connection.

Trackpad not working

  • Linux: run groups in a terminal and confirm input is listed. If not, run sudo usermod -aG input $USER and log out/in.
  • macOS: confirm CoveLink has Accessibility permission in System Settings → Privacy & Security → Accessibility.

Connection keeps dropping

  • Disable battery optimisation for CoveLink on Android (Settings → Apps → CoveLink → Battery → Unrestricted).
  • On Xiaomi/MIUI devices, also disable MIUI optimisations in Developer Options.

Windows - SmartScreen / Firewall

  • If SmartScreen blocks the app, click More info → Run anyway.
  • When Windows Firewall prompts, click Allow access for both private and public networks.
  • If you dismissed the prompt, open Windows Security → Firewall → Allow an app through firewall and add CoveLink for TCP 52300 and UDP 44810.