Анонимен трансфер на файлове с WebRTC

Блог

През 2016 г. работих по приложение, наречено ShareTC което позволи на потребителите ** да споделят файловете си чрез уеб браузъра си ** с помощта на Технология WebRTC . Приложението работи добре, но обещанието беше да може споделяне на файлове без сървър . Използвана е първата версия PeerJS , библиотека, която ви позволява да внедрите WebRTC канал за данни за лесно споделяне на файлове с недостатък, той се нуждае от сървър за това, което се нарича сигнален процес . По този начин направих известно подобрение в проекта, за да позволя на потребителя да споделя своите файлове, без дори да използва сървър за сигнализация.



За тези, които не се интересуват от техническото изпълнение, можете директно да разгледате демо на GitHub .






Миграция

Първоначално проектът беше barebone собствен JavaScript, но реших да надстроя проекта до Ъглова 8 , тъй като обменът на сигнална конфигурация е малко сложен, имах нужда от някаква рамка за лесна DOM манипулация.



Тъй като това е страничен проект, не исках да пресъздавам библиотека с компоненти, затова използвах @ ъглов / материал библиотека за формулярите и отзивите на потребителите.



Аз също използвах @ъглово/гъвкаво оформление за лесно дефиниране на оформлението, знаейки, че дизайнът на приложението е наистина основен, тъй като не е основната цел на демонстрацията.






Как работи

И така, интересната част сега, приложението ще се опита да създаде канал за данни между подателя и получателя, използвайки WebRTC. Протоколът трябва да знае на кого трябва да изпраща данните, това е име откриване на връстници , и може да се направи автоматично чрез това, което се нарича a сигнален сървър , сървър, на който обменяте конфигурацията си, за да започнете комуникацията и това е компонентът, който исках да премахна. За ръчната конфигурация използваме Протокол за описание на сесията (или SDP).

Изображение за публикация

Протокол за описание на сесията

Но тъй като мрежите са сложни, в някои случаи ще ви трябва Помощни програми за обхождане на сесии за NAT (или ЗАПЪЛНЕН ) сървър . Това се използва, когато обменяте файл от зад Превод на мрежов адрес (или НОЩ ) защитна стена . Има някои публични сървъри за това като:

- stun.services.mozilla.com

- stun.l.google.com:19302

Изображение за публикация

Помощни програми за обхождане на сесии за NAT

В някои други случаи комуникационният канал ще бъде блокиран от защитни стени. В този случай в крайна сметка можете да използвате a Обхождане с помощта на релета около NAT (или ЗАВЪРНЕТЕ ) ** сървър **, който ще работи като реле за данни между вас и партньора. Те са скъпи и необходими само ако сте зад блокираща защитна стена, така че не интегрирах решение за това

Изображение за публикация

Обхождане с помощта на релета около NAT

#webrtc #ъглов #stun

levelup.gitconnected.com

Анонимен трансфер на файлове с WebRTC

През 2016 г. работих върху приложение, наречено ShareTC, което позволява на потребителите да споделят файловете си чрез уеб браузъра си, използвайки технологията WebRTC.