美观强大的文件保险库Chibisafe

简介
什么是 Chibisafe ?
Chibisafe是一款用Typescript编写的快速文件上传服务,非常实用。它接受文件、照片、文档以及您能想到的任何内容,并返回可共享的链接,供您发送给其他人。它易于使用、易于部署、免费且开源,用户可以轻松部署和使用。
主要特点
- 多种模式:支持公有模式、用户账户模式和仅邀请模式。
- 文件上传:能够处理各种文件类型,包括照片和文档,并自动将大文件分块以减少网络故障。
- 用户友好的界面:提供一个仪表盘,可以通过直观的用户界面直接编辑配置,而无需手动修改环境或配置文件。
- 直链分享:上传的文件会生成可分享的直接链接,方便用户分享。
- 扩展性:支持
S3存储,具有良好的扩展能力,允许用户通过API密钥进行编程访问。 - 隐私和安全:不含广告和追踪,只记录请求的 IP 地址以确保用户隐私。
- 安装与运行:推荐使用
Docker进行安装,提供详细的安装指南。
主要功能(v6)
- 📄 美观的文档
- 🗄️ 支持
S3存储 - 📷 美观的网格布局浏览媒体文件
- ✨ 对大文件进行分块上传
- 🔗 分享上传文件的直接链接
- 📂 带有直接链接的相册/文件夹可分享
- 📝 创建带有直接链接的片段/要点以供分享
- 🗃️ 文件管理和文件标签功能
- 🙋 用户管理和配额设置
- 🔗 内置
URL短链接服务 - ✉️ 公开或私人模式(支持邀请)
- ⬆️ 原生支持
ShareX,便于从桌面上传截图/屏幕录制 - 📱
iOS快捷方式,通过共享菜单上传文件 - 🌐 浏览器扩展,轻松从网站上传内容
- 🧩 易于扩展
- 📖 开源
- 🚫 无广告、无追踪(仅记录请求的
IP地址)

安装
在群晖上以 Docker 方式安装。
chibisafe/chibisafe:latest对应的版本为v6.4.2;chibisafe/chibisafe-server:latest对应的版本为v6.4.2;
采用 docker-compose 安装,需要先准备两个文件,分别是 Caddyfile 和 docker-compose.yml
Caddyfile
Caddyfile 是 Caddy 服务器的配置文件,用于定义网站的服务器设置和行为。老苏未做任何修改。源文件地址:https://github.com/chibisafe/chibisafe/blob/master/Caddyfile
{servers {trusted_proxies static private_rangesclient_ip_headers X-Forwarded-For X-Real-IP}
}{$BASE_URL} {route {file_server * {root /app/uploadspass_thru}@api path /api/*reverse_proxy @api http://chibisafe_server:8000 {header_up Host {http.reverse_proxy.upstream.hostport}header_up X-Real-IP {http.request.header.X-Real-IP}}@docs path /docs*reverse_proxy @docs http://chibisafe_server:8000 {header_up Host {http.reverse_proxy.upstream.hostport}header_up X-Real-IP {http.request.header.X-Real-IP}}reverse_proxy http://chibisafe:8001 {header_up Host {http.reverse_proxy.upstream.hostport}header_up X-Real-IP {http.request.header.X-Real-IP}}}
}
docker-compose.yml
docker-compose.yml 在官方基础上做了微调,只是增加了 container_name
源文件地址:https://github.com/chibisafe/chibisafe/blob/master/docker-compose.example.yml
services:chibisafe:image: chibisafe/chibisafe:latestcontainer_name: chibisafe-clientenvironment:- BASE_API_URL=http://chibisafe_server:8000expose:- 8001restart: unless-stoppedchibisafe_server:image: chibisafe/chibisafe-server:latestcontainer_name: chibisafe-serverenvironment:- ADMIN_PASSWORD=adminvolumes:- ./database:/app/database:rw- ./uploads:/app/uploads:rw- ./logs:/app/logs:rwexpose:- 8000restart: unless-stoppedcaddy:image: caddy:2-alpinecontainer_name: chibisafe-webvolumes:- ./Caddyfile:/etc/caddy/Caddyfile:ro- ./uploads:/app/uploads:roports:- 24424:80environment:- BASE_URL=":80"restart: unless-stopped
然后执行下面的命令
# 新建文件夹 chibisafe 和 子目录
mkdir -p /volume1/docker/chibisafe/{database,uploads,logs}# 进入 chibisafe 目录
cd /volume1/docker/chibisafe# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行
在浏览器中输入 http://群晖IP:24424 就能看到主界面
如果看到下方闪现的
Invalid token,不用理会;

点右上角的 Login 进入登录界面
默认的账号密码:
admin/admin

登录成功后的主界面

设置
首先要解决顶部黄色的警告
进入 Setting --> Service --> Serve uploads from

填入服务器地址 http://群晖IP:24424,保存即可

上传文件
进入 Uploads --> Upload file

随便找了几个文件,有图片也有 PPT

刷新页面后,图片可以直接预览

选中文件可以做删除等操作
、
切换视图模式,可以看到文件链接、文件大小等

上传的文件,可以在 uploads 目录中找到

客户端
Chibisafe 还支持浏览器插件、ShareX等,其中 iOS 快捷方式和浏览器扩展非常适合快速保存照片

其中 ShareX 在老苏之前写的 XBackBone 一文中,详细介绍过如何导入配置文件
文章传送门:轻量级文件管理器XBackBone
当然,在使用这些之前,你还需要生成 API key,用于这些客户端登录到你的服务器时,进行合法性验证

点 Request new API key 生成

参考文档
chibisafe/chibisafe: Blazing fast file vault written in TypeScript! 🚀
地址:https://github.com/chibisafe/chibisafe
chibisafe/chibisafe-extension: Companion extension for the chibisafe File Uploader.
地址:https://github.com/chibisafe/chibisafe-extension
chibisafe
地址:https://chibisafe.app/
API Reference
地址:https://chibisafe.app/docs
相关文章:
美观强大的文件保险库Chibisafe
简介 什么是 Chibisafe ? Chibisafe 是一款用 Typescript 编写的快速文件上传服务,非常实用。它接受文件、照片、文档以及您能想到的任何内容,并返回可共享的链接,供您发送给其他人。它易于使用、易于部署、免费且开源࿰…...
详细教程:SQL2008数据库备份与还原全流程!
数据的安全性至关重要,无论是操作系统、重要文件、磁盘存储,还是企业数据库,备份都是保障其安全和完整性的关键手段。拥有备份意味着即使发生误删、系统崩溃或病毒攻击等问题,也能迅速通过恢复功能解决,避免数据丢失带…...
HTML——49.header和footer标签
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>header和footer标签</title></head><body><!--header和footer标签:是html5中新标签--><!--header:定义文档的页眉,通常用来定义可见…...
【蓝桥杯选拔赛真题87】python输出字符串 第十五届青少年组蓝桥杯python选拔赛真题 算法思维真题解析
目录 python输出字符串 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python输出字符串 第十五届蓝桥杯青少年组python比赛选拔赛真题详细解析…...
OpenStack-Dashboard界面简单修改
OpenStack Dashboard界面替换图片 一、dashboard界面Logo的路径及文件 dashboard的Logo存放(在Controller节点)的路径: /usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/img/涉及需要修改的文件(3个&…...
DevOps工程技术价值流:Ansible自动化与Semaphore集成
在DevOps的浪潮中,自动化运维工具扮演着举足轻重的角色。Ansible,作为一款新兴的自动化运维工具,凭借其强大的功能和灵活性,在运维领域迅速崭露头角。本文将深入探讨Ansible的特点、架构、工作原理,以及其应用场景&…...
【服务器】上传文件到服务器并训练深度学习模型下载服务器文件到本地
前言:本文教程为,上传文件到服务器并训练深度学习模型,与下载服务器文件到本地。演示指令输入,完整的上传文件到服务器,并训练模型过程;并演示完整的下载服务器文件到本地的过程。 本文使用的服务器为云服…...
第四届电子信息工程与数据处理(EIEDP 2025)
第四届电子信息工程与数据处理 2025 4th International Conference on Electronic Information Engineering and Data Processing 2025年1月17-19日 马来西亚 吉隆坡 重要信息 会议官网:www.eiedp.net 大会时间:2025年1月17-19日 大会地点&#…...
模型预测控制(MPC)算法介绍
模型预测控制(Model Predictive Control,MPC)是一种先进的控制策略,广泛应用于工业过程控制、机器人控制、电力系统等领域。它基于系统的模型,通过滚动优化来预测系统未来的行为,并据此确定当前的最优控制输…...
设计模式 创建型 建造者模式(Builder Pattern)与 常见技术框架应用 解析
建造者模式,又称生成器模式,是一种对象构建模式。它主要用于构建复杂对象,通过将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建出具有不同表示的对象。该模式的核心思想是将一个复杂对象的构建过程分解为多个简单的…...
嵌入式系统中C++的基本使用方法
大家好,今天主要给大家分享一下,最近操作C++代码的控制方法。 什么是构造函数?构造函数在对象实例化时被系统自动调用,仅且调用一次。 什么是析构函数?与构造函数相反, 在对象结束其生命周期时系统自动执行析构函数。 第一个:析构函数与构造函数区别 实例代码: #inclu…...
机器人C++开源库The Robotics Library (RL)使用手册(四)
建立自己的机器人3D模型和运动学模型 这里以国产机器人天机TR8为例,使用最普遍的DH运动学模型,结合RL所需的描述文件,进行生成。 最终,需要的有两个文件,一个是.wrl三维模型描述文件;一个是.xml运动学模型描述文件。 1、通过STEP/STP三维文件生成wrl三维文件 机器人的…...
在 uni-app 中使用 wxml-to-canvas 的踩坑经验总结
在 uni-app 中使用 wxml-to-canvas 的踩坑经验总结 wxml-to-canvas 是一款非常强大的小程序工具,可以将 WXML 转换为 Canvas 绘图,用于生成海报、分享图片等。将其应用于 uni-app 项目中,可以为多端开发带来极大的便利,但也有一些…...
视频智能翻译
i68,爱六八,链接你我他 EasyVideoTrans英文视频转换成中文视频 EasyVideoTrans简要 最快的英文视频转中文方案由B站多位程序员Up主共同协作开发开源的项目在线Demo:EasyVideoTrans前端项目:https://github.com/sutro-planet/easyvideotrans-frontend后端项目:https://github…...
《Python加解密小实验:探索数据加密与解密的世界》
铺垫(1)-源码 import hashlib source "你好" # print(hashlib.md5(source.encode()).hexdigest())# 文件加解密 with open(../文件引用/index.png, rb) as file:data file.read() # print(hashlib.md5(data).hexdigest())# SHA也是摘要算法…...
C高级day四shell脚本
1.思维导图 2.终端输入一个C源文件名(.c结尾)判断文件是否有内容,如果没有内容删除文件,如果有内容编译并执行该文件。 #!/bin/bashread -p "请输入一个.c脚本名:" n if [ -s "$n" ] thenecho $n…...
android studio 写一个小计时器(版本二)
as版本:23.3.1patch2 例程:timer 在前一个版本的基本上改的,增加了继续的功能,实现方法稍微不同。 动画演示: activity_main.xml <?xml version"1.0" encoding"utf-8"?> <androidx…...
【网络安全实验室】SQL注入实战详情
如果额头终将刻上皱纹,你只能做到,不让皱纹刻在你的心上 1.最简单的SQL注入 查看源代码,登录名为admin 最简单的SQL注入,登录名写入一个常规的注入语句: 密码随便填,验证码填正确的,点击登录…...
华为,新华三,思科网络设备指令
1. 设备信息查看 华为 display version # 查看设备版本信息 display device # 查看设备硬件信息 新华三(H3C) display version # 查看设备版本信息 display device # 查看设备硬件信息 锐捷 show version …...
WebRTC线程的启动与运行
WebRTC线程运行的基本逻辑: while(true) {…Get(&msg, …);…Dispatch(&msg);… }Dispatch(Message *pmsg) {…pmsg->handler->OnMessage(pmsg);… }在执行函数内部,就是一个while死循环,只做两件事,从队列里Get取…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...
