gossa ============= ![e](https://user-images.githubusercontent.com/760637/71449335-790a4200-274a-11ea-80be-4c536fbad8a1.gif) [![build status](https://github.com/pldubouilh/gossa/workflows/ci/badge.svg)](https://github.com/pldubouilh/gossa/actions) [![docker pulls](https://img.shields.io/docker/pulls/pldubouilh/gossa.svg?logo=docker)](https://hub.docker.com/r/pldubouilh/gossa) [![github downloads](https://img.shields.io/github/downloads/pldubouilh/gossa/total.svg?logo=github)](https://github.com/pldubouilh/gossa/releases) a fast and simple webserver for your files, that's dependency-free and with under 250 lines of code, easy to review. a simple UI comes as default, featuring : * 🔍 files/directories browser & handler * 📩 drag-and-drop uploader * 💾 90s web UI that prints in milliseconds * 📸 video streaming, picture browser, pdf viewer * ✍️ simple note editor * ⌨️ keyboard navigation * 🚀 lightweight and dependency free codebase * 🔒 >95% test coverage and reproducible builds * 🥂 fast golang static server * 💑 easy multi account setup, read-only mode * ✨ PWA-able * 🖥️ multi-platform support ### install / build [arch linux (AUR)](https://aur.archlinux.org/packages/gossa/) - e.g. `yay -S gossa` [nix](https://search.nixos.org/packages?channel=unstable&show=gossa&from=0&size=50&sort=relevance&type=packages&query=gossa) - e.g. `nix-shell -p gossa` binaries are available on the [release page](https://github.com/pldubouilh/gossa/releases) - or simply `make build` this repo. all builds are reproducible, checkout the hashes on the release page. ### usage ```sh % ./gossa --help % ./gossa -h 192.168.100.33 ~/storage ``` ### shortcuts press `Ctrl/Cmd + h` to see all the UI/keyboard shortcuts. ### fancier setups release images are pushed to [dockerhub](https://hub.docker.com/r/pldubouilh/gossa), e.g. : ```sh # pull from dockerhub and run % mkdir ~/LocalDirToShare % sudo docker run -v ~/LocalDirToShare:/shared -p 8001:8001 pldubouilh/gossa ``` in a do-one-thing-well mindset, HTTPS and authentication has been left to middlewares and proxies. [sample caddy configs](https://github.com/pldubouilh/gossa/blob/master/support/) are available to quickly setup multi users setups along with https. automatic boot-time startup can be handled with a user systemd service - see [support](https://github.com/pldubouilh/gossa/tree/master/support)