在 KOReader 和手机之间双向同步剪贴板文本,类似微信输入法的跨设备剪贴板,但无需任何账号、无需在手机端运行任何后台服务。
本插件基于开源推送服务 ntfy.sh 实现,在此向 ntfy 的作者 Philipp C. Heckel 致敬——正是他免费开放的 pub/sub 服务和移动端 App,让这个插件成为可能。ntfy 仓库: github.com/binwiederhier/ntfy。
| 功能 | 说明 |
|---|---|
| 手机 → Kindle | 手机复制文本 → KOReader 拉取 → 写入剪贴板,可在搜索/笔记/字典框粘贴 |
| Kindle → 手机 | 选中文字一键推送 → 手机收到 ntfy 通知 → 长按复制 |
| 双向隔离 | 用两个频道自动分开方向,拉取时不会拿到自己刚推送的内容 |
| 无需后台服务 | 手机和 Kindle 都只做 HTTP 客户端,不需要常驻后台 |
| 跨网络 | 不限于局域网,4G/5G 也能用 |
| 自建支持 | 可填入自建 ntfy 服务器地址,完全自主掌控 |
┌─────────┐ POST /<topic>-p2k ┌───────────┐ GET /<topic>-p2k/json ┌──────────┐
│ 手机 │ ──────────────────────────▶ │ │ ──────────────────────────────▶ │ │
│ (复制) │ │ ntfy.sh │ │ KOReader │
│ │ ◀────────────────────────── │ (中转) │ ◀────────────────────────────── │ (拉取) │
│ 收到通知 │ POST /<topic>-k2p │ │ GET /<topic>-k2p/json │ │
└─────────┘ └───────────┘ └──────────┘
<topic>-p2k:手机 → Kindle(Phone to Kindle)<topic>-k2p:Kindle → 手机(Kindle to Phone)
你只需选一个不易猜到的主题名(如 my-clip-a7x9k2),插件自动在上面追加 -p2k 和 -k2p 后缀,创建两个独立频道。这样 Kindle 拉取时只会收到手机发的,不会收到自己刚推送的。
30 秒速览:
- 把插件文件夹拷到 KOReader 插件目录,重启
- 菜单 → Clipboard sync → Settings → Topic,填一个随机主题名(如
my-clip-a7x9k2) - 手机装 ntfy App,订阅
<你的topic>-k2p频道接收 Kindle 推送 - 手机建一个快捷指令,POST 剪贴板到
https://ntfy.sh/<你的topic>-p2k发送给 Kindle - Kindle 菜单 → Pull from device 拉取
将 clipboardsync.koplugin 文件夹完整复制到 KOReader 的插件目录:
| 平台 | 插件目录路径 |
|---|---|
| Kindle(USB 连接) | Kindle 存储根目录下 koreader/plugins/ |
| Android | Android/data/org.koreader.koreader/files/koreader/plugins/(需用文件管理器访问) |
| 其他(Linux/Mac) | KOReader 安装目录下的 plugins/ |
复制后重启 KOReader,菜单中会出现 Clipboard sync 选项(通常在 More tools 下)。
所需工具: ntfy(App Store 免费) + iOS「快捷指令」App(系统自带)
- 从 App Store 安装 ntfy
- 打开 ntfy → 点击右上角 +
- 输入
my-clip-a7x9k2-k2p(你的主题名加-k2p) - Kindle 推送文本后,手机会收到推送通知,点开即可看到全文,长按复制到剪贴板
用 iOS「快捷指令」App 创建一个一键发送快捷方式:
- 打开「快捷指令」App → 新建快捷指令
- 添加操作 ①:获取剪贴板
- 添加操作 ②:获取 URL 内容
- URL:
https://ntfy.sh/my-clip-a7x9k2-p2k(你的主题名加-p2k) - 方法:POST
- 请求体:选择「文本」,填入上一步的「剪贴板」变量
- URL:
- 点击右上角 ... → 添加到主屏幕
- 使用时:复制文字 → 点主屏幕上的快捷方式图标 → Kindle 上点 Pull from device
也可以直接在 ntfy App 内手动发布(Topic 填
my-clip-a7x9k2-p2k),但快捷指令更方便,一键完成。
所需工具: ntfy(Google Play 或 F-Droid 免费)
- 安装 ntfy App
- 打开 ntfy → 点击 + → 输入
my-clip-a7x9k2-k2p - Kindle 推送文本后,手机收到通知,点开查看,长按复制
方式一:ntfy App 内手动发布(最简单)
- 打开 ntfy App → 点击底部的发布图标(纸飞机)
- Topic 填
my-clip-a7x9k2-p2k - Message 粘贴要发送的文本 → 点击发布
方式二:用 Tasker / MacroDroid 自动化(推荐)
创建一个自动化任务:读取剪贴板 → HTTP POST 到 https://ntfy.sh/my-clip-a7x9k2-p2k,绑定到通知栏或桌面快捷方式。以 Tasker 为例:
- 新建 Task → 添加 Variable Query(读取剪贴板内容到
%CLIP) - 添加 HTTP Request:
- Method:
POST - URL:
https://ntfy.sh/my-clip-a7x9k2-p2k - Body:
%CLIP - Content-Type:
text/plain
- Method:
- 在桌面添加 Task 快捷方式
方式三:用 HTTP Shortcuts App(免费专用工具)
这是一个专门发 HTTP 请求的 App,比 Tasker 更简单:
- 新建一个 Shortcut → Method 选 POST
- URL 填
https://ntfy.sh/my-clip-a7x9k2-p2k - Body 类型选 Text,填入
{{clipboard}}(它支持读取剪贴板) - 保存后在桌面放一个图标,点一下就发送
- 在手机上复制文本(或运行快捷指令发送)
- 在 KOReader 中打开菜单 → Clipboard sync → Pull from device
- 文本写入 KOReader 剪贴板,可在搜索框、笔记、字典输入框中粘贴
方式一:选中文本直接推送(最常用)
- 在 KOReader 中长按选中文字
- 在弹出的高亮菜单中点击 Push to device
- 手机收到 ntfy 通知,点开查看,长按复制
方式二:推送已有剪贴板内容
- 在 KOReader 中复制文本到剪贴板(选中文本后点 Copy)
- 打开菜单 → Clipboard sync → Push clipboard to device
- 手机收到通知
如果你不放心公共 ntfy.sh 服务,可以自建 ntfy 服务器。ntfy 是开源的(GPLv2 + Apache 2.0 双许可),Docker 一行命令就能跑:
docker run -d \
--name ntfy \
--restart=unless-stopped \
-p 80:80 \
-v ntfy-cache:/var/lib/ntfy \
-v ntfy-config:/etc/ntfy \
binwiederhier/ntfy serve自建后,在 KOReader 菜单 → Clipboard sync → Settings → Server 中填入你的服务器地址(如 http://192.168.1.100)。ntfy 支持访问控制(Access Control),可以给频道加密码,防止他人读取或发送。详见 ntfy 官方文档。
- ntfy.sh 免费版是公开的,知道频道名的人理论上可以读取或发送消息
- 请使用不易猜到的频道名(如
my-clip-a7x9k2,不要用test或clipboard) - 本插件不会传输任何账号密码,只有你主动复制或选中的文本
- 如需更高安全性,请自建服务器并开启访问控制
- ntfy 官方也不存储消息超过约 12 小时,且不会持久化消息内容
| 限制 | 说明 | 应对 |
|---|---|---|
| Kindle 剪贴板是 KOReader 内部的 | 拉取的文本只能在 KOReader 内部粘贴(搜索、笔记、字典) | Android 版 KOReader 调用的是系统剪贴板,可跨应用粘贴 |
| Kindle 会休眠 | KOReader 不常驻后台,休眠后无法接收推送 | 本插件设计为按需拉取(Pull),不依赖 Kindle 后台常驻 |
| ntfy 推送延迟 | Kindle → 手机方向靠 ntfy 推送通知,通常几秒 | 属于正常推送延迟 |
| 消息缓存 | ntfy.sh 免费版缓存约 12 小时 | 如需更长,自建服务器调整 cache-duration |
Q: 插件菜单里找不到 Clipboard sync?
确认插件文件夹完整放在了正确的 plugins/ 目录下,且重启了 KOReader。文件夹名必须是 clipboardsync.koplugin,包含 main.lua 和 _meta.lua 两个文件。
Q: Pull from device 提示"No clipboard found"?
说明手机还没有往 <topic>-p2k 频道发过消息。确认:
- 主题名拼写正确
- 手机端的 URL 里确实是
-p2k后缀(不是-k2p) - 手机已成功发送(用浏览器直接访问
https://ntfy.sh/<topic>-p2k/json?poll=1看能否收到)
Q: Push to device 后手机没收到通知?
- 确认 ntfy App 已开启通知权限
- 确认订阅的是
-k2p后缀的频道(不是-p2k) - 检查 KOReader 是否已连接 WiFi
Q: 可以用一台手机配多个 Kindle 吗?
可以。每台 Kindle 用同一个主题名即可,多台设备会共享同一个频道。
Q: 文本里有换行和特殊字符会丢失吗?
不会。插件通过 HTTP POST body 以 UTF-8 纯文本传输,换行、中文、emoji 都能完整保留。
本插件的核心功能完全依赖于 ntfy.sh 这项免费、开源的推送通知服务。ntfy 由 Philipp C. Heckel 开发并开源,采用 Apache 2.0 + GPLv2 双许可,提供了:
- 免费的公共推送中继服务(ntfy.sh)
- 开源的 Android 客户端(Google Play / F-Droid)
- 开源的 iOS 客户端(App Store)
- 完善的 API 文档 和自建部署方案
没有 ntfy 的开放和慷慨,这个插件就不可能以"零配置、零后台服务"的方式实现。在此向 Philipp 和所有 ntfy 贡献者致敬。
- ntfy 项目仓库: github.com/binwiederhier/ntfy
- ntfy 官网: ntfy.sh
- ntfy 文档: ntfy.sh/docs
- 赞助 ntfy: GitHub Sponsors / Liberapay
同时感谢 KOReader 团队提供了优秀的电子书阅读器和灵活的插件系统。
本项目基于 GNU General Public License v3.0 开源。
ClipboardSync — KOReader 跨设备剪贴板同步插件
Copyright (C) 2026
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.