美观强大的文件保险库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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{
servers {
trusted_proxies static private_ranges
client_ip_headers X-Forwarded-For X-Real-IP
}
}

{$BASE_URL} {
route {
file_server * {
root /app/uploads
pass_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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
services:
chibisafe:
image: chibisafe/chibisafe:latest
container_name: chibisafe-client
environment:
- BASE_API_URL=http://chibisafe_server:8000
expose:
- 8001
restart: unless-stopped

chibisafe_server:
image: chibisafe/chibisafe-server:latest
container_name: chibisafe-server
environment:
- ADMIN_PASSWORD=admin
volumes:
- ./database:/app/database:rw
- ./uploads:/app/uploads:rw
- ./logs:/app/logs:rw
expose:
- 8000
restart: unless-stopped

caddy:
image: caddy:2-alpine
container_name: chibisafe-web
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./uploads:/app/uploads:ro
ports:
- 24424:80
environment:
- BASE_URL=":80"
restart: unless-stopped

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 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