Projekty P2P web / WebRTC

Blink

Wrzucasz plik w jednej przeglądarce, otwierasz link w drugiej i plik leci prosto między nimi. Nie ma etapu uploadu ani serwera, który trzyma twoje dane, i o to właśnie chodzi.

Jak to działa

Jedna strona tworzy pokój i dostaje krótki kod oraz link do udostępnienia; druga dołącza za jego pomocą. PeerJS służy tylko do tego, żeby dwie karty się odnalazły. Gdy już się połączą, plik leci bezpośrednim kanałem danych WebRTC, więc bajty nigdy nie przechodzą przez żaden mój serwer.

Warte odnotowania

  • Pliki idą w kawałkach po 16 KB, z kontrolą przepływu, żeby duży plik nie rozsadził pamięci.
  • Za przebicie przez NAT odpowiadają publiczne serwery STUN Google'a; własny ICE/TURN można wkleić w panelu Net.
  • Całość jest statyczna: zero buildu, zero backendu, tylko strona HTML, arkusz stylów i jeden skrypt.
  • Przy ostrych NAT-ach w różnych sieciach może być potrzebny serwer TURN, którego Blink domyślnie nie ma.