Go Filebrowser:轻量级自托管文件管理器
项目概述
Go Filebrowser 是一个用 Go 语言编写的轻量级、高性能的自托管文件管理器,它提供了一个现代化的 Web 界面,让用户能够通过浏览器轻松管理服务器上的文件。该项目设计简洁、部署简单,特别适合个人开发者、小型团队或需要简单文件管理功能的场景。
核心特性
1. 跨平台支持
- 支持 Windows、Linux、macOS 等多种操作系统
- 提供预编译的二进制文件,无需复杂的依赖安装
2. 现代化界面
- 响应式设计,适配桌面和移动设备
- 直观的文件操作界面,支持拖拽上传
- 内置文件预览功能(支持图片、文本、PDF等)
3. 多用户管理
- 支持多用户系统,每个用户可设置独立权限
- 细粒度的权限控制(读、写、执行、分享等)
- 支持用户组管理
4. 安全特性
- 支持 HTTPS 和基本认证
- 可配置的访问控制列表(ACL)
- 文件操作日志记录
快速开始
安装方式
方法一:使用预编译二进制文件
text
# 下载最新版本 curl -fsSL https://raw.githubusercontent.com/filebrowser/filebrowser/master/get.sh | bash # 或直接下载 wget https://github.com/filebrowser/filebrowser/releases/download/v2.23.0/linux-amd64-filebrowser.tar.gz tar -xzf linux-amd64-filebrowser.tar.gz
方法二:使用 Docker
text
docker run \
-v /path/to/root:/srv \
-v /path/to/database.db:/database.db \
-v /path/to/settings.json:/config/settings.json \
-e PUID=$(id -u) \
-e PGID=$(id -g) \
-p 8080:80 \
filebrowser/filebrowser
基本配置
- 初始化配置
text
# 创建配置文件 filebrowser config init # 设置根目录 filebrowser config set --root /path/to/files # 设置监听地址和端口 filebrowser config set --address 0.0.0.0 --port 8080
- 添加用户
text
# 创建管理员用户 filebrowser users add admin password --perm.admin # 创建普通用户 filebrowser users add user1 password123 --perm.execute --perm.download
配置文件示例
settings.json:
text
{
"port": 8080,
"baseURL": "",
"address": "0.0.0.0",
"log": "stdout",
"database": "/etc/filebrowser/database.db",
"root": "/srv",
"auth": {
"method": "json",
"header": ""
},
"recaptcha": {
"key": "",
"secret": ""
}
}
实际应用场景
场景一:个人文件服务器
text
# 启动一个简单的个人文件服务器 filebrowser --root /home/user/files --port 8080 # 使用 systemd 服务管理 sudo tee /etc/systemd/system/filebrowser.service << EOF [Unit] Description=Filebrowser After=network.target [Service] User=www-data Group=www-data ExecStart=/usr/local/bin/filebrowser --root /var/www/files [Install] WantedBy=multi-user.target EOF
场景二:团队文件共享
text
# 创建团队共享配置 filebrowser config set --root /team/shared filebrowser users add teamlead --perm.admin filebrowser users add developer1 --perm.create --perm.modify filebrowser users add viewer --perm.download # 启用分享功能 filebrowser config set --allowShare true
场景三:WebDAV 集成
Filebrowser 支持 WebDAV 协议,可以与其他应用集成:
text
# 启用 WebDAV 支持 filebrowser config set --webdav true --webdavPort 8081 # 在 macOS 上连接 # 打开 Finder → 前往 → 连接服务器 # 输入:http://your-server:8081/webdav/
高级功能
1. 命令行操作
text
# 列出文件 filebrowser ls /path # 上传文件 filebrowser upload localfile.txt /remote/path/ # 下载文件 filebrowser download /remote/file.txt ./local/
2. API 集成
Filebrowser 提供完整的 REST API,支持自动化操作:
text
# 获取文件列表
curl -u admin:password http://localhost:8080/api/resources/
# 创建新目录
curl -X POST -u admin:password \
-H "Content-Type: application/json" \
-d '{"name":"newfolder"}' \
http://localhost:8080/api/resources/newfolder
3. 插件系统
通过自定义命令扩展功能:
text
# 添加自定义命令
filebrowser config set --commands '{
"git": "git",
"convert": "convert {0} {1}"
}'
性能优化建议
- 启用缓存
text
filebrowser config set --cacheDir ./cache
- 限制并发
text
filebrowser config set --maxConcurrent 10
- 启用压缩
text
filebrowser config set --compress true
安全配置
生产环境部署建议
text
# 使用 HTTPS filebrowser --cert /path/to/cert.pem --key /path/to/key.pem # 启用认证 filebrowser config set --auth.method proxy filebrowser config set --auth.header X-WebAuth-User # 设置访问限制 filebrowser config set --allowCommands false filebrowser config set --allowEdit false
监控和维护
查看日志
text
# 实时查看访问日志 tail -f /var/log/filebrowser.log # 查看系统状态 filebrowser stats
备份和恢复
text
# 备份数据库 cp /path/to/database.db /backup/location/ # 恢复配置 filebrowser config import backup-settings.json
总结
Go Filebrowser 作为一个轻量级的自托管文件管理解决方案,具有以下优势:
- 部署简单:单个二进制文件,无需复杂依赖
- 资源占用低:Go 语言编译,内存占用小
- 功能完善:满足基本的文件管理需求
- 扩展性强:支持 API 和自定义命令
- 社区活跃:持续更新,问题响应及时
无论是作为个人云存储、团队文件共享平台,还是作为其他应用的 Web 文件管理界面,Filebrowser 都是一个值得考虑的优秀选择。其简洁的设计理念和强大的功能组合,使其在众多自托管文件管理工具中脱颖而出。
相关资源
- 官方文档:https://filebrowser.org/
- GitHub 仓库:https://github.com/filebrowser/filebrowser
- Docker Hub:https://hub.docker.com/r/filebrowser/filebrowser
- 社区讨论:https://github.com/filebrowser/filebrowser/discussions
filebrowser_20260204145806.zip
类型:压缩文件|已下载:0|下载方式:免费下载
立即下载




还没有评论,来说两句吧...