The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

В рамках проекта GateOne создан работающий в браузере эмулятор терминала и SSH-клиент

14.10.2011 11:06

Представлена реализация работающего внутри web-бразуера эмулятора терминала и SSH-клиента, написанная на JavaScript с использованием стандартного HTML5 API, способная работать без установки дополнений или плагинов. Серверная часть запускается в виде скрипта на локальной или удаленной машине. Код серверной части написан на языке Python с использованием модуля pyOpenSSL. Канал связи организуется с использованием WebSockets. Все наработки проекта доступны под лицензией AGPLv3.

Web-приложение поддерживает все типичные для современных эмуляторов терминалов функции, такие как копирование в вставка, менеджер закладок, просмотр истории соединений, возможность работы с Unicode. Возможно замораживание активных сеансов с последующим закрытием окна и возобновлением работы через некоторое время, сеанс во время подобной заморозки остаётся активным. Видеодемонстрацию возможностей программы можно посмотреть здесь.

Интересной особенностью GateOne является возможность записи выполняемых в терминале действий в форме лога или видеоролика, с последующим повторным проигрыванием записанного сеанса. Поддерживается одновременное создание нескольких рабочих сессий в рамках одного окна. Для более наглядного переключения между сессиями реализован режим вывода уменьшенных эскизов содержимого активных рабочих сеансов, а для более быстрого переключения - возможность использования управляющих клавиатурных комбинаций. Текущий сеанс может быть клонирован, без необходимости повторной аутентификации за счет использования агрегации SSH-линков.

GateOne может использоваться как отдельное приложение, так и в роли модуля для интеграции с другими системами, такими как интерфейсы администрирования маршрутизаторов или системы управления виртуальными машинами. Поддерживается создание плагинов к серверной части на языке Python, к web-приложению на языке JavaScript, а также изменение оформление интерфейса через подключение CSS-шаблонов. Возможно подключение дополнительных модулей аутентификации, например, уже реализована работающая с Active Directory поддержка Single Sign на базе Kerberos.

  1. Главная ссылка к новости (https://plus.google.com/u/0/10...)
  2. OpenNews: В написанном на JavaScript эмуляторе ПК появилась поддержка постоянного хранилища
  3. OpenNews: git.js - реализация Git, написанная целиком на JavaScript
  4. OpenNews: Проекты по компиляции кода на языках Clojure и Pascal в JavaScript-представление
  5. OpenNews: Полноценная программа для чтения PDF, написанная целиком на JavaScript
  6. OpenNews: Представлен проект JSMad, с реализацией проигрывателя MP3 на языке JavaScript
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/32036-term
Ключевые слова: term, ssh, javascript, web, browser
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (59) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Аноним (-), 13:10, 14/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Никто не хочет переписать на php/Python/Perl и им подобным эмулятор VirtualBox для запуска старых DOS игр?

    Сколько же в мире скучающих web-программистов...

     
     
  • 2.4, Аноним (-), 13:30, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • –6 +/
    На Python это вполне возможно, очень мощный язык.
     
     
  • 3.20, Аноним (-), 15:21, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Да? А на руби? Перле? С? С++? Java?
     
     
  • 4.37, Аноним (-), 17:48, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Да? А на руби? Перле? С? С++? Java?

    А на бэйсике? Мельничным жерновом можно и карандаши точить, но зачем?

     
     
  • 5.42, Аноним (-), 20:11, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > А на бэйсике? Мельничным жерновом можно и карандаши точить, но зачем?

    Это как раз про питона и эмулятор терминала, питон - тормозное угребище, за жернов сойдет :)))

     
  • 4.65, Аноним (-), 10:33, 15/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Да? А на руби? Перле? С? С++? Java?

    А на Java уже есть JPC.

     
  • 3.22, Аноним (-), 15:33, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > На Python это вполне возможно, очень мощный язык.

    Дааа. Мощный, как атомный ледокол.
    Особенно сильно осознаешь его мощь, глядя на потребление памяти и скорость работы.

     
     
  • 4.29, Аноним (-), 17:43, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А чего ты ждал от интерпретатора, анон? Чуда компиляции?
     
     
  • 5.44, Аноним (-), 20:14, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А чего ты ждал от интерпретатора, анон? Чуда компиляции?

    Не, от питона можно ждать разве что несовместимости версий между собой. Пять версий интерпретатора в системе - это великолепно! Но кроме питона такого уродства ни один яп себе не позволяет.

     
     
  • 6.52, Аноним (-), 20:42, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А как же .NET?
     
     
  • 7.55, Аноним (-), 20:52, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А как же .NET?

    К счастью многие линуксы избавлены от этого кошмара.

     
  • 3.39, Аноним (-), 20:07, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > На Python это вполне возможно, очень мощный язык.

    Вы так говорите как будто на других это невозможно. Питонисты такие питонисты. Местный вариант ПГМ: питон головного мозга. Кстати, мсье никогда не слышал про полноту по Тьюрингу? Хотя чего от этих питонистов ожидать...

     
  • 2.8, Аноним (-), 13:51, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    о да! их бы энергию да в мирных целях!!!!
     
     
  • 3.30, Аноним (-), 17:43, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > о да! их бы энергию да в мирных целях!!!!

    Стандарты, например, разработать и ДОГОВОРИТЬСЯ наконец об их единстве.

     
  • 2.19, Чфыв (?), 15:21, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Никто не хочет переписать на php/Python/Perl <...>
    >
    > Сколько же в мире скучающих web-программистов...

    поглядел исходники... в Python-части используется библиотека "Tornado" (асинхронный движок, разрабатываемый компанией Facebook)

    ..а значит конкурентом тут может быть только Node.Js ... но уж точно ни как не PHP :-D :-D

     
     
  • 3.40, Аноним (-), 20:08, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > ни как не PHP :-D :-D

    Еще один образец клоунов вылез? А что вы будете делать если кто-то напишет это на пыхе? Или это вы так иронизируете над незадачливым питонистом?

     
     
  • 4.69, Xasd (ok), 14:54, 15/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ну попробуйте, попытайтесь :-) ...чтото не сильно много я вижу использований websockets на ПыхПых... наверно видимо потомучто скрипту на ПыхПых -- Модуль Апача стандартно отводит 30 секунд на выполнение :-D [а если это ограничение убрать, и создавать "бесконечно"-выполняемую PHP-нить, то вдруг оказывается что утечки памяти и файловых ресурсов это обычное дело в PHP... ну да, верно, зачем их особо-то чистить если сёравно PHP предназначен именно для случаев когда нить создаётся и сразу умирает :-D]
     
  • 3.58, crz (?), 21:01, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    гуглите что такое phpdaemon
     
  • 2.26, моррут (?), 16:34, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    на javascript эмулятор pc-386 уже написали.
    Линукс запускается
     

  • 1.5, sndev (ok), 13:46, 14/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    И теперь удаленные уязвимости просто не нужны как класс. Достаточно найти дырки в веб приложении.

    Как по мне, так это практически равно тому, что вас приглашают подключиться напрямую на машину, и уже искать локальные уязвимости, если конечно это вас интересует. :\

    И в дополнение, никогда не понимал, зачем на js переписывать вещи для которых он не преднозначен. (think).

    Осталось еще, чисто так, на поржать, блендер, например, на js переписать и засунуть в броузер

     
     
  • 2.6, хренсгары (ok), 13:49, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ты точно не бредишь? это ssh-клиент обыкновенный.
     
     
  • 3.50, Аноним (-), 20:24, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    С серверной частью?
     
  • 2.10, Аноним (-), 14:05, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Читаем внимательно и находим слово "аутентификация".
    --
    Недавно археологи обнаружили тело мамонта на глубине 30 метров. Это лишний раз доказывает, что мамонты жили в норах.
     
     
  • 3.11, sergem (ok), 14:14, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Недавно археологи обнаружили тело мамонта

    Археологи? Мамонта?

    Н-да. Грамотная нынче молодежь.

     
     
  • 4.24, Аноним (-), 15:39, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +13 +/
    >Археологи? Мамонта?

    Чтобы обнаружить мамонта, не обязательно быть палеонтологом. Достаточно лишь заниматься землекопательными работами в удачном месте. При этом можно быть даже гастарбайтером.

     
     
  • 5.56, Аноним (-), 20:53, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Капитан, вы сегодня в ударе!
     

  • 1.7, Аноним (-), 13:50, 14/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    То есть, теперь при наличии "потайного прохода" в браузере, можно будет подавать команды в сессию ssh из другой вкладки браузера?
     
     
  • 2.16, Аноним (-), 14:50, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Если найдёте идиота, который будет этим пользоваться.
     
     
  • 3.31, Аноним (-), 17:44, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Если найдёте идиота, который будет этим пользоваться.

    Базу клиентов Сони, безусловно, уперли идиоты.

     
     
  • 4.32, Аноним (-), 17:44, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Если найдёте идиота, который будет этим пользоваться.
    > Базу клиентов Сони, безусловно, уперли идиоты.

    Несомненно. И идиоты же поимели кернел.орг.

     
     
  • 5.41, Аноним (-), 20:09, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Несомненно. И идиоты же поимели кернел.орг.

    А что, они разве были настолько упоротыми что пользовались какой-то кривой хренью на питоне на серверах? :)

     

  • 1.9, QuAzI (ok), 13:56, 14/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А есть мобилы, на которых это запустится? Та же N900 с этим сможет работать?
     
     
  • 2.12, Аноним (-), 14:19, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем? На n900 есть нормальный терминал и обычный openssh спокойной устанавливается.
     
     
  • 3.43, Аноним (-), 20:13, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем? На n900 есть нормальный терминал и обычный openssh спокойной устанавливается.

    При том и клиент и сервер - полноценные. Обычные. И клавиатура аппаратная есть. И никакого рояля в кустах, то-есть, скриптошита на питоне на каком-то побочном сервере не надо. А то пихание ссх через побочный прокси-сервер с питонами и чем там еще через вебсокеты - ну это конечно круто. Рекомендуется для слоупоков, которых раздражает излишняя скорость работы ssh.

     

  • 1.13, Аноним (-), 14:20, 14/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Правильно, SSH - серёзная штука, и лучше довериться серьёзному стороннему сервису, чем велосипедным студенческим поделкам типа OpenSSH. К тому же, на сервере очень удобно держать букмарки и пароли, прямо в облаке! Можно также добавить услугу генерации и хранения закрытых ключей на сервере - и можно будет залогиниться на свой сервер из любого интернет-кафе одним кликом! Ждём Google SSH.
     
     
  • 2.15, Аноним (-), 14:50, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А ещё надо в протокол SSH встроить аутентификацию через Google ID - это глобально и современно, и нефиг плодить велосипеды типа RFC4716.
     
     
  • 3.45, Аноним (-), 20:16, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А ещё надо в протокол SSH встроить аутентификацию через Google ID -
    > это глобально и современно, и нефиг плодить велосипеды типа RFC4716.

    Да, и вообше, надо релеить вводимые в ссх команды гуглю. Ну, чтобы гугл мог поиск по ним делать и большой брат знал что вы - честный человек, а не какой-то там му...к!

     
  • 2.18, Polkan (ok), 15:03, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Ага. Также не надо забывать и про соцсети.
    Вход на сервер сейчас должен быть возможен и со страницы фейсбук или вконтакте.
    Конечно, в целях безопасности в настройках нужна галка "Разрешить входить на мой сервер: всем, друзьям, никому". )
     
     
  • 3.21, Аноним (-), 15:22, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Авторизация через Google/Twitter/Facebook/OpenID думаю, следует ожидать в следующей версии :)

    А вообще, лайкнуть или твитнуть команду - чо.

     
     
  • 4.23, Аноним (-), 15:35, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > А вообще, лайкнуть или твитнуть команду - чо.

    rm -rf /

    129 пользователям понравилась эта команда.

     
     
  • 5.33, Аноним (-), 17:45, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> А вообще, лайкнуть или твитнуть команду - чо.
    > rm -rf /
    > 129 пользователям понравилась эта команда.

    :)))))) Патч Бармина не может не нравиться. :)))))))

     
     
  • 6.47, Аноним (-), 20:17, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > :)))))) Патч Бармина не может не нравиться. :)))))))

    Раньше были дарвинисты, а теперь будут еще и барвинисты. Не зря они похоже звучат.

     
  • 6.62, Аноним (-), 05:01, 15/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Это не патч Бармина.
     
  • 4.46, Аноним (-), 20:16, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А вообще, лайкнуть или твитнуть команду - чо.

    А что за делает команда "чо" ? :)

     
     
  • 5.53, Аноним (-), 20:44, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    $ чо
    bash: $'\321\207\320\276': команда не найдена
     
     
  • 6.60, Аноним (-), 01:53, 15/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > $ чо
    > bash: $'\321\207\320\276': команда не найдена

    Что-то у вас консоль кривая или баш :\

     
  • 6.64, Аноним (-), 05:06, 15/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Сигвинщик что ли?!
     

  • 1.14, JIghtuse (ok), 14:48, 14/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Идиотская мода пошла всё навыворот делать.
     
  • 1.28, iCat (ok), 17:08, 14/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    JustForFun...
    А что? Прикольно...
     
     
  • 2.36, Аноним (-), 17:47, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > JustForFun...
    > А что? Прикольно...

    Я бы сказал, что иногда даже удобно.

     
     
  • 3.49, Аноним (-), 20:20, 14/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Я бы сказал, что иногда даже удобно.

    Кому-то конечно удобно чесать левой ногой правое ухо, но по-моему есть и более удобные и простые варианты.

    Ждем когда кто-нить напишет CAD на хтмл 5, дарю идею, лол :)

     

  • 1.54, Michael Shigorin (ok), 20:50, 14/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если уж припекло высунуть через :443 sshd/login, то IMHO shellinabox заметно симпатичнее.
     
     
  • 2.61, XoRe (ok), 02:22, 15/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Если уж припекло высунуть через :443 sshd/login, то IMHO shellinabox заметно симпатичнее.

    Тоже хотел сказать про shellinabox.
    Название новости как-бы неявно намекает, что раньше никогда такого не было.
    Вообще можно vnc повесить с http режимом - зашел через браузер, запустился vnc клиент на java, и вперед.

    Но у данного проекта есть плюс - встраиваемость в другие проекты.
    Например, в систему управления виртуалками, или просто серверами.
    Наверное идея реализовать "правильный" Webmin не дает людям покоя =)

     
     
  • 3.71, Аноним (-), 00:37, 16/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Наверное идея реализовать "правильный" Webmin не дает людям покоя =)

    Это видно хотя бы по числу специализированных дистрибутивов, управляемых через веб-морды.

     

  • 1.59, Аноним (-), 23:14, 14/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Интересной особенностью GateOne является возможность записи выполняемых в >терминале действий в форме лога или видеоролика, с последующим повторным >проигрыванием записанного сеанса.

    Полезная вещь в учебном процессе. и только. А так слишком большое искушение поюзать клиента где не надо. Разработчик kernel.org уже поюзал. И потом такие штуки нежелательно делать на интерпретаторах, это как макровирус для офиса рассылать. Имхо больше вреда чем пользы.  

     
     
  • 2.63, Аноним (-), 05:04, 15/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > И потом такие штуки нежелательно делать на интерпретаторах

    Што? И в чем же принципиальная разница? Ну и да, JS во всех браузерах компилируется, если что.

     
     
  • 3.67, XoRe (ok), 12:04, 15/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> И потом такие штуки нежелательно делать на интерпретаторах
    > Што? И в чем же принципиальная разница? Ну и да, JS во
    > всех браузерах компилируется, если что.

    Серверную сторону

     
  • 3.68, Аноним (-), 12:51, 15/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Принципиальная разница в том, что ssh клиент обычно устанавливает root и просто так подменить его бывает более затруднительно чем добавить "полезных" пару функций в текстовый файлик у хомячка. Я не говорю что это супер защита, но, простите, "зачем писать пин код на кредитной карте".  У меня один раз бот позорно подобрал pass  к мылу и выводы я сделал. Не надо никого лишний раз искушать  Вас ломать, а клиент ssh созданный на интерпретаторе очень сильное искушение, это же очевидно.
     

  • 1.72, Lemen (?), 16:20, 17/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Автор - нехило бы вынести в статью ссылку на демо :)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру