Przejdź do treści

Mój własny DNS. Bez serwera, bez logów.

Kiedyś używałem publicznego DNS z filtrowaniem. Działał dobrze. Blokował większość reklam, trackerów i tego całego śmiecia, który ciągnie się za każdą stroną. Ale zawsze brakowało mi jednej rzeczy: kontroli.

W publicznych resolverach, takich jak NextDNS czy AdGuard DNS, wybierasz listy z gotowego katalogu. Ja chciałem sam decydować, z których źródeł korzystam, jak je łączę i co z nich wyciągam. Pi-hole też na to pozwala, ale wymaga serwera w domu i domyślnie działa tylko w sieci lokalnej. Żeby filtrował poza domem, trzeba stawiać VPN albo wystawiać go jako publiczny endpoint. Ja nie chciałem ani jednego, ani drugiego.

To mnie uwierało. Nie z powodu paranoi, ale z poczucia, że oddaję kontrolę nad czymś fundamentalnym. Nad tym, jak moje urządzenia łączą się ze światem.

Co to właściwie jest?

Zbudowałem swój własny serwer DNS. Stoi w chmurze, więc mam do niego dostęp z każdego miejsca na świecie. Nie potrzebuję do tego żadnego sprzętu, żadnego Raspberry Pi, żadnego VPN-a. Filtruje ruch według list, które sam wybieram i sam układam.

Działa to tak. Moje urządzenia pytają mój serwer o adres jakiejś strony. Serwer sprawdza, czy ta domena jest na liście, którą przygotowałem. Jeśli jest, odpowiada „nie znam takiej strony". Jeśli nie ma jej na liście, przekazuje zapytanie dalej.

Blokuję reklamy, trackery, telemetrię, domeny malware i phishing. Korzystam z ośmiu źródeł, które sam wybrałem. Jedne skupiają się na reklamach, inne na trackerach, jeszcze inne na zagrożeniach. Każde z nich wnosi coś innego.

Warto dodać, że to działa na poziomie DNS. Nie blokuje reklam w YouTube ani elementów wewnątrz strony. Do tego potrzebny jest osobny content blocker w przeglądarce. Mój resolver jest pierwszą warstwą.

Jak łączę listy i usuwam duplikaty

To, co opisałem wyżej, to sam resolver. Ale on nie działa w próżni. Potrzebuje listy, na której może pracować. Przygotowanie tej listy to druga, osobna część całego rozwiązania.

Problem z wieloma źródłami jest taki, że często się nakładają. Ta sama domena może pojawić się w trzech, czterech, pięciu listach jednocześnie. Gdybym wrzucił wszystko do jednego worka bez czyszczenia, miałbym listę pełną powtórzeń, większą niż potrzeba i wolniejszą w działaniu.

Zamiast tego mój pipeline robi coś prostego. Zbiera wszystkie domeny ze wszystkich źródeł do jednego zbioru, który z definicji nie może zawierać duplikatów. Jeśli ta sama domena pojawi się pięć razy, będzie tylko raz.

Po zebraniu wszystkich domen usuwam redundantne subdomeny. Jeśli na liście jest example.com, nie ma sensu trzymać na niej także ads.example.com i track.example.com. Każda z tych subdomen zostanie zablokowana, jeśli zablokowana jest domena nadrzędna. Usuwam je. Lista staje się mniejsza, a blokada działa tak samo.

Efekt jest taki, że z kilkudziesięciu tysięcy wpisów ze wszystkich źródeł zostaje jedna, czysta lista. Bez duplikatów. Bez zbędnych subdomen. Tylko to, co faktycznie blokuje coś, czego nie chcę widzieć.

Automatyzacja

Ten proces dzieje się raz dziennie. Ja nie muszę nic robić. Lista sama się aktualizuje, sama się czyści i sama trafia do mojego resolvera.

Dlaczego to nie ma panelu ani statystyk?

Mój resolver nie ma panelu administracyjnego. Nie ma wykresów, nie ma listy ostatnich zapytań, nie ma licznika zablokowanych domen.

To celowa decyzja. Panel ze statystykami oznacza, że ktoś, nawet jeśli tylko ja, gdzieś te dane przechowuje. Lista ostatnich zapytań to nic innego jak historia tego, co robię w internecie. A ja nie chcę, żeby taka historia istniała w jakiejkolwiek formie.

Mój resolver przetwarza zapytanie, zwraca odpowiedź i zapomina. Nie zapisuje niczego i nie analizuje. Nie ma czego nie logować, bo nie ma gdzie logować.

Dla kogo to jest

To rozwiązanie dla kogoś, kto ma kilka urządzeń i chce, żeby wszystkie filtrowały tak samo. Telefon, laptop, tablet, cokolwiek. Bez instalowania osobnych aplikacji na każdym z nich. Dla kogoś, kto ceni prywatność i chce sam decydować, co blokuje, zamiast czekać, aż ktoś inny zrobi to za niego.

Jeśli zależy Ci na panelu i statystykach, inne rozwiązania zrobią to lepiej. Ale jeśli cenisz kontrolę i prywatność bardziej niż wygodę, to jest dokładnie to.