随着多设备办公的普及,用户经常需要在台式机、笔记本等不同机器之间传输文本和文件,传统方式依赖微信/QQ等第三方工具传输,敏感内容需经过外部服务器,存在泄露风险且操作繁琐。
本项目立项目的是打造一个可自托管的“互联网剪切板”:部署在企业内网或个人服务器上,同一账号在多台机器登录即可互相复制粘贴,数据完全自主可控。适用于个人多设备办公、企业研发/运维内网、政企隔离环境等对数据安全有要求的业务场景。
点击空白处退出提示
随着多设备办公的普及,用户经常需要在台式机、笔记本等不同机器之间传输文本和文件,传统方式依赖微信/QQ等第三方工具传输,敏感内容需经过外部服务器,存在泄露风险且操作繁琐。
本项目立项目的是打造一个可自托管的“互联网剪切板”:部署在企业内网或个人服务器上,同一账号在多台机器登录即可互相复制粘贴,数据完全自主可控。适用于个人多设备办公、企业研发/运维内网、政企隔离环境等对数据安全有要求的业务场景。
项目包含以下功能模块:
(1)账号体系:支持用户名/口令自助注册与登录,口令加盐哈希存储,登录签发无状态签名 Token;
(2)剪切板同步:跨机器复制粘贴文本与文件,每次复制自动生成版本;
(3)版本管理:可查看历史版本,一键恢复任意版本为最新;
(4)TTL 保留策略:每条内容可配置保留时长,过期自动清理;
(5)文件传输:默认 10MB 小文件上传下载,服务端加密暂存;
(6)多页签:一人可建多个页签(如“工作/生活”),每页签独立剪切板与历史;
(7)Web 主页:参考 WebNote 设计的多页签工作台,支持自动保存与拖拽上传;
(8)浏览器插件:一键同步系统剪贴板、粘贴自动上传。
本人独立负责该项目的全部设计、开发与部署。
技术栈:
nginx(自编译 lua-nginx-module 动态模块)+ LuaJIT,业务逻辑全部运行在单容器 nginx 进程内;存储采用 SQLite(WAL 模式,FFI 直连),文件经 AES-256-CBC 加密落盘,口令哈希与 Token 签名通过 FFI 直调 OpenSSL;热点内容用 nginx 共享内存 LRU 缓存优化长文本读取。
实现亮点:
极简架构(单容器零外部依赖)、LuaJIT FFI 直连原生库替代不可用 API、幂等数据库迁移保证老数据无损升级;难点在于 nginx+Lua 环境下大量标准 API(随机数、HMAC、位运算)不可用,需逐一定位并以 FFI/纯 Lua 方案重建,以及排查出 nginx 默认清除环境变量导致密钥未生效的隐蔽安全隐患。




评论