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

https://github.com/mickael-kerjean/filestash

:file_folder: A file manager / web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ...
https://github.com/mickael-kerjean/filestash

file-manager file-sharing filemanager ftp ftps git ldap nfs s3 sftp smb webclient webdav

Last synced: 5 days ago
JSON representation

:file_folder: A file manager / web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ...

Awesome Lists containing this project

README

          

![screenshot](https://raw.githubusercontent.com/mickael-kerjean/filestash_images/master/.assets/photo.jpg)












A Dropbox-like file manager that let you manage your data anywhere it is located:

FTPFTPSSFTPWebDAV • Git • S3 • NFS • SMB • Artifactory • LDAP • Mysql

Storj • CardDAV • CalDAV • Backblaze B2 • Minio
Dropbox • Google Drive




demo button

# Key Features

- Sleek, Speedy, Snappy, works great on Desktop and Mobile
- Extensible / Customisable / Hackable via a rich ecosystem of plugins and a Workflow engine to enable automation
- Shared Links which you can mount locally as network drives
- Manage your files not only from your browser but also via SFTP and S3 through third party tools
- Builtin Music, Video, Image viewers with optional transcoding and Chromecast support
- API and LLM integration via [MCP](https://www.filestash.app/docs/api/#mcp)
- [Themes](https://www.filestash.app/docs/plugin/#theme) replicating the UX of [dropbox](https://www.filestash.app/img/screenshots/theme_dropbox.png), [gdrive](https://www.filestash.app/img/screenshots/theme_gdrive.png), [github](https://www.filestash.app/img/screenshots/theme_github.png), [ibm](https://www.filestash.app/img/screenshots/theme_ibm.png), [onedrive](https://www.filestash.app/img/screenshots/theme_onedrive.png), [and more](https://www.filestash.app/img/screenshots/theme_untitled.png)
- ... and much much much more

# Documentation

- [Getting started](https://www.filestash.app/docs/)
- [Installation](https://www.filestash.app/docs/install-and-upgrade/)
- [API](https://www.filestash.app/docs/api/#api) and [MCP](https://www.filestash.app/docs/api/#mcp)
- [Plugins Inventory](https://www.filestash.app/docs/plugin/)
- [Hardening Guide](https://downloads.filestash.app/upload/hardening-guide.pdf)

# Vision & Philosophy

Our goal is simple: **to build the best file management platform ever made. Period.** But "best" means different things to different people, and making Filestash modular is the only sane model to accomplish that. Anything that isn't a fundamental truth of the universe and might spark a debate belongs in a plugin.

This modularity is made possible by the magic of programming interfaces. For example, if you want a [Dropbox-like frontend for FTP](https://news.ycombinator.com/item?id=9224), you will find out the [FTP plugin](https://github.com/mickael-kerjean/filestash/tree/master/server/plugin/plg_backend_ftp) simply implements this interface:
```go
type IBackend interface {
Ls(path string) ([]os.FileInfo, error) // list files in a folder
Cat(path string) (io.ReadCloser, error) // download a file
Mkdir(path string) error // create a folder
Rm(path string) error // remove something
Mv(from string, to string) error // rename something
Save(path string, file io.Reader) error // save a file
Touch(path string) error // create a file

// I have omitted 2 other methods, a first one to enable connections reuse and
// another one to declare what should the login form be like.
}
```

There are interfaces you can implement for every key component of Filestash: from storage, to authentication, authorisation, custom apps, search, thumbnailing, frontend patches, middleware, endpoint creation and a [few others](https://github.com/mickael-kerjean/filestash/blob/master/server/common/plugin.go).

To see what's currently installed in your instance, head over to [/about](https://demo.filestash.app/about). The inventory of plugins is [documented here](https://www.filestash.app/docs/plugin/).

# Roadmap

There are 2 major pieces of work currently underway:


  1. Making Filestash able to open virtually anything. Thanks to plugin, we're adding support for files your browser has never heard of, from astrophysics to embroidery patterns. Concretly we have added support for:


  2. Getting to v1.0. Filestash is already rock solid, it has been in active development for over 8 years. But the bar for v1.0 will be reached when Filestash is objectively better than Dropbox, Google Drive, and Box by every single measurable metric we care about. That's the mission.

# Support

- Commercial Users → [support contract](https://www.filestash.app/pricing/?origin=github)
- For individuals → [#filestash](https://kiwiirc.com/nextclient/#irc://irc.libera.chat/#filestash?nick=guest??) on IRC (libera.chat).

Want to help us sprinkle some toppings on our noodle cups?
- Bitcoin: `3LX5KGmSmHDj5EuXrmUvcg77EJxCxmdsgW`
- [Open Collective](https://opencollective.com/filestash)

# Credits

Filestash stands on the shoulder of: [contributors](https://github.com/mickael-kerjean/filestash/graphs/contributors), folks developing [awesome libraries](https://github.com/mickael-kerjean/filestash/blob/master/go.mod), a whole bunch of C stuff (the [C standard library](https://imgs.xkcd.com/comics/dependency.png), [libjpeg](https://libjpeg-turbo.org/), [libpng](https://www.libpng.org/pub/png/libpng.html), [libgif](https://giflib.sourceforge.net/), [libraw](https://www.libraw.org/about) and many more), [fontawesome](https://fontawesome.com), [material](https://material.io/icons/), [Browser stack](https://www.browserstack.com/) to let us test on real devices, and the many guys from Nebraska and elsewhere who have been thanklessly maintaining the critical pieces that Filestash sits on top:

credit to the nebraska guy on xkcd