1
0
Fork 0
file-manager/README.md

79 lines
2.1 KiB
Markdown

# file-manager
A basic node.js file manager.
## Features
- [x] [Simple authentication](https://github.com/ambrosechua/file-manager#key)
- [x] Directory browsing
- [x] Filesize
- [ ] Permissions
- [ ] Owner
- [x] Folder creation
- [x] File uploads
- [ ] Bulk file uploads
- [ ] Large file uploads (sharded)
- [x] File/folder renaming
- [x] Previews for small image files
- [x] Bulk file/folder selection
- [x] Delete
- [x] Recursive directory delete
- [ ] Move
- [ ] Copy
- [x] Download archive
- [ ] Change permissions
- [x] Remote commands
## Usage
For users who prefer Docker:
```zsh
docker run --rm -it -v $PWD:/data -p 8080:8080 serverwentdown/file-manager
```
Or if you have Node.js installed:
```zsh
npm install -g https://github.com/serverwentdown/file-manager.git
file-manager
```
## Screenshots
These screenshots are not up-to-date.
![](https://ambrose.makerforce.io/file-manager/login1.png)
![](https://ambrose.makerforce.io/file-manager/upl2.png)
![](https://ambrose.makerforce.io/file-manager/ls1.png)
![](https://ambrose.makerforce.io/file-manager/rm1.png)
![](https://ambrose.makerforce.io/file-manager/dl1.png)
## Options
The following environmental variables can be used to configure `file-manager`.
### SESSION_KEY=
Express session key, generate something random.
### SHELL=
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.
### CMD=
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.
### PORT=
Listen on $PORT. Default: 8080
### KEY=
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](http://www.xanxys.net/totp/) or manually.