Skip to content

Latest commit

 

History

History
399 lines (329 loc) · 19.2 KB

v0.8.0.md

File metadata and controls

399 lines (329 loc) · 19.2 KB
layout
default

Cloud Commander 0.8.0 [![NPM version][NPMIMGURL]][NPMURL] [![Dependency Status][DependencyStatusIMGURL]][DependencyStatusURL] [![Build Status][BuildStatusIMGURL]][BuildStatusURL]

###[Главная][MainURL] [Блог][BlogURL] Демо(![IO][IO_LIVE_IMG] [IO][IOURL], ![JitSu][JitSu_LIVE_IMG] [JitSu][JitSuURL], ![Heroku][Heroku_LIVE_IMG] [Heroku][HerokuURL]) [NPMIMGURL]: https://badge.fury.io/js/cloudcmd.png [BuildStatusIMGURL]: https://secure.travis-ci.org/coderaiser/cloudcmd.png?branch=master [DependencyStatusIMGURL]: https://gemnasium.com/coderaiser/cloudcmd.png [FlattrIMGURL]: http://api.flattr.com/button/flattr-badge-large.png [NPM_INFO_IMG]: https://nodei.co/npm/cloudcmd.png?downloads=true&&stars [NPMURL]: http://badge.fury.io/js/cloudcmd [BuildStatusURL]: http://travis-ci.org/coderaiser/cloudcmd "Build Status" [DependencyStatusURL]: https://gemnasium.com/coderaiser/cloudcmd "Dependency Status" [FlattrURL]: https://flattr.com/submit/auto?user_id=coderaiser&url=github.com/coderaiser/cloudcmd&title=cloudcmd&language=&tags=github&category=software [NPM_INFO_URL]: https://npmjs.org/package/cloudcmd "npm" [MainURL]: http://cloudcmd.io "Главная" [BlogURL]: http://blog.cloudcmd.io "Блог" [DemoURL]: http://io.cloudcmd.io "Демо" [IOURL]: http://io.cloudcmd.io "IO" [JitSuURL]: http://cloudcmd.jit.su "JitSu" [HerokuURL]: http://cloudcmd.herokuapp.com/ "Heroku" [IO_LIVE_IMG]: http://status-ok.cloudcmd.io/host/io.cloudcmd.io/fs?json "IO" [JitSu_LIVE_IMG]: http://status-ok.cloudcmd.io/host/cloudcmd.jit.su/fs?json "JitSu" [HEROKU_LIVE_IMG]: http://status-ok.cloudcmd.io/host/cloudcmd.herokuapp.com/fs?json "Heroku"

Cloud Commander - облачный файловый менеджер с консолью и редактором.

Cloud Commander

[![Flattr][FlattrIMGURL]][FlattrURL]

Преимущества

  • Открытый код.
  • Две классические панели.
  • Работает под Windows, Linux и Mac OS.
  • Может использоваться локально или удаленно.
  • Имеет консоль и редактор.
  • Написан на JavaScript/Node.js.

Установка

[![NPM_INFO][NPM_INFO_IMG]][NPM_INFO_URL]

Установить Cloud Commander очень просто (проще простого). Всё что вам нужно сделать:

  • установить node.js
  • скачать и распокавать или просто клонировать репозиторий с github:
git clone git://github.com/coderaiser/cloudcmd.git
cd cloudcmd
node cloudcmd

или установить в npm:

npm i cloudcmd -g
cloudcmd

Дополнительные модули

Серверная Сторона Cloud Commander не использует дополнительных модулей для основного функционала. Но для минификации и оптимизации можна назначить (и установить) следующие модули: [Minify] (https://github.com/coderaiser/minify "Minify") и [socket.io] (https://github.com/LearnBoost/socket.io "Socket.IO").

Что бы установить дополнительные модули наберите находясь в папке Cloud Commander:

npm i

Гарячие клавиши

Гарячие клавии работают во всех современных веб браузерах (кроме IE - он особенный). Вот краткий список:

  • F1 - помощь
  • F2 - переименовать текущий файл
  • F3 - просмотр
  • F4 - редактировать
  • F5 - копировать
  • F6 - переименовать/переместить
  • F7 - новая папка
  • F7 + shift - новый файл
  • F8, Delete - удалить текущий файл
  • F9 - меню
  • F10 - настройки
  • (*) - виделить/снять выделение со всего
  • (+) - расшырить выделение
  • (-) - сузить выделение
  • Ctrl + r - обновить содержимое папки
  • Ctrl + d - очистить (локальный) кэш(включая содержимое папки (папок?!))
  • Alt + q - отключить привязку клавиш
  • Alt + s - вернуть все привязки клавиш
  • Ctrl + A - выбрать(выделить) все файлы на панели
  • up, down, enter - перемещение по файловой системе
  • *Ctrl + * - перейти в корневую папку
  • Tab - переключение между панелями
  • Page Up - вверх на одну страницу
  • Page Down - вниз на одну страницу
  • Home - в начало списка
  • End - в конец списка
  • Shift + Delete - удалить без запроса о подтверждении
  • Insert - выбрать(выделить) текущий файл
  • Shift + F10 - контекстное меню
  • ~ - консоль
  • Ctrl + Click - открыть файл в новой вкладке

Редактор

Демо Edit

###Гарячие клавиши

  • F4 - открыть
  • Ctrl + s - сохранить
  • Esc - закрыть

Подробнее Гарячие клавиши Ace.

Консоль

Демо Консоль

###Гарячие клавиши

  • ~ - открыть
  • Esc - закрыть

Настройки

Демо Настройки

###Гарячие клавиши

  • F10 - открыть
  • Esc - закрыть

Меню

Демо Menu Щелчок правой кнопкой мыши вызывает контекстное меню с такими пунктами:

  • Просмотр
  • Правка
  • Переименовать
  • Удалить
  • Выгрузить в (Dropbox, Github, GDrive)
  • Загрузить
  • Новый (Файл, Папка, с облака)

###Гарячие клавиши

  • F9 - открыть
  • Esc - закрыть

Настройки

Все основные настройки, можна осуществлять в config.json.

{
    "auth"              : false,            /* разрешить http авторизацию                                      */
    "username"          : "root",           /* имя пользователя для авторизации                                */
    "password"          : "toor",           /* пароль хеш в sha-1 для авторизации                              */
    "api_url"           :"/api/v1",
    "appCache"          : false,            /* кешировать файлы для оффлайн использования                      */
    "analytics"         : true,             /* поддержка google analytics                                      */
    "diff"              : false,            /* при сохранении - отсылает патч, а не весь файл                  */
    "notifications"     : false,            /* показувати сповіщення, коли вкладка не активна                  */
    "localStorage"      : true,             /* кеширование содержимого папки                                   */
    "minify"            : true,             /* минификация js,css,html и изображений                           */
    "cache"             : true,             /* кеширование                                                     */
    "online"            : true,             /* загрузить файлы js с cdn или Local path                         */
    "logs"              : false,            /* выводить в логи или в консоль                                   */
    "showKeysPanel"     : true,             /* показать классическую панель с кнопками функциональных клавишь  */
    "server"            : true,             /* режим сервера или тестирования                                  */
    "socket"            : true              /* включить web сокеты                                             */
    "port"              : 8000,             /* http порт                                                       */
    "sslPort"           : 443,              /* https порт                                                      */
    "ip"                : null,             /* ip или null(по умолчанию)                                       */
    "ssl"               : false             /* использовать https?                                             */
    "rest"              : true              /* включить остальной интерфейс                                    */
}

Если вы изменили config и хотите продолжать обновляться при помощи git, Вам нужно применить следующую команду в корневой директории Cloud Commander:

git update-index --assume-unchanged json/config.json

Что бы вернуться к отслеживанию:

git update-index --no-assume-unchanged json/config.json

Сервер

Обычно процессы, запущенные правами не root не могут обращаться к портам ниже чем 1024. В любом случае, Я советую Вам запускать Cloud Commander не под root. Как это сделать? Существует несколько простых и быстрых вариантов. Один из них - перенаправление портов через iptables.

###Iptables Просто запустите shell/addtables.sh для стандартных опций.

@:/tmp/cloudcmd (dev) $ sudo iptables -t nat -L # look rules before
@:/tmp/cloudcmd (dev) $ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8000
@:/tmp/cloudcmd (dev) $ sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 4430
@:/tmp/cloudcmd (dev) $ sudo iptables -t nat -L # look reles after

Ви должны увидеть что-то такое ( 8000 и 4430 должно быть в config как port и sslPort )

target     prot opt source               destination
REDIRECT   tcp  --  anywhere             anywhere             tcp dpt:http redir ports 8000
REDIRECT   tcp  --  anywhere             anywhere             tcp dpt:https redir ports 4430

Если захотите всё вернуть, просто очистите правила ( 1 и 2 это номера правил, в вашому случае они могут отличаться).

@:/tmp/cloudcmd (dev) $ sudo iptables -t nat -D PREROUTING 1
@:/tmp/cloudcmd (dev) $ sudo iptables -t nat -D PREROUTING 2

###nginx Возьмите nginx. В linux это можна сделать так:

sudo apt-get install nginx #for ubuntu and debian

И сделайте хост файл /etc/nginx/sites-enabled/io.cloudcmd.io ( io.cloudcmd.io ваше доменное імя) с содержимым:

server {
    listen 80;
    client_max_body_size 100m;
    server_name io.cloudcmd.io;
    access_log /var/log/nginx/io.cloudcmd.io.access.log;
    location / {
        proxy_pass    http://127.0.0.1:8000/;
    }
}

Если вы хотите включить ssl, добавьте несколько строчек в раздел сервера:

server {
    listen 443;
    client_max_body_size 100m;
    ssl                  on;
    ssl_certificate      /home/coderaiser/cloudcmd/ssl/ssl.crt;
    ssl_certificate_key  /home/coderaiser/cloudcmd/ssl/ssl.key;
    server_name io.cloudcmd.io;
    access_log /var/log/nginx/io.cloudcmd.io.access.log;
    location / {
        proxy_pass    http://127.0.0.1:8000/;
    }
}

Если Вам нужно перенаправление с http на https, просто сделайте так:

server {
    listen 80;
    server_name admin.cloudcmd.io;
    rewrite ^ https://io.cloudcmd.io$request_uri? permanent; #301 redirect
    access_log /var/log/nginx/io.cloudcmd.io.access.log;
}
# create symlink of this file
ln -s ./sites-enabled/io.cloudcmd.io ./sites-available
# restart nginx
/etc/init.d/nginx restart

Для запуска Cloud Commander под daemon в linux установите log в true в config-файлe и введите:

nohup node cloudcmd

Запуск

Что бы запустить Cloud Commander нужна всего одна команда:

node cloudcmd

для windows:

cloudcmd

После чего , Cloud Commander считает информацию с порта з файла настроек config.json и запустит сервер на этом порту ( 8000, по умолчанию ), если сменных портов не существует( cloud9, cloudfoundry и nodester ). Тогда просто наберите в браузере:

http://127.0.0.1:8000

или

http://localhost:8000

Обновление

Cloud Commander обновляется часто. Обновление происходит автоматически, так же это можно сделать в ручную, вводя несколько команд в папке cloudcmd:

git pull

или проверить доступность новой версии в npm

npm info cloudcmd

и затем, если новая версия доступна

npm r cloudcmd
npm i cloudcmd

Расширения

Cloud Commander desinged to easily porting extensions. Для расширения основного функционала Cloud Commander использует следующие модули:

Присоединиться к проекту

Если вы желаете присоединиться к проекту - направьте pull запрос в dev ветку. Получение dev версии Cloud Commander:

git clone git://github.com/coderaiser/cloudcmd.git
git checkout dev

Возможно Вам понадобится dev версия Minify, в таком случае наберите следующие команды:

cd node_modules
rm -rf minify
git clone git://github.com/coderaiser/minify
git checkout dev

История версий

Лицензия

MIT license.

Особая благодарность: