Ostatni wpis na blogu @grzenio oraz temat na forum Projekt - Bezpieczne i wolne od reklam przeglądanie stron Web (Internet - Filtrowanie treści) [piszę...] wywołały spore zainteresowanie blokowaniem reklam za pomocą Pi-hole, który można uruchomić na QNAP.
Jak działa Pi-hole?
Pi-hole to nic innego jak blokowanie reklam w internecie, ale w przeciwieństwie do filtrowania treści (które jest bardziej skuteczne), blokuje on zapytania do domen, które odpowiedzialne są za linki do reklam. Jest to dość wystarczająca metoda, aby przeglądać współczesny internet dość swobodnie.
Pytanie czy warto?
Warto!
Ale w temacie blokowania reklam padły też słowa...
Co to ten Mikrotik?
Mikrotik - mamy na myśli routery, które pozwalają na odrobine skryptowania.
I tak właśnie ja też zrobiłem. Listy z Pi-hole przekonwertowałem w notatniku na format dla Mikrotik. A więc mam blokowanie reklam z Pi-Hole, bez Pi-hole na samym Mikrotiku.
@_Toem zadał mi pytanie jak często aktualizowana jest moja lista. Odp. do tej pory w ogóle
Ale dziś napisałem konwerter na kolanie w bashu. Możesz korzystać z moich list lub postawić mój konwerter na QNAP lub dowolnym innym Linuxie i uruchamiać go z harmonogramu cron. Zatem jeśli masz router Mikrotik, to możesz też filtrować reklamy w internecie bez potrzeby instalacji Pi-hole.
Co musisz zrobić w Mikrotik aby blokować reklamy w internecie?
To właściwie tyle, jeśli chcesz używać mojej listy.
Jeśli chcesz używać własne listy, albo postawić sobie updater samemu, to do udziału sieciowego Web na QNAP'ie postaw skrypt i uruchamiaj go z crontaba (o crontabie czytaj w innym temacie na forum)
Zostanie wygenerowany plik
(pamiętaj aby podstawić adres URL do skryptu na Twoim QNAP)
Co jest źródłem listy blokowanych adresów?
Przyjrzyjcie się na nagłówek mojego konwertera pi-hole:
Jak zauważycie listy źródłowe dodaje się w nagłówku:
Mam nadzieje, że pomogłem wielu
Pozdrówki dla fanów Mikrotików
PS. Logman na forum potrafi też informować po gadu-gadu działania na mikrotiku takie jak dzierżawa DHCP, niepoprawne logowanie do MT, etc. etc.
Jak działa Pi-hole?
Pi-hole to nic innego jak blokowanie reklam w internecie, ale w przeciwieństwie do filtrowania treści (które jest bardziej skuteczne), blokuje on zapytania do domen, które odpowiedzialne są za linki do reklam. Jest to dość wystarczająca metoda, aby przeglądać współczesny internet dość swobodnie.
Pytanie czy warto?
Warto!
Ale w temacie blokowania reklam padły też słowa...
Penerros napisał:Sprzedaj Asusa, kup Mikrotika...
pigers napisał:ta zakochaj sie w MT, potem cokolwiek innego jest ... po prostu za biedne
Co to ten Mikrotik?
Mikrotik - mamy na myśli routery, które pozwalają na odrobine skryptowania.
I tak właśnie ja też zrobiłem. Listy z Pi-hole przekonwertowałem w notatniku na format dla Mikrotik. A więc mam blokowanie reklam z Pi-Hole, bez Pi-hole na samym Mikrotiku.
@_Toem zadał mi pytanie jak często aktualizowana jest moja lista. Odp. do tej pory w ogóle
Ale dziś napisałem konwerter na kolanie w bashu. Możesz korzystać z moich list lub postawić mój konwerter na QNAP lub dowolnym innym Linuxie i uruchamiać go z harmonogramu cron. Zatem jeśli masz router Mikrotik, to możesz też filtrować reklamy w internecie bez potrzeby instalacji Pi-hole.
Co musisz zrobić w Mikrotik aby blokować reklamy w internecie?
- Połącz sie z Mikrotik za pomocą Winbox
- Uruchom terminal
- Pobierz skrypt dodający inne skrypty oraz harmonogram:
Kod:/tool fetch url="http://pool.qnapclub.pl/projects/tools/mikrotik-pihole-adlists/mikrotik_adblock_updater.rsc" mode=http;
- Uruchom pobrany skrypt:
Kod:/import mikrotik_adblock_updater.rsc
- Przejdź do zakładki System > Scripts i z listy:
- Zaznacz
DownloadAdsBlockList
i kliknij Run Script
- Zaznacz
ReplaceAdsBlockList
i kliknij Run Script
- Zaznacz
- Voila
To właściwie tyle, jeśli chcesz używać mojej listy.
Jeśli chcesz używać własne listy, albo postawić sobie updater samemu, to do udziału sieciowego Web na QNAP'ie postaw skrypt i uruchamiaj go z crontaba (o crontabie czytaj w innym temacie na forum)
Bash:
cd /share/Public
wget http://pool.qnapclub.pl/projects/tools/mikrotik-pihole-adlists/adlst_updater.sh
chmod +x adlst_updater.sh
./adlst_updater.sh
mikrotik_pihole_adlists.rsc
, który nalezy aktualizować w Mikrotiku za pomocą innego skryptu:(pamiętaj aby podstawić adres URL do skryptu na Twoim QNAP)
Kod:
# Script which will download the drop list as a text file
/system script add name="DownloadAdsBlockList" source={
/tool fetch url="http://pool.qnapclub.pl/projects/tools/mikrotik-pihole-adlists/mikrotik_pihole_adlists.rsc" mode=http;
:log info "Downloaded mikrotik_pihole_adlists.rsc from pool.qnapclub.pl";
}
# Script which will Remove old AdsBlockList list and add new one
/system script add name="ReplaceAdsBlockList" source={
/ip dns static remove [find where ttl=600w]
/import file-name=mikrotik_pihole_adlists.rsc;
:log info "Removed old AdsBlockList records and imported new list";
}
# Schedule the download and application of the AdsBlockList list
/system scheduler add comment="Download AdsBlock list" interval=1d \
name="DownloadAdsBlockListList" on-event=DownloadAdsBlockList \
start-date=jan/01/1970 start-time=08:15:39
/system scheduler add comment="Apply AdsBlock List" interval=1d \
name="InstallAdsBlockListList" on-event=ReplaceAdsBlockList \
start-date=jan/01/1970 start-time=08:20:39
Co jest źródłem listy blokowanych adresów?
Przyjrzyjcie się na nagłówek mojego konwertera pi-hole:
Bash:#!/bin/sh # exclude microsoft windows connectivity test domains EXCL_WHITELIST="'(excl.domain.example|v.wpimg.pl|msftncsi.com|msftconnecttest.com|login.live.com|windowsupdate.com|displaycatalog.mp.microsoft.com|dl.delivery.mp.microsoft.com|sls.update.microsoft.com)'" EXCL_DEFAULTS="'(localhost|localdomain|local|router|broadcast)'" adlists_online=( "http://pool.qnapclub.pl/projects/tools/mikrotik-pihole-adlists/list_crack_adobe.txt" ) adlists_online+=( "http://pool.qnapclub.pl/projects/tools/mikrotik-pihole-adlists/list_crack_netsrang_xshell.txt" ) adlists_online+=( "http://pool.qnapclub.pl/projects/tools/mikrotik-pihole-adlists/list_microsoft_skype_ads.txt" ) adlists_online+=( "https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-pihole-filters/hostfile.txt" ) adlists_online+=( "https://raw.githubusercontent.com/xxcriticxx/.pl-host-file/master/hosts.txt" ) # add more external lists here line by line #adlists_online+=( "http://..." ) # Get content from the lists _script_file=mikrotik_pihole_adlists.rsc rm -f $_script_file 2>/dev/null 1>/dev/null rm -f "${_script_file}.tmp" 2>/dev/null 1>/dev/null rm -f "${_script_file}.tmp.tmp" 2>/dev/null 1>/dev/null for ((i=0; i<${#adlists_online[@]}; i++)); do if [ $((${#adlists_online[@]}-$i)) -gt 1 ]; then curl -sL ${adlists_online[$i]} >> ${_script_file}.tmp else curl -sL ${adlists_online[$i]} >> ${_script_file}.tmp fi if [ $? -ne 0 ]; then echo "ERROR! Can't get online adlists:" echo " ${adlists_online[$i]}" exit 1 fi done # Convert to unix format dos2unix ${_script_file}.tmp # Expand aliases #shopt -s expand_aliases LC_ALL=C # Help aliases alias excl_defaults="egrep -v $EXCL_DEFAULTS" alias excl_whitelist="egrep -v $EXCL_WHITELIST" alias incl_ipaddr="egrep -e '([0-9]|[0-9][0-9]|[0-9][0-9][0-9])\.([0-9]|[0-9][0-9]|[0-9][0-9][0-9])\.([0-9]|[0-9][0-9]|[0-9][0-9][0-9])\.([0-9]|[0-9][0-9]|[0-9][0-9][0-9]).*'" alias strip_comment="sed 's/#.*//'" alias remove_empty_lines="sed -r '/^\s*$/d'" alias excl_regex_rules="grep -v '\\$'" alias incl_regex_rules="grep '\\$'" # real cmd rule: sed -e 's/\\/\\\\/g' -e 's/\$//g' alias conv_expr_2_rsc_fmt="sed -e 's/\\\/\\\\\\\/g' -e 's/\\$//g'" alias conv_2_alphanumeric="tr -cd '[:alnum:]._\-\n-'" alias conv_2_alphanumexpr="tr -cd '[:alnum:].+*[]_\-\\\(|^$)\n-'" # Help func prnt_col_2() { awk '{print $2}' } # Convert plain name rules cat ${_script_file}.tmp \ | remove_empty_lines \ | excl_whitelist \ | excl_defaults \ | incl_ipaddr \ | prnt_col_2 \ | strip_comment \ | excl_regex_rules \ | conv_2_alphanumeric \ | sed -e 's/^/\/ip dns static add address=127.0.0.1 name=/i' \ | sed -e 's/$/ ttl=600w/i' \ >> "${_script_file}.tmp.tmp" # Convert regexp name rules cat ${_script_file}.tmp \ | remove_empty_lines \ | excl_whitelist \ | excl_defaults \ | incl_ipaddr \ | prnt_col_2 \ | strip_comment \ | incl_regex_rules \ | conv_2_alphanumexpr \ | conv_expr_2_rsc_fmt \ | sed -e 's/^/\/ip dns static add address=127.0.0.1 regexp="/i' \ | sed -e 's/$/" ttl=600w/i' \ >> "${_script_file}.tmp.tmp" sync # Sort and remove doubles - keep unique lines sort -u "${_script_file}.tmp.tmp" > "${_script_file}" rm -f ${_script_file}.tmp.tmp 2>/dev/null 1>/dev/null rm -f ${_script_file}.tmp 2>/dev/null 1>/dev/null
Jak zauważycie listy źródłowe dodaje się w nagłówku:
adlists_online+:-( "http://..." )
Mam nadzieje, że pomogłem wielu
Pozdrówki dla fanów Mikrotików
PS. Logman na forum potrafi też informować po gadu-gadu działania na mikrotiku takie jak dzierżawa DHCP, niepoprawne logowanie do MT, etc. etc.