Skip to content

Latest commit

 

History

History
403 lines (335 loc) · 19.5 KB

v1.0.0.md

File metadata and controls

403 lines (335 loc) · 19.5 KB
layout lang
default
name link translation
English
на Английском
name link translation
Ukrainian
на Украинском
name link translation
Russian
на Русском

Cloud Commander 1.0.0

###[Главная][MainURL] [Блог][BlogURL] Демо(![JitSu][JitSu_LIVE_IMG] [JitSu][JitSuURL], ![Heroku][Heroku_LIVE_IMG] [Heroku][HerokuURL]) [NPM_INFO_IMG]: https://camo.githubusercontent.com/254a020afe689842501ef5a79c04ba909f9b29d2/68747470733a2f2f6e6f6465692e636f2f6e706d2f636c6f7564636d642e706e673f646f776e6c6f6164733d7472756526267374617273 "npm install cloudcmd" [MainURL]: http://cloudcmd.io "Главная" [BlogURL]: http://blog.cloudcmd.io "Блог" [JitSuURL]: http://cloudcmd.jit.su "JitSu" [HerokuURL]: http://cloudcmd.herokuapp.com/ "Heroku" [JitSu_LIVE_IMG]: https://status-ok.cloudcmd.io/host/cloudcmd.jit.su/img/txt.png "JitSu" [HEROKU_LIVE_IMG]: https://status-ok.cloudcmd.io/host/cloudcmd.herokuapp.com/img/txt.png "Heroku"

Cloud Commander - двухпанельный веб файл менеджер с консолью и редактором. Поможет вам управлять сервером и работать с файлами, папками и программами в браузере на любом компьютере, смартфоне или планшете.

Cloud Commander

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

  • Открытый код (MIT License).
  • Две классические панели.
  • Возможность авторизации.
  • Клиент работает в веб браузере.
  • Сервер работает под Windows, Linux и Mac OS.
  • Может использоваться локально или удаленно.
  • Адаптируется под размер экрана.
  • Редактор с поддержкой подсветки синтаксиса для более чем 110 языков.
  • Консоль с поддержкой стандартной командной строки ОС.
  • Написан на JavaScript/Node.js.

Установка

Установить Cloud Commander проще простого.

  • установить node.js.
  • установить cloudcmd при помощи npm простой командой.

![NPM_INFO][NPM_INFO_IMG]

Запуск

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

node cloudcmd

при глобальной установке:

cloudcmd

Cloud Commander считывает информацию из файла настроек json/config.json и запускает сервер на стандартном порту (8000), если не находит переменные окружения с именами cloud9, cloudfoundry и nodester.

Для начала работы просто наберите в адресной строке браузера

http://127.0.0.1:8000

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

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

Редактор

Edit

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

Клавиша Действие
F4 открыть
Ctrl + s сохранить
Ctrl + f поиск
Ctrl + f + f замена
Ctrl + g перейти к строке
Esc закрыть

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

Консоль

Консоль

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

Клавиша Действие
~ открыть
Ctrl + P вставить путь текущей папки
Esc закрыть

Настройки

Настройки

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

Клавиша Действие
F10 открыть
Esc закрыть

Меню

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

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

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

Клавиша Действие
F9 открыть
Esc закрыть

Настройки

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

{
    "auth"              : false,            /* разрешить http авторизацию                                      */
    "username"          : "root",           /* имя пользователя для авторизации                                */
    "password"          : "toor",           /* хеш пароля в sha-1 для авторизации                              */
    "appCache"          : false,            /* кешировать файлы для оффлайн использования                      */
    "analytics"         : true,             /* поддержка google analytics                                      */
    "diff"              : false,            /* при сохранении - отсылает патч, а не весь файл                  */
    "zip"               : false,            /* zip текст перед отсылкой / unzip перед сохранением              */
    "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 для стандартных опций.

iptables -t nat -L # look rules before
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8000
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 4430
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 — это номера правил, в вашем случае они могут отличаться).

iptables -t nat -D PREROUTING 1
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 в качестве демона в Linux установите log в true в config-файлe и введите:

nohup node cloudcmd

Обновление

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

git pull

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

npm info cloudcmd

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

npm r cloudcmd
npm i cloudcmd

Список дополнительных модулей

Для расширения функционала файлового менеджера используются следующие модули:

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

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

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

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

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

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

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

  • Polietilena за logo и favicon.
  • TarZak за русский и украинский переводы.