Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/serverwentdown/file-manager

A basic node.js file manager
https://github.com/serverwentdown/file-manager

express file-manager nodejs totp

Last synced: about 2 months ago
JSON representation

A basic node.js file manager

Awesome Lists containing this project

README

        

# 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.