https://github.com/thus/clipsync
Synchronize clipboards between multiple computers
https://github.com/thus/clipsync
clipboard libclipboard libsodium murmurhash3 sync
Last synced: 11 months ago
JSON representation
Synchronize clipboards between multiple computers
- Host: GitHub
- URL: https://github.com/thus/clipsync
- Owner: thus
- License: gpl-2.0
- Created: 2019-07-11T11:18:35.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-11-25T23:13:03.000Z (about 2 years ago)
- Last Synced: 2025-01-11T01:12:44.143Z (about 1 year ago)
- Topics: clipboard, libclipboard, libsodium, murmurhash3, sync
- Language: C
- Size: 76.2 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Clipsync
========
Synchronize clipboards between multiple computers using files on a remote
file system.
The clipboards are encrypted before written to files to enable use on
remote file systems shared by multiple users. This ensures that the
content of the clipboards, which may be passwords or other sensitive
data, is kept secret. It also ensures that no other users tampers with
the content of the clipboards.
```
USAGE: clipsync
Synchronize clipboards.
OPTIONS:
-d : synchronize using this directory
-l : log output to this file
-L : log level (debug/info/notice/warning/error)
-p : password used to encrypt clipboard data
-h : print this help
```
It is also possible to use the environment variable 'SYNC_PASSWORD' to
provide the encryption password to clipsync.
Disclaimer
----------
I don't actually use this project anymore, but it was a useful way of
syncing clipboards on air gapped systems with shared storage.
Installation
------------
Clipsync depends on libsodium for encryption/decryption:
```bash
$ apt install libsodium-dev
```
Cmake is used, so compile and install like this:
```bash
$ mkdir build
$ cmake ..
$ make
$ make install
```
Remote File Systems
-------------------
For clipsync to work, the remote file system must support atomic rename
(man 2 rename). The reason for this is that rename is used to share the
sync file between different instances of clipsync without locking.
The following remote file systems has been tested so far:
* NFS (works)
* CIFS version 3.0 (works) - could not get version 2.1 to work
* SSHFS (doesn't work) - not even with workaround=rename
Clipboard
---------
Clipsync uses libclipboard (https://github.com/jtanx/libclipboard) for
reading data from and writing data to the local clipboards.