/file-manager

A basic node.js file manager

Primary LanguageJavaScriptMIT LicenseMIT

file-manager

A basic node.js file manager.

Features

  • Simple authentication
  • Directory browsing
    • Filesize
    • Permissions
    • Owner
  • Folder creation
  • File uploads
    • Bulk file uploads
    • Large file uploads (sharded)
  • File/folder renaming
  • Bulk file/folder selection
    • Delete
      • Recursive directory delete
    • Move
    • Copy
    • Download archive
    • Change permissions
  • Remote commands

Screenshots

These screenshots are not up-to-date.

Usage

docker run --rm -it -v $PWD:/data -p 8080:8080 registry.labs.0x.no/file-manager

OR

git clone https://github.com/ambrosechua/file-manager.git ~/path/to/file-manager
node ~/path/to/file-manager/index.js
# or
npm i -g https://github.com/ambrosechua/file-manager.git
file-manager

Options

Options are currently only suppliable via ENV variables.

SHELL=

Set to login to enable accessing a login shell, or your shell binary (example: bash). Be careful when enabling this feature.

CMD=

Set to shell binary to enable an alternative command-based execution. Be careful when enabling this feature.

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 or manually.