Syntaks for DNS-filtreringsregler
I denne artikel forklares, hvordan man skriver tilpassede filtreringsregler til brug i AdGuard-produkter
Hurtige links: Download AdGuard Ad Blocker, Hent AdGuard Home, Prøv AdGuard DNS
Introduktion
AdGuard DNS-filtreringsregelsyntaks kan bruges til at gøre regler mere fleksible, så de kan blokere indhold iht. personlige præferencer. AdGuard DNS-filtreringsregelsyntaks kan bruges i forskellige AdGuard-produkter, såsom AdGuard Home, AdGuard DNS, AdGuard til Windows/Mac/Android.
Der er tre forskellige tilgange til at skrive værtsblokeringslister:
-
Adblock-stil syntaks: Den moderne tilgang til at skrive filtreringsregler baseret på brug af en delmænge af Adblock-stil regelsyntaksen. På denne måde er blokeringslister kompatible med browser-adblockere.
-
/etc/hostssyntaks: Den gamle, gennemprøvede tilgang, der bruger samme værtsfilsyntakser som operativsystemerne. -
Syntaks kun til domæner: En simpel liste over domænenavne.
Såfrremt en sortliste oprettes, anbefales brug af Adblock-stil syntaksen. Den har et par vigtige fordele ift. den gamle syntakstype:
-
Blokeringslistestørrelse. Ved at bruge mønstertilpasning kan man have én enkelt regel i stedet for hundredvis af
/etc/hosts-poster. -
Kompatibilitet. Blokeringslisten vil være kompatibel med browser-adblockere, og regler kan nemmere deles med en browser-filtreringsliste.
-
Udvidelsesmuligheder. I det seneste årti har Adblock-syntakstypen udviklet sig meget, og vi ser ingen grund til ikke at udvide den yderligere og tilbyde flere funktioner til netværksniveau-blockere.
Vedligeholder man enten en sortliste af typen /etc/hosts eller flere filtreringslister (uanset type), tilbyder vi et værktøj til kompilering af sortlister. Vi har kaldt den Hostlist-kompiler og bruger den selv til at oprette AdGuard DNS-filtre.
Basiseksempler
-
||eksempel.org^: blokér domæneadgang foreksempel.orgog alle dets underdomæner, f.eks.www.eksempel.org. -
||eksempel.org^: Afblokér domæneadgang tileksempel.orgog alle dets underdomæner. -
1.2.3.4 eksempel.org: (Bemærk, gammel/etc/hosts-syntakstype) i AdGuard Home, svar med1.2.3.4på forespørgsler foreksempel.org-domænet, men ikke dets underdomæner. Blokér i Private AdGuard DNS adgangen tileksempel.org.www.eksempel.orgforbliver tilladt.I AdGuard Home er brug af den uspecificerede IP-adresse (
0.0.0.0) eller en lokal adresse (127.0.0.1o.lign.) for en vært essentielt det samme som at blokere denne vært.# Returnerer IP-adressen 1.2.3.4 for eksempel.org.1.2.3.4 eksempel.org# Blokerer eksempel.org ved at svare med 0.0.0.0.0.0.0.0 eksempel.org -
eksempel.org: En simpel domæneregel. Blokerereksempel.org-domænet, men ikke dets underdomæner.www.eksempel.orgforbliver tilladt. -
! Her angives en kommentarog# Også en kommentar: Kommentarer. -
/REGEX/: Blokér adgang til domæner matchende det angivne regulære udtryk.
Adblock-syntakstype
Dette er en delmængde af den traditionelle Adblock-syntakstype brugt af webbrowser-adblockere.
regel = ["@@"] mønster [ "$" modifikatorer ]
modifikatorer = [modifikator0, modifikator1[, ...[, modifikatorN]]]
-
mønster: Værtsnavnmasken. Alle værtsnavne matches mod denne maske. Mønsteret kan også indeholde specialtegn, som beskrevet nedenfor. -
@@: den markør, der bruges i undtagelsesreglerne. Ønskes filtrering for de matchende værtsnavne deaktiveret, så start reglen med denne markør. -
modifikatorer: Parametre, som tydeliggør reglen. De kan begrænse reglens udstrækning eller endda helt ændre måden, den fungerer på.
Specialtegn
-
*: jokertegnet. Det bruges til at repræsentere et hvilket som helst tegn. Dette kan også være en tom streng eller en streng af enhver længde. -
||: Matcher begyndelsen af et værtsnavn, inkl. ethvert underdomæne. F.eks. så matcher||eksempel.orgeksempel.orgogtest.eksempel.org, men ikketesteksempel.org. -
^: separatortegnet. Ulig webbrowser-adblocking, er der intet at adskille/opdele i et værtsnavn, så det eneste formål med dette tegn er at markere slutningen på værtsnavnet. -
|: En markør for begyndelsen eller slutningen på værtsnavnet. Værdien afhænger af tegnplaceringen i masken. F.eks. svarer reglenemple.org|tileksempel.org, men ikke tileksempel.org.com.|eksempekorresponderer medeksempel.org, men ikke medtest.eksempel.
Regulære udtryk
Ønskes endnu mere fleksibilitet ved regeludarbejdelse, kan regulære udtryk bruges i stedet for standarden, den forenklede matchningssyntaks. Ønskes et regulært udtryk anvendt, skal mønsteret se således ud:
mønster = "/" regexp "/"
Eksempler:
-
/eksempel.*/blokerer værter matchendeeksempel.*-regexp'et. -
@@/eksempel.*/$importantafblokerer værter matchendeeksempel.*-regexp'et. Bemærk, at denne regel også forudsætterimportant-modifikatoren.
Kommentarer
Enhver linje startende med et udråbs- eller et hash-tegn udgør en kommentar og ignoreres derfor af filtreringsmotoren. En kommentarer beskriver, hvad en regel gør, og den placeres normalt over reglen.
Eksempel:
! Dette er en kommentar.
# Dette er også en kommentar.
Regelmodifikatorer
Adfærden for en regel kan ændres ved at tilføje modifikatorer. Modifikatorer skal placeres i slutningen af reglen efter $-tegnet og adskilles med kommaer.
Eksempler:
-
||eksempel.org^er det matchende mønster.$er afgrænsningstegnet, der signalerer, at resten af reglen er modifikatorer. "important" er modifikationen. -
Man ønsker måske at bruge flere modifikatorer i en regel. Adskil dem i så fald med kommaer:
||eksempel.org^$client=127.0.0.1,dnstype=A||eksempel.org^er det matchende mønster.$er afgrænsningstegnet, der signalerer, at resten af reglen er modifikatorer.client=127.0.0.1erklient-modifikatoren med dens værdi,127.0.0.1.,er afgrænsningen mellem modifikatorer. Til sidst, erdnstype=Adnstype-modifikatoren med sin værdiA.
Indeholder en regel en modifikator, der ikke er angivet i dette dokument, skal hele regel ignoreres. På denne måde undgås falske positiver, når folk forsøger at bruge umodificerede webbrowser-adblockeres filterlister, såsom EasyList eller EasyPrivacy.
client
Modifikatoren client kan kun bruges i AdGuard Home og AdGuard DNS.
Modifikatoren client muliggør at angive de klienter, for hvilke reglen anvendes. Der er to hovedmåder at identificere en klient på:
-
Via deres IP-adresse eller CIDR-præfiks. Denne måde fungerer for alle slags klienter.
-
Via deres navn. Denne måde fungerer kun for vedvarende klienter (i AdGuard Home) og enheder (i Private AdGuard DNS), som man manuelt har tilføjet.
bemærkAdGuard Home understøttes p.t. ikke ClientID'er, kun navne. Har man tilføjet en klient med navnet "Min Klient" og ClientID
min-klient, så bogstavér modifikatoren$client='Min Klient'i modsætning til$client=min-klient.
Syntaksen er:
$client=værdi1|værdi2|...
Klienter kan også undtages ved at tilføje et ~-tegn før værdien. I så tilfælde anvendes reglen så ikke på klientens DNS-forespørgsler.
$client=~værdi1
Klientnavne indeholder normalt mellemrum eller andre specialtegn, hvorfor navnet bør sætte i anførselstegn. Både enkelte og dobbelte ASCII-anførselstegn understøttes. Brug omvendt skråstreg (\) til at escape anførselstegnene (" og '), kommaer (,) samt pipes (|).
Når en klient undtages, skal man placere ~ uden for anførselstegnene.
Eksempler:
-
@@||*^$client=127.0.0.1: Afblokér alt for localhost. -
||eksempel.org^$client='Frank\'s bærbare': Blokér kuneksempel.orgfor klienten med navnetFrank's bærbare. Bemærk, at anførselstegnet (') i navnet skal escapes. -
||eksmpel.org^$client=~'Mary\'s\, John\'s\ og Boris\'s bærbarer': Blokéreksmpel.orgfor alle undtagen for klientnavneneMary's, John's og Boris' bærbarer. Bemærk, at komma (,) også skal escapes. -
||eksempel.org^$client=~Mor|~Far|Børn: Blokéreksempel.orgforBørn, men ikke forMorogFar. Dette eksempel viser, hvordan man angiver flere klienter i én regel. -
||eksempel.org^$client=192.168.0.0/24: Blokéreksempel.orgfor alle klienter med IP-adresser i området fra192.168.0.0til192.168.0.255.
denyallow
Modifikatoren denyallow kan bruges til at undtage domæner fra blokeringsreglen. Benyt |-tegnet som separator, når flere domæner føjes til én regel.
Syntaksen er:
$denyallow=domæne1|domæne2|...
Denne modifikator muliggør at undgå at oprette unødvendige undtagelsesregler, når vores blokeringsregel dækker for mange domæner. Man ønsker måske at blokere alt undtagen nogle få TLD-domæner. Man kan bruge standardmetoden, dvs. regler såsom denne:
! Blokér alt.
/.*/
! Afblokér et par TLD'er.
@@||com^
@@||net^
Problemet med denne tilgang er, at man på denne måde også afblokerer sporingsdomæner, som findes på disse TLD'er (f.eks. google-analytics.com). Sådan løses dette med denyallow:
*$denyallow=com|net
Eksempler:
-
*$denyallow=com|net: Blokér alt, undtagen*.comog*.net. -
@@*$denyallow=com|net: Afblokér alt, undtagen*.comog*.net. -
||eksempel.org^$denyallow=sub.eksempel.org: Blokéreksempel.orgog*.eksempel.org, men ikkesub.eksempel.org.
dnstype
Modifikatoren dnstype muliggør angivelse af DNS-forespørgslen eller -svartypen, for hvilken reglen udløses.
Syntaksen er:
$dnstype=værdi1|værdi2|...
$dnstype=~værdi1|~værdi2|~...
Typenavnene er minuskel/majuskel ufølsomme, men valideres mod et sæt reelle DNS-ressourceposttyper (RR).
Kombinér ikke undtagelsesregler med inklusionsregler. Dette:
$dnstype=~værdi1|~værdi2
svarer til dette:
$dnstype=værdi2
Eksempler:
-
||eksemple.org^$dnstype=AAAA: Blokér DNS-forespørgsler for IPv6-adresserne påeksemple.org. -
||eksemple.org^$dnstype=~A|~CNAME: Tillad kunAogCNAMEDNS-forespørgsler foreksemple.org, blokér resten.
Før version v0.108.0, brugte AdGuard Home forespørgselstypen til at filtrere svarposterne, i modsætning til selve svarposttypen. Det gav problemer, da det betød, at der ikke kunne skrives regler, som ville tillade visse CNAME-poster i svar i A- og AAAA-forespørgsler. I v0.108.0 blev denne adfærd ændret, så den nu er:
||canon.eksempel.com^$dnstype=~CNAME
giver mulighed for at undgå filtrering af det flg. svar:
SVAR:
-> eksempel.com
kanonisk navn = canon.eksempel.com.
ttl = 60
-> canon.eksempel.com
internetadresse = 1.2.3.4
ttl = 60
dnsrewrite
Svarmodifikatoren dnsrewrite muliggør at erstatte indholdet af svaret på DNS-forespørgslen for de matchende værter. Bemærk, at denne modifikator i AdGuard Home fungerer i alle regler, men kun i tilpassede regler i Private AdGuard DNS.
Regler med svarmodifikatoren dnsrewrite har højere prioritet end øvrige regler i AdGuard Home og AdGuard DNS.
Svar på alle forespørgsler for en vært matchende en dnsrewrite-regel bliver erstattet. Svarsafsnittet i erstatningssvaret vil kun indeholde RR'er matchende forespørgslens forespørgselstype, og muligvis CNAME RR'er. Bemærk, at dette betyder, at svar på nogle forespørgsler kan blive tomme (NODATA), hvis værten matcher en dnsrewrite-regel.
Stenografisyntaksen er:
$dnsrewrite=1.2.3.4
$dnsrewrite=abcd::1234
$dnsrewrite=eksempel.net
$dnsrewrite=REFUSED
Nøgleordene SKAL være majuskler (f.eks. NOERROR). Nøgleordsomskrivninger har forrang over de øvrige og vil resultere i et tomt svar med en passende svarkode.
Den fulde syntaksform er RCODE;RRTYPE;VALUE:
$dnsrewrite=NOERROR;A;1.2.3.4
$dnsrewrite=NOERROR;AAAA;abcd::1234
$dnsrewrite=NOERROR;CNAME;eksempel.net
$dnsrewrite=REFUSED;;
Modifikatoren $dnsrewrite med NOERROR-svarkoden kan også have tomme RRTYPE- og VALUE-felter.
CNAME er speciel, idet AdGuard Home vil opløse værten og føje dens oplysninger til svaret. Dvs., hvis eksempel.net har IP 1.2.3.4, og brugeren har dette i sine filterregler:
||eksempel.com^$dnsrewrite=eksempel.net
! Eller:
||eksempel.com^$dnsrewrite=FEJL;CNAME;eksempel.net
så vil svaret være noget i retning af:
nslookup eksempel.com my.adguard.local
Server: my.adguard.local
Adresse: 127.0.0.1#53
Ikke-autoritativt svar:
eksempel.com kanonisk navn = eksempel.net.
Navn: eksempel.net
Adresse: 1.2.3.4
Dernæst CNAME-omskrivningen. Dernæst opsummeres alle andre posters værdier til ét svar, så dette:
||eksempel.com^$dnsrewrite=NOERROR;A;1.2.3.4
||eksempel.dk^$dnsrewrite=NOERROR;A;1.2.3.5
vil resultere i et svar med to A-poster.
Aktuelt understøttede RR-typer med eksempler:
-
||4.3.2.1.in-addr.arpa^$dnsrewrite=NOERROR;PTR;eksempel.net.tilføjer enPTR-post for reverse DNS. Reverse DNS-forespørgsler for1.2.3.4til DNS-serveren vil resultere ieksempel.net.bemærkIP'en SKAL være i omvendt rækkefølge. Se RFC 1035.
-
||eksempel.com^$dnsrewrite=NOERROR;A;1.2.3.4tilføjer enA-post med værdien1.2.3.4. -
||eksempel.com^$dnsrewrite=NOERROR;AAAA;abcd::1234tilføjer enAAAA-post med værdienabcd::1234. -
||eksempel.com^$dnsrewrite=NOERROR;CNAME;eksempel.orgtilføjer enCNAME-post. Se forklaring ovenfor. -
||eksempel.com^$dnsrewrite=NOERROR;HTTPS;32 eksempel.com alpn=h3tilføjer enHTTPS-post. Kun et undersæt af parameterværdier understøttes: Værdier skal væresammenhængende, og hvor enværdilisteforventes, understøttes pt. kun én værdi:ipv4hint=127.0.0.1 // Understøttet.ipv4hint="127.0.0.1" // Uunderstøttet.ipv4hint=127.0.0.1,127.0.0.2 // Uunderstøttet.ipv4hint="127.0.0.1,127.0.0.2" // Uunderstøttet.Dette vil blive ændret fremtiden.
-
||eksempel.com^$dnsrewrite=NOERROR;MX;32 eksempel.mailtilføjer enMX-post med forrangsværdien32og udvekslingsværdieneksempel.mail. -
||eksempel.com^$dnsrewrite=NOERROR;SVCB;32 eksempel.com alpn=h3tilføjer enSVCB-value. SeHTTPS-eksemplet ovenfor. -
||eksempel.com^$dnsrewrite=NOERROR;TXT;hallo_verdentilføjer enTXT-post med værdienhallo_verden. -
||_svctype._tcp.eksempel.com^$dnsrewrite=NOERROR;SRV;10 60 8080 eksempel.comtilføjer enSRV-post med prioritetsværdien10, vægtværdien60, porten8080og målværdieneksempel.com. -
||eksempel.com^$dnsrewrite=NXDOMAIN;;svarer med enNXDOMAIN-kode. -
$dnstype=AAAA,denyallow=eksempel.org,dnsrewrite=NOERROR;;besvares med tommeNOERROR-svar for alleAAAA-forespørgsler, undtagen for dem indeholdendeeksempel.org.
Undtagelsesregler afblokerer én eller alle regler:
-
@@||eksempel.com^$dnsrewritefjerner alle DNS rewrite-regler. -
@@||eksempel.com^$dnsrewrite=1.2.3.4fjerner DNS rewrite-reglen, der tilføjer enA-post med værdien1.2.3.4.
Vedligeholder man en blokeringsliste inkluderet i AdGuard DNS og AdGuard Home (dvs. inkluderet i HostlistsRegistry), vil $dnsrewrite-regler automatisk blive filtreret ud. Er disse regler nødvendige for blokeringslisten, bedes man anmode om tilladelse ved at åbn en ny problematik i HostlistsRegistry-repo'et.
important
Modifikatoren important, anvendt på en regel, øger dennes prioritet over alle øvrige regler uden modifikatoren. Selv over basisundtagelsesregler.
Eksempler:
-
I dette eksempel:
||eksempel.org^$important@@||eksempel.org^||eksempel.org^$importantblokerer alle forespørgsler til*.eksempel.orgpå trods af undtagelsesreglen. -
I dette eksempel:
||eksempel.org^$important@@||eksempel.org^$importantundtagelsesreglen har også
vigtige-modifikator, så den vil virke.
badfilter
Reglerne med modifikatoren badfilter deaktiverer andre basisregler, til hvilke de henviser. Det betyder, at teksten i den deaktiverede regel bør matche teksten i reglen badfilter (uden modifikatoren badfilter).
Eksempler:
-
||eksempel.com$badfilterdealtiverer||eksempel.com. -
@@||eksempel.org^$badfilterdeaktiverer@@||eksempel.org^.bemærkModifikatoren
badfilterfungerer ikke p.t. med/etc/hosts-regeltyper.127.0.0.1 eksempel.org$badfilterdeaktiverer ikke den oprindelige127.0.0.1 eksempel.org-regel.
ctag
Modifikatoren ctag kan kun bruges i AdGuard Home.
Det muliggør blokering af kun domæner til bestemte typer af DNS-klienttags. Tags kan tildeles klienter via AdGuard Home-UI'en. Fremadrettet er det planen at tildele tags automatisk ved at analysere hver klients adfærd.
Syntaksen er:
$ctag=værdi1|værdi2|...
Matcher en af klientens tags ctag-værdierne, gælder denne regel for klienten. Syntaksen for undtagelse er:
$ctag=~value1|~value2|...
Matcher en af klientens tags ctag-undtagelsesværdierne, gælder denne regel ikke for klienten.
Eksempler:
-
||eksempel.org^$ctag=device_pc|device_phone: Blokerereksempel.orgfor klienter tagget somdevice_pcellerdevice_phone. -
||eksempel.org^$ctag=~device_phone: Blokerereksempel.orgfor alle klienter, undtagen for den tagget somdevice_phone.
Oversigt over gyldige tags:
-
Efter enhedstype:
device_audio: Lydenheder.device_camera: Kameraer.device_gameconsole: Spillekonsoller.device_laptop: Bærbare.device_nas: NAS (netværkstilsluttede lagerenheder).device_pc: PC'er.device_phone: Mobiler.device_printer: Printere.device_securityalarm: Sikkerhedsalarmer.device_tablet: Tablets.device_tv: TV.device_other: Øvrige enhedstyper.
-
Efter styresystem:
os_android: Android.os_ios: iOS.os_linux: Linux.os_macos: macOS.os_windows: Windows.os_other: Øvrige OS'er.
-
Efter brugergruppe:
user_admin: Administratorer.user_regular: Almindelige brugere.user_child: Børn.
respgeo
Modifikatoren respgeo kan kun bruges i AdGuard DNS.
Modifikatoren respgeo muliggør anvendelse af regler baseret på landet eller ASN for den i DNS-svaret returnerede IP-adresse. Den tjekker destinations-IP-adressen — den IP-adresse, domænet opløses til. Den tjekker ikke IP-adressen, landet eller ASN for brugeren, enheden eller DNS-klienten.
Blokering efter svarland
Værdien af modifikatoren skal være en tobogstavs landekode i ISO 3166-1 alpha-2-format. Der kan også bruges -- til at matche svar, hvori landet ikke kunne bestemmes.
Eksempler:
-
||*^$respgeo=US: blokér domæner, hvis IP-adressen i DNS-svaret er tilknyttet USA. -
||*^$respgeo=FR|DE: blokér domæner, hvis IP-adressen i DNS-svaret er tilknyttet Frankrig eller Tyskland. -
||*^$respgeo=--: blokér domæner, hvis IP-adressens land i DNS-svaret er ukendt. -
||*^$respgeo=~--: blokér domæner, hvis IP-adressens land i DNS-svaret er kendt. -
@@||whitehouse.gov^: tilladwhitehouse.gov, selv hvis det er blokeret af en jokertegnsregel med modifikatorenrespgeo. -
@@||example.org^$respgeo=US: tilladexample.org, hvis IP-adressen i DNS-svaret er tilknyttet USA. -
||whitehouse.gov^$respgeo=US: blokerer kunwhitehouse.gov, hvis IP-adressen i DNS-svaret er tilknyttet USA. -
I dette eksempel:
||whitehouse.gov^@@||whitehouse.gov^$respgeo=US@@||whitehouse.gov^$respgeo=USvil ikke tilladewhitehouse.gov, da den første regel blokerer forespørgslen ved at inspicere forespørgselsdata, mens den anden forsøger at tillade den ved at inspicere svaret.
Der kan bruges ~ til at invertere betingelsen:
||*^$respgeo=~DE: blokér domæner, hvis IP-adressen i DNS-svaret ikke er tilknyttet Tyskland.
Begrænsninger
Modifikatoren respgeo bruger en enkelt beregnet IP-adresse og land iht. den aktuelle logik for Forespørgselslog. Hvis et domæne opløses til flere IP-adresser eller lande, analyserer AdGuard DNS ikke alle returnerede IP-adresser.
Da mange domæner bruger CDN'er, belastningsfordeling eller geografisk distribueret infrastruktur, kan det registrerede land ændre sig over tid.
Hvis landet ikke kan bestemmes, vil GeoIP-betingelsen ikke matche. Brug respgeo=-- til at matche svar med et ukendt land.
Regler med modifikatoren respgeo vises i Forespørgselslog som almindelige regler.
Blokering efter ASN
Modifikatoren respgeo kan også bruges til at anvende regler baseret på ASN for den IP-adresse, der returneres i DNS-svaret.
ASN står for Autonomous System Number. Det identificerer et autonomt system — et netværk drevet af en ISP, hostingudbyder, cloududbyder, virksomhed eller anden organisation.
Denne modifikator tjekker destinations-ASN — det ASN, der er tilknyttet den IP-adresse, domænet opløses til. Den tjekker ikke brugerens, enhedens eller DNS-klientens ASN.
Værdien af modifikatoren skal være et ASN i formatet AS<nummer>, f.eks. AS15169.
Eksempler:
-
||*^$respgeo=AS15169: blokér domæner, hvis IP-adressen i DNS-svaret tilhører ASN AS15169. -
||*^$respgeo=AS15169|AS8075: blokér domæner, hvis IP-adressen i DNS-svaret tilhører ASN AS15169 eller AS8075. -
||*^$respgeo=AS--: blokér domæner, hvis IP-adressens ASN i DNS-svaret er ukendt. -
||*^$respgeo=~AS--: blokér domæner, hvis IP-adressens ASN i DNS-svaret er kendt. -
@@||google.com^$respgeo=AS15169: tilladgoogle.com, hvis IP-adressen i DNS-svaret tilhører ASN AS15169. -
||google.com^$respgeo=AS15169: blokér kungoogle.com, hvis IP-adressen i DNS-svaret tilhører ASN AS15169. -
I dette eksempel:
||google.com^@@||google.com^$respgeo=AS15169@@||google.com^$respgeo=AS15169vil ikke tilladegoogle.com, da den første regel blokerer forespørgslen ved at inspicere forespørgselsdata, mens den anden forsøger at tillade den ved at inspicere svaret.
Der kan bruges ~ til at invertere betingelsen:
||*^$respgeo=~AS15169: blokér domæner, hvis IP-adressen i DNS-svaret ikke tilhører ASN AS15169.
Begrænsninger
Modifikatoren respgeo bruger en enkelt beregnet IP-adresse og ASN iht. den aktuelle logik for Forespørgselslog. Hvis et domæne opløses til flere IP-adresser eller ASN'er, analyserer AdGuard DNS ikke alle returnerede ASN'er.
Store CDN-, cloud- eller hosting-ASN'er kan indeholde mange urelaterede websteder. Blokering af et ASN kan derfor påvirke flere domæner end forventet.
Kan ASN'et ikke bestemmes, vil ASN-betingelsen ikke matche. Benyt respgeo=AS-- til at matche svar med et ukendt ASN.
ASN korresponderer ikke altid med en bestemt virksomhed/produkt/tjeneste. Det identificerer kun det netværk, der er tilknyttet den opløste IP-adresse.
Regler med modifikatoren respgeo vises i Forespørgselslog som almindelige regler.
/etc/hosts-syntakstype
For hver vært skal én enkelt linje fremgå med flg. oplysninger:
IP_adresse kanonisk_værtsnavn [aliases...]
Indtastningsfelter adskilles med et vilkårligt antal mellemrum eller tabulatortegn. Tekst efter #-tegnet og indtil slutningen af linjen udgør kommentartekst og ignoreres.
Værtsnavne må kun indeholde alfanumeriske tegn, bindestreg-/minustegn (-) samt punktummer (.). De skal både starte og slutte med et alfabetisk tegn. Valgfrie aliasser muliggør navneændringer, alternative stavemåder og kortere eller generiske værtsnavne (f.eks. localhost).
Eksempel:
# Dette er en kommentar
127.0.0.1 eksempel.org eksempel.info
127.0.0.1 eksempel.com
127.0.0.1 eksempel.net # dette er også en kommentar
I AdGuard Home bruges IP-adresserne til at besvare DNS-forespørgsler for disse domæner. I Private AdGuard DNS blokeres disse adresser simpelthen.
Domænespecifik syntaks
En simpel liste over domænenavne, ét navn pr. linje.
Eksempel:
# Dette er en kommentar
eksempel.com
eksempel.org
eksempel.net # dette er også en kommentar
Er en streng ikke er et gyldigt domæne (f.eks. *.eksempel.org), betragter AdGuard Home den som en Adblock-stil syntaks regel.
Hostliste-kompiler
Vedligeholder man en sortliste og bruger forskellige kilder heri, kan Hostlist-kompileren være nyttig. Det er et simpelt værktøj, der gør det nemmere at kompilere en værtssortliste, der er kompatibel med AdGuard Home, Private AdGuard DNS eller ethvert andet AdGuard-produkt med DNS-filtrering.
Hvad den er i stand til:
-
Kompiler én enkelt blokeringsliste fra flere kilder.
-
Undtag de regler, man ikke behøver.
-
Oprense den resulterende liste: Fjerne dubletter og ugyldige regler, samt komprimere listen.