Files
RedisClipSync/README.md

2.1 KiB
Raw Blame History

Redis Clipboard Sync

基于 Redis 的双向剪切板同步:主机将本地剪切板广播到从机,从机将本地剪切板上传到主机并按从机 ID 追加写入 TXT 文件。

构建

mvn clean package

target/ 下生成 redis-clip-sync.jar(已包含 Jedis 依赖,可直接运行)。

运行

确保工作目录包含 config.properties,或通过参数/系统属性指定配置路径:

java -jar target/redis-clip-sync.jar
# 或指定配置
java -jar target/redis-clip-sync.jar /path/to/config.properties
java -Dconfig=/path/to/config.properties -jar target/redis-clip-sync.jar

配置

  • config.properties:主配置,字段与 剪切板同步.md 一致。
  • config.master.properties.example:主机示例,复制为 config.properties 后修改。
  • config.slave.properties.example:从机示例,复制为 config.properties 后修改。

主机 (Master)

role=MASTER
redis.host=127.0.0.1
redis.port=6379
redis.password=

master.target.channels=machine_a,machine_b
master.save.dir=./clipboard_logs/

从机 (Slave)

role=SLAVE
redis.host=192.168.1.100
slave.listen.channel=machine_a
slave.id=192.168.1.50

slave.id 决定主机端生成的文件名(如 192.168.1.50.txt)。

目录结构

主机启动后会自动创建保存目录:

/
  - redis-clip-sync.jar
  - config.properties
  - clipboard_logs/        # 自动创建
      - 192.168.1.50.txt   # 从机 A 的记录
      - 192.168.1.51.txt   # 从机 B 的记录

功能验证

  1. 主机 → 从机:主机复制一段文字(如 "Hello Slave"),从机剪切板应自动更新为该内容,且从机不会把该内容再上传回主机(防回环)。
  2. 从机 → 主机:从机复制一段文字(如 "Password123"),主机会在 ./clipboard_logs/<slave.id>.txt 中追加一条带时间戳的记录,主机剪切板保持不变。

记录格式示例:

[2024-05-20 10:00:01]
Password123

------------------

依赖

  • Java 8+
  • Redis用于 Pub/Sub 与连接)
  • Maven 3.x仅构建时