当前位置: 首页 > news >正文

美观强大的文件保险库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 安装,需要先准备两个文件,分别是 Caddyfiledocker-compose.yml

Caddyfile

CaddyfileCaddy 服务器的配置文件,用于定义网站的服务器设置和行为。老苏未做任何修改。源文件地址: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 编写的快速文件上传服务,非常实用。它接受文件、照片、文档以及您能想到的任何内容,并返回可共享的链接,供您发送给其他人。它易于使用、易于部署、免费且开源&#xff0…...

详细教程:SQL2008数据库备份与还原全流程!

数据的安全性至关重要,无论是操作系统、重要文件、磁盘存储,还是企业数据库,备份都是保障其安全和完整性的关键手段。拥有备份意味着即使发生误删、系统崩溃或病毒攻击等问题,也能迅速通过恢复功能解决,避免数据丢失带…...

HTML——49.header和footer标签

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>header和footer标签</title></head><body><!--header和footer标签:是html5中新标签--><!--header:定义文档的页眉&#xff0c;通常用来定义可见…...

【蓝桥杯选拔赛真题87】python输出字符串 第十五届青少年组蓝桥杯python选拔赛真题 算法思维真题解析

目录 python输出字符串 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python输出字符串 第十五届蓝桥杯青少年组python比赛选拔赛真题详细解析…...

OpenStack-Dashboard界面简单修改

OpenStack Dashboard界面替换图片 一、dashboard界面Logo的路径及文件 dashboard的Logo存放&#xff08;在Controller节点&#xff09;的路径&#xff1a; /usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/img/涉及需要修改的文件&#xff08;3个&…...

DevOps工程技术价值流:Ansible自动化与Semaphore集成

在DevOps的浪潮中&#xff0c;自动化运维工具扮演着举足轻重的角色。Ansible&#xff0c;作为一款新兴的自动化运维工具&#xff0c;凭借其强大的功能和灵活性&#xff0c;在运维领域迅速崭露头角。本文将深入探讨Ansible的特点、架构、工作原理&#xff0c;以及其应用场景&…...

【服务器】上传文件到服务器并训练深度学习模型下载服务器文件到本地

前言&#xff1a;本文教程为&#xff0c;上传文件到服务器并训练深度学习模型&#xff0c;与下载服务器文件到本地。演示指令输入&#xff0c;完整的上传文件到服务器&#xff0c;并训练模型过程&#xff1b;并演示完整的下载服务器文件到本地的过程。 本文使用的服务器为云服…...

第四届电子信息工程与数据处理(EIEDP 2025)

第四届电子信息工程与数据处理 2025 4th International Conference on Electronic Information Engineering and Data Processing 2025年1月17-19日 马来西亚 吉隆坡 重要信息 会议官网&#xff1a;www.eiedp.net 大会时间&#xff1a;2025年1月17-19日 大会地点&#…...

模型预测控制(MPC)算法介绍

模型预测控制&#xff08;Model Predictive Control&#xff0c;MPC&#xff09;是一种先进的控制策略&#xff0c;广泛应用于工业过程控制、机器人控制、电力系统等领域。它基于系统的模型&#xff0c;通过滚动优化来预测系统未来的行为&#xff0c;并据此确定当前的最优控制输…...

设计模式 创建型 建造者模式(Builder Pattern)与 常见技术框架应用 解析

建造者模式&#xff0c;又称生成器模式&#xff0c;是一种对象构建模式。它主要用于构建复杂对象&#xff0c;通过将复杂对象的构建过程与其表示分离&#xff0c;使得同样的构建过程可以创建出具有不同表示的对象。该模式的核心思想是将一个复杂对象的构建过程分解为多个简单的…...

嵌入式系统中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 是一款非常强大的小程序工具&#xff0c;可以将 WXML 转换为 Canvas 绘图&#xff0c;用于生成海报、分享图片等。将其应用于 uni-app 项目中&#xff0c;可以为多端开发带来极大的便利&#xff0c;但也有一些…...

视频智能翻译

i68,爱六八,链接你我他 EasyVideoTrans英文视频转换成中文视频 EasyVideoTrans简要 最快的英文视频转中文方案由B站多位程序员Up主共同协作开发开源的项目在线Demo:EasyVideoTrans前端项目:https://github.com/sutro-planet/easyvideotrans-frontend后端项目:https://github…...

《Python加解密小实验:探索数据加密与解密的世界》

铺垫&#xff08;1&#xff09;-源码 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源文件名&#xff08;.c结尾&#xff09;判断文件是否有内容&#xff0c;如果没有内容删除文件&#xff0c;如果有内容编译并执行该文件。 #!/bin/bashread -p "请输入一个.c脚本名&#xff1a;" n if [ -s "$n" ] thenecho $n…...

android studio 写一个小计时器(版本二)

as版本&#xff1a;23.3.1patch2 例程&#xff1a;timer 在前一个版本的基本上改的&#xff0c;增加了继续的功能&#xff0c;实现方法稍微不同。 动画演示&#xff1a; activity_main.xml <?xml version"1.0" encoding"utf-8"?> <androidx…...

【网络安全实验室】SQL注入实战详情

如果额头终将刻上皱纹&#xff0c;你只能做到&#xff0c;不让皱纹刻在你的心上 1.最简单的SQL注入 查看源代码&#xff0c;登录名为admin 最简单的SQL注入&#xff0c;登录名写入一个常规的注入语句&#xff1a; 密码随便填&#xff0c;验证码填正确的&#xff0c;点击登录…...

华为,新华三,思科网络设备指令

1. 设备信息查看 华为 display version # 查看设备版本信息 display device # 查看设备硬件信息 新华三&#xff08;H3C&#xff09; display version # 查看设备版本信息 display device # 查看设备硬件信息 锐捷 show version …...

WebRTC线程的启动与运行

WebRTC线程运行的基本逻辑&#xff1a; while(true) {…Get(&msg, …);…Dispatch(&msg);… }Dispatch(Message *pmsg) {…pmsg->handler->OnMessage(pmsg);… }在执行函数内部&#xff0c;就是一个while死循环&#xff0c;只做两件事&#xff0c;从队列里Get取…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

django blank 与 null的区别

1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是&#xff0c;要注意以下几点&#xff1a; Django的表单验证与null无关&#xff1a;null参数控制的是数据库层面字段是否可以为NULL&#xff0c;而blank参数控制的是Django表单验证时字…...

深入浅出Diffusion模型:从原理到实践的全方位教程

I. 引言&#xff1a;生成式AI的黎明 – Diffusion模型是什么&#xff1f; 近年来&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;领域取得了爆炸性的进展&#xff0c;模型能够根据简单的文本提示创作出逼真的图像、连贯的文本&#xff0c;乃至更多令人惊叹的…...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...