Files
RedisClipSync/README.md

85 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Redis Clipboard Sync
基于 Redis 的双向剪切板同步:主机将本地剪切板广播到从机,从机将本地剪切板上传到主机并按从机 ID 追加写入 TXT 文件。
## 构建
```bash
mvn clean package
```
`target/` 下生成 `redis-clip-sync.jar`(已包含 Jedis 依赖,可直接运行)。
## 运行
确保工作目录包含 `config.properties`,或通过参数/系统属性指定配置路径:
```bash
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)
```properties
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)
```properties
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仅构建时