Skip to content

Read-only file browser UI for viewing and downloading local files within the current working directory.

Notifications You must be signed in to change notification settings

simplyhexagonal/fastify-file-browser

Repository files navigation

Fastify File Browser 📂

Fastify File Browser provides a simple yet blazing fast file browser UI for viewing and downloading local files within the working directory where you run it.

Built using:

Open source notice

This project is part of the Open Collective project Simply Hexagonal and is open to updates by its users, we ensure that PRs are relevant to the community. In other words, if you find a bug or want a new feature, please help us by becoming one of the contributors ✌️ ! See the contributing section.

Like this module? ❤

Please consider:

Features

  • Lightweight 🪶
  • Self-contained 📦
  • Simple and fast UI ✨
  • Light and Dark theme 🌗
  • Proper icons automagically shown for common filetypes 🪄
  • Toggle to view image thumbnails 🖼️
  • Reload current directory file list without having to reload tab 🔃
  • Files served with proper mime-type so browser knows how to display or download respectively 🗃️
  • Ability to show hidden files 🔍
  • Ability to upload files ☁️
  • Mobile friendly UI 📱

Usage

Using NPX:

npx @simplyhexagonal/fastify-file-browser

Installing globally:

npm i --global @simplyhexagonal/fastify-file-browser
fastify-file-browser

Optionally you can set other options using CLI arguments:

Options:
      --version             Show version number                        [boolean]
      --port                Port number to listen on    [number] [default: 3000]
      --host                Host name to bind to (use '0.0.0.0' to expose to the
                             network)            [string] [default: "127.0.0.1"]
      --allow-file-uploads  Allow file uploads to the server
                                                      [boolean] [default: false]
      --show-hidden-files   Show hidden files in directory listings
                                                      [boolean] [default: false]
      --max-file-size       Maximum file size (in bytes) that can be uploaded to
                             the server             [number] [default: 20971520]
  -h, --help                Show help                                  [boolean]

Contributing

Yes, thank you! This plugin is community-driven, most of its features are from different authors. Please update the docs and tests and add your name to the package.json file.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

🚧 💻 📖 ⚠️
📓

License

Copyright (c) 2023-Present Fastify File Browser Contributors.
Licensed under the Apache License 2.0.

For your convenience, here is a list of all the licenses of this package's dependencies:

  • Apache-2.0
  • MIT
  • ISC
  • BSD-3-Clause
  • BSD-2-Clause