透過瀏覽器遠端控制電腦

大約六個月前,我決定製作一個程式來透過瀏覽器控制電腦。 我從一個簡單的單套接字 HTTP 伺服器開始,它將圖像傳輸到瀏覽器並接收遊標座標以進行控制。

在某個階段,我意識到 WebRTC 技術非常適合這些目的。 Chrome瀏覽器有這樣的解決方案;它是透過擴充功能安裝的。 但我想製作一個無需安裝即可運行的輕量級程式。

首先我嘗試使用Google提供的函式庫,但編譯後佔用了500MB。 我必須幾乎從頭開始實作整個 WebRTC 堆疊,並設法將所有內容放入 2.5MB 的 exe 檔案中。 一位朋友幫忙用 JS 設計了介面,這就是我們最終的結果。

讓我們運行一下程式:

透過瀏覽器遠端控制電腦
在瀏覽器標籤中開啟連結並獲得對桌面的完全存取權:

透過瀏覽器遠端控制電腦
連接設定過程的簡短動畫:

透過瀏覽器遠端控制電腦
Chrome、Firefox、Safari、Opera 支援。

可傳輸聲音、音訊通話、管理剪貼簿、傳輸檔案和呼叫熱鍵。

在編寫該程式時,我必須研究十幾個 RFC,並了解到互聯網上沒有足夠的有關 WebRTC 協議操作的資訊。 我想寫一篇關於其中使用的技術的文章,我想了解社區對以下哪些問題感興趣:

  • SDP流資料描述協議
  • ICE 候選者並在 STUN 和 TURN 伺服器兩點之間建立連接
  • DTLS 連線和金鑰傳輸到 RTP 會話
  • 用於傳輸媒體資料的加密 RTP 和 RTСP 協議
  • 透過 RTP 傳輸 H264、VP8 和 Opus
  • 用於傳輸二進位資料的 SCTP 連接

來源: www.habr.com

添加評論