Skip to content

利用 CF 的 Workers 创建无限的免费图床!爽歪歪

优点

  1. 无限图片储存数量,你可以上传不限数量的图片
  2. 无需购买服务器,托管于Cloudflare的网络上,当使用量不超过Cloudflare的免费额度时,完全免费
  3. 无需购买域名,可以使用Cloudflare Pages提供的*.pages.dev的免费二级域名,同时也支持绑定自定义域名
  4. 支持图片审查API,可根据需要开启,开启后不良图片将自动屏蔽,不再加载
  5. 支持后台图片管理,日志管理,查看访问前20的Referer、IP、img,可以对上传的图片进行在线预览,添加白名单,黑名单等操作

免费图床开源项目:【链接直达

photo_2025-11-03_15-49-54.jpg

利用Cloudflare pages部署

  1. 点击Use this template按钮创建一个新的代码库。
  2. 登录到Cloudflare控制台.
  3. 在帐户主页中,选择pages> Create a project > Connect to Git
  4. 选择你创建的项目存储库,在Set up builds and deployments部分中,Framework preset(框架)Next.js即可。

872c79338420251031230402.jpg

  1. 点击Save and Deploy部署 。
  2. 设置环境变量&开启图片管理功能
    1. 创建D1数据库 如图

bb6663c2e020251031230426.png

723965462920251031230443.png

绑定的时候D1数据库变量名称为IMG,R2存储为IMGRS

  1. 执行sql命令创建表(在控制台输入框粘贴下面语句执行即可)

    sql
    DROP TABLE IF EXISTS tgimglog;
    CREATE TABLE IF NOT EXISTS tgimglog (
     `id` integer PRIMARY KEY NOT NULL,
     `url` text,
     `referer` text,
     `ip` varchar(255),
     `time` DATE
    );
    DROP TABLE IF EXISTS imginfo;
    CREATE TABLE IF NOT EXISTS imginfo (
     `id` integer PRIMARY KEY NOT NULL,
     `url` text,
     `referer` text,
     `ip` varchar(255),
     `rating` text,
     `total` integer,
     `time` DATE
    );
  2. 设置兼容性标志,前往后台依次点击设置->函数->兼容性标志->配置生产兼容性标志 填写 nodejs_compat

fdc1496ea220251031230511-scaled.png

  1. 前往后台点击部署 找到最新的一次部署点重试部署

09496f7c5720251031230533-scaled.png

环境变量

变量名称type
PROXYALLIMG反向代理所有图片(默认为false)boolean
BASIC_USER后台管理页面登录用户名称string
BASIC_PASS后台管理页面登录用户密码string
ENABLE_AUTH_API是否开启访客验证 (默认为false)boolean
REGULAR_USER普通用户 (访客验证)string
REGULAR_PASS普通用户密码string
ModerateContentApiKey审查图像内容的API keystring
RATINGAPI自建的鉴黄apistring
CUSTOM_DOMAINhttps://your-custom-domain.com (自定义加速域名)string
TG_BOT_TOKEN123468:AAxxxGKrn5 (从 @BotFather)string
TG_CHAT_ID-1234567 (频道的ID,TG Bot要是该频道或群组的管理员)string

TG_BOT_TOKEN

获取ID机器人 @VersaToolsBot

TG_CHAT_ID为目标对话的唯一标ID或目标频道的用户名(eg: @channelusername),当目标对话为个人或私有频道是只能是ID,当为公开频道或群组是可以为目标频道的用户名(eg: @channelusername

视频教程