web-dev-qa-db-ja.com

WebベースのVNCクライアント?

現在、デスクトップを監視するためにVNCを介して特定のマシンを開く必要がある部分があるWebアプリを開発しています。

WebベースのVNCクライアントが必要です。つまり、クライアント側にサーバーやその他のファイルをインストールしないでください。クライアントはWebブラウザーを開き、ターゲットマシンのIPをブラウザーで開くだけで、WebベースのVNCクライアントを実行します。

この分野で始めるための良いリソースは何ですか?

更新2013-10-29

ただ ご参考までに:当時、@ Dolphが推奨するように guacamole を使用することになりました。
そうだった:

  • セットアップがとても簡単
  • そのコードをたどり、リバースエンジニアリングするのは非常に簡単です(Javaを知っている限り)
  • 私が働いていた会社でまだ使用されており、堅牢です
32
shadesco

Guacamoleプロジェクト をご覧ください。

ワカモレは、クライアントレスリモートデスクトップゲートウェイです。 VNCやRDPなどの標準プロトコルをサポートしています。プラグインやクライアントソフトウェアが不要なため、これをclientlessと呼びます。 HTML5のおかげで、Guacamoleがサーバーにインストールされると、デスクトップにアクセスするために必要なのはWebブラウザーだけです。

欠点としては、プロキシを経由するためにJavaサーバーが必要です。ただし、これは、Java server up実行(Tomcatは非常にシンプルで、 Guacamoleの指示 は簡単です):

Guacamoleは2つの部分に分かれています。guacamole-serverは、guacdプロキシと関連ライブラリを提供し、guacamole-clientは、サーブレットコンテナが提供するクライアントを提供します。通常は Tomcat です。

guacamole-clientはバイナリ形式で利用できますが、guacamole-serverはソースから構築する必要があります。がっかりしないでください。ソースからGuacamoleのコンポーネントをビルドするのは見た目ほど難しくなく、ビルドプロセスは自動化されています。必要なツールが事前にインストールされていることを確認するだけです。必要な依存関係が整っていれば、グアカモーレの構築には数分しかかかりません。

26
Dolph

さまざまなソリューションがありますが、100%プレーンなVNCサーバーに直接接続できる100%プレーンなWebアプリ(つまり、Flash、JavaまたはActiveX)は許可されません。最大の問題はWebブラウザーは単純なTCP接続を作成できません。最も近いのは不完全なWebSocket標準ですが、それでもHTTPのようなハンドシェイクを開始するフレーム化されたプロトコルです。

Adobe FlashプログラムはプレーンTCP接続を確立できますが、接続しているサーバーがポート843または接続しているポートのいずれかでポリシーファイルで応答する必要があります( http://code.google.com/p/doctype/wiki/ArticleFlashSecurity )。

既に述べたように、グアカモレでは、HTML5ベースのインターフェースとVNCサーバーの間で通信するためにJavaプロキシが必要です。

別のオプションは noVNCgithub )で、Javascript/HTML5に完全なVNCクライアント実装があります(VNCプロトコルがプロキシにあるGuacamoleとは異なります)。ただし、noVNCはJavascriptがプレーンTCP接続を作成できないという事実によって制限されます。noVNCはWebSocketを使用してサーバーに接続します。noVNCにはTCP =サーバー(またはクライアント)で実行できるブリッジで、インストールする追加の依存関係はありません。

Update:QEMU、PocketVNC、およびLibVNCServerから派生したプロジェクトにビルトインWebSocketサーバーサポートが追加され、noVNCに接続するためにwebsockifyブリッジが不要になりました。また、免責事項としてnoVNCを作成したことを忘れていました。

14
kanaka

peerVNCをお試しください。これはWebベースのvncクライアントであり、既存のVNCサーバーへのプロキシをサポートしています。

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

4
user1861979

TightVNC.comをお試しください。前回使用したときは、マシンのIPを指定してブラウザーで使用するだけでした。

4
Rob

たぶん、あなたはこのソリューションでアプローチします- http://www.onlinevnc.com ?私が見る限り、FlashがVNC TCP/IPポートへの直接接続を確立できない場合、Flashセキュリティの問題を解決しました。また、他のWebサイトまたはアプリケーションにビューアを統合するためのWebサイトのオファーを見ました。

1
JohnA

Dolphの答えに加えて、 this 、a Java VNCサーバーに接続するためのアプレットがあります。

0