一个 Chrome Manifest V3 扩展,用于解决基于 Apache Guacamole 的网页远程桌面剪贴板长度受限问题。它会将本地的大段文本拆分成多段,依次同步到远端剪贴板并触发粘贴。
- 按指定字符数自动拆分长文本
- 可调节相邻分段的粘贴间隔
- 支持只同步远端剪贴板,或自动发送 Ctrl+V
- 任务在扩展弹窗关闭后继续运行
- 完成或停止后自动恢复原始系统剪贴板
- 对普通网页输入框提供基础的分段写入支持
- 下载或克隆本仓库。
- 在 Chrome 中打开
chrome://extensions/。 - 开启右上角的“开发者模式”。
- 点击“加载已解压的扩展程序”,选择本仓库目录。
- 复制准备发送的文本。
- 在远端终端进入接收状态,例如执行
cat > 文件名,或在 Vim 中按i。 - 点击扩展图标,再点击“读取剪贴板”。
- 设置每段字符数和发送间隔。建议每段 1000–1500 个字符、间隔 0.5-1 秒。
- 点击“开始分批粘贴”。
针对 Apache Guacamole 页面,每个分段采用三步流程:
- 通过离屏文档将当前分段写入本地系统剪贴板。
- 在页面主世界中调用
Guacamole.Client.setClipboard(),将分段同步到远端剪贴板。 - 调用
client.sendKeyEvent(),直接向远端发送一组 Ctrl+V 按键事件。
内容脚本运行在隔离世界,无法直接访问页面的 AngularJS 对象,因此扩展通过 chrome.scripting.executeScript() 在页面主世界中定位 Guacamole 客户端。
clipboardRead/clipboardWrite:读取待发送文本,并在任务结束后恢复剪贴板。offscreen:在 Manifest V3 后台环境中写入系统剪贴板。activeTab/scripting:仅在用户主动操作的当前标签页中调用 Guacamole 客户端。storage:保存分段大小、间隔和粘贴模式。
扩展不会上传、记录或发送剪贴板内容到第三方服务器。
- 自动粘贴依赖目标页面使用 Apache Guacamole,并能从 AngularJS 作用域访问底层客户端。
- 不同部署版本的页面结构可能不同,需要相应调整客户端定位逻辑。
- 运行期间不要切换远端输入焦点,以免内容粘贴到错误位置。
- 请勿向不可信页面发送敏感信息。