📜  项目理念 |同步间谍(1)

📅  最后修改于: 2023-12-03 15:28:54.322000             🧑  作者: Mango

项目理念 | 同步间谍

简介

"同步间谍"是一款用于实时同步用户在不同设备上的剪贴板信息的软件。用户无需手动复制和粘贴,只需将剪贴板内容复制一份,在其他设备上即可自动粘贴。该软件在提高用户生产力的同时也保证了数据安全,所有剪贴板信息加密存储。

技术栈
  • Electron:跨平台桌面应用开发框架,基于 Chromium 和 Node.js。
  • React:Facebook 开源的前端框架,用于构建用户界面。
  • Redux:Javascript 状态容器,用于管理应用的所有状态。
  • Socket.IO:实现服务器和客户端之间的双向通信。
  • SQLite:轻型数据库管理系统,用于剪贴板信息的存储。
运行流程
  1. 用户在设备 A 上复制一份剪贴板内容。
  2. 客户端应用检测到剪贴板内容更新,将其加密后发送给服务器。
  3. 服务器解密信息后,将其存储在 SQLite 数据库中,同时将信息发送给所有在线的客户端。
  4. 其他设备上运行的客户端应用接收到信息后,将其解密后自动粘贴到剪贴板。
代码片段
const socket = io('http://localhost:3000');

// 监听客户端连接事件
socket.on('connect', () => {
  console.log(`Connected to server with ID ${socket.id}`);
});

// 监听剪贴板更新事件
clipboardWatcher.on('change', async () => {
  const clipboardText = clipboard.readText();
  const encryptedText = encryptText(clipboardText);
  socket.emit('clipboardUpdate', encryptedText);
});

// 监听服务器发送的剪贴板更新事件
socket.on('clipboardUpdate', async (encryptedText) => {
  const clipboardText = decryptText(encryptedText);
  clipboard.writeText(clipboardText);
});

以上是客户端应用代码的简要示例,具体代码实现可参考我们的开源代码库。