Skip to content

koto-games/bufsy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bufsy

Bufsy — CLI-инструмент для безопасной синхронизации буфера обмена между устройствами по локальной сети.

Основные возможности

  • Синхронизация буфера обмена между устройствами по сети
  • Автоматическое копирование полученного текста в буфер обмена
  • Шифрование и дешифрование сообщений с помощью AES-GCM
  • Поддержка Wayland и X11 (Linux)

Установка

  1. Убедитесь, что у вас установлен Rust.
  2. Клонируйте репозиторий:
    git clone https://github.com/koto-games/bufsy.git
    cd bufsy
  3. Соберите проект:
    cargo build --release
  4. Исполняемый файл будет находиться в target/release/bufsy.

Сценарий: Синхронизация между ноутбуком и настольным ПК

Настройка Firewall

Bufsy использует порт 9296 (по умолчанию) для связи.

Linux (ufw):

sudo ufw allow 9296/tcp
sudo ufw reload

NixOS (firewall):

networking.firewall.allowedTCPPorts = [ 9296 ];

Устройство 1: Настольный ПК

1. Инициализация Bufsy (первый запуск)

bufsy init

Вы увидите:

✓ Bufsy initialized
✓ Configuration saved to ~/.config/bufsy/config.toml
✓ Encryption key generated

Узнайте ключ шифрования

bufsy key show

💡 Запомните или скопируйте этот ключ — он понадобится на втором устройстве!

2. Запуск сервиса Bufsy

bufsy run

Вывод:

192.168.1.100:9296 # Вывод показывает адрес, на котором сервис принимает соединения.

Команда bufsy run запускает локальный сервис, который только принимает входящие сообщения.

Устройство 2: Ноутбук

1. Инициализация Bufsy (первый запуск)

bufsy init

2. Установка ключа шифрования

bufsy key set 'key с Настольного ПК'

Вывод:

KEY "key с Настольного ПК"
Save key? (y/n): y

3. Запуск сервиса Bufsy

bufsy run

4. Проверка связи

Ноутбук

# с ноутбука
bufsy echo "Hello, world!" -i 'IP с Настольного ПК' # 'bufsy echo' отправляет тестовое сообщение. в буфер обмена
# или
# с Настольного ПК
bufsy echo "Hello, world!" -i 'IP с ноутбука'

Теперь в ~/.config/bufsy/config.toml есть connections

# ~/.config/bufsy/config.toml в ноутбуке
key = "Key"

[server]
host = "IP с ноутбука"
port = 9296

[[connections]]
host = "IP с Настольного ПК"
port = 9296

Теперь можно отправлять сообщения без указания -i.

5. Отправка буфера с ноутбука на Настольный ПК

bufsy send
# На Настольном ПК буфер обмена автоматически обновится!

Эта команда отправляет текущее содержимое буфера обмена на указанное устройство.

6. hyprland + bufsy

# ~/.config/hypr/hyprland.conf
bind=$mainMod, Y, exec, bufsy send

Безопасность

Bufsy использует современное шифрование (AES-GCM) для защиты передаваемых данных. Каждое сообщение шифруется с уникальным nonce. Аутентификация обеспечивается общим симметричным ключом.

Лицензия

Bufsy распространяется под лицензией MIT. Подробности см. в файле LICENSE.

About

Bufsy is a CLI tool for secure clipboard synchronization between devices over a local network.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors