Domanda

Attualmente sto sviluppando un'app Web che ha una parte in cui devo aprire una macchina specifica tramite VNC per monitorarne il desktop.

Devo avere un client VNC basato sul web, il che significa che non dovrebbe installare un server o qualsiasi altro file sul lato client.Il client apre semplicemente il browser Web e inserisce l'IP della macchina di destinazione da aprire nel browser e quindi esegue un client VNC basato sul Web.

Quali sono le buone risorse per iniziare in questo campo?

AGGIORNAMENTO 29-10-2013

Appena PER TUA INFORMAZIONE:allora ho finito per usare guacamole come consigliato da @Dolph.
Era:

  • molto facile da configurare
  • molto facile seguire il suo codice e decodificarlo (purché tu conosca Java)
  • è ancora utilizzato nell'azienda per cui lavoravo ed è robusto
È stato utile?

Soluzione

Dai un'occhiata a Guacamole Project :

.

Guacamole è un gateway desktop remoto senza client> Strong> . Supporta protocolli standard come VNC e RDP. Lo chiamiamo senza client perché non sono richiesti plugin o software client. Grazie a HTML5, una volta installato Guacamole su un server, tutto ciò che devi accedere ai desktop è un browser Web.

Sul lato negativo, richiede un server Java al proxy attraverso. Tuttavia, questo dovrebbe essere banale, anche se non si dispone già di un server Java e in esecuzione (Tomcat è piuttosto semplice, e Istruzioni di guacamole sono semplici):

.

Guacamole è separato in due pezzi: Guacamole-Server, che fornisce il proxy GuaCD e le librerie correlate e il Guacamole-Client, che fornisce al client di essere servito dal contenitore del servlet, di solito tomcat .

Guacamole-client è disponibile in forma binaria, ma Guacamole-Server deve essere costruito dalla fonte. Non scoraggiarti: la costruzione dei componenti di Guacamole dalla fonte non è così difficile come suona, e il processo di costruzione è automatizzato. Hai solo bisogno di essere sicuro di avere gli strumenti necessari installati in anticipo. Con le dipendenze necessarie in atto, la costruzione di Guacamole richiede solo pochi minuti.

Altri suggerimenti

Esistono varie soluzioni, ma nessuna di esse consentirà un'app Web semplice al 100% (ad es.senza Flash, Java o ActiveX) per connettersi direttamente a un server VNC semplice al 100%.Il problema più grande è che i browser web non possono stabilire connessioni TCP semplici.La cosa più vicina è lo standard WebSockets incompleto, ma anche quello è un protocollo con frame che ha un handshake simile a HTTP per avviarlo.

Anche se i programmi Adobe Flash possono effettuare semplici connessioni TCP, richiedono comunque che il server a cui ti stai connettendo risponda con un file di criteri sulla porta 843 o sulla porta a cui ti stai connettendo (http://code.google.com/p/doctype/wiki/ArticleFlashSecurity).

Come è stato notato, Guacamole richiede un proxy Java per comunicare tra la sua interfaccia basata su HTML5 e il server VNC.

Un'altra opzione è noVNC (github) che ha un'implementazione completa del client VNC in Javascript/HTML5 (a differenza di Guacamole in cui il protocollo VNC è nel proxy).Tuttavia, noVNC è ancora limitato dal fatto che Javascript non può effettuare semplici connessioni TCP.noVNC utilizza WebSocket per connettersi al server.noVNC include un bridge WebSocket to TCP generico che è possibile eseguire sul server (o sul client) e non ha dipendenze aggiuntive da installare.

Aggiornamento:QEMU, PocketVNC e i progetti derivati ​​da LibVNCServer ora dispongono del supporto server WebSocket integrato, quindi il bridge websockify non è necessario per connettersi con noVNC.Inoltre, ho dimenticato di annotare come disclaimer che ho creato noVNC.

prova a stretchc.com.L'ultima volta che l'ho usato potresti semplicemente indicarla all'IP della macchina e usarla nel tuo browser.

Prova Peervnc, questo è il client VNC basato sul Web e il proxy supporta il server VNC esistente.

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

Forse ti avvicini con questa soluzione - http://www.onlinevnc.com ?Per quanto posso vedere, hanno risolto il problema per la sicurezza del flash quando il flash non può stabilire una connessione diretta alla porta VNC TCP / IP. Inoltre ho visto sulla loro offerta del sito web per integrare il visualizzatore in qualsiasi altro sito Web o applicazione.

Oltre alla risposta dei Dolph, c'è questo, un applet Java per il collegamento a server VNC.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top