No description
Find a file
2021-01-04 20:45:49 +02:00
.github chore(github) workflows: add coverage 2020-09-17 16:59:57 +03:00
.webpack fix(cloudcmd) client: build: optional chaining 2020-12-30 14:02:36 +02:00
bin fix(cloudcmd) criton: crash when password set (#310) 2020-12-31 18:44:14 +02:00
client fix(cloudcmd) drop support of node < 14 2020-12-28 23:00:04 +02:00
common refactor(cloudfunc) getPathLink: map -> for 2021-01-03 14:51:19 +02:00
css chore(cloudcmd) lint 2020-12-30 14:41:27 +02:00
docker fix(docker) cloudcmd.js -> cloudcmd.mjs 2020-12-30 15:41:50 +02:00
font feature(user-menu) add (#221) 2019-05-13 17:45:59 +03:00
html feature(cloudcmd) only user menu on f2 2019-08-14 15:45:11 +03:00
img feature(img) add file-link, directory-link 2018-10-11 17:36:04 +03:00
json fix(cloudcmd) app, help: remove duplicate keys 2020-11-25 20:54:47 +02:00
man feature(cloudcmd) remove --progress option, make always enabled 2019-09-21 22:01:15 +03:00
server fix(cloudcmd) drop support of node < 14 2020-12-28 23:00:04 +02:00
static feature(package) supertape v3.10.0 2020-12-21 15:19:18 +02:00
test test(cloudfunc) lint 2021-01-03 14:51:03 +02:00
tmpl feature(cloudcmd) remove --progress option, make always enabled 2019-09-21 22:01:15 +03:00
.babelrc.json chore(cloudcmd) lint 2020-12-30 14:41:27 +02:00
.browserslistrc chore(putout) prepare for webpack v5 2020-10-17 18:04:35 +03:00
.cloudcmd.menu.js feature(package) supertape v3.10.0 2020-12-21 15:19:18 +02:00
.dockerignore chore(cloudcmd) lint 2020-12-03 18:27:59 +02:00
.editorconfig feature(editorconfig) exclude hbs from insert_final_newline 2016-02-20 15:44:09 -05:00
.eslintrc.js chore(cloudcmd) lint 2020-12-03 18:27:59 +02:00
.gitignore chore(cloudcmd) lint: remove useless arguments 2020-02-17 17:17:16 +02:00
.madrun.mjs chore(madrun) start: js -> mjs 2021-01-04 20:45:49 +02:00
.npmignore feature(cloudcmd) IO.mv -> IO.move 2020-08-14 17:14:45 +03:00
.nycrc.json chore(cloudcmd) lint 2020-12-28 20:14:10 +02:00
.putout.json fix(cloudcmd) drop support of node < 14 2020-12-28 23:00:04 +02:00
.travis.yml chore(travis) node v14 2020-12-30 15:09:55 +02:00
.yaspellerrc feature(cloudcmd) rest: add rename 2020-08-10 14:42:11 +03:00
app.json fix(cloudcmd) app, help: remove duplicate keys 2020-11-25 20:54:47 +02:00
ChangeLog chore(package) v15.0.2 2020-12-31 18:52:13 +02:00
CODE_OF_CONDUCT.md test(cloudcmd) skip: connect_error tests 2020-11-16 17:40:32 +02:00
CONTRIBUTING.md test(cloudcmd) skip: connect_error tests 2020-11-16 17:40:32 +02:00
cssnano.config.js chore(cloudcmd) add dangle-comma 2019-02-01 19:05:41 +02:00
docker-compose.yml feature(docker-compose) add 2016-03-09 07:58:18 -05:00
favicon.ico feature(favicon) add 2014-03-02 07:05:40 -05:00
HELP.md chore(package) v15.0.2 2020-12-31 18:52:13 +02:00
LICENSE docs(license) 2019 2018-12-20 18:01:50 +02:00
manifest.yml chore(manifest) rm trailing spaces 2015-02-27 09:25:00 -05:00
package.json chore(package) v15.0.2 2020-12-31 18:52:13 +02:00
README.md chore(package) v15.0.2 2020-12-31 18:52:13 +02:00
webpack.config.js feature(package) webpack-merge v5.0.8 2020-07-08 20:04:13 +03:00

Cloud Commander v15.0.2 Build Status Codacy Gitter FOSSA Status

Main Blog Live(Heroku)

Cloud Commander a file manager for the web with console and editor.

Cloud Commander

Install

npm i cloudcmd -g

Start

For starting just type in console:

cloudcmd

How to use?

Open url http://localhost:8000 in browser.

View

You will see something similar to this. View

Deploy

Cloud Commander could be easily deployed to Heroku.

Deploy

Using as Middleware

Cloud Commander could be used as middleware for node.js applications based on socket.io and express:

Init package.json:

npm init -y

Install dependencies:

npm i cloudcmd express socket.io -S

And create index.js:

import http from 'http';
import cloudcmd from 'cloudcmd';
import io from 'socket.io';
const app = require('express')();

const port = 1337;
const prefix = '/';

const server = http.createServer(app);
const socket = io.listen(server, {
    path: `${prefix}socket.io`,
});

const config = {
    name: 'cloudcmd :)',
};

const filePicker = {
    data: {
        FilePicker: {
            key: 'key',
        },
    },
};

// override option from json/modules.json
const modules = {
    filePicker,
};

const {
    createConfigManager,
    configPath,
} = cloudcmd;

const configManager = createConfigManager({
    configPath,
});

app.use(prefix, cloudcmd({
    socket, // used by Config, Edit (optional) and Console (required)
    config, // config data (optional)
    modules, // optional
    configManager, // optional
}));

server.listen(port);

Docker

Cloud Commander could be used as a docker container this way:

docker run -it --rm -v ~:/root -v /:/mnt/fs -w=/root -p 8000:8000 coderaiser/cloudcmd

Config would be read from home directory, hosts root file system would be mount to /mnt/fs, 8000 port would be exposed to hosts port.

Also you could use docker compose with docker-compose.yml:

version: '2'
services:
  web:
    ports:
      - 8000:8000
    volumes:
      - ~:/root
      - /:/mnt/fs
    image: coderaiser/cloudcmd

When you create this file run:

docker-compose up

Get involved

There is a lot ways to be involved in Cloud Commander development:

License

MIT