美观强大的文件保险库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)你放进的最后一个盘子(…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
