想着每次用传输文本和小文件时,得复制到微信在传输,有时格式还对不上。用其余的也不放心和麻烦。闲来无事,用cursor搓了一个基于Cloudflare Worker部署的在线剪切板。
地址:GitHub - ling-drag0n/CloudPaste: 基于 Cloudflare Workers 的在线剪贴板和文件分享服务,支持 Markdown、密码保护、文件上传等功能
功能特点
文本分享
- 支持普通文本和 Markdown 格式
- Markdown 实时预览和同步滚动
- 完整的 Markdown 样式支持
- 优化的列表嵌套显示
- 美化的表格样式
- 代码块实时语法高亮
- 支持数学公式渲染 (KaTeX)
- 编辑器支持双向拉伸调整大小
- 支持密码保护
- 可选过期时间
- 自定义分享链接后缀
- 支持设置分享访问次数限制
- 同步滚动预览
文件分享
- 支持拖拽上传
- 多文件上传
- 文件大小限制(98MB,注意worker限制和R2限制)
- 密码保护
- 自定义过期时间
- 实时上传进度显示
- 文件预览功能
- 图片预览
- 音频预览
- 视频预览
- 上传速度显示
- 支持取消上传
- 文件类型图标显示
管理功能
- 管理员登录
- 管理员状态持久化
- 查看所有分享链接
- 分类过滤(文本/文件)
- 可管理文本/文件上传(防止被盗刷额度)
- 删除分享(带确认提示)
- 复制分享链接
- 查看分享统计
- 自动过期清理 (每当有请求访问时,检查当前时间,如果是整点(分钟为0),触发清理操作)
- 监控存储空间使用情况
- 已用空间
- 总容量
- 使用率百分比
- 修改分享密码(支持文本和文件分享)
- 可随时添加/移除密码保护
- 支持清空密码移除保护
- 支持设置分享下载次数限制
访问控制
- 密码保护
- 支持文本和文件分享设置密码
- 管理员可随时修改或移除密码
- 密码加密存储
- 文本内容控制
- 仅管理员可编辑已分享的文本内容
- 普通用户只能查看
- 上传控制
- 管理员可开启/关闭文本上传功能
- 管理员可开启/关闭文件上传功能
- 防止恶意上传占用资源
部署步骤
1. 准备工作
- 注册 Cloudflare 账号
- 进入 Cloudflare 控制台
2. 创建存储资源
-
创建 KV 命名空间
- 名称:
PASTE_STORE
- 用于存储文本内容
- 名称:
UPLOAD_STATUS
- 用于存储上传功能的开关状态
- 名称:
-
创建 R2 存储桶
- 名称:
cloudpaste-files
- 用于存储上传的文件
- 名称:
3. 创建 Worker
-
创建新的 Worker
-
配置环境变量:
ADMIN_USERNAME=你的管理员用户名 ADMIN_PASSWORD=你的管理员密码
-
绑定存储:
-
KV 绑定:
变量名:PASTE_STORE 选择创建的 KV 命名空间
变量名:UPLOAD_STATUS 选择创建的 KV 命名空间
-
R2 绑定:
变量名:FILE_STORE 选择创建的 R2 存储桶
-
4. 部署代码
- 复制
worker.js
的完整代码 - 粘贴到 Worker 的编辑器中
- 保存并部署
分享文本链接的测试地址:https://copy.vw50.ggff.net/share/paste/example
分享文本数学公式链接的测试地址2:https://copy.vw50.ggff.net/share/paste/math
搞定收工。
11.25更新 感谢佬@Minstrel-Lee建议,加了个管理文本/文件上传的按钮,默认是关闭的,登录到管理界面就可以启用了(为了安全没写入KV设置长久存储状态,刷新或新开界面就需要重新启用)。
同时:
- 添加了简单数学公式支持
- 增加了自适应分辨率
- 添加了上传进度显示功能
- 优化了文件分享的链接给出完整的url
- 复制链接时取消弹窗提示,只有复制失败才弹窗
- 管理员可以修改任何分享的密码
- 管理员可以编辑文本分享的内容(支持markdown,普通用户不行)
- 文件分享支持先查看信息再下载
11.26更新:
- R2存储桶容量实时查看(可自定义最大容量)
- 管理员登录后的状态优化
11.28更新:
- 增加一键部署
- 实时上传进度和速率显示
- 文件预览功能
- 图片预览
- 音频预览
- 视频预览
- 文件类型图标显示
- 错误细节优化和上传限制提示优化
- 增加取消上传功能
- 修复相同后缀和日期显示问题
11.30更新:
- 修复小bug和体验优化
- 添加分享文本/文件访问次数限制功能
- 持久化上传开关的控制功能(仅管理员)
12.1更新:
- 暗色主题适配(有瑕疵)
- 增加内容一键复制
- 修复小bug(次数限制)
- 支持二维码分享
- 优化刷新列表速度
12.3更新:
- 修复小bug
- 支持代码块一键复制
- 本地自动保存文本(防止编辑中途失误关闭)
12.10
- 支持单文件/文本分享的编辑设置
- 调整细微样式