Filebrowser to Be Archived. Migrate to a Modern Alternative: Sambee

Filebrowser is being archived. As the author writes, the codebase dates back to when he was but 15 years old. Having created such a popular file management tool is a more than impressive achievement for anyone, let alone a teenager. However, when it comes to security and reliability, Filebrowser seems to be built on a less than ideal foundation, so much so that the author states:

this can’t be patched into shape […] logging out doesn’t invalidate a token, so if someone stole it, it still works

What I Like About Filebrowser

I’ve used Filebrowser myself in the past and even written an extensive configuration guide. I like that it’s easy to set up in a Docker container, its clean UI that works well enough on mobile devices, too, and its various file type viewers, especially the ability to render Markdown as formatted rich text.

What Filebrowser is Lacking

Apart from the codebase’s tech debt mentioned by the author, my primary concern that prompted me to move away from Filebrowser is the fact that it accesses only local storage and does so as root (or a service-account-like user). This has significant disadvantages:

  • All Filebrowser users access the storage with a single set of credentials.
  • All uploads and file writes are made by root. You lose any auditing capability as you cannot see which user was responsible for a change.
  • You cannot show different directories to users depending on file system permissions.

Essentially, with Filebrowser file system permissions lose their meaning.

Should You Continue to Use Filebrowser?

Once Filebrowser has been archived, it won’t receive any more updates. Existing security vulnerabilities will remain unfixed, while new findings may increase the attack surface even further in the near future.

Exposed to the Internet: Absolutely Not

If your Filebrowser instance is exposed to the public internet, you’ve been at significant risk for quite some time. Continuing to run such a setup is irresponsible. Consider restricting access to Filebrowser through a VPN or a tunneling service.

Internal Use Only: Still Risky

In a product that parses and renders complex file types like images, there is always the risk of maliciously prepared files exploiting vulnerabilities in the (image) processing code. These risks can only be mitigated through careful architecture design and rigorous dependency update procedures. The former never was a strong suit of Filebrowser, as we’ve seen above, and the latter is not happening anymore once the product is archived.

This means that even in an intranet or home network without direct exposure to the public internet, continuing to use Filebrowser incurs a significant security risk.

What Should a Modern Filebrowser Alternative Look Like?

A modern alternative to Filebrowser should combine the best of several worlds:

  • The user experience of a state-of-the-art web app
  • The efficiency of traditional file managers
  • The deployment simplicity of Docker containers
  • The security provided by hardened authentication and session handling

What does that mean in practice? Let’s take a look at Sambee, my own take on a Filebrowser alternative.

Search-First and Recency-First UI

Speed of navigation is a key metric in a file management product. Traversing paths - up a few directories here, down a few more folders there - is not only slow, it also requires the user to remember exactly where a file they’re looking for is stored.

This traditional model needs to be turned on its head: Sambee’s most important UI element is a quick bar, similar in nature to a browser’s omnibar as the one entrypoint for most (if not all) navigation.

Sambee’s quick bar has two modes: directory navigation lets you jump instantly to any target directory of which you remember at least part of the name, whereas file search provides direct access to the files you’ve been working with recently.

Responsive UI for Desktop and Mobile With Full Keyboard Support

As any modern web app should, Sambee’s UI adjusts flexibly to the screen size and device capabilities. Settings, for example, are shown in a drawer on phones but in a dialog on desktops. The spacing of UI elements adjusts to be touch-friendly on smaller screens. On devices with a keyboard, every command can efficiently be triggered via shortcuts.

Single Sign-On and Pass-Through Authentication

User authentication, role assignment and permission management sound like tedious tasks, and they often are. It doesn’t have to be that way, though.

Sambee comes with an OIDC implementation that minimizes friction and admin overhead, focusing on ease of use as well as security. Sambee treats your identity management solution (e.g., Authelia) as the source of truth where users and their roles are defined. As an admin, the only thing you need to do to grant a user access to Sambee is assign them to the proper groups in the authentication server. The rest happens behind the scenes, and users can log in to Sambee via SSO without retyping their passwords.

The storage is always accessed in the context of the authenticated users, which means that file system permissions are fully honored and the audit trail is preserved.

Single and Dual-Pane UI Modes

Commander-style tools often have a two-window UI that lets you view and compare two directories side by side. Many power users don’t want to miss this, as it allows for very efficient copy/move operations. A single pane view, on the other hand, might be preferred by less advanced users or on smaller screens. Sambee provides both, letting you switch between single and dual-pane modes with a keyboard shortcut.

What Else Sambee Brings to the Table

Local Storage Access

If you have a modern file management tool in your browser, why limit it to remote storage? You’ll often need to move files between your computer and your file server - wouldn’t it be cool if you could use Sambee on your PC’s local drives, too? Of course it would, and it’s made possible by Sambee Companion, a little add-on that acts as a bridge between your browser and the machine’s local disks. Once Companion is installed, you can access local drives just like you can remote SMB shares and copy or move files between them.

Edit in Desktop Apps

Rich previews and editing capabilities for, say, Markdown files are great to have in the browser, but you’ll eventually find that you need to open certain files in their native desktop apps. When you’ve reached this point, most browser-based file managers force you to switch to more traditional tools. Sambee is different, though. With Companion installed, any file can be opened in any desktop app that’s available on your PC. This is possible regardless of storage location. With Sambee, the browser is not a closed box at all.

Migration From Filebrowser to Sambee

I’ll be honest: there’s no automated migration path from Filebrowser to Sambee. The two products are different enough for such an approach to be impractical.

The migration is fairly straightforward, though:

  1. Make your current Filebrowser storage accessible via SMB.
    • Decoupling the storage from the UI and access layer gives you flexibility.
    • I’ve written a comprehensive guide that explains how to do this by setting up a modern, dockerized Samba file server.
  2. Set up Authelia (or a similar product) as authentication server.
  3. Set up Sambee as your modern browser-based file manager.

Conclusion

If you follow through, you’ll be rewarded with a secure, modern, and efficient authentication and file management solution that is easy to work with and requires little maintenance.

If you like what you’ve read, please give Sambee a star on GitHub. If you’re missing a feature, please let me know in the discussion area. It’s still early days for Sambee, and there’s lots more cool stuff coming.

Comments

Related Posts

Samba File Server With POSIX ACLs in a Docker Container

Samba File Server With POSIX ACLs in a Docker Container
This article explains how to set up a Samba file server as an Active Directory domain member in a Docker container. This newer configuration differs from my earlier setup in one essential point: it uses POSIX instead of Windows ACLs, simplifying the administration and making it possible to modify files via other protocols than SMB. This post is part of my series on home automation, networking & self-hosting that shows how to install, configure, and run a home server with dockerized or virtualized services.
Home Automation, Networking & Self-Hosting

Latest Posts

Filebrowser to Be Archived. Migrate to a Modern Alternative: Sambee

Filebrowser to Be Archived. Migrate to a Modern Alternative: Sambee
Filebrowser is being archived. As the author writes, the codebase dates back to when he was but 15 years old. Having created such a popular file management tool is a more than impressive achievement for anyone, let alone a teenager. However, when it comes to security and reliability, Filebrowser seems to be built on a less than ideal foundation, so much so that the author states:
Home Automation, Networking & Self-Hosting