File Browser是一款美观易用的Web文件管理器

web文件管理器


文件浏览器在指定目录中提供文件管理界面,可用于上传、删除、预览和编辑文件。它是一款自建云软件,您只需将其安装在服务器上,指定路径,然后通过美观的 Web 界面访问文件即可。

文件浏览

文件浏览

文件编辑

文件编辑

自定义命令

自定义命令

安装

文件浏览器是一个二进制文件,可以作为独立的可执行文件使用。但是,它也可以作为 Docker 镜像使用。无论您使用哪种系统,安装和首次设置都非常简单。

二进制安装

安装文件浏览器最快捷、最简单的方法是使用包管理器或我们的下载脚本,它会自动获取适合您平台的最新版本的文件浏览器。

MacOS

shell 复制代码
brew tap filebrowser/tap
brew install filebrowser
filebrowser -r /path/to/your/files

Linux

shell 复制代码
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash
filebrowser -r /path/to/your/files

Windows

shell 复制代码
iwr -useb https://raw.githubusercontent.com/filebrowser/get/master/get.ps1 | iex
filebrowser -r /path/to/your/files

您的实例现已启动并运行。文件浏览器将自动引导一个数据库,用于存储配置和用户信息。您可以在控制台日志中找到实例的运行地址以及随机生成的 admin 用户密码。
自动生成的用户 admin 密码仅显示一次。如果您忘记了密码,则需要手动删除数据库并重新启动文件浏览器。

Docker安装

文件浏览器有两种不同的 Docker 镜像,可在 Docker Hub 上找到:Alpine 镜像和 S6 Overlay 镜像。

Alpine 镜像

shell 复制代码
docker run -d \
    --name filebrowser \
    --restart=always \
    -v /data/filebrowser/data:/srv \
    -v /data/filebrowser/database:/database \
    -v /data/filebrowser/config:/config \
    -p 8085:80 \
    filebrowser/filebrowser:v2.44.2-s6

其中 filebrowser_data、filebrowser_database 和 filebrowser_config 是 Docker 卷,分别用于存储数据、数据库和配置。默认配置和数据库将自动初始化。

在容器内运行文件浏览器的默认用户的 PID 为 1000,GID 为 1000。如果出于某种原因,您想使用其他用户运行 Docker 容器,请查阅 Docker 的用户文档。

使用绑定挂载时,即在容器中挂载主机上的路径时,必须手动确保它们具有正确的权限。Docker 不会自动执行此操作。主机目录必须对容器内运行的用户具有可读写权限。您可以使用 chown 命令更改这些路径的所有者。

S6 Overlay 镜像

S6 Overlay 镜像基于 LinuxServer,并利用 s6-overlay 系统构建一个标准且高度可定制的镜像。其使用方法如下:

shell 复制代码
docker run \
    -v /path/to/srv:/srv \
    -v /path/to/database:/database \
    -v /path/to/config:/config \
    -e PUID=$(id -u) \
    -e PGID=$(id -g) \
    -p 8080:80 \
    filebrowser/filebrowser:s6

其中:

  • /path/to/srv 包含文件浏览器的文件根目录
  • /path/to/config 包含 settings.json 文件
  • /path/to/database 包含 filebrowser.db 文件

如果 settings.json 和 filebrowser.db 不存在,则会自动初始化它们。

配置

大部分配置信息可以通过命令行界面文档了解。要访问该文档,您需要安装文件浏览器并运行 filebrowser --help。本页将介绍一些具体的、较为复杂的主题。

定制品牌

您可以自定义文件浏览器以使用您自己的品牌。这包括以下内容:

  • 名称:显示在标签页标题、登录页面和其他一些位置的实例名称。
  • 禁用外部链接:禁用除文档之外的所有外部链接。
  • 禁用已用百分比:禁用侧边栏上的磁盘使用情况信息。
  • 品牌文件夹:可包含以下两项的目录:
    • custom.css,包含应用于所有用户的全局样式表。
    • img,可替换应用程序所有默认徽标的目录。

管理员用户可以在“设置”→“全局设置”下进行配置。您也可以使用 CLI 直接更新配置:

shell 复制代码
filebrowser config set --branding.name "My Name" \
  --branding.files "/abs/path/to/my/dir" \
  --branding.disableExternal

如果您使用的是 Docker,则需要挂载带有品牌目录的卷,以便从容器内访问它。

自定义图标

要替换默认徽标和网站图标,您需要在品牌目录下创建一个 img 目录。该目录的结构必须与默认徽标的结构相同:

shell 复制代码
img/
  logo.svg
  icons/
    favicon.ico
    favicon.svg
    (...)

身份验证方法

目前,有三种可用的身份验证方法。每种方法都有各自的功能和规范。

JSON 身份验证(默认)

我们称之为 JSON 身份验证,但它只是默认的身份验证方法,如果您不进行任何更改,它将默认提供。它是默认设置的,但如果您之前进行过更改,则可以恢复使用 JSON 身份验证:

shell 复制代码
filebrowser config set --auth.method=json

此方法还可以通过登录期间的 reCAPTCHA 验证进行扩展:

shell 复制代码
filebrowser config set --auth.method=json \
  --recaptcha.key site-key \
  --recaptcha.secret private-key

默认情况下,我们使用 Google 的 reCAPTCHA 服务。如果想使用其他提供商,可以使用以下命令更改主机:

shell 复制代码
filebrowser config set --recaptcha.host https://recaptcha.net

代理标头

如果您有反向代理,并希望用于登录用户,您可以通过我们的代理身份验证方法进行操作。要配置此方法,您的代理必须发送一个包含已登录用户名的 HTTP 标头:

shell 复制代码
filebrowser config set --auth.method=proxy --auth.header=X-My-Header

其中 X-My-Header 是您的代理提供的包含用户名的 HTTP 标头。

文件浏览器会盲目信任提供的标头。如果可以绕过代理,攻击者只需附加标头即可获得管理员权限。

无身份验证

我们还为希望在家庭网络中私密使用文件浏览器的用户提供了无身份验证机制。通过设置此身份验证方法,ID 为 1 的用户将被用作默认用户。创建更多用户不会有任何影响。

shell 复制代码
filebrowser config set --auth.method=noauth

许可证

Apache License 2.0 © File Browser Contributors

关于项目

文件浏览器在指定目录中提供文件管理界面,可用于上传、删除、预览和编辑文件。它是一款自建云软件,您只需将其安装在服务器上,指定路径,然后通过美观的 Web 界面访问文件即可。
Apache-2.0
Golang
32,170
3584
330
2015-09-12
2025-11-27

增长趋势 - stars