ImgBed Markdown Uploader

clarencejh
2025-03-14T14:31:46Z

适配于 CloudFlare-ImgBed 的粘贴上传并生成markdown的脚本, CloudFlare-ImgBed : https://github.com/MarSeventh/CloudFlare-ImgBed

功能概览

粘贴图片到输入框（textarea/input）自动上传并插入 Markdown

拖拽图片到输入框自动上传并插入 Markdown

侧边栏配置：认证码、服务器地址、上传通道、命名方式、目录、Markdown 模板等

图库：查看已上传图片、复制链接、删除图片

友好的错误提示：401 认证错误/403 无权限/404 接口不存在/413 文件过大等，提示具体如何修复

安装与更新

安装（推荐）

1. 安装浏览器扩展：Tampermonkey（Chrome/Edge）或 Violentmonkey（Firefox）。

2. 安装脚本：把 upload.user.js 导入到脚本管理器中（或在 GreasyFork 页面点击安装）。

3. 打开 https://linux.do/ https://www.nodeseek.com/，在脚本菜单里选择「配置图床参数」完成配置。

自动更新

脚本头部使用了 GreasyFork 的短链接：

@downloadURL https://update.greasyfork.org/scripts/<脚本ID>.user.js

@updateURL https://update.greasyfork.org/scripts/<脚本ID>.meta.js

只要你在 GreasyFork 更新脚本内容，用户端会自动拉取新版。

更新是否会覆盖用户设置？

不会。配置保存在脚本管理器的存储中（GM_setValue('userConfig', ...)），更新脚本只替换代码，不会清空这份存储。

以下情况才会丢失配置：

用户点击侧边栏中的「重置」

用户卸载脚本或清空 Tampermonkey 存储后重新安装

使用与设置指南

默认生效网站

出于安全与可控性考虑，脚本默认在 linux.do nodeseek.com/生效。

打开设置面板

在 Tampermonkey 菜单中点击：配置图床参数，会在页面右侧打开侧边栏。

配置项说明（设置面板）

认证码（AUTH_CODE / API Key）：后端用于鉴权的 Bearer Token。常见 401 认证失败通常由此引起。

服务器地址（SERVER_URL）：图床服务地址，例如 https://img.example.com（必须以 http:// 或 https:// 开头）。

上传通道（uploadChannel）：后端支持的通道（如 telegram / cfr2 / s3 等），以你的后端实现为准。

文件命名方式（uploadNameType）：default/index/origin/short 等，含义以后端为准。

上传目录（uploadFolder）：相对目录，例如 apiupload 或 img/test。

Markdown 模板（MARKDOWN_TEMPLATE）：支持占位符：

{url}：图片 URL

{filename}：本地文件名（去掉扩展名）

示例：![{filename}]({url})

允许的网站（ALLOWED_HOSTS）：域名白名单（双保险，防误触）。

逗号分隔：example.com, *.example.com

默认：linux.do, *.linux.do

最大文件大小（MAX_FILE_SIZE）：前端限制（MB）。注意：服务器也可能有自己的限制（413）。

自动复制 URL：上传成功后自动复制图片链接到剪贴板。

如何添加新的网站（重要）

添加新网站需要做“两步”，缺一不可：

1. 让脚本在该站点注入（@match）

打开 Tampermonkey → 找到本脚本 → 编辑 → 在头部 // @match 增加站点规则

例如要支持 https://forum.example.com/*，新增：

// @match https://forum.example.com/*

提示：脚本会优先依赖 @match 决定“是否注入”，ALLOWED_HOSTS 负责“是否允许执行上传逻辑”。

常见问题（FAQ）

1) 401：认证失败，提示需要修改 API Key

含义：认证码/API Key 错误、过期，或 SERVER_URL 指向了错误的服务。

处理：

打开「配置图床参数」更新 认证码（AUTH_CODE）

检查 服务器地址（SERVER_URL） 是否正确（包含协议、域名、端口是否正确）

确认后端是否启用了该认证码、是否被撤销

2) 403：无权限

含义：认证码有效但没有该接口权限（例如列表/删除被禁用）。

处理：换一个有对应权限的认证码，或调整后端权限策略。

3) 404：接口不存在

含义：SERVER_URL 不对、反代路径不对、后端版本不支持该接口。

处理：确认后端接口路径是否包含：

上传：POST /upload

列表：GET /api/manage/list

删除：GET /api/manage/delete/<name>

4) 413：文件过大

含义：服务器拒绝大文件（通常是 Nginx/Cloudflare/后端限制）。

处理：

在设置面板调大“最大文件大小”（仅前端提示门槛）

同时调整服务器侧上传限制（例如反代、应用配置）

5) 设置面板无法滚动 / 看不到保存按钮

脚本侧边栏已做滚动兼容（固定高度计算、滚轮兜底、保存按钮 sticky），如果仍然无法滚动：

先刷新页面再打开侧边栏

若使用移动端或特殊浏览器内置 WebView，建议提供浏览器型号与截图用于进一步兼容