کنترل از راه دور کامپیوتر از طریق مرورگر

حدود شش ماه پیش تصمیم گرفتم برنامه ای برای کنترل کامپیوتر از طریق مرورگر بسازم. من با یک سرور HTTP تک سوکت ساده شروع کردم که تصاویر را به مرورگر منتقل می کرد و مختصات مکان نما را برای کنترل دریافت می کرد.

در مرحله خاصی متوجه شدم که فناوری WebRTC برای این اهداف مناسب است. مرورگر کروم چنین راه حلی دارد؛ از طریق افزونه نصب می شود. اما من می خواستم یک برنامه سبک بسازم که بدون نصب کار کند.

ابتدا سعی کردم از کتابخانه ارائه شده توسط گوگل استفاده کنم، اما پس از کامپایل 500 مگابایت طول می کشد. من مجبور شدم کل پشته WebRTC را تقریباً از ابتدا پیاده سازی کنم، و توانستم همه چیز را در یک فایل exe 2.5 مگابایتی قرار دهم. یکی از دوستان به رابط در JS کمک کرد، و این همان چیزی است که ما به آن رسیدیم.

بیایید برنامه را اجرا کنیم:

کنترل از راه دور کامپیوتر از طریق مرورگر
پیوند را در یک تب مرورگر باز کنید و به دسکتاپ دسترسی کامل داشته باشید:

کنترل از راه دور کامپیوتر از طریق مرورگر
انیمیشن کوتاهی از فرآیند راه اندازی اتصال:

کنترل از راه دور کامپیوتر از طریق مرورگر
پشتیبانی شده توسط کروم، فایرفاکس، سافاری، اپرا.

امکان انتقال صدا، تماس صوتی، مدیریت کلیپ بورد، انتقال فایل ها و تماس با کلیدهای داغ وجود دارد.

در حین کار روی برنامه، مجبور شدم ده ها RFC را مطالعه کنم و بفهمم که اطلاعات کافی در مورد عملکرد پروتکل WebRTC در اینترنت وجود ندارد. من می خواهم مقاله ای در مورد فناوری های استفاده شده در آن بنویسم، می خواهم بدانم کدام یک از سؤالات زیر مورد توجه جامعه است:

  • پروتکل شرح داده های جریانی SDP
  • نامزدهای ICE و ایجاد ارتباط بین دو نقطه، STUN و سرورهای TURN
  • اتصال DTLS و انتقال کلیدها به جلسه RTP
  • پروتکل های RTP و RTСP با رمزگذاری برای انتقال داده های رسانه ای
  • H264، VP8 و Opus را از طریق RTP انتقال دهید
  • اتصال SCTP برای انتقال داده های باینری

منبع: www.habr.com

اضافه کردن نظر