Show HN: Filemat – 一款开源的网页版文件管理器
Show HN: Filemat – an open-source web-based file manager

原始链接: https://github.com/bingud/filemat

Filemat 是一款自托管的网页版文件管理器,类似于 Nextcloud 或 FileBrowser,旨在为本地文件管理提供远程访问界面。其功能包括具备细粒度权限的用户管理、基于角色的访问控制、通过公共链接共享文件、在线文本编辑以及视频流媒体播放。 **部署:** Filemat 要求运行在 Linux 系统上,并需安装 Java 17。它可以作为独立的 JAR 文件运行,也可以通过官方 Docker 镜像部署。出于安全考虑,强烈建议以非 root 用户身份运行此应用程序,并通过挂载特定目录而非整个系统来限制文件系统的访问范围。 **安全与配置:** 该应用将安全性放在首位,默认禁止访问敏感的系统文件夹。高级配置(如管理符号链接、目录排除以及数据文件夹的访问权限)均通过环境变量进行处理。敏感的管理配置变更需要通过主机 CLI 访问权限来完成,以确保未经授权的 Web 用户无法篡改核心安全设置。 Filemat 是一个开源项目,用户可以通过其 GitHub 仓库提交错误报告和功能需求。

一位开发者最近在 Hacker News 上分享了 **Filemat**,这是一款目前处于测试阶段的开源、自托管网页版文件管理器。 开发者构建 Filemat 是为了满足特定的需求:通过简单的设置并遵循标准的文件系统权限,使该工具能够管理整个系统中的文件,而不局限于单一的应用程序管理文件夹。 Hacker News 社区对此反响不一。一些用户质疑它与 *copyparty* 等现有工具的区别,而另一些用户则询问了它在技术上是否符合“正统”(Orthodox)文件管理器的规范。一位评论者指出,对于需要协作处理云存储空间中文件的非技术用户来说,网页版界面可能特别有用。 感兴趣的读者可以在 GitHub 上搜索用户名 `bingud`,以了解该项目的当前功能。
相关文章

原文

Features
Requirements
Installation
Configuration
Usage recommendations
Technical details

Filemat is a web-based file manager.
It's self-hosted and allows you to manage your local files from anywhere using a web UI.

Similar to other alternatives you might know: Nextcloud Files, FileBrowser.org

Files screenshot

  • Fast and simple setup
  • User management, roles
  • Granular permissions (by user or role)
    • File permissions
    • Application administrative permissions
  • File sharing with public link (optional password)
  • Text file editing, video streaming

See full list of features here

  • Linux
  • Java 17
  • (Or just Docker)

You can run the JAR file directly, or use the Docker image (https://hub.docker.com/r/bingud/filemat).
Filemat is currently not available on apt.

- Running the Docker image

See how to deploy with Docker

Make sure your machine has Linux and Java 17 installed.
Download the JAR file from the releases section.

Use this command to run the file with Java (change the filename according to the JAR file you downloaded):
java -jar filemat.jar

All configuration details here

Input multiple values by putting a colon in between (/one:/two)

Name Description Default value Example value
FM_HIDDEN_FOLDER_PATHS List of folder paths to fully exclude and block. /root:/home/folder
FM_HIDE_SENSITIVE_FOLDERS Whether to hide sensitive Linux folders (like /root, .ssh) true false
FM_NON_SENSITIVE_FOLDERS List of folders to exclude from sensitive folder list /root:/etc/ssh
FM_FOLLOW_SYMBOLIC_LINKS Whether to follow symbolic links, or show them as normal files false true
FM_FORCE_DELETABLE_FOLDERS List of protected system folders to be made deletable /root:/etc
FM_ALLOW_READ_DATA_FOLDER Allow the application data folder to be accessed false true
FM_ALLOW_WRITE_DATA_FOLDER Allow the application data folder to be modified false true
FM_PRINT_LOGS Whether to print logs to console true false
FM_DEV_MODE Whether Filemat is in dev mode false true
  • Run Filemat as non-root
    Create a dedicated linux user for Filemat. Create a group and add the Filemat user. Also add your other users that should keep access to the file.
    Set this group (and group permissions) for all files that Filemat should manage.
    It's possible to run Filemat as root — the most sensitive files are fully blocked by default — but it's discouraged for security reasons.

  • Limit file access
    If running Filemat with Docker, choose specific folders that Filemat should be able to access,
    instead of exposing your entire filesystem through a Docker volume.
    It's easy to configure volumes later with Docker compose.

How files are exposed / secured

Files must be explicitly configured to be exposed, so that Filemat can allow users to interact with them.
The application data folder is fully blocked by default, and can only be made accessible using an environment variable.
Symbolic links can be toggled.

In order to make any of these changes through the web UI, a user must have CLI access to the Filemat deployment to authenticate.
Environment variables override these settings.

Bug reports and feature requests are welcome in the GitHub Issues.
For larger changes, please open an issue first to discuss what you want to add or change.

联系我们 contact @ memedata.com