Skip to content
A basic node.js file manager
JavaScript HTML CSS Other
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Jul 12, 2019
assets Switch to xterm Dec 8, 2018
views Fix XSS vulnerability Mar 10, 2019
.drone.yml Update .drone.yml Dec 8, 2018
.gitignore Update to bootstrap 4.0.0 Feb 14, 2018
Dockerfile Add command tool and Dockerfile Mar 10, 2018
Dockerfile.env Update Dockerfile.env Dec 1, 2018
Dockerfile.pwn Add pwn Dec 8, 2018
LICENSE Create LICENSE Sep 26, 2018 Better interface Mar 12, 2018
index.js Switch to xterm Dec 8, 2018
package.json Switch to xterm Dec 8, 2018
yarn.lock Switch to xterm Dec 8, 2018


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
  • Bulk file/folder selection
    • Delete
      • Recursive directory delete
    • Move
    • Copy
    • Download archive
    • Change permissions
  • Remote commands


These screenshots are not up-to-date.


docker run --rm -it -v $PWD:/data -p 8080:8080


git clone ~/path/to/file-manager
node ~/path/to/file-manager/index.js
# or
npm i -g


Options are currently only suppliable via ENV variables.


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


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


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.

You can’t perform that action at this time.