Я знаю, что есть реализация VNC с использованием WebSockets (http://novnc.com), но для этого все еще требуется сервер. Я ищу, чтобы создать простое клиентское JavaScript-соединение (без Flash) для подключения к порту с SSH.WebSockets - единственный путь, так как он использует TCP. Любой пример кода? Любой другой путь?
Извините, учитывая ваши ограничения (только на Javascript на стороне клиента), невозможно подключиться к простому старому SSH-серверу.
WebSockets не является простым TCP. Это протокол в рамке с HTTP-подобным рукопожатием между клиентом и сервером, который включает политику происхождения.
Flash может создавать простые TCP-соединения, но также имеет принудительное применение политики происхождения. Это делается путем подключения к одному и тому же серверу через порт 843 и запроса специального XML-файла, который содержит политику источника. Если вы хотите немного ослабить свои ограничения, чтобы вы могли запускать универсальный прокси-сервер WebSockets для TCP либо на сервере (на любом сервере), либо на клиенте, тогда вы можете делать то, что вы хотите. noVNC включает в себя C и Python WebSockets для TCP-прокси: http://github.com/kanaka/noVNC/tree/master/utils/.
Другая информация, которая может оказаться полезной:
Текущая версия WebSocket: http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-76
Простой (небезопасный) способ запуска сервера политики флэш-памяти (Linux / UNIX с socat) описан здесь: http://github.com/kanaka/noVNC/blob/master/docs/flash_policy.txt
Дополнительная информация о файле политики флэш-памяти: http://code.google.com/p/doctype/wiki/ArticleFlashSecurity
Для тех, кто все еще ищет, paramikojs может быть ответом.
В настоящее время у меня похожая проблема: мне нужна реализация SSH JS на стороне клиентаи мне нужно, чтобы он был лицензирован BSD.Увы, paramikojs, кажется, имеет лицензию GPL.
Вы можете взглянуть на serfish . Это решение для доступа к серверу SSH. Но если вы размещаете ваше веб-приложение на том же сервере, что и ваш ssh, есть другие решения, такие как shell в коробке .
Определенно возможно использовать эмулятор Linux с полной поддержкой сети, такой как отличный эмулятор OpenRISC jor1k .
Обратите внимание, что я создал browser-tools.net , набор инструментов в браузере из разных проектов.