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 and Sailfish OS.

Screenshots

Packages and executables

Windows

haveclip-desktop-0.13.0-win32.zip

Mac OS X

haveclip-desktop-0.13.0-mac.zip

Sailfish OS (Jolla)

Available in Harbour.

Others

Build HaveClip from source.

Release notes

Build requirements

Debian based distributions

# apt-get install g++ libqt4-dev libqt4-dev-bin libX11-dev make pkg-config libqca2-dev libqca2-plugin-ossl

Fedora and other RPM based distributions

# yum install gcc-c++ qt-devel xorg-x11-proto-devel qca2-devel qca-ossl

Download source code

Released versions available at https://sourceforge.net/projects/haveclip/files/.

Public repositories:

Build

$ tar -xzf haveclip-desktop-0.13.0-src.tar.gz
$ cd haveclip-desktop-0.13.0-src
$ qmake (or qmake-qt4)
$ make

You should now have executable at bin/haveclip and a library at haveclip-core/bin/libhaveclipcore.so.1.

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 Pool, click on “Add” button and follow the verification process. See the Example setup.

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

Please remember, that for HaveClip to work properly, the same kind of encryption has to be used and all computers should have unique private key and certificate, which they will have in default configuration.

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 -> Pool -> Add node on the PC)
  2. Pair PC and Jolla (Settings -> Pool -> Add node on the PC)
  3. Pair Notebook and Jolla (Settings -> Pool -> Add node on the notebook)

In the node 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.

Sailfish OS (Jolla)

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.

Security

It is strongly recommended to use the encryption and have unique private key and certificate on every computer. HaveClip then ensures, that the clipboard will be sent and received only to/from authenticated peers (those listed in Pool with appropriate certificates) and that the transfer will be encrypted.

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

License

HaveClip is released under GNU/GPL.