>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
HTML

Jak oczyścić ruch na poziomie DNS bez rozdętych list filtrów

Last commit activity Repo size

Jeśli kiedykolwiek skonfigurowałeś Pi-hole lub AdGuard Home w domu, prawdopodobnie przeszedłeś przez fazę gigantomanii. Sam przez to przeszedłem: znajdujesz kilkanaście różnych list blokowania, wrzucasz je do resolvera i cieszysz się licznikiem pokazującym trzy miliony zablokowanych domen.

Radość zazwyczaj trwa do pierwszego wieczora. Najpierw ktoś w domu traci uwierzytelnianie w aplikacji bankowej, potem przestają się ładować podglądy z messengerów, a połowa niezbędnych usług wymaga wyłączenia blokera reklam. Kończysz spędzając godziny na przeszukiwaniu logów zapytań i tropieniu fałszywych trafień.

Repozytorium 1Hosts autorstwa developera badmojr rozwiązuje ten problem zupelnie przeciwnym podejściem. Projekt istnieje od grudnia 2017 roku i koncentruje się na kompaktowości list bez uszczerbku dla jakości filtrowania.

Jaka jest idea projektu

Wiele popularnych list blokowania cierpi z powodu duplikatów i nieaktualnych wpisów. Zawierają domeny, które dawno zostały zamknięte lub zmieniły właścicieli, a które wiszą przez lata. Resolver nadal marnuje RAM przechowując je i przeszukując drzewo reguł.

Autor 1Hosts selekcjonuje reguły tak, aby lista zajmowała minimalną przestrzeń, ale przechwytywała reklamy, trackery i zasoby phishingowe. Zamiast setek rozproszonych plików, oferuje zaledwie dwie podstawowe wersje, ale w dziesiątkach gotowych formatów dla konkretnego oprogramowania.

Dwie wersje dla różnych scenariuszy

Projekt jest podzielony na dwie gałęzie i pomylenie ich jest trudne:

  1. Lite — zrównoważona wersja oparta na zasadzie „ustaw i zapomnij”. Skierowana do codziennego użytku w domu lub biurze. Istnieje minimalne ryzyko zepsucia normalnych stron internetowych, aplikacji lub inteligentnych urządzeń. Fałszywe trafienia są ograniczone do minimum.

  2. Xtra (obecnie w wersji Beta) — opcja dla twardych zwolenników prywatności i osób chcących agresywnego blokowania. Lista agresywnie wycina telemetrię, nowe podejrzane domeny i kontrowersyjne zasoby. Przygotuj się na to, że niektóre legalne strony przestaną działać, a będziesz musiał ręcznie dodać je do białej listy lub zgłosić problem do repozytorium.

Ciekawy trick, który sugeruje autor: używaj wersji Lite bezpośrednio na urządzeniu lokalnym poprzez plik hosts systemu, a agresywniejsze filtrowanie umieść wyżej w łańcuchu na serwerze DNS. W ten sposób podstawowy syf jest filtrowany lokalnie i nie zaśmieca logów resolvera DNS, a błędy w skrajnych przypadkach są natychmiast widoczne w dzienniku sieciowym.

Formaty dla każdego oprogramowania i stosu

Główny ból głowy podczas konfigurowania filtrów sieciowych to niezgodność składni. AdGuard używa jednego zestawu reguł, Unbound wymaga własnej konfiguracji, a dnsmasq potrzebuje osobnego formatu.

W 1Hosts listy są automatycznie generowane dla większości popularnych rozwiązań:

  • Standardowy plik hosts (działa na Windows, Linux, Android przez AdAway)
  • Listy domen dla Pi-hole i OpenSnitch
  • Format reguł dla uBlock Origin i AdGuard Home
  • Konfiguracje dla lokalnych demonów DNS: dnsmasq, Unbound, Knot, Bind9, PowerDNS
  • Reguły dla firewalli jak Little Snitch

Oto jak wygląda podłączenie wersji Lite w konfiguracji dnsmasq:

# Скачиваем готовый конфиг правил
curl -o /etc/dnsmasq.d/1hosts-lite.conf https://badmojr.github.io/1Hosts/Lite/dnsmasq.conf

# Перезапускаем службу
systemctl restart dnsmasq

Jeśli używasz Unbound w domu, po prostu pobierz wygenerowany plik konfiguracyjny używając dyrektywy include:

# В секции server файла unbound.conf
include: "/etc/unbound/1hosts-lite.conf"

Gotowe publiczne DNS bez rozkładania własnego serwera

Nie każdy chce konfigurować własny serwer tylko po to, aby blokować trackery na telefonie podczas podróży. Autor 1Hosts to przewidział i przygotował integracje z publicznymi bezpiecznymi usługami DNS obsługującymi DNS-over-HTTPS (DoH) i DNS-over-TLS (DoT).

Na przykład w ControlD lista aktualizuje się co 30 minut z obsługą reguł wieloznacznych. Możesz po prostu wprowadzić adres w ustawieniach prywatnego DNS na Androidzie:

DoT: x-1hosts-lite.freedns.controld.com
DoH: https://freedns.controld.com/x-1hosts-lite

Podobne profile są skonfigurowane dla NextDNS, AdGuard DNS i RethinkDNS. Dla urządzeń mobilnych to często więcej niż wystarczające bez instalowania aplikacji stron trzecich.

1Hosts Banner

Wsparcie i społeczność

Repozytorium zgromadziło ponad 2,1k gwiazdek i nadal jest regularnie aktualizowane. Jest dość dużo otwartych zgłoszeń, około dziewięciuset, ale prawie wszystkie to raporty o fałszywych trafieniach. Maintainer na bieżąco usuwa domeny z list, jeśli zakłócają działanie popularnych usług.

Samo repozytorium jest rozpowszechniane na licencji wolnego oprogramowania MPL 2.0 (Mozilla Public License). Pozwala to swobodnie używać tych list jako fundamentu dla własnych buildów lub korporacyjnych polityk filtrowania.

Kto powinien spróbować

Jeśli jesteś zmęczony ręcznym utrzymywaniem potwora składającego się z dziesięciu różnych list blokowania, spróbuj zresetować ustawienia i zainstalować tylko wersję 1Hosts Lite. Dla 95% codziennych domowych zadań sieciowych to więcej niż wystarczające: banery znikają, analytics jest blokowany, a strony sklepów internetowych i banków nadal się otwierają bez niespodzianek.

Wersję Xtra warto wypróbować tylko tym, którzy świadomie są gotowi radzić sobie z porzuconymi zapytaniami i cieszyć się precyzyjnym dostrajaniem reguł sieciowych do swoich potrzeb.

Powiązane projekty