K-Vault免费图片/文件托管解决方案,支持 Cloudflare Pages + Docker 双模部署,并兼容多种存储后端

K-Vault免费图片/文件托管解决方案,支持 Cloudflare Pages + Docker 双模部署,并兼容多种存储后端

功能特性

  • 无限存储 – 不限数量的图片和文件上传
  • 完全免费 – 托管于 Cloudflare,免费额度内零成本
  • 免费域名 – 使用 *.pages.dev 二级域名,也支持自定义域名
  • 多存储后端 – 支持 Telegram、Cloudflare R2、S3 兼容存储、Discord、HuggingFace、WebDAV、GitHub
  • Telegram Webhook 回链 – 机器人在频道/群接收文件后自动回复直链
  • KV 写入优化 – Telegram 可启用签名直链,显著降低 KV 读写消耗
  • 内容审核 – 可选的图片审核 API,自动屏蔽不良内容
  • 多格式支持 – 图片、视频、音频、文档、压缩包等
  • 在线预览 – 支持图片、视频、音频、文档(pdf、docx、txt)格式的预览
  • 分片上传 – 支持最大 100MB 文件(配合 R2/S3)
  • 访客上传 – 可选的访客上传功能,支持文件大小和每日次数限制
  • API Token 认证 – 支持 curl / ShareX / 脚本等程序化上传与调用
  • 多种视图 – 网格、列表、瀑布流多种管理界面
  • 存储分类 – 直观区分不同存储后端的文件
  • 双模部署 – 保留 Cloudflare Pages 部署,同时新增 Docker 自托管(docker compose up -d
  • 动态存储配置管理 – 支持在管理端通过 API 对存储配置进行新增/编辑/删除/测试/设为默认
  • 可插拔设置存储(Docker) – 基础站点设置可使用 sqlite(默认)或 Redis 协议后端(Upstash / Redis / KVrocks)
  • 前端路径简化 – 以根路径页面为主流程(//admin.html/webdav.html
  • GitHub Actions 镜像构建 – 主分支/Tag 自动构建并推送 api + web 镜像

快速部署

前置要求

  • Cloudflare 账户
  • Telegram 账户(如使用 Telegram 存储)
  • Docker + Docker Compose(可选,用于自托管部署)

第一步:获取 Telegram 凭据

  1. 获取 Bot Token
    • 向 @BotFather 发送 /newbot
    • 按提示创建机器人,获得 BOT_TOKEN
  2. 创建频道并添加机器人
    • 创建一个新的 Telegram 频道
    • 将机器人添加为频道管理员
  3. 获取 Chat ID
    • 向 @VersaToolsBot 或 @GetTheirIDBot 发送消息获取频道 ID

第二步:部署到 Cloudflare

  1. Fork 本仓库
  2. 创建 Pages 项目
    • 登录 Cloudflare Dashboard
    • 进入 Workers 和 Pages → 创建应用程序 → Pages → 连接到 Git
    • 选择 Fork 的仓库,点击部署
  3. 配置环境变量
    • 进入项目 设置 → 环境变量
    • 添加必需变量:
变量名说明必需
TG_Bot_TokenTelegram Bot Token
TG_Chat_IDTelegram 频道 ID
BASIC_USER管理后台用户名可选
BASIC_PASS管理后台密码可选

重新部署 – 修改环境变量后需重新部署生效

第三步:Docker 自托管部署(可选)

如果你希望在自己的 VPS/NAS 上运行(不依赖 Cloudflare Pages 运行时):

  1. 复制环境变量模板:
npm run docker:init-env

该命令会在 .env 不存在时自动创建,并仅在密钥为空或占位符时生成 CONFIG_ENCRYPTION_KEY 与 SESSION_SECRET,不会每次重置已有密钥。

  1. 至少填写以下关键变量:
    • CONFIG_ENCRYPTION_KEY
    • SESSION_SECRET
    • 一套默认存储配置(例如 TG_BOT_TOKEN + TG_CHAT_ID
    • 可选设置存储:
      • 默认:SETTINGS_STORE=sqlite
      • Redis 模式:SETTINGS_STORE=redis 且配置 SETTINGS_REDIS_URL
  2. 启动服务:
npm run docker:up

如需启用本地 Redis(用于基础设置存储):

docker compose --profile redis up -d --build
  1. 访问地址:
    • 上传首页:http://<host>:8080/
    • 管理后台:http://<host>:8080/admin.html
    • WebDAV 页面:http://<host>:8080/webdav.html

完整 Docker 说明请查看 README-DOCKER.md

项目地址:https://github.com/katelya77/K-Vault

工具

内网穿透工具cpolar: 公开一个本地Web站点至公网

2026-2-24 12:22:32

工具

zotero使用DeepL进行翻译,免费获取API密钥

2026-3-25 10:00:46

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索