Files
nodejs-fm/README.md
2020-09-25 10:16:54 +05:30

1.9 KiB

nodejs-fm

Build Status

A simple file manager for managing files on a remote fs using Node.

Sample Image

Dependencies: express body-parser @fortawesome/fontawesome-free jquery connect-busboy Dependencies(testing): chai mocha chai-http

Checklist

  • Folder Traversal
  • File Downloads
  • File Moving
  • Upload

Why

Personal requirement. Because of this, only renaming/moving(only in same fs, due to fs.rename()) is available, and uploading/downloading. No authentication, as it is based on a small local server, and the major way of accessing it, is ssh.

Usage

Use settings.json and point it to a valid path, and select a required port. Default 8080.

Travis only checks the backend, which is a separate entity.

For running it:

# Clone repo
git clone https://github.com/chrisvrose/nodejs-fm.git
# Move into repo folder
cd nodejs-fm/
# Setup the project
npm i
# Your own config, start with settings.json
#...
# Start the server
npm start

Server requests

Requests:

{
    'loc': "<valid location>"
}

Responses (View directory):

{
    'loc': "<location>",
    'back': "<location|null>",
    'contents':[
        {
            'name':"<filename>",
            'path':"<location>",
            'isDir': "<true|false>"
        },
        ...
    ]
}

Responses(Rename/Move Success,Upload)

{
    'loc':"<new location>"
}

Credit

  • Samuel Thornton: Material Design Box Shadows
  • Chris Pratt: File Download via Ajax
  • StackOverflow: Troubleshooting errors
  • Google: All knowing