<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.rtzra.ru/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>RTzRa&#039;s hive - software:blocky</title>
        <description>Все работает</description>
        <link>https://wiki.rtzra.ru/</link>
        <lastBuildDate>Fri, 05 Jun 2026 20:57:04 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://wiki.rtzra.ru/_media/wiki/logo.png</url>
            <title>RTzRa&#039;s hive</title>
            <link>https://wiki.rtzra.ru/</link>
        </image>
        <item>
            <title>Blocky: Установка и настройка</title>
            <link>https://wiki.rtzra.ru/software/blocky/blocky-install</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;blockyustanovka_i_nastrojka&quot;&gt;Blocky: Установка и настройка&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Blocky - это &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;-прокси с функцией вырезания рекламы, аналог знаменитого Pi-Hole: &lt;a href=&quot;https://wiki.rtzra.ru/software/pihole/pihole-install&quot; class=&quot;urlextern&quot; title=&quot;https://wiki.rtzra.ru/software/pihole/pihole-install&quot; rel=&quot;ugc nofollow&quot;&gt;https://wiki.rtzra.ru/software/pihole/pihole-install&lt;/a&gt;. Работает следующим образом: проксирует все &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;-запросы и вырезает все домены занесенные в черный список. Что это дает: экономится траффик, освобождается интернет-канал от избыточных запросов, на устройствах не нужно устанавливать блокировщики рекламы. Периодически обновляет списки блокировки (время меняется в настройках).
&lt;/p&gt;

&lt;p&gt;
Домашняя страничка: &lt;a href=&quot;https://0xerr0r.github.io/blocky/&quot; class=&quot;urlextern&quot; title=&quot;https://0xerr0r.github.io/blocky/&quot; rel=&quot;ugc nofollow&quot;&gt;https://0xerr0r.github.io/blocky/&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Готовые скрипты можно взять тут&lt;/strong&gt;: &lt;a href=&quot;https://github.com/rtzra/docker/tree/master/blocky&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/rtzra/docker/tree/master/blocky&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/rtzra/docker/tree/master/blocky&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
План установки:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Настройка конфигурации&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Запуск в Docker&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Настройка Prometheus для сбора метрик&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Настройка Grafana Dashboard для получения красивых отчетов&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Blocky: \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;blockyustanovka_i_nastrojka&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1304&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nastrojka_konfiguracii&quot;&gt;Настройка конфигурации&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Подробно все опции описаны тут: &lt;a href=&quot;https://0xerr0r.github.io/blocky/configuration/&quot; class=&quot;urlextern&quot; title=&quot;https://0xerr0r.github.io/blocky/configuration/&quot; rel=&quot;ugc nofollow&quot;&gt;https://0xerr0r.github.io/blocky/configuration/&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Список публичных &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;-серверов с описанием и возможностями можно найти тут: &lt;a href=&quot;https://dnsprivacy.org/public_resolvers/&quot; class=&quot;urlextern&quot; title=&quot;https://dnsprivacy.org/public_resolvers/&quot; rel=&quot;ugc nofollow&quot;&gt;https://dnsprivacy.org/public_resolvers/&lt;/a&gt;, я предпочитаю использовать &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;-over-TLS (DoT).
&lt;/p&gt;

&lt;p&gt;
Списки для блокировки можно взять тут: &lt;a href=&quot;https://firebog.net/&quot; class=&quot;urlextern&quot; title=&quot;https://firebog.net/&quot; rel=&quot;ugc nofollow&quot;&gt;https://firebog.net/&lt;/a&gt; и для русскоязычного сегмента тут: &lt;a href=&quot;https://github.com/AdguardTeam/AdguardFilters&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/AdguardTeam/AdguardFilters&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/AdguardTeam/AdguardFilters&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Пример готового файла конфигурации blocky.conf:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# Configuration file blocky.conf for Blocky # https://0xerr0r.github.io/blocky/

upstream:
  # List of public DNS servers: https://0xerr0r.github.io/blocky/additional_information/#list-of-public-dns-servers
  default:
  #  - tcp-tls:172.16.1.2 # You own secure upstream DNS server
    - tcp-tls:1.1.1.1 # one.one.one.one
    - tcp-tls:1.0.0.1 # one.one.one.one
    - tcp-tls:8.8.8.8 # Google
    - tcp-tls:8.8.4.4 # Google
    - tcp-tls:9.9.9.9 # quad9.net
    #- 149.112.112.112 # quad9.net
  # Restrict DNS for some network
  #192.168.100.0/24:
  #  - 1.1.1.1
  #  - 9.9.9.9
conditional:
  rewrite:
    example.com: YOU-OWN-DOMAIN.COM
  mapping:
    YOU-OWN-DOMAIN.COM: udp:10.10.20.1,udp:10.10.21.1
    # for reverse DNS lookups of local devices
    20.10.10.in-addr.arpa: udp:10.10.20.1
    21.10.10.in-addr.arpa: udp:10.10.21.1
blocking:
  refreshPeriod: 30 # Reload blocklist Every 30 minutes, default 60
  blockType: zeroIp
  blackLists:
    default:
      - https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
    suspicious:
      - https://raw.githubusercontent.com/PolishFiltersTeam/KADhosts/master/KADhosts.txt
      - https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Spam/hosts
      - https://v.firebog.net/hosts/static/w3kbl.txt
    advertising:
      - https://easylist.to/easylist/easylist.txt
      - https://secure.fanboy.co.nz/fanboy-cookiemonster.txt
      - https://adaway.org/hosts.txt
      - https://v.firebog.net/hosts/AdguardDNS.txt
      - https://v.firebog.net/hosts/Admiral.txt
      - https://raw.githubusercontent.com/anudeepND/blacklist/master/adservers.txt
      - https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
      - https://v.firebog.net/hosts/Easylist.txt
      - https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&amp;amp;showintro=0&amp;amp;mimetype=plaintext
      - https://raw.githubusercontent.com/FadeMind/hosts.extras/master/UncheckyAds/hosts
      - https://raw.githubusercontent.com/bigdargon/hostsVN/master/hosts
    tracking-telemetry:
      - https://easylist.to/easylist/easyprivacy.txt
      - https://v.firebog.net/hosts/Easyprivacy.txt
      - https://v.firebog.net/hosts/Prigent-Ads.txt
      - https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.2o7Net/hosts
      - https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt
      - https://hostfiles.frogeye.fr/firstparty-trackers-hosts.txt
    malicious:
      - https://raw.githubusercontent.com/DandelionSprout/adfilt/master/Alternate%20versions%20Anti-Malware%20List/AntiMalwareHosts.txt
      - https://osint.digitalside.it/Threat-Intel/lists/latestdomains.txt
      - https://s3.amazonaws.com/lists.disconnect.me/simple_malvertising.txt
      - https://v.firebog.net/hosts/Prigent-Crypto.txt
      - https://bitbucket.org/ethanr/dns-blacklists/raw/8575c9f96e5b4a1308f2f12394abd86d0927a4a0/bad_lists/Mandiant_APT1_Report_Appendix_D.txt
      - https://phishing.army/download/phishing_army_blocklist_extended.txt
      - https://gitlab.com/quidsup/notrack-blocklists/raw/master/notrack-malware.txt
      - https://raw.githubusercontent.com/Spam404/lists/master/main-blacklist.txt
      - https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Risk/hosts
      - https://urlhaus.abuse.ch/downloads/hostfile/
    other:
      - https://zerodot1.gitlab.io/CoinBlockerLists/hosts_browser
  clientGroupsBlock:
    default:
      - default
      - suspicious
      - advertising
      - tracking-telemetry
      - malicious
      - other
# optional: use this DNS server to resolve blacklist urls and upstream DNS servers (DOH). Useful if no DNS resolver is configured an
bootstrapDns: tcp:1.1.1.1
# Define ports
port: 53
httpPort: 4000
# Prometheus Statistic
prometheus:
  enable: true
  path: /metrics
# optional: Drop all AAAA query if set to true. Default: false
disableIPv6: true
# Log Settings
logLevel: info
logFormat: text
logTimestamp: true
# Log Query
queryLog:
    dir: /logs
    perClient: true
    logRetentionDays: 7&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nastrojka_konfiguracii&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1305-6049&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;zapusk_v_docker&quot;&gt;Запуск в Docker&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Небольшой скрипт для запуска:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;#!/bin/sh

# see https://github.com/0xERR0R/blocky
# https://0xerr0r.github.io/blocky/

docker ps -a --no-trunc  | grep &amp;quot;blocky&amp;quot; | awk &amp;#039;{print $1}&amp;#039; | xargs docker container stop

docker pull spx01/blocky

echo y | docker system prune --volumes

sudo cp blocky.yml /opt/blocky.yml

sudo docker volume create blocky_logs
sudo docker volume create block_blacklist

docker run -d --restart unless-stopped \
    -v blocky_blacklist:/app/blacklists/ \
    -v blocky_logs:/logs \
    --name blocky -v /opt/blocky.yml:/app/config.yml \
    -p 4000:4000 -p 53:53/udp \
    spx01/blocky&lt;/pre&gt;

&lt;p&gt;
Логика работы:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Останавливает и удаляет все запущенные контейнеры с blocky&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Тянет из интернета последнюю версию&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Удаляет все неиспользуемые Volumes (очистка логов)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Копирует файл конфигурации&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Создает Volumes с именами blocky_logs (здесь хранятся логи запросов) и block_blacklist (сюда можно подкладывать новые списки для блокировки)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Запускает контейнер с blocky&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0417\u0430\u043f\u0443\u0441\u043a \u0432 Docker&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;zapusk_v_docker&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;6050-7370&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;nastrojka_prometheus_dlja_sbora_metrik&quot;&gt;Настройка Prometheus для сбора метрик&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Добавляем в настройки Prometheus новый job:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;scrape_configs:
...
  - job_name: &amp;#039;blocky&amp;#039;
    static_configs:
      - targets: [&amp;#039;10.10.10.2:4000&amp;#039;]&lt;/pre&gt;

&lt;p&gt;
где 10.10.10.2 - IP сервера с запущенным blocky в Docker
&lt;/p&gt;

&lt;p&gt;
Перезапускаем Prometheus, убеждаемся что метрики появились.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Prometheus \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u0440\u0438\u043a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nastrojka_prometheus_dlja_sbora_metrik&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;7371-7812&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;nastrojka_grafana_dashboard_dlja_poluchenija_krasivyx_otchetov&quot;&gt;Настройка Grafana Dashboard для получения красивых отчетов&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Импортируем в Grafana новый Dashboard: &lt;a href=&quot;https://grafana.com/grafana/dashboards/13768&quot; class=&quot;urlextern&quot; title=&quot;https://grafana.com/grafana/dashboards/13768&quot; rel=&quot;ugc nofollow&quot;&gt;https://grafana.com/grafana/dashboards/13768&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Источником данных выбираем наш Prometheus.
&lt;/p&gt;

&lt;p&gt;
Готово, можно проверять.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Grafana Dashboard \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0445 \u043e\u0442\u0447\u0435\u0442\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nastrojka_grafana_dashboard_dlja_poluchenija_krasivyx_otchetov&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;7813-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 02 Nov 2021 16:33:40 +0000</pubDate>
        </item>
    </channel>
</rss>
