Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/simplyhexagonal/fastify-file-browser

Read-only file browser UI for viewing and downloading local files within the current working directory.
https://github.com/simplyhexagonal/fastify-file-browser

fastify file-browser file-explorer file-manager file-server local nodejs tailwind tailwindcss ui vue vue-file-server

Last synced: about 15 hours ago
JSON representation

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

Awesome Lists containing this project

README

        

# 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.

![](https://raw.githubusercontent.com/simplyhexagonal/fastify-file-browser/main/demo.gif)

- [LIVE DEMO](https://simplyhexagonal.github.io/fastify-file-browser/demo/) (file uploads turned off)

Built using:

- [Fastify](https://www.fastify.io/) - HTTP Server
- [Vue JS](https://vuejs.org/) - UI Markup
- [Tailwind CSS](https://tailwindcss.com/) - UI Styles
- [Axios](https://axios-http.com/) - Client HTTP Requests
- [Remix Icon](https://remixicon.com/) - Icons

## Open source notice

This project is part of the [Open Collective](https://opencollective.com/simplyhexagonal) project [Simply Hexagonal](https://simplyhexagonal.org)
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](#contributors-) ✌ïļ ! See the [contributing section](#contributing).

## Like this module? âĪ

Please consider:

- [Buying me a coffee](https://www.buymeacoffee.com/jeanlescure) ☕
- Supporting me on [Patreon](https://www.patreon.com/jeanlescure) 🏆
- Starring this repo on [Github](https://github.com/jeanlescure/short-unique-id) 🌟

## 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](https://allcontributors.org/docs/en/emoji-key)):


🚧 ðŸ’ŧ 📖 ⚠ïļ
📓

## License

Copyright (c) 2023-Present [Fastify File Browser Contributors](https://github.com/simplyhexagonal/fastify-file-browser/#contributors-).

Licensed under the [Apache License 2.0](https://www.apache.org/licenses/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