Здесь 5 веток:
- master — описание, файл hosts, mobileconfig
 - dns-server — DNS сервер
 - sni-proxy — SNI Proxy
 - dns-and-sni-proxy — DNS сервер и SNI Proxy для установки на единственный сервер
 - web — Веб-страницы (info.dns.malw.link)
 
- 
Убедитесь, что у вас установлен Docker и Docker Compose. Если не знаете как — спросите у ChatGPT.
 - 
Клонируйте репозиторий:
git clone --single-branch -b dns-and-sni-proxy https://github.com/ImMALWARE/dns.malw.link cd dns.malw.link 
- 
Убедитесь, что ваш домен привязан к IP сервера.
 - 
Создайте папку
certsв корне проекта. - 
Поместите в неё SSL-сертификаты с именами
fullchain.cerиkey.key.Можете использовать, например, acme.sh для получения сертификатов.
 - 
В
nginx.confпоменяйте доменdns.malw.linkна ваш домен:map $ssl_preread_server_name $allowed_domain { dns.malw.link 2; include /etc/nginx/whitelist_domains.conf; 
- 
В
docker-compose.ymlзакомментируйте строки:# - "853:853/tcp" # - ./certs:/etc/dnsdist/certs:ro
 - 
В
dnsdist.confзакомментируйте строки:-- addTLSLocal("0.0.0.0:853", "/etc/dnsdist/certs/fullchain.cer", "/etc/dnsdist/certs/key.key") -- addDOHLocal("0.0.0.0:8053", "/etc/dnsdist/certs/fullchain.cer", "/etc/dnsdist/certs/key.key", "/dns-query") 
В файле dnsdist.conf замените IP-адреса:
addAction(QNameSuffixRule(proxy_with_subdomains), SpoofAction({"2a05:541:104:7f::1", "45.95.233.23", "185.246.223.127"}))
addAction(QNameSetRule(proxy), SpoofAction({"2a05:541:104:7f::1", "45.95.233.23", "185.246.223.127"}))
Замените на IP-адреса текущего сервера. Чтобы его узнать, выполните эти команды:
curl -4 ip.wtf  # IPv4 адрес
curl -6 ip.wtf  # IPv6 адресФормат:
{"тут ipv6", "тут ipv4"}Если IPv6 нет:
{"тут ipv4"}Для запуска/обновления списка доменов используйте:
./update_domains.sh- 
Убедитесь, что у вас установлен Docker и Docker Compose.
 - 
Клонируйте нужную ветку:
git clone --single-branch -b dns-server https://github.com/ImMALWARE/dns.malw.link cd dns.malw.link 
- 
Убедитесь, что домен привязан к IP.
 - 
Создайте папку
certsв корне проекта. - 
Поместите в неё SSL-сертификаты с именами
fullchain.cerиkey.key.Можете использовать, например, acme.sh для получения сертификатов.
 - 
В
nginx.confпоменяйте доменdns.malw.linkна ваш домен:map $ssl_preread_server_name $allowed_domain { dns.malw.link 2; include /etc/nginx/whitelist_domains.conf; 
- 
В
docker-compose.ymlзакомментируйте:# - "853:853/tcp" # DNS over TLS # - "443:443/tcp" # DNS over HTTPS # - ./certs:/etc/dnsdist/certs:ro
 - 
В
dnsdist.confзакомментируйте:-- addTLSLocal("0.0.0.0:853", "/etc/dnsdist/certs/fullchain.cer", "/etc/dnsdist/certs/key.key") -- addDOHLocal("0.0.0.0:443", "/etc/dnsdist/certs/fullchain.cer", "/etc/dnsdist/certs/key.key", "/dns-query") 
В dnsdist.conf замените:
addAction(QNameSuffixRule(proxy_with_subdomains), SpoofAction({"2a05:541:104:7f::1", "45.95.233.23", "185.246.223.127"}))
addAction(QNameSetRule(proxy), SpoofAction({"2a05:541:104:7f::1", "45.95.233.23", "185.246.223.127"}))
На IP-адреса вашего сервера SNI Proxy.
Узнать IP-адреса можно командами (выполните на сервере, где запущен SNI Proxy):
curl -4 ip.wtf  # IPv4
curl -6 ip.wtf  # IPv6Формат:
{"тут ipv6", "тут ipv4"}Если IPv6 нет:
{"тут ipv4"}Для запуска/обновления списка доменов используйте:
./update_domains.sh- 
Убедитесь, что у вас установлен Docker и Docker Compose.
 - 
Клонируйте ветку:
git clone --single-branch -b sni-proxy https://github.com/ImMALWARE/dns.malw.link cd dns.malw.link - 
Для запуска/обновления списка доменов используйте:
./update_domains.sh