A basic node.js file manager.
- Simple authentication
- Directory browsing
- Filesize
- Permissions
- Owner
- Folder creation
- File uploads
- Bulk file uploads
- Large file uploads (sharded)
- File/folder renaming
- Previews for small image files
- Bulk file/folder selection
- Delete
- Recursive directory delete
- Move
- Copy
- Download archive
- Change permissions
- Delete
- Remote commands
For users who prefer Docker:
docker run --rm -it -v $PWD:/data -p 8080:8080 serverwentdown/file-manager
Or if you have Node.js installed:
npm install -g https://github.com/serverwentdown/file-manager.git
file-manager
These screenshots are not up-to-date.
The following environmental variables can be used to configure file-manager
.
If you're running this outside of docker. Make a copy of the .env.example file to .env and fill out the details for your needs.
Express session key, generate something random.
Enable the shell feature, which allows users to start a login shell (when set to login
) or the binary specified by this option (example: /bin/bash
). Be careful when enabling this feature as anyone with access to this portal can execute any command on your machine.
Set to something other than "false" to enable running single commands in the default shell, usually /bin/sh
. Be careful when enabling this feature as anyone with access to this portal can execute any command on your machine.
Listen on $PORT. Default: 8080
Setting this variable enables authentication using TOTP (RFC6238). $KEY is a base32 encoded shared secret. This key is only a weak means of protection as it is succeptable to brute-force. You can generate one from here or manually.