Getting Started

User Guide

From download to your first synced folder in a few minutes.

Install CoveSync

Download the binary for your platform from the releases page. No installer required on Linux — just a single executable.

1 Linux

Download covesync-linux-amd64, make it executable, and move it to your PATH:

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

2 Windows

Run the CoveSync-Setup.exe installer. CoveSync will be added to your Start menu and configured to run as a Windows Service automatically.

3 macOS

Download the .dmg, open it, and drag CoveSync to Applications. On first launch, macOS may ask you to allow it in System Settings → Privacy & Security.

First launch

1 Start the daemon

On Linux, run covesync in a terminal. On Windows and macOS the service starts automatically after installation.

covesync

You'll see a line like:

CoveSync started. Web UI: http://localhost:8485

2 Open the web UI

Open http://localhost:8485 in your browser (this is the default port — you can change it in ⚙️ Settings). The web UI will load without any certificate warning.

The web UI is only accessible from the same machine. It is not reachable from other devices on your network.

Add a peer

Both devices must be on the same network (same WiFi or LAN) and both must be running CoveSync.

Windows users: peer discovery requires the network profile to be set to Private. Go to Settings → Network & Internet → [your connection] → Network profile and select Private. If it's set to Public, peers will not appear and trust pairing will fail. CoveSync shows a warning in the Network Status card when a public interface is detected.

1 Go to the Peers tab

Open the web UI on Device A and click Peers. You should see Device B listed as a discovered device within a few seconds.

2 Enter Device B's code

Click Trust on Device B's entry. A modal opens showing your own code and asking for Device B's code.

On Device B's web UI, go to Settings → Security and note the 6-digit trust code. Type it into the modal on Device A and click Establish Trust.

Device A will now show an Awaiting their trust badge next to Device B until Device B completes their side.

3 Device B enters Device A's code

On Device B, click Trust next to Device A. Enter Device A's 6-digit code (shown in Device A's Settings → Security) and click Establish Trust. Both devices now show a Trusted badge.

If Device B missed the prompt, click the Awaiting their trust badge on Device A — a dialog shows your current code so you can read it to the other person.

Share a folder

1 Go to Folders on Device A

Click FoldersAdd Folder. Browse to the folder you want to sync, give it a label, and click Add.

2 Share with a peer

In the folder settings, click Share with peer and select Device B from the list. An invitation will appear on Device B.

Accept a share

1 Go to Folders on Device B

Click Folders. A pending share invitation from Device A will appear at the top. Click Accept.

2 Choose a local path

Browse to where you want the folder to sync on Device B. You can create a new folder here if needed. Click Confirm.

CoveSync will begin syncing immediately. The first sync downloads all existing files from Device A.

Android companion app

Note: The Android app requires at least one PC running CoveSync on the same network. Two Android devices cannot sync with each other directly.

1 Install and open the app

Install CoveSync from the Google Play Store. Open the app — it will begin discovering devices on your network automatically.

2 Trust your PC

Your PC should appear in the app's Peers list. Tap it, verify the fingerprint matches your PC's web UI → Settings fingerprint, then tap Trust.

Accept the incoming trust request on your PC's web UI.

3 Share a folder to Android

On your PC's web UI, go to a synced folder → Share with peer → select your Android device. Accept the share invitation in the Android app and choose a local folder.

Large file limit: The Android app skips files that exceed a configurable per-file size limit (default: 500 MB). Skipped files are logged but not deleted from the host — they stay available on your PC. To change the limit, go to Settings → Sync Limits in the app and tap Max file size.

Run CoveSync on startup

1 Linux — systemd user service

covesync systemd-install
systemctl --user enable --now covesync

CoveSync will start automatically when you log in, without requiring root.

2 macOS — launchd

covesync launchd-install

This installs a LaunchAgent that starts CoveSync at login.

3 Windows

The Windows installer configures CoveSync as a Windows Service automatically. No extra steps needed.

Browse & open files

Click Browse next to any synced folder to open the folder browser. It shows the files and subfolders inside the synced directory.

📂 Double-click to open a file

Files whose extension is in the openable list (images, PDFs, documents, audio, video, and more) show a pointer cursor. Double-click one to open it in the default application on your computer — just like double-clicking in your file manager.

To customise which extensions are openable, go to ⚙️ Settings → File Browser, edit the comma-separated list, and click Save.

View what synced

Click History next to any folder to see a full log of sync events for that folder — newest first.

Each entry shows the file path, the action (created, modified, deleted, or conflict backup), file size, a partial hash, the modification time, and which peer it came from.

🔍 Filter the history

Type any text into the Filter box and press Enter (or click Filter) to search across file paths and peer names. The pager updates to show only matching events. Click Clear to go back to the full log.

Send clipboard to a peer

Copy text on one device and send it to any trusted peer on your LAN in one click. Content is delivered directly — nothing is stored, nothing logged to the cloud.

1 Copy some text

Copy text to your clipboard as you normally would (Ctrl+C / Cmd+C).

2 Select a peer and click Send

At the top of the right column in the web UI, select a peer from the Send Clipboard dropdown and click Send.

On first use, your browser may show a permission prompt: "Allow [site] to read your clipboard?" or "Allow to paste from clipboard?" — click Allow. This only appears once. After granting, Send works with a single click.

The status line shows ↑ Sent to [peer] · HH:MM on success.

3 Receiving

The receiving peer's web UI polls for incoming content every 3 seconds. When content arrives it is written directly to the system clipboard and the status shows ↓ Received from [peer] · HH:MM.

If the tab isn't focused when content arrives, the status will say ↓ From [peer] · tap to copy — click the status line to copy manually.

Clipboard blocked? Always open the UI via http://localhost:8485. Accessing via an IP address disables clipboard access (the browser's Clipboard API requires a secure context). If you clicked Don't Allow on the permission prompt, clear the site permission in your browser settings and try again.

Sync filters (ignore patterns)

CoveSync can skip files that match a list of glob patterns — useful for excluding OS metadata, editor temp files, and other noise you never want to sync.

Open ⚙️ Settings → Sync Filters. The textarea lists one pattern per line. Edit the list and click Save. Changes take effect on the next sync cycle.

📋 Default patterns

These six patterns are active out of the box:

.DS_Store
Thumbs.db
desktop.ini
*.tmp
*.temp
~$*

They cover macOS desktop metadata, Windows thumbnail and display caches, generic temp files, and Microsoft Office lock files (e.g. ~$report.docx).

✏️ Pattern syntax

Patterns use Go's filepath.Match glob syntax and are always matched case-insensitively:

  • *.tmp — any filename ending in .tmp
  • ~$* — any filename starting with ~$
  • .DS_Store — an exact filename match
  • build.log — matches build.log anywhere in the folder tree

Patterns match against the filename only, not the full path. To exclude an entire directory, move it outside the synced folder instead.

Per-device setting: each device maintains its own ignore list independently. A pattern on your laptop does not affect which files a peer chooses to sync.

Restoring defaults: if you clear all patterns and want the defaults back, re-enter: .DS_Store, Thumbs.db, desktop.ini, *.tmp, *.temp, ~$*.

Platform compatibility

What CoveSync syncs

CoveSync syncs file content and last-modified timestamps only. The following are silently dropped:

  • Extended attributes — macOS Finder tags, resource forks, and xattrs; Linux xattrs; Windows Alternate Data Streams (ADS)
  • Symlinks — symbolic links are skipped entirely. Only the real files they point to (if inside the folder) are synced.
  • File permissions — UNIX mode bits, ownership, and ACLs are not preserved.

macOS aliases and Windows .lnk shortcuts are regular data files from the filesystem's perspective and are synced, though they may not resolve correctly if the target path differs on the receiving device.

Windows filename restrictions

Windows prohibits certain filenames that are valid on Linux and macOS:

  • Names containing a colon — e.g. meeting: notes.txt
  • Names ending in a space or period — e.g. draft or file.
  • Reserved device namesCON, PRN, AUX, NUL, COM1COM9, LPT1LPT9

Files with these names will silently fail to sync on Windows peers. The error is recorded in the daemon log (look for WARN pull) but is not shown as a UI error. The file remains intact on all non-Windows devices.

Recommendation: avoid these naming conventions in any folder shared with Windows peers.

Case sensitivity (Linux ↔ macOS / Windows)

Linux filesystems are case-sensitiveReadme.txt and readme.txt are two distinct files. macOS and Windows treat them as the same file.

If a Linux host contains two files whose names differ only in case, both are synced, but on a macOS or Windows peer they will collide — the second to arrive overwrites the first with no warning.

Recommendation: do not use same-name-different-case files in folders shared with macOS or Windows peers.

Files locked by another process (Windows)

On Linux and macOS CoveSync can read files that are open by another application. On Windows, exclusively-locked files (e.g. a .pst archive open in Outlook) cannot be read — CoveSync skips them silently and retries on the next sync cycle. A WARN cannot hash line appears in the daemon log.

Microsoft Office lock files (~$*.docx, etc.) are excluded by the default sync filter and are never transferred.

Unicode filenames including emoji, Chinese, Arabic, and accented characters are fully supported on all platforms. No configuration required.

Restart the daemon

If the daemon appears stuck or unresponsive, open ⚙️ Settings → Maintenance and click Restart Daemon.

The UI shows a reconnecting spinner while the process restarts and reloads automatically once the daemon is back online.

Note: The restart relies on a service manager bringing the process back. On Linux this requires the systemd user service to be set up. On macOS it requires the launchd agent. On Windows it requires the Windows Service installed by the installer. If you started the daemon manually from a terminal, the restart button will stop it but it will not come back automatically.