CopySync

CopySync / Ways to connect

Run the server on your LAN

If your computers are on the same home or office network, you don't need a cloud server. Pick a computer that stays on, download and run one script, then enter the address it prints into CopySync on each computer.

On the same network you no longer need a server: install the app and pair; see the same network guide. This guide still helps when two subnets can't reach each other and traffic has to go through a computer both can reach.

  1. Before you start
  2. Install
  3. Check
  4. Set up the apps
  5. Questions

The server only introduces devices

Each computer stays connected to the server, which is how they find each other and exchange connection details. Once connected, what you copy goes straight between the two computers. Only when that fails does it pass through the server, still encrypted.

CopySync on a LAN On one LAN, a Mac and a Windows PC connect to the server at 192.168.1.20 for signaling. Copied content travels directly between the two computers, and through the server's TURN relay only if a direct connection fails. Your LAN: the same Wi‑Fi or wired network Server 192.168.1.20 Signaling, TCP 8787 Relay, UDP 3478, if direct fails Mac Running CopySync Windows Running CopySync Direct, end-to-end encrypted Content stays between the two computers Data (direct) Data (relay, fallback) Signaling
  • Signaling, TCP 8787. Every computer stays connected to it to find the others, pair and exchange connection details.
  • Direct. On a LAN, content almost always goes straight between the two computers, at the speed of your network.
  • Relay, UDP 3478. Only used when devices can't reach each other: guest networks, Wi‑Fi with client isolation, separate subnets.

Before you start

A computer that stays on
Windows 10 or 11, macOS 13 or later, or any Linux, including one of the two computers you sync. Sync pauses while it's off or asleep and resumes when it wakes. A NAS, home router or Mac mini is ideal; the server uses about 15 MB of RAM.
A fixed address
Reserve an address for it in your router's DHCP settings (often called DHCP reservation or static lease). Otherwise, when the router hands out a new address, every computer has to be updated.
The same network
Devices just need to be on the same Wi‑Fi or wired network. Guest networks and Wi‑Fi with client (AP) isolation block devices from reaching each other; use another network or turn isolation off.
No sync away from it
The server is only reachable on your LAN, so a laptop taken elsewhere catches up when it's back.

Install the server

Choose the system of the computer that will run the server. The script finds the computer's LAN address, sets the server to start automatically, and prints the address to enter in the apps.

Windows

  1. Download copysync-server-windows-amd64.zip and choose Extract All.
  2. Open the extracted folder and double-click install.cmd.If you see "Windows protected your PC", click More info, then Run anyway; when User Account Control asks, click Yes. The server isn't code-signed yet, which is why Windows asks once.
  3. Installation continues in a new window. The ws://…/signal address at the end is what you enter in the apps.
Download the Windows server
  • Runs as a Windows service: starts with Windows, no sign-in needed, no window. It appears as CopySync Server in Services.
  • Firewall already allowed: the script adds an inbound rule for copysync-server.exe only, so there are no ports to open.
  • Wrong address picked (several network adapters, say from a VM or VPN): type cmd in the address bar of the extracted folder, press Enter and run install.cmd 192.168.1.20 with your address.
  • Windows 10 and 11, x64.
For later
StatusGet-Service CopySyncServer in an administrator PowerShell, or find CopySync Server in Services
LogsC:\ProgramData\CopySync Server\server.log
RestartRestart-Service CopySyncServer in an administrator PowerShell
UpgradeDownload the new version, extract it and double-click install.cmd again; your settings are kept
UninstallDouble-click uninstall.cmd; it removes the service, the firewall rule and the files

macOS

  1. Open Terminal and run these lines:
    curl -LO https://github.com/baiyuze/copysync/releases/latest/download/copysync-server-macos.tar.gz
    tar xzf copysync-server-macos.tar.gz
    cd copysync-server-macos
    ./install.sh
  2. The ws://…/signal address at the end is what you enter in the apps.
  • No administrator rights needed. It runs in the background whenever you're logged in, and macOS restarts it if it exits.
  • Keep this Mac awake: in System Settings → Energy (Battery → Options on a laptop), turn on the option that prevents automatic sleep.
  • If the macOS firewall is on, the script ends with the command to allow copysync-server.
  • Intel and Apple silicon, macOS 13 or later.
For later
Logs~/Library/Logs/CopySync/server.log
Restartlaunchctl kickstart -k gui/$(id -u)/com.copysync.server
UpgradeDownload the new version, extract it and run ./install.sh again; your settings are kept
Uninstall./install.sh uninstall

Linux

  1. On the machine itself, or over ssh, run these lines:On ARM, such as a Raspberry Pi with a 64-bit OS, replace amd64 with arm64.
    curl -LO https://github.com/baiyuze/copysync/releases/latest/download/copysync-server-linux-amd64.tar.gz
    tar xzf copysync-server-linux-amd64.tar.gz
    cd copysync-server-linux-amd64
    sudo ./install.sh
  2. The ws://…/signal address at the end is what you enter in the apps.
  • Registers a systemd service that starts on boot. Needs root.
  • If ufw or firewalld is active, the script ends with the commands to open the ports.
  • Docker works too: copy env.example to .env, set TURN_IP to the machine's LAN address and run docker compose up -d. It needs host networking, so Linux only.
For later
Statussystemctl status copysync-server
Logsjournalctl -u copysync-server -f
Restartsudo systemctl restart copysync-server
Config/etc/copysync/server.env; restart the service after editing
UpgradeDownload the new version, extract it and run sudo ./install.sh again; your config is kept
Uninstallsudo ./install.sh uninstall

Check that other computers can reach it

On another computer, open http://192.168.1.20:8787/healthz in a browser (with your address). If you see this line, the network path works.

If it doesn't load, see the questions below.

Enter the address on each computer

  1. Open Settings

    Open CopySync on each computer, including the one running the server, and go to Settings.

  2. Enter the address

    Under Signaling server, enter ws://192.168.1.20:8787/signal with your address and press Return or Enter.

  3. Check the status

    When Connection shows a green Connected, you're set. Pair your devices under Devices and copying starts syncing.

CopySync Settings: the signaling server is ws://192.168.1.20:8787/signal and the connection status shows Connected

Haven't installed the app yet? See the quick start.

Questions

The status stays at Not connected

Check the address first: it starts with ws://, uses port 8787, ends in /signal, and you pressed Return after typing it.

Then open http://server-address:8787/healthz in a browser on that computer. If it doesn't load, the network path is broken: the server isn't running, its computer is asleep, a firewall blocks it, or its address changed.

The Windows script already allows the server through the firewall. On a Mac with the firewall on, run the command the script printed at the end; the same goes for ufw and firewalld on Linux.

Devices show Relay instead of Direct

On a LAN connections are almost always direct. Relay means UDP can't get between the two computers, usually because of a guest network, Wi‑Fi client isolation, or separate subnets with a firewall in between. Relayed content is still encrypted; it's just limited by the server computer's network.

The server's address changed

Run the script again with the new address: install.cmd new-address on Windows, ./install.sh new-address on a Mac. On Linux, edit -turn-ip in /etc/copysync/server.env and restart the service. Then update the address on each computer.

Reserving the address in your router avoids this.

Does it sync away from the LAN?

No, the server is only reachable on your LAN. To sync from other networks, use a public server or Tailscale.

The server computer also runs CopySync. Which address?

The same LAN address works, and so does ws://127.0.0.1:8787/signal. The server and the app don't interfere.

One computer that stays on is enough.

Version 1.6.4, free and open source. macOS 13 or later; Windows 10 and 11; Linux (x64 and ARM64).

Full server guide, including public servers and Docker