filestash

package module
v0.2.2-0...-eaa9271 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 26, 2021 License: AGPL-3.0 Imports: 16 Imported by: 0

README

screenshot


A Dropbox-like file manager that let you manage your data anywhere it is located:
FTP • FTPS • SFTP • WebDAV • Git • S3LDAP • Mysql
CardDAV • CalDAV • Backblaze B2 • Minio
Dropbox • Google Drive

demo button

Features

  • Manage your files from a browser
  • Full org mode client (documentation)
  • Flexible Share mechanism
  • Video player
  • Video transcoding (mov, mkv, avi, mpeg, and more)
  • Image viewer
  • Image transcoding (raw images from Nikon, Canon, and more)
  • Photo management
  • Audio player
  • Full Text Search
  • Shared links are full fledge network drive
  • Office documents (docx, xlsx and more)
  • User friendly
  • Mobile friendly
  • Customisable
  • Super fast
  • Upload files and folders
  • Multiple cloud providers and protocols, easily extensible
  • Nyan cat loader
  • Quick access: frequently access folders are pin to the homepage
  • Emacs, VIM or Sublime keybindings ;)

Screenshots

user experience on navigation

user experience on medias

Documentation

Support

Support is only available to people who financially contribute to the project either via:

The core idea

Filestash aims to solve the Dropbox problem by abstracting the storage aspect. This makes it possible to bring your own backend or create your own by implementing a simple interface. The power of that model makes it possible for non nerds to easily interact with complex systems without prior training (assuming they are familiar with Dropbox). As an example of that superpower, see our LDAP backend and the Mysql one that emulate a file system where first level folder are the databases, tables are represented as subfolders and each row is represented as a file:

infographic

Credits

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AssetsFS, _ = fs.Sub(PublicFS, "dist/data/public")
View Source
var PublicFS embed.FS

Functions

func DELETE

func DELETE(r *mux.Router, p string, h http.HandlerFunc)

func GET

func GET(r *mux.Router, p string, h http.HandlerFunc)

func GetPrefix

func GetPrefix(r *mux.Router, p string, h http.HandlerFunc)

func OpenBrowser

func OpenBrowser(url string)

func POST

func POST(r *mux.Router, p string, h http.HandlerFunc)

Types

type AppConfig

type AppConfig struct {
	Port            int
	R               *mux.Router
	AutoOpenBrowser bool
}

func (AppConfig) Init

func (appConfig AppConfig) Init(a *App) (result InitResult)

func (AppConfig) Start

func (appConfig AppConfig) Start() bool

type InitResult

type InitResult struct {
	Port int
}

Directories

Path Synopsis
cmd
server
plugin/plg_handler_console
* This plugin provide a full fledge terminal application.
* This plugin provide a full fledge terminal application.
plugin/plg_handler_syncthing
* This plugin expose syncthing to the admin user
* This plugin expose syncthing to the admin user

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL