Acrylic DNS Proxy - это локальный DNS-прокси для Windows, основным назначением которого является повышение сетевого быстродействия за счет кэширования ответов, поступающих с DNS-серверов, указанных в настройках сетевого подключения, при разрешении доменных имен в IP-адреса. При первом посещении к какому-либо узлу (сайту, серверу и т.п.), его IP-адрес запоминается в кэш программы и при последующих посещениях разрешение DNS-имен будет выполняться без запроса к серверу DNS, а IP-адрес будет браться из кэш. Кроме кэширования, Acrylic DNS Proxy можно использовать в качестве фильтра нежелательного контента с помощью специального файла HOSTS, оптимизированного для обработки доменных имен с поддержкой подстановочных знаков и регулярных выражений. Кроме того, Acrylic DNS Proxy является программным обеспечением с открытым исходным кодом (Open Source), распространяется под лицензией GNU/GPL (GNU General Public License) и бесплатен для любого использования, в том числе и коммерческого.

Программу также можно использовать и для получения списка доменов, к которым происходило обращение на разрешение DNS-имен. Для этого достаточно направить весь DNS-трафик на Acrylic, указав в настройках сетевого подключения адрес петлевого интерфейса в качестве сервера DNS, и немного изменить настройки программы для записи информации о DNS-запросах в текстовый файл. Для настроек протокола IPv4 надо вручную указать используемый DNS-сервер с адресом 127.0.0.1:

Настройки сетевого подключения для использования Acrylic DNS Proxy в качестве сервера DNS


Для протокола Ipv6:

Настройки сетевого подключения IPv6 для использования Acrylic DNS Proxy в качестве сервера DNS


Скачать актуальную версию программы можно на официальной странице проекта. Программа работает во всех версиях Windows и распространяется в виде переносимого и инсталлируемого пакетов. Для работы с программой требуются права локального Администратора.

Настройки программы хранятся в файле AcrylicConfiguration.ini , располагающемся в каталоге установленной или переносимой версии. Представляет собой текстовый файл, в котором строки, начинающиеся с точки с запятой (;) являются комментариями. Кроме файла настроек, имеются исполняемые модули и командные файлы:

AcrylicConsole.exe - консольная версия программы.

AcrylicService.exe - служба Acrylic DNS Proxy.

AcrylicUI.exe - версия программы с графическим интерфейсом пользователя.

AcrylicUI.ini - файл настроек программы с графическим интерфейсом пользователя.

AcrylicHosts.txt - аналогично файлу hosts позволяет задать сопоставление IP-адреса и DNS-имени.

InstallAcrylicService.bat - командный файл для установки Acrylic DNS Proxy в качестве службы.

UninstallAcrylicService.bat - удаление службы Acrylic DNS Proxy.

StartAcrylicService.bat - запуск службы Acrylic DNS Proxy.

StopAcrylicService.bat - остановка службы Acrylic DNS Proxy.

RestartAcrylicService.bat - перезапуск службы Acrylic DNS Proxy.

ActivateAcrylicDebugLog.bat - активация отладочного режима Acrylic DNS Proxy.

DeactivateAcrylicDebugLog.bat - деактивация отладочного режима Acrylic DNS Proxy.

OpenAcrylicConfigurationFile.bat - открыть файл конфигурации.

OpenAcrylicHostsFile.bat - открыть файл AcrylicHosts.txt.

PurgeAcrylicCacheData.bat - очистить кэш DNS программы.

Командные файлы можно запускать вручную, или через пункты меню программы.

Графический интерфейс пользователя Acrylic DNS Proxy.


В предустановленной конфигурации запись данных DNS-запросов в журнал не выполняется. Это определяется параметром HitLogFileName= в файле конфигурации AcrylicConfiguration.ini. Если же указать имя файла, то ведение журнала будет выполняться, например:

HitLogFileName=C:\Acrylic-Portable\log%DATE%.txt

В имени файла используется переменная окружения %DATE%, что позволяет хронологически упорядочить журналы. Например, 24.02.2022 года имя файла будет принимать значение log20220224.txt, а 31 декабря 2022 г. - log20221231.txt.

По каждому запросу на разрешение DNS-имени в журнал будет записываться информация, содержащая дату, время, адрес сервера DNS, имя сетевого ресурса и тип запроса:

2022-04-22 06:27:27.444 127.0.0.1       F       Q[1]=www.google-analytics.com;T[1]=A
2022-04-22 06:27:32.655 127.0.0.1       F       Q[1]=services.gfe.nvidia.com;T[1]=A
2022-04-22 06:27:32.826 127.0.0.1       F       Q[1]=gfwsl.geforce.com;T[1]=A
2022-04-22 06:27:36.071 127.0.0.1       F       Q[1]=update-check.softether-network.net;T[1]=AAAA
2022-04-22 06:27:36.087 127.0.0.1       F       Q[1]=update-check.softether-network.net;T[1]=A
2022-04-22 06:27:41.859 127.0.0.1       F       Q[1]=ota.nvidia.com;T[1]=A

Эти данные записываются в журнал не сразу, а накапливаются в буфере, размер которого определяется параметром HitLogMaxPendingHits=512 - запись в журнал после накопления в буфере данных о 512 DNS-запросах. Если требуется запись в журнал без накопления в буфере, то параметр необходимо сделать равным единице:

HitLogMaxPendingHits=1

Для того, чтобы параметры, изменяемые в файле конфигурации вступили в силу, необходимо перезапустить службу (консольную программу) с помощью командного файла или через меню программы Actions – Restart Acrylic Service

В конфигурационном файле имеется параметр HitLogFileWhat определяющий фильтрацию записываемых в журнал данных в зависимости от результатов выполнения DNS-запроса. По умолчанию он принимает значение:

HitLogFileWhat=XHCF

Каждый символ фильтра имеет значение:

B – разрешение DNS имени заблокировано.

H - Разрешение DNS выполнено из файла HOSTS программы - AcrylicHosts.txt.

C - Разрешение DNS выполнено из кэш Acrylic

F – DNS-запрос перенаправлен на настроенные DNS-серверы

R - Разрешение DNS-имени выполнено через запрос на один из настроенных DNS-серверов

U - выполнено обновление данных Acrylic DNS Proxy с одного из настроенных DNS-серверов

Результат выполнения запроса также фиксируется в журнале:

2022-04-22 06:27:41.859 127.0.0.1       F       Q[1]=ota.nvidia.com;T[1]=A

То есть, запрос на разрешение имени ota.nvidia.com был перенаправлен на настроенные DNS-серверы (результат - F). Настроенные DNS-серверы (до 10 штук) также указываются в файле конфигурации AcrylicConfiguration.ini. Это может быть DNS-сервер провайдера, общедоступные, с шифрованием запросов или прочие серверы DNS. По умолчанию, в конфигурационном файле прописаны публичные серверы Google:

PrimaryServerAddress=8.8.8.8
. . .

SecondaryServerAddress=8.8.4.4
SecondaryServerPort=53
SecondaryServerProtocol=UDP
SecondaryServerDoHProtocolPath=
SecondaryServerDoHProtocolHost=
SecondaryServerDoHProtocolConnectionType=System
SecondaryServerDoHProtocolReuseConnections=Yes
SecondaryServerDoHProtocolUseWinHttp=Yes
SecondaryServerSocks5ProtocolProxyAddress=
SecondaryServerSocks5ProtocolProxyPort=
SecondaryServerDomainNameAffinityMask=
SecondaryServerQueryTypeAffinityMask=
IgnoreFailureResponsesFromSecondaryServer=No
IgnoreNegativeResponsesFromSecondaryServer=No


Некоторым неудобством при значительной сетевой активности может быть огромное количество записанных в журнал DNS-запросов к одним и тем же ресурсам.

В начало страницы     |     В раздел коротких инструкций (HowTo)



Рейтинг@Mail.ru