Protokoły rozproszone w praktyce - Ściągamy linuxa
Prowadzący: Grzegorz Uriasz
Piszemy klienta BitTorrent od zera w Pythonie — TCP, P2P, własny tracker. Bez gotowych bibliotek, za to z działającą siecią w sali!
Opis

Pobierasz plik z internetu. Proste, prawda? Klikasz, czekasz, gotowe. Ale co jeśli plik ma 50GB, a serwer pada w połowie? Co jeśli tysiąc osób chce ten sam plik w tej samej sekundzie? Serwer się dusi, a ty czekasz. I czekasz. I czekasz...
A co jeśli — nie potrzebujesz serwera? Co jeśli tysiąc nieznajomych może połączyć się ze sobą bez żadnego centralnego punktu i przesłać plik szybciej niż z dowolnego serwera? Tak właśnie działa BitTorrent — protokół, który przetrwał dekadę walki z prawnikami, ISP i własnym demonizowaniem w mediach, a mimo to wciąż jest najefektywniejszym sposobem dystrybucji dużych plików na świecie.
Podczas warsztatów napiszemy od zera uproszczonego klienta BitTorrent w Pythonie. Zaczniemy od surowych socketów TCP i własnego mini-protokołu binarnego, a skończymy z działającą siecią P2P między laptopami w sali — z własnym trackerem i peer discovery po LAN. Nie będziemy używać gotowych bibliotek P2P — większość(ale nie wszystko!) napiszemy sami, żeby zrozumieć co się dzieje pod spodem :)
Wymagania
1. Własny laptop (Linux zalecany, Windows z WSL2 też ok)
2. Znajomość Pythona — musisz umieć napisać prosty skrypt bez pomocy ChatGPT. Jeżeli nie umiesz programować to na warsztatach dowiesz się tylko o wysokopoziomowych konceptach!
3. Podstawowa znajomość sieci (wiesz czym jest IP, port, TCP — resztę wytłumaczę)
4. Chęć do pisania kodu, który nie działa przez pierwsze 30 minut :)
Kontakt
Mailem na gorbak25@gmail.com lub (najlepiej) na telegramie. Z chęcią pomogę jak napotkasz problemy, nie gryzę(jeszcze)!