Gerenciamento remoto de computadores através do navegador

Há cerca de seis meses, pensei em criar um programa para controlar um computador através do navegador. Comecei com um simples servidor HTTP de socket único, que transmitia imagens para o navegador e recebia as coordenadas do cursor para controle.

Em determinado momento, percebi que a tecnologia WebRTC se adequava bem a esses objetivos. Essa solução já está disponível no navegador Chrome, sendo instalada através de uma extensão. Mas eu queria desenvolver um programa leve, que funcionasse sem instalação.

Primeiro, tentei utilizar a biblioteca fornecida pelo Google, mas, após a compilação, ela ocupava 500 MB. Tive que implementar quase todo o stack WebRTC do zero, conseguindo compactar tudo em um arquivo exe de 2,5 MB. Um amigo me ajudou com a interface em JS, e aqui está o resultado final.

Executamos o programa:

Gerenciamento remoto de computadores através do navegador
Abrimos o link em uma aba do navegador e obtemos acesso completo ao desktop:

Gerenciamento remoto de computadores através do navegador
Uma pequena animação do processo de conexão:

Gerenciamento remoto de computadores através do navegador
São suportados Chrome, Firefox, Safari, Opera.

Há a possibilidade de transmissão de som, chamadas de áudio, controle da área de transferência, transferência de arquivos e acionamento de teclas de atalho.

Durante o trabalho no programa, precisei estudar uma dezena de RFCs e perceber que na internet não há informações suficientes sobre o funcionamento do protocolo WebRTC. Quero escrever um artigo sobre as tecnologias que ele utiliza e gostaria de saber quais questões das listadas abaixo interessam à comunidade:

  • Protocolo SDP para descrição de fluxos de dados
  • Candidatos ICE e estabelecimento de conexão entre dois pontos, STUN e TURN servidor
  • Conexão DTLS e transmissão de chaves na sessão RTP
  • Protocolos RTP e RTCP com criptografia para transmissão de dados de mídia
  • Transmissão de H264, VP8 e Opus por RTP
  • Conexão SCTP para transmissão de dados binários

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster