Számítógép távvezérlés böngészőn keresztül

Körülbelül hat hónappal ezelőtt úgy döntöttem, hogy készítek egy programot a számítógép böngészőn keresztüli vezérlésére. Egy egyszerű, egysoros HTTP szerverrel kezdtem, amely képeket vitt át a böngészőbe, és megkapta a kurzor koordinátáit a vezérléshez.

Egy bizonyos szakaszban rájöttem, hogy a WebRTC technológia kiválóan alkalmas ezekre a célokra. A Chrome böngészőben van ilyen megoldás, egy bővítményen keresztül telepítik. De egy könnyű programot akartam készíteni, amely telepítés nélkül is működik.

Először a Google által biztosított könyvtárat próbáltam használni, de fordítás után 500 MB-ot foglal el. A teljes WebRTC stacket szinte a semmiből kellett implementálnom, és mindent sikerült beleillesztenem egy 2.5 MB-os exe fájlba. Egy barátunk segített a kezelőfelület kialakításában a JS-ben, és ez az, amihez jutottunk.

Futtassuk a programot:

Számítógép távvezérlés böngészőn keresztül
Nyissa meg a hivatkozást a böngésző lapján, és teljes hozzáférést kap az asztalhoz:

Számítógép távvezérlés böngészőn keresztül
A kapcsolat beállítási folyamatának rövid animációja:

Számítógép távvezérlés böngészőn keresztül
Támogatja a Chrome, Firefox, Safari, Opera.

Lehetőség van hang átvitelére, hanghívásra, vágólap kezelésére, fájlok átvitelére és gyorsbillentyűk hívására.

A programon való munka során egy tucat RFC-t kellett tanulmányoznom, és megértettem, hogy az interneten nincs elég információ a WebRTC protokoll működéséről. Szeretnék egy cikket írni a benne használt technológiákról, szeretném megtudni, hogy az alábbi kérdések közül melyek érdeklik a közösséget:

  • SDP adatfolyam adatleíró protokoll
  • ICE jelöltek és kapcsolat létrehozása két pont, a STUN és a TURN szerverek között
  • DTLS csatlakozás és kulcsok átvitele RTP munkamenetbe
  • RTP és RTСP protokollok titkosítással a médiaadatok továbbításához
  • H264, VP8 és Opus átvitele RTP-n keresztül
  • SCTP kapcsolat bináris adatok átviteléhez

Forrás: will.com

Hozzászólás