A multi device clipboard sharing over P2P network.
- Share text/image clipboard data (Done) - user can share clipboard data with other devices.
- P2P connection (Done) - the device will connect to others using the P2P connection.
- Multicast DNS (Done) - discover a device in the same network with multicast DNS.
- E2E encryption (Done) - encrypt the clipboard data using OpenPGP.
- Terminal GUI (Done) - terminal user interface for the end user.
- Cross-platform desktop (Done) - support Windows, Linux, and Darwin (macOS).
- Cross-platform mobile (Ongoing) - support iOS and Android.
brew tap ntsd/cross-clipboard
brew install cross-clipboard
Download from the release page https://github.com/ntsd/cross-clipboard/releases.
for Go user you can just install using go package
Required: Go 1.23 or above
go install github.com/ntsd/cross-clipboard@latest
for headless linux you might need to install xvfb
.
# install libx11-dev abd Xvfb
sudo apt install -y libx11-dev xvfb
# initialize a virtual frame buffer (can put in .profile)
Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
export DISPLAY=:99.0
UI mode
cross-clipboard
Terminal mode
cross-clipboard -t
git clone https://github.com/ntsd/cross-clipboard
go run main.go
go build .
-
Install NDK >=21.3.6528147
-
Install Go mobile
go install golang.org/x/mobile/cmd/gomobile@latest
gomobile build mobile/...
Generate a protobuf go file using protoc
protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative data.proto