A simple web server that serves files and directories and offers management functionality.

Install and Run:
go install github.com/djosix/webdir@latest
webdir
Run Directly:
go run github.com/djosix/webdir@latest
Using Docker:
docker run -it --rm -v "$PWD:/data" -p 9999:9999 djosix/webdir
- No extra dependencies, all you need is a Go compiler
- Operations: List, Create, Upload, Move, Copy, Delete, Edit
- Open file in a popup window (Shift-click) or a new tab (click or press Enter on focused file)
- Dark mode and light mode
- Basic authentication using username and password (
-basic-auth USERNAME:PASSWORD
) - HTTPS using self-signed certificate (
-https
) - View-only mode (
-view-only
) - Disable listing (
-no-list
) - Upload using
curl http://webdir/folder -F file=@/path/to/the/file
- Drag-and-drop file upload
- Keyboard shortcuts for efficient operations
ArrowDown
: Navigate to the next entryArrowUp
: Navigate to the previous entryArrowLeft
: Go to the parent directoryArrowRight
: Go to the selected directoryEnter
: Open the selected file or go to the selected directoryEscape
: Defocus any focused element/
: Focus on searcha
: Toggle select-allf
: New filed
: New directoryu
: Upload filesm
: Move the selected file or directoryc
: Copy the selected file or directoryBackspace
/Delete
: Delete the selected file or directorye
: Edit the selected file
docker buildx create --use
docker login
docker buildx build --push --platform linux/amd64,linux/arm64 -t "djosix/webdir:latest" .