Auteur Topic: ad-block via de DNS server  (gelezen 91484 keer)

Offline roylee

  • Bedankjes
  • -Gegeven: 2
  • -Ontvangen: 0
  • Berichten: 13
Re: ad-block via de DNS server
« Reactie #255 Gepost op: 15 oktober 2021, 08:20:12 »
Ik heb sinds DSM 7 problemen met het Ad-blocker script van dMajo.
Aangezien de locatie van de packages is veranderd klopt het hele script niet meer. ik heb alle locaties aangepast maar krijg nu de melding dat de dns package niet geinstalleerd is.

sh /volume1/Data/Scripts/DNSfiles/ad-blocker.sh
ad-blocker.sh: Starting script with ID 31538
ad-blocker.sh: DNS Server package not installed, aborting
Error: database disk image is malformed
ad-blocker.sh: Update aborted with errors, see update log for details /volume1/Data/Scripts/DNSfiles/ad-blocker.log
ad-blocker.sh: Stopping script with ID 31538


Tevens heb ik al ongeveer 1 maand last van meldingen dat de database malformed is. zie log hieronder.
Taak: DNS adblock update
Starttijd: Fri, 15 Oct 2021 07:18:23 GMT
Stoptijd: Fri, 15 Oct 2021 07:18:28 GMT
Huidige status: 0 (Normaal)
Standaard output/fout:
ad-blocker.sh: Starting script with ID 8028
Error: database disk image is malformed
ad-blocker.sh: Building combined blacklist ...
Error: database disk image is malformed
ad-blocker.sh: Downloading Yoyo's Blacklist ...
Error: database disk image is malformed
ad-blocker.sh: Downloading Malwaredomains at malwaredomains.com ...
Error: database disk image is malformed
ad-blocker.sh: Cleaning downloaded files ...
ad-blocker.sh: Building combined whitelist ...
Error: database disk image is malformed
ad-blocker.sh: Building final zones database ...
ad-blocker.sh: Added 30547 domains and subdomains to the blocklist
/var/packages/DNSServer/scripts/start-stop-status: line 4: /var/packages//scripts/pkg_utils: No such file or directory active
rndc: 'reload' failed: file not found
Error: database disk image is malformed
ad-blocker.sh: Update completed successfully SN 2021101500
ad-blocker.sh: Stopping script with ID 8028
  • Mijn Synology: DS1621xs+
  • HDD's: 3x 8TB RAID5
  • Extra's: 16GB RAM + SSD Cache

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.537
Re: ad-block via de DNS server
« Reactie #256 Gepost op: 15 oktober 2021, 09:25:00 »
Een paar reacties eerder staat in een attachment een script dat wel rekening houd met de nieuwe paden.

Ik heb mijn aanpassing op dat script hier als script bijgevoegd. (Edit: verwijderd. in een latere reactie staat een completere versie)Dit moet een universeel script voor dsm6 en 7 worden.

Het script loopt bij DSM 7 nu nog mis op het herstarten van het package, zodat de aanpassingen niet gebruikt gaan worden. (tenzij je DSN Server handmatig herstart) Ik houd me aanbevolen voor aanwijzingen hoe je onder DSM 7 een package kunt herstarten.

Het liefst een commando dat ook daadwerkelijk getest is, omdat ik dat zelf niet kan testen. Ik heb geen DSM7 en zal dat het komende jaar ook niet installeren vanwege incompatibiliteiten.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline roylee

  • Bedankjes
  • -Gegeven: 2
  • -Ontvangen: 0
  • Berichten: 13
Re: ad-block via de DNS server
« Reactie #257 Gepost op: 15 oktober 2021, 09:29:59 »
Ik krijg helaas nog steeds dezelfde melding, met jouw script. Denk dat de database van de DNS server in DSM 7 in een andere format is. Lijkt het wel.

ad-blocker.sh: Starting script with ID 29963
Error: database disk image is malformed
Error: database disk image is malformed
ad-blocker.sh: Downloading Yoyo's Blacklist ...
Error: database disk image is malformed
ad-blocker.sh: Downloading Malwaredomains at malwaredomains.com ...
Error: database disk image is malformed
ad-blocker.sh: Error on downloading Malwaredomains at malwaredomains.com
Error: database disk image is malformed
ad-blocker.sh: Update aborted with errors, see update log for details /volume1/Data/Scripts/DNSfiles/ad-blocker.log
ad-blocker.sh: Stopping script with ID 29963
  • Mijn Synology: DS1621xs+
  • HDD's: 3x 8TB RAID5
  • Extra's: 16GB RAM + SSD Cache

Offline Soggy

  • Bedankjes
  • -Gegeven: 2
  • -Ontvangen: 0
  • Berichten: 9
Re: ad-block via de DNS server
« Reactie #258 Gepost op: 15 oktober 2021, 10:09:08 »
Vermoedelijk moet in plaats van de routine synoservice nu synopkg worden gebruikt (/usr/syno/bin/synopkg).
Als ik nu echter uitvoer:

/usr/syno/bin/synopkg status DNSServer
dan krijg ik terug DNSserver package is stopped. In de GUI is echter zichtbaar dat deze gewoon actief is...
Toch lees ik dat synopkg onder DSM7.0 in de plaats zou zijn gekomen van synoservice. hmmm...

in Putty:
sudo /usr/syno/bin/synopkg restart DNSServer
zorgt ervoor dat de DNSServer package wordt herstart, te volgen in de GUI. Eens kijken wat ie doet als ik dit zometeen in het script opneem.
  • Mijn Synology: DS312J

Offline roylee

  • Bedankjes
  • -Gegeven: 2
  • -Ontvangen: 0
  • Berichten: 13
Re: ad-block via de DNS server
« Reactie #259 Gepost op: 15 oktober 2021, 10:41:21 »
Dit laatste wat je stuurt is inderdaad het geval. Hij geeft aan dat hij niet gestart is. ik denk dat dit sinds DSM 7 een failover folder is geworden. want de packages zijn allemaal verplaatst naar een andere locatie:

ls /volume1/@appstore/
ActiveBackup  CodecPack        HyperBackupVault  Perl    PHP7.4                      SynologyDrive
Apache2.2     DNSServer        LogCenter         PHP5.6  phpMyAdmin                  TextEditor
Apache2.4     Docker           MailServer        PHP7.0  StorageAnalyzer             Virtualization
CloudSync     DownloadStation  MariaDB10         PHP7.2  SurveillanceStation         VPNCenter
CMS           HyperBackup      Node.js_v12       PHP7.3  SynologyApplicationService  WebStation

edit: je laatste commando werkt in DSM 7, ik zie in de GUI van package center de DNS server opnieuw starten.
sudo /usr/syno/bin/synopkg restart DNSServer
  • Mijn Synology: DS1621xs+
  • HDD's: 3x 8TB RAID5
  • Extra's: 16GB RAM + SSD Cache

Offline Soggy

  • Bedankjes
  • -Gegeven: 2
  • -Ontvangen: 0
  • Berichten: 9
Re: ad-block via de DNS server
« Reactie #260 Gepost op: 15 oktober 2021, 10:56:24 »
Met het vervangen van

# Reload the server config after modifications
    if ${PackageDir}/scripts/start-stop-status status; then
        LogThis "Restarting DNS Server ..." 0
        ${RootDir}/script/reload.sh | LogThis
    else
        LogThis "DNS Server not started ..." 0 "toMail"
    fi

door
# Reload the server config after modifications
  /usr/syno/bin/synopkg restart DNSServer

Draait de update foutloos zo te zien. Voorbeeld van de output:

Citaat
Taakplanner heeft een geplande taak voltooid.

Taak: Update DNS Adblocker
Starttijd: Fri, 15 Oct 2021 10:50:32 GMT
Stoptijd: Fri, 15 Oct 2021 10:51:15 GMT
Huidige status: 0 (Normaal)
Standaard output/fout:
ad-blocker.sh: Starting script with ID 25873
ad-blocker.sh: Building combined blacklist ...
ad-blocker.sh: Downloading Yoyo's Blacklist ...
ad-blocker.sh: Cleaning downloaded files ...
ad-blocker.sh: Building combined whitelist ...
ad-blocker.sh: Building final zones database ...
ad-blocker.sh: Added 3693 domains and subdomains to the blocklist
restart package [DNSServer] successfully
ad-blocker.sh: Update completed successfully SN 2021101500
ad-blocker.sh: Stopping script with ID 25873


Van DiskStation

DNSServer reboot zonder problemen en advertenties behoren weer tot het verleden.
Ik heb mijn aangepaste verse van het script wederom bijgesloten.

@Briolet: wellicht kun jij deze verder 'tunen' zodat deze zowel DSM6 als DSM7-proof is?
  • Mijn Synology: DS312J

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.537
Re: ad-block via de DNS server
« Reactie #261 Gepost op: 15 oktober 2021, 11:16:58 »
@Soggy: Dank. Nu heb ik dit weekend weer iets te doen.  ;)
Het "/usr/syno/bin/synopkg " commando was het laatste wat ik gisteravond nog vond, maar niet meer aan toegekomen was om te testen. Moet ook onder DSM 6 werken, dat dan kan ik het ook finetunen.

@roylee :
Citaat
Tevens heb ik al ongeveer 1 maand last van meldingen dat de database malformed is
Gezien de plaats in het log, doet hij nog niets dat specifiek voor DSM7 is. Deze meldingen moeten komen door de routine die met een sqlite3 commando logregels in het DNS log schrijft (Het log dat je binnen het package te zien krijgt).
Het lijkt er op dat die database bij jou corrupt is. Omdat Soggy die meldingen niet heeft, denk ik niet dat dit iets van het script zelf is.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline roylee

  • Bedankjes
  • -Gegeven: 2
  • -Ontvangen: 0
  • Berichten: 13
Re: ad-block via de DNS server
« Reactie #262 Gepost op: 15 oktober 2021, 13:39:14 »
Na het opnieuw installeren van de DNS server lijken de sqlite problemen verleden tijd. Echter nu onderstaande. mijn null.zone.file kan niet gevonden worden. Nu gebruik ik nog een oude ad-blocker.conf. althans, dat verwacht ik. Heeft iemand hier een aangepaste versie van?

Onderstaand de output na het runnen van het laatst geuploade script van Soggy:

ad-blocker.sh: Starting script with ID 32002
ad-blocker.sh: Building combined blacklist ...
ad-blocker.sh: Downloading Yoyo's Blacklist ...
/volume1/Data/Scripts/DNSfiles/ad-blocker.sh: line 270: [: -gt: unary operator expected
ad-blocker.sh: Cleaning downloaded files ...
ad-blocker.sh: Building combined whitelist ...
ad-blocker.sh: Building final zones database ...
ad-blocker.sh: Added 3692 domains and subdomains to the blocklist
ad-blocker.sh: File not found, check for presence of null.zone.file domain zone
ad-blocker.sh: Update aborted with errors, see update log for details /volume1/Data/Scripts/DNSfiles/ad-blocker.log
ad-blocker.sh: Stopping script with ID 32002


Log:
--2021-10-15 13:36:59--  removed '/volume1/Data/Scripts/DNSfiles/ad-blocker.log'
--2021-10-15 13:36:59--  ad-blocker.sh: Starting script with ID 32002
--2021-10-15 13:36:59--  ad-blocker.sh: The IPv4 IP Address is correct. The procedure continues
--2021-10-15 13:36:59--  ad-blocker.sh: The IPv6 IP Address is correct. The procedure continues
--2021-10-15 13:36:59--  ad-blocker.sh: Update started by user: gpsforceadmin root ...
--2021-10-15 13:36:59--  ad-blocker.sh: Download blacklists and build raw files to temp folder
--2021-10-15 13:36:59--  removed 'adbListType1.raw'
--2021-10-15 13:36:59--  removed 'adbSourceURLs'
--2021-10-15 13:36:59--  ad-blocker.sh: Building combined blacklist ...
--2021-10-15 13:37:00--  ad-blocker.sh: Downloading Yoyo's Blacklist ...
--2021-10-15 13:37:00--  ad-blocker.sh: Basename from url: serverlist.php?hostformat=bindconfig&showintro=0&mimetype=plaintext
URL transformed to HTTPS due to an HSTS policy
--2021-10-15 13:37:00--  https://pgl.yoyo.org/as/serverlist.php?hostformat=bindconfig&showintro=0&mimetype=plaintext
Resolving pgl.yoyo.org... 213.230.210.230
Connecting to pgl.yoyo.org|213.230.210.230|:443... connected.
HTTP request sent, awaiting response... 200 OK
Server ignored If-Modified-Since header for file 'serverlist.php?hostformat=bindconfig&showintro=0&mimetype=plaintext'.
You might want to add --no-if-modified-since option.

--2021-10-15 13:37:00--  renamed '/volume1/Data/Scripts/DNSfiles/ad-blocker.tmp/adbList1.dnl' -> '/volume1/Data/Scripts/DNSfiles/ad-blocker.tmp/adbList1.raw'
--2021-10-15 13:37:00--  ad-blocker.sh: Linking by tipology 'Yoyo's Blacklist' to 'adbListType1.raw' ...
--2021-10-15 13:37:00--  ad-blocker.sh: Cleaning downloaded files ...
--2021-10-15 13:37:00--  removed 'adbListAll.raw'
--2021-10-15 13:37:00--  ad-blocker.sh: Cleaning type 1 files ...
--2021-10-15 13:37:00--  ad-blocker.sh: Cleaning type 3 files ...
--2021-10-15 13:37:00--  ad-blocker.sh: Building combined whitelist ...
--2021-10-15 13:37:00--  removed 'adbWhiteList.p01'
--2021-10-15 13:37:00--  removed 'adbWhiteList.raw'
--2021-10-15 13:37:00--  ad-blocker.sh: Building final zones database ...
--2021-10-15 13:37:00--  ad-blocker.sh: Place ad-blocker.db to the right place
--2021-10-15 13:37:00--  changed ownership of 'ad-blocker.db' from root:root to DNSServer:DNSServer
--2021-10-15 13:37:00--  mode of 'ad-blocker.db' changed from 0000 (---------) to 0644 (rw-r--r--)
--2021-10-15 13:37:00--  copied 'ad-blocker.db' -> '/var/packages/DNSServer/target/named/etc/zone/data/ad-blocker.db'
--2021-10-15 13:37:00--  removed 'ad-blocker.db'
--2021-10-15 13:37:00--  renamed '/volume1/Data/Scripts/DNSfiles/ad-final-list.txt' -> '/volume1/Data/Scripts/DNSfiles/ad-final-list-old.txt'
--2021-10-15 13:37:00--  '/var/packages/DNSServer/target/named/etc/zone/data/ad-blocker.db' -> '/volume1/Data/Scripts/DNSfiles/ad-final-list.txt'
--2021-10-15 13:37:00--  removed '/volume1/Data/Scripts/DNSfiles/ad-final-list-old.txt'
--2021-10-15 13:37:00--  ad-blocker.sh: Added 3692 domains and subdomains to the blocklist
--2021-10-15 13:37:00--  ad-blocker.sh: Updating DNS Server files ...
--2021-10-15 13:37:00--  ad-blocker.sh: File not found, check for presence of null.zone.file domain zone
--2021-10-15 13:37:00--  ad-blocker.sh: Update aborted with errors, see update log for details /volume1/Data/Scripts/DNSfiles/ad-blocker.log
--2021-10-15 13:37:00--  ad-blocker.sh: Stopping script with ID 32002
  • Mijn Synology: DS1621xs+
  • HDD's: 3x 8TB RAID5
  • Extra's: 16GB RAM + SSD Cache

Offline Soggy

  • Bedankjes
  • -Gegeven: 2
  • -Ontvangen: 0
  • Berichten: 9
Re: ad-block via de DNS server
« Reactie #263 Gepost op: 15 oktober 2021, 13:50:59 »
Ik heb wel wat aangepast in de conf, maar volgens mij niets wat verwijst naar de null.zone.file.
Voor de zekerheid heb ik mijn conf even bijgesloten (alleen Yoyo is geactiveerd)
  • Mijn Synology: DS312J

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.537
Re: ad-block via de DNS server
« Reactie #264 Gepost op: 15 oktober 2021, 13:52:36 »
Alleen de eerste fout telt omdat de tweede een gevolg ervan kan zijn. Ik heb ook even het script van Soggy gedownload om te kijken wat daar regel 270 is:

for (( BL_Index=1; BL_Index<=$BL_Items; BL_Index++ )); do if [ ${BL_Enabled[${BL_Index}]} -gt 0 ]; then
Het gaat blijkbaar mis bij het 'groter dan' commando. Lijkt me niet dsm7 gerelateerd, maar meer dat de variabele ervoor niet gedefinieerd is. Dan moet ik in alle rust door de code lopen om daarvan een oorzaak te vinden.

In het log op "/volume1/Data/Scripts/DNSfiles/ad-blocker.log" is er meer output. Misschien dat daar eerdere errors gelogd worden die dit veroorzaken.. Oops, dat had je ook geplaatst.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.537
Re: ad-block via de DNS server
« Reactie #265 Gepost op: 15 oktober 2021, 13:59:09 »
De fout over de afwezigheid van de 'null.zone.file' zal komen door het opnieuw installeren dan het pakket. Deze file moet je eerst binnen het pakket aanmaken door de null.zone als domein aan te maken. Om dat via het script te doen leek me te ingewikkeld/riskant omdat er dan te veel files aangepast moeten worden.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline roylee

  • Bedankjes
  • -Gegeven: 2
  • -Ontvangen: 0
  • Berichten: 13
Re: ad-block via de DNS server
« Reactie #266 Gepost op: 15 oktober 2021, 14:01:59 »
Het ligt inderdaad niet aan de conf. maar alsnog bedankt!

Ik heb het log in de vorige post bewerkt zodat alles wat er in het bestand staat ook staat ;D.
vwb de fout op regel 270. Ik hoor graag van je, als ik zo tijd heb ga ik ook even kijken waar dit vandaan kan komen.
Dit is in de allerlaatste config van Soggy.

edit: never mind. als je dns server opnieuw installeerd moet je wel opnieuw je null.zone.file master zone aanmaken natuurlijk :)
-wat jij al zei- ;D
Nog 1 error, database locked. maar of dit een probleem is durf ik niet te zeggen.

ad-blocker.sh: Starting script with ID 15947
ad-blocker.sh: Building combined blacklist ...
ad-blocker.sh: Downloading Yoyo's Blacklist ...
ad-blocker.sh: Cleaning downloaded files ...
ad-blocker.sh: Building combined whitelist ...
ad-blocker.sh: Building final zones database ...
ad-blocker.sh: Added 3692 domains and subdomains to the blocklist
restart package [DNSServer] successfully
Error: database is locked
ad-blocker.sh: Update completed successfully SN 2021101501
ad-blocker.sh: Stopping script with ID 15947
  • Mijn Synology: DS1621xs+
  • HDD's: 3x 8TB RAID5
  • Extra's: 16GB RAM + SSD Cache

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.537
Re: ad-block via de DNS server
« Reactie #267 Gepost op: 15 oktober 2021, 14:14:34 »
Dat 'database locked' komt waarschijnlijk dat hij het pakket te snel herstart. Ik zag het gisteren ook 1x voorbij komen toen ik het script te snel achter elkaar herhaalde. Het lijkt erop dat er op de achtergrond dan nog een proces bezig is dat de database gebruikt.

Als dat consistent gebeurd, moet er misschien ergens een pauze commando in die een paar seconden wacht.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.537
Re: ad-block via de DNS server
« Reactie #268 Gepost op: 15 oktober 2021, 17:07:24 »
door
# Reload the server config after modifications
  /usr/syno/bin/synopkg restart DNSServer

Draait de update foutloos zo te zien. Voorbeeld van de output:

Draait ook perfect onder DSM 6.2

Ik zal deze code toch niet voor alle DSM versies gebruiken omdat ik niet kan testen of dit ook voor DSM 6.1 en ouder werkt.

Ik zie wel dat de code:
/usr/syno/bin/synopkg status DNSServer
de melding
DNSServer package is startedTerug geeft. Dan kan ik een check inbouwen dat het pakket ook echt aan staat voor ik een restart geef.

@roylee
Citaat
edit: never mind. als je dns server opnieuw installeerd moet je wel opnieuw je null.zone.file master zone aanmaken natuurlijk :)
Ik test ook expliciet of die file er is en geef ook een betreffende waarschuwing in het log:
ad-blocker.sh: File not found, check for presence of null.zone.file domain zone
Maar ik zal er een tweede regel aan toevoegen met de opmerking  dat dit via de GUI van het package moet gebeuren.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2667
  • Berichten: 16.537
Re: ad-block via de DNS server
« Reactie #269 Gepost op: 15 oktober 2021, 18:11:43 »
Ik heb de code "/usr/syno/bin/synopkg restart DNSServer"  nu werkend onder DSM6. Inclusief een test of de server wel runt.

Ik merk nu wel een duidelijk verschil met de oude code. Met deze code verdwijnt het icoontje ook even van de desktop en in het  log van de server zelf staat ook heel veel over opnieuw gestarte zones.

Met de oude code blijft het icoontje op de desktop staan. en worden er alleen zaken van het script zelf gelogd.

Ik heb de huidige versie nu bijgesloten. Moet dan onder DSM 6 en 7 werken. Als er geen problemen mee zijn zal ik officieel een nieuwe versie uitbrengen.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac


 

DNS server opzetten. Wat is nu handig

Gestart door FlipjeSRBoard DNS server

Reacties: 24
Gelezen: 5423
Laatste bericht 14 juli 2021, 16:07:39
door FlipjeSR
DSM 7 toevoegen aan DSM 6.2 LDAP Server

Gestart door Joost.013Board Synology DSM 7.0

Reacties: 2
Gelezen: 666
Laatste bericht 27 januari 2022, 00:17:01
door Briolet
In Synology Mail Server smtp gestopt, verwerkt nog berichten vanaf Internet

Gestart door herelderBoard Mail Server

Reacties: 16
Gelezen: 2918
Laatste bericht 09 november 2023, 13:49:01
door herelder
Nas of exchange server

Gestart door AnonymousBoard Mail Station

Reacties: 9
Gelezen: 5365
Laatste bericht 13 december 2010, 21:56:28
door Anonymous
Server: Volume 1 on Server has crashed

Gestart door 3svbBoard NAS hardware vragen

Reacties: 17
Gelezen: 16169
Laatste bericht 20 september 2011, 11:18:15
door LukeVredeveld