Подтвердить что ты не робот

Веб-клиент VNC?

В настоящее время я разрабатываю веб-приложение, в котором есть часть, где я должен открыть конкретную машину через VNC для мониторинга своего рабочего стола.

Мне нужен веб-клиент VNC, что означает, что он не должен устанавливать сервер или какой-либо другой файл на стороне клиента. Клиент просто открывает веб-браузер и помещает IP-адрес целевой машины в браузер и, таким образом, запускает веб-клиент VNC.

Каковы хорошие ресурсы для начала работы в этой области?

ОБНОВЛЕНИЕ 2013-10-29

Просто FYI: тогда я закончил использование guacamole, как рекомендовал @Dolph.
Это было:

  • очень легко настроить
  • очень легко следовать его коду и реконструировать его (пока вы знаете java)
  • он по-прежнему используется в компании, для которой я работал, и является надежным
4b9b3361

Ответ 1

Просмотрите проект Guacamole:

Guacamole - это клиентский шлюз удаленного клиента. Он поддерживает стандартные протоколы, такие как VNC и RDP. Мы называем его "без клиентом", потому что не требуются плагины или клиентское программное обеспечение. Благодаря HTML5, когда Guacamole установлен на сервере, все, что вам нужно для доступа к вашим настольным компьютерам, - это веб-браузер.

В обратном направлении для него требуется прокси-сервер Java. Однако это должно быть тривиально, даже если у вас еще нет сервера Java и работает (Tomcat довольно прост и инструкции Guacamole просты):

Guacamole разделяется на две части: guacamole-сервер, который предоставляет прокси-сервер guacd и связанные с ним библиотеки, и guacamole-client, который предоставляет клиенту обслуживание вашего контейнера сервлета, обычно Tomcat.

guacamole-client доступен в двоичной форме, но guacamole-сервер должен быть построен из источника. Не обескураживайте: создание компонентов Guacamole из источника не так сложно, как кажется, и процесс сборки автоматизирован. Вам просто нужно быть уверенным, что у вас есть необходимые инструменты, установленные раньше времени. При наличии необходимых зависимостей строительство Гуакамоле займет всего несколько минут.

Ответ 2

Существуют различные решения, но ни один из них не позволит 100% -му простому веб-приложению (т.е. нет Flash, Java или ActiveX) напрямую подключаться к 100% -ному VNC-серверу. Самая большая проблема заключается в том, что веб-браузеры не могут выполнять простые TCP-соединения. Самое близкое - это неполный стандарт WebSockets, но даже это протокол с фреймами, который имеет рукопожатие, подобное HTTP, чтобы инициировать его.

Несмотря на то, что программы Adobe Flash могут выполнять простые TCP-соединения, им по-прежнему требуется, чтобы сервер, к которому вы подключаетесь, отвечал файлом политики либо на порт 843, либо на порт, к которому вы подключаетесь (http://code.google.com/p/doctype/wiki/ArticleFlashSecurity).

Как уже отмечалось, Guacamole требует, чтобы Java-прокси взаимодействовал между своим интерфейсом на основе HTML5 и сервером VNC.

Другая опция noVNC (github), которая имеет полную реализацию клиента VNC в Javascript/HTML5 (в отличие от Guacamole, где протокол VNC находится в прокси). Тем не менее, noVNC по-прежнему ограничен тем, что Javascript не может выполнять простые TCP-соединения. noVNC использует WebSockets для подключения к серверу. noVNC включает в себя общие WebSockets для TCP-моста, которые можно запускать на сервере (или на самом деле клиент), и у него нет дополнительных зависимостей для установки.

Обновление: QEMU, PocketVNC и проекты, полученные из LibVNCServer, теперь имеют встроенную поддержку сервера WebSocket, поэтому для соединения с noVNC мост websockify не нужен. Кроме того, я забыл отметить как отказ от ответственности, что я создал noVNC.

Ответ 3

Попробуйте tightVNC.com. В последний раз, когда я использовал его, вы могли просто указать его на IP-адрес машины и использовать его в своем браузере.

Ответ 4

попробуйте PeerVNC, этот веб-клиент vnc и прокси-сервер поддержки для любого существующего сервера VNC.

https://github.com/InstantWebP2P/peer-vnc

Ответ 5

Возможно, вы подойдете к этому решению - http://www.onlinevnc.com? Насколько я вижу, они решили проблему для Flash Security, когда Flash не может установить прямое подключение к порту TCP/IP VNC. Также я увидел на их сайте предложение интегрировать средство просмотра на любом другом веб-сайте или приложении.

Ответ 6

В дополнение к ответу Dolph, this, Java-апплет для подключения к серверам VNC.