Skip to content

Latest commit

 

History

History
366 lines (301 loc) · 18.2 KB

v0.6.0.md

File metadata and controls

366 lines (301 loc) · 18.2 KB

Cloud Commander 0.6.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] ![RunKite][RunKite_LIVE_IMG] [RunKite][RunKiteURL]) [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 "flattr" [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" [RunKiteURL]: http://cloudcmd.apps.runkite.com/ "RunKite" [IO_LIVE_IMG]: http://status-ok.cloudcmd.io/host/io.cloudcmd.io "IO" [JitSu_LIVE_IMG]: http://status-ok.cloudcmd.io/host/cloudcmd.jit.su "JitSu" [HEROKU_LIVE_IMG]: http://status-ok.cloudcmd.io/host/cloudcmd.herokuapp.com "Heroku" [RunKite_LIVE_IMG]: http://status-ok.cloudcmd.io/host/cloudcmd.apps.runkite.com/ "RunKite"

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

Гарячі клавіші

В усіх сучасних веб оглядачах (окрім Інтернет Експлорера, бо він особливий) гарячі клавіші працюють. Короткий список:

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

Редактор

Демо Edit

###Гарячі клавіші

  • F4 - відкрити
  • Ctrl + s - зберегти
  • Esc - закрити

Детальніше Гарячі клавіші Ace.

Консоль

Демо Консоль

###Гарячі клавіші

  • ~ - відкрити
  • Esc - закрити

Налаштування

Демо Налаштування

###Гарячі клавіші

  • F10 - відкрити
  • Esc - закрити

Меню

Демо Menu Натискання на праву клавішу мишки, викликає меню з наступними пунктами:

  • Перегляд
  • Редагування
  • Змінити назву
  • Знищити
  • Zip файл
  • Обрати все
  • Вивантажити до (Dropbox, Github, GDrive)
  • Завантажити
  • Новий (Файл, Папка, з хмарки)

###Гарячі клавіші

  • F9 - відкрити
  • Esc - закрити

Налаштування

Всі головні налаштування можна встановити в config.json.

{
    "api_url"           :"/api/v1",
    "appcache"          : false,     /* кешувати файли для оффлайнового використання               */
    "analytics"         : true,      /* підтримка google analytics                                 */
    "localStorage"      : true,      /* кешування вмісту папки                                     */
    "minify"            : true,      /* minification js,css,html та img                            */
    "cache"             : true,      /* додати контроль кешу                                       */
    "online"            : true,      /* загрузити файли js з cdn або Local path                    */
    "logs"              : false,     /* виводити в логи чи в консоль                               */
    "show_keys_panel"   : true,      /* показати класичну панель з кнопками функціональних клавіш  */
    "server"            : true,      /* режим сервера чи тестування                                */
    "socket"            : true       /* увімкнути web сокети                                       */
    "port"              : 8000,      /* http порт чи null(за замовчанням)                          */
    "sslPort"           : 443,       /* https порт чи null(за замовчанням)                         */
    "ip"                : null,      /* ip чи null(за замовчуванням)                               */
    "ssl"               : false      /* використовувати https?                                     */
    "rest"              : true       /* увімкнути решту інтерфейса                                 */
}

Якщо ви змінили config і хочете продовжувати оновлюватись via git, вам потрібно виконати наступну команду в корневій директорії Cloud Commander:

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

Щоб повернутися до відстежування:

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

Сервер

Зазвичай процеси, що запущено правами не root не можуть звертатися до портів нижче ніж 1024. В любому випадку, Я раджу Вам запускати Cloud Commander не під рутом. Як це зробити?! Існує декілька простих і швидких шляхів. Один з них - просування портів через 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 and 4430 should be in config as port and 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/;
    }
}
# 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 в "істину" в config-файлі і зробіть щось на зразок:

nohup node cloudcmd

Авторизація

Cloud Commander може авторизовувати клієнтів через openID на GitHub. Все що для цього потрібно - додати id і secret додатків зі сторінки налаштувань github в config.json (id just) and env varible (secret) з іменами: github_id, github_secret, dropbox_key, dropbox_secret і т.д. Для додаткової інформації, дивіться config.json та shell/seret.bat (для win32) або shell/secret.sh (для nix).

Запуск

Для запуску Cloud Commander потрібна лише одна команда:

node cloudcmd

або на Windows

cloudcmd

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

http://127.0.0.1:8000

або

http://localhost:8000

Оновлення

Cloud Commander дуже часто оновлюється. Оновлення відбувається автоматично, але його можна виконати власноруч за допомогою декількох команд в папці Cloud Commander:

git pull

перевірити наявність нової версії на npm

npm info cloudcmd

і якщо нова версія існує

npm r cloudcmd
npm i cloudcmd

Додаткові модулі

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

Щоб встановити додаткові модулі, напишіть знаходячись в папці Cloud Commander:

npm i

Розширення

Cloud Commander створено з можливістю легкого розширення основного функціоналу. Щоб розширити функціонал 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 ліцензія.

Щира подяка: