Sieć ed3k

Nowa sieć obok eD2K

ed3k to własna sieć wymiany plików eMule Qt. Zachowuje to, co przez dwadzieścia lat sprawiało, że eD2K działało — pliki rozpoznawane po haszu, sieć Kademlia do ich wyszukiwania, opcjonalne serwery i kolejki wysyłania — a przebudowuje to, co się zestarzało: format komunikatów, transport i sposób, w jaki węzły potwierdzają swoją tożsamość.

eMule Qt obsługuje obie sieci jednocześnie. Okno Informacje o sieci oraz panel Moje informacje w oknie Serwery pokazują sekcję Sieć ed3k tuż pod sekcjami eD2K i Kad, dzięki czemu można je porównać wiersz po wierszu.

Sekcje Kad i Sieć ed3k w oknie Informacje o sieci, z zamazanymi adresami, identyfikatorami i haszami

Te same idee, nowe nazwy

Większość wierszy w sekcji ed3k ma odpowiednik w eD2K. Najważniejszy: to, co eD2K nazywa High ID, a Kad Open, w ed3k jest routerem.

eD2K / Kad ed3k Co to oznacza
High ID / Kad Open Router: Tak Inni mogą połączyć się z Tobą bezpośrednio. Router przechowuje rekordy Kad i pomaga węzłom za zaporą.
Low ID / Kad Firewalled Router: Nie (liść) Jesteś za NAT. Inne węzły nadal Cię osiągają — przez przekaźniki i przebijanie NAT (hole punching).
Status UDP w Kad IPv4 / IPv6 Testowane osobno dla każdej rodziny adresów: Open, Cone NAT lub Symmetric NAT.
Kad buddy Przekaźniki Routery, które przekazują do Ciebie żądania połączenia. Liść utrzymuje co najmniej dwa.
Obsługiwani buddies Obsługiwani buddies Liście, dla których Twój router działa jako przekaźnik.
Serwer eD2K Węzeł indeksujący Zwykły węzeł ed3k, który indeksuje wszystko. Bez osobnego oprogramowania serwera i osobnego protokołu.
Hasz użytkownika + ID Kad ID węzła Jeden identyfikator do wszystkiego — hasz własnego klucza podpisującego węzła.
ID klienta — Niepotrzebne. Inne węzły podają adres, pod którym Cię widzą.
Port TCP + port UDP Port UDP Jeden port do wszystkiego. Ten sam numer co Twój port TCP eD2K.
Obfuskacja (opcjonalna) Połączenia: Obfuskowane Zawsze włączona. Nie ma trybu jawnego.
Kad Indexed Zindeksowane Rekordy, które Twój węzeł przechowuje dla sieci, wraz z ich rozmiarem.

Wiersz Status jest kolorowany jak w eD2K: na zielono, gdy jesteś połączony jako router, na pomarańczowo, gdy jako liść.

Najważniejsze usprawnienia względem eD2K

  • Szyfrowanie od podstaw. Każdy pakiet jest przesyłany przez obfuskowany QUIC — zarówno ruch Kad, jak i transfery plików. Nic nie jest wysyłane jawnie, a ruch trudno rozpoznać.
  • Low ID nie jest już obywatelem drugiej kategorii. Testy osiągalności, przekaźniki i przebijanie NAT przez UDP są częścią podstawowego protokołu, więc dwa węzły za zaporą zawsze mogą wymieniać pliki.
  • IPv4 i IPv6 w jednej sieci. Oba traktowane są równorzędnie, a osiągalność sprawdzana jest dla każdego osobno.
  • Jeden port. Jeden port UDP zamiast przekierowywania portu TCP i UDP.
  • Prawdziwe tożsamości. Każdy węzeł ma klucz Ed25519, a jego ID to hasz tego klucza. Nikt nie może przejąć cudzego ID.
  • Błędne dane wychwytywane od razu. Pliki są identyfikowane haszem BLAKE3 i weryfikowane w blokach po 256 KiB, więc uszkodzony blok wykrywany jest po otrzymaniu, a jego nadawca jest znany — zamiast późniejszego niepowodzenia całej części o rozmiarze 9,28 MB.
  • Trudniejszy do zaatakowania. Pozycje w Kad są powiązane z adresem IP węzła, a liczba węzłów z jednego zakresu adresów jest ograniczona, co chroni przed zalewem fałszywych węzłów. Rekordy słów kluczowych są podpisywane przez wydawcę, co pozwala skutecznie filtrować spam.
  • Każdy może uruchomić serwer. Węzeł indeksujący to po prostu węzeł z jedną dodatkową funkcją.
  • Lżejsze komunikaty. Protocol Buffers z kompresją zstd zastępują ręcznie pakowane tagi eD2K.
  • Miejsce na rozwój. Rozszerzenia dodają zestawy plików, torrenty, posty Usenet i linki hostingów plików jako źródła tego samego pliku, pokoje czatu i więcej — bez psucia działania starszych węzłów.

Współpracuje z eD2K, a nie przeciw niemu

Udostępniany plik ma też swój hasz eD2K, więc klienci eMule i węzły ed3k obsługują to samo pobieranie. eMule Qt używa numeru Twojego portu TCP eD2K dla ed3k i wyprowadza Twój hasz użytkownika eD2K z ID węzła ed3k, dlatego każdy rekord źródła eD2K — z serwerów, Kad czy wymiany źródeł — już informuje inne klienty eMule Qt, że obsługujesz ed3k i gdzie Cię znaleźć. Klasyczne klienty eMule niczego nie zauważą.

.:Włącz to
Węzeł ed3k jest domyślnie włączony. Opcja Opcje → ed3k → „Włącz węzeł ed3k” wyłącza go lub włącza. Sieć jest młoda: jeśli możesz, pozostaw węzeł uruchomiony całą dobę — każdy router przyspiesza sieć dla wszystkich. Protokół to otwarta specyfikacja w domenie publicznej na GitHub; wciąż jest wersją roboczą i może się zmienić.

 

Wróć do wszystkich funkcji