HaveFun.cz

HaveClip


HaveClip is a peer-to-peer clipboard synchronization tool. Ctrl+C on one computer, Ctrl+V on another.

Clipboard is instantly synchronized across all your devices. It can handle all forms of text, images and even application-specific data.

HaveClip is multiplatform. Copy something in one OS, paste in another. Supports Windows, Linux, Mac OS X, Sailfish OS and coming to Android.

Screenshots

Download

Windows haveclip-desktop-0.13.0-win32.zip (sha1)
Mac OS X haveclip-desktop-0.14.0-mac.zip (sha1, info)
Android ARMv7: haveclip-android-0.15.0-dev-f38b5ff-armv7.apk (sha1)
x86: haveclip-android-0.15.0-dev-f38b5ff-x86.apk (sha1)
Sailfish OS ARMv7: harbour-haveclip-0.15.0-1.armv7hl.rpm (sha1)
x86: harbour-haveclip-0.15.0-1.i486.rpm (sha1)
Gentoo Linux Ebuild in a custom overlay
Arch Linux AUR
Source code haveclip-desktop-0.15.0.tar.gz (sha1)
haveclip-sailfish-0.15.0.tar.gz (sha1)

Release notes

Older versions

All sources and builds are at https://secure.havefun.cz/~aither/pub/releases/haveclip.

Public repositories are available at https://github.com/aither64:

Build requirements

Debian based distributions

# apt-get install g++ libqt4-dev libqt4-dev-bin libX11-dev libssl-dev make pkg-config

Fedora and other RPM based distributions

# yum install gcc-c++ qt-devel xorg-x11-proto-devel openssl-devel

Build

$ tar -xzf haveclip-desktop-0.15.0.tar.gz
$ cd haveclip-desktop-0.15.0
$ qmake  # (or qmake-qt4, qmake-qt5)
$ make

You should now have executable at bin/haveclip.

Installation

$ sudo make install

Usage

HaveClip runs in the background. There is no window when launched, only tray icon will show up.

Left-click on the tray icon will pop up a menu with clipboard history. Right-click triggers a menu with options. These two menus are merged in one in OS X.

First thing to do is to setup devices where the clipboard will be synced. Right-click on the tray icon and select Settings. Go to tab Devices. Devices in the list share the same clipboard. Click on the”Add” button and follow the verification process. Every two devices needs to be paired together, see the Example setup. As of now, HaveClip is usable only in a LAN or in a VPN when using IPv4.

If the verification process is successful, the clipboard will be synchronized between the two computers.

Example setup

Let’s say I have a PC, a notebook and a Jolla. I want to sync clipboards on them in my home network.

The devices have following IP addresses:

Device IP address
PC 192.168.2.10
Notebook 192.168.2.11
Jolla 192.168.2.12

Before pairing the devices, check that all of them have:

Using HaveClip without the encryption is discouraged.

HaveClip has a simple verification process (device pairing) that makes the configuration easier and safer at the same time.

The configuration:

  1. Pair PC and notebook (Settings -> Devices -> Add device on the PC)
  2. Pair PC and Jolla (Settings -> Devices -> Add device on the PC)
  3. Pair Notebook and Jolla (Settings -> Devices -> Add devices on the notebook)

In the device add dialog, you can search your local network and all computers running HaveClip in your network will show up. If that doesn’t work, type in the IP address and port manually.

To discover your IP addresses, on Linux run ip a or ifconfig in the terminal. On Windows or Mac look to network settings. On Jolla, do the same as on Linux if you have developer mode, or install application from Harbour that can show your IP address.

Security

If not configured otherwise, TLS is used for sending all data over network. Every HaveClip instance is identified by a self-signed certificate. The pairing process verifies certificates on both sides and remembers them. HaveClip ensures, that the clipboard will be sent and received only to/from authenticated peers (those listed in Devices with appropriate certificates).

If one does not use the encryption, literally everyone can change the content of the clipboard or receive it without the user’s knowledge.

Another factor to consider is the data from clipboard leaking unencrypted on permanent storage when history is saved to disk. This may pose a problem e.g. when you use password manager and copy&paste the password through clipboard and thus HaveClip.

Version compatibility table

Not all versions break backward compatibility, so it is possible to synchronize clipboard using different HaveClip versions, as is shown in the table below.

v0.12 v0.13 v0.14 v0.15
v0.12 yes no no no
v0.13 no yes yes yes
v0.14 no yes yes yes
v0.15 no yes yes yes

Legend:

Platforms

Sailfish OS

In order to sync clipboard from Sailfish to PC, one must bring HaveClip to foreground after copying text, or else HaveClip will not notice it. Sync from PC to Sailfish works as expected.

For Jolla to be auto-discovered by other devices, it must be active, meaning the screen must be turned on.

License

HaveClip is released under GNU/GPL.