https://github.com/labi-le/belphegor
Sharing the clipboard between your computers
https://github.com/labi-le/belphegor
clipboard clipboard-manager go shared-clipboard sway wayland
Last synced: about 2 months ago
JSON representation
Sharing the clipboard between your computers
- Host: GitHub
- URL: https://github.com/labi-le/belphegor
- Owner: labi-le
- License: mit
- Created: 2023-05-15T18:38:33.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-07T01:29:53.000Z (6 months ago)
- Last Synced: 2025-04-19T18:30:06.225Z (6 months ago)
- Topics: clipboard, clipboard-manager, go, shared-clipboard, sway, wayland
- Language: Go
- Homepage:
- Size: 918 KB
- Stars: 6
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# belphegor
Belphegor is a clipboard manager that allows you to share your clipboard with other devices on the network.\
![]()
___### Features
- Hybrid encryption (RSA-2048*, AES-256-GCM) (bit size configurable)
- Peer to peer
- Discovering local nodes
- Image sharing (`wayland` <—> `wayland`, `wayland` <—> `windows`)___
### Dependencies
- linux:
* wl-clipboard (wayland) | xclip or xsel (x11)
- macos:
* pbpaste
- windows:
* nothing### Installation
- [Prebuilt binaries](https://github.com/labi-le/belphegor/releases)
- Nix flake
as profile```sh
nix profile install github:labi-le/belphegor
```
import the module```nix
{
# inputs
belphegor.url = "github:labi-le/belphegor";
# outputs
overlay-belphegor = final: prev: {
belphegor = belphegor.packages.${system}.default;
};
modules = [
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-belphegor ]; })
];
# add package
environment.systemPackages = with pkgs; [
belphegor
];
}
```
#### Build from source
- Go 1.22
- git
- makefile```sh
git clone https://github.com/labi-le/belphegor.git
cd belphegor
sudo make install
```### Usage
```
Usage of belphegor:
--bit_size int RSA key bit size (default 2048)
-c, --connect string Address in ip:port format to connect to the node
-d, --debug Show debug logs
--discover_delay duration Delay between node discovery (default 5m0s)
-h, --help Show help
--hidden Hide console window (for windows user)
--keep_alive duration Interval for checking connections between nodes (default 1m0s)
--max_peers int Maximum number of peers to connect to (default 5)
--node_discover Find local nodes on the network and connect to them (default true)
--notify Enable notifications (default true)
-p, --port int Port to use. Default: random
--scan_delay duration Delay between scan local clipboard (default 2s)
-v, --version Show version
--write_timeout duration Write timeout (default 5s)
```### Autostart
sway```conf
exec belphegor
```
### Todo
[x] Create github actions for build binary and running tests
[x] Add flake
[ ] Debug image sharing for xclip, xsel, pbpaste
[ ] Use wayland/x11 ipc clients instead of using utilities to monitor the clipboard
[ ] Add disable cipher option (maybe)