Dziś podczas rozmowy z koleżanką dotarło do mnie, że od ponad tygodnia właściwie tylko programuję, z przerwami na krótki sen i szkołę. Co zatem?
Program p2p który ma sobie radzić z firewallami i blokadami nakładanymi przez administratorów. Na tą chwilę, osiąga to poprzez:
- Działanie wyłącznie za pomocą protokołów przepuszczanych przez większość sieci: HTTP oraz Jabber (szyfrowany lub nie)
- Wykorzystanie Jabbera jako protokołu komunikacji między klientami - np. do poproszenia klienta zza firewalla o wysłanie do siebie danych
- Wykorzystanie HTTP jako warstwy transportowej - dane od klientów z otwartymi portami są pobierane przez zwykłe zapytanie GET, od klientów za firewallem - za pomocą PUT, czyli wyłącznie standarty.
- Wykrywanie klientów podłączonych do jednej sieci lokalnej za firewallem i umożliwianie im wzajemnej komunikacji poprzez tą sieć
- Architektura oparta na HUBach - analogia do Direct Connecta
- Oparty o Pythona/wxPython, przez co działa na wielu platformach (testowane na standartowych, czyli Windows i Linux)
p2mind jest jeszcze dość niedojrzałym produktem, HUB potrafi się położyć przy niektórych nieprawidłowo sformułowanych zapytaniach, klient również lubi sypnąć wyjątkami - niestety, Pythona dopiero się uczę i nie wszystkie jego niuanse znam.
Na okrasę pare screenów z GUI które napisałem wczoraj na wykładzie. Windows 1, Windows2, Linux (przez VNC).