nakabonne/pbgopy
Copy and paste between devices
repo name | nakabonne/pbgopy |
repo link | https://github.com/nakabonne/pbgopy |
homepage | |
language | Go |
size (curr.) | 676 kB |
stars (curr.) | 485 |
created | 2020-11-25 |
license | MIT License |
pbgopy
pbgopy
acts like pbcopy/pbpaste but for multiple devices. It lets you share data across devices like you copy and paste.
Installation
Binary releases are available through here.
MacOS
brew install nakabonne/pbgopy/pbgopy
RHEL/CentOS
rpm -ivh https://github.com/nakabonne/pbgopy/releases/download/v0.2.0/pbgopy_0.2.0_linux_amd64.rpm
Debian/Ubuntu
wget https://github.com/nakabonne/pbgopy/releases/download/v0.2.0/pbgopy_0.2.0_linux_amd64.deb
apt install ./pbgopy_0.2.0_linux_amd64.deb
Arch Linux
AUR package is available: pbgopy
yay pbgopy
Go
go get github.com/nakabonne/pbgopy
Docker
docker run --rm nakabonne/pbgopy pbgopy help
Usage
First up, you start the pbgopy server which works as a shared clipboard for devices. It listens on port 9090 by default. You must allow access to this port for each device you want to share data with.
pbgopy serve
Populate the address of the host where the above process is running into the PBGOPY_SERVER
environment variable. Then put the data entered in STDIN into the server with:
export PBGOPY_SERVER=http://host.xz:9090
pbgopy copy <foo.png
Paste it on another device with:
export PBGOPY_SERVER=http://host.xz:9090
pbgopy paste >foo.png
End-to-end encryption
pbgopy
comes with a built-in ability to encrypt/decrypt with a common key, hence allows you to perform end-to-end encryption without working with external tools.
pbgopy copy -p your-password <secret.txt
Then decrypt with the same password:
pbgopy paste -p your-password
Authentication
You can perform a minimum of authentication via an HTTP Basic Authentication.
pbgopy serve -a user:pass
pbgopy copy -a user:pass <foo.png
pbgopy paste -a user:pass >foo.png
TTL
You can set TTL for the cache. Give 0s
for disabling it. Default is 24h
.
pbgopy serve --ttl 10m