Профессиональный автоматизированный инструмент для установки и управления DNSCrypt-proxy на Linux системах
Защитите свой DNS-трафик от слежки и цензуры с помощью современных технологий шифрования
sudo bash -c "$(wget -O - https://raw.githubusercontent.com/gopnikgame/Installer_dnscypt/main/quick_install.sh)"После установки запуск:
sudo dnscrypt_managerили
sudo dnscrypt-manager
|
|
| ОС | Версия | Статус | Примечания |
|---|---|---|---|
| 🐧 Ubuntu | 24.04 LTS | ✅ Полностью протестировано | Рекомендуемая платформа |
| 🐧 Ubuntu | 22.04 LTS | ✅ Полностью протестировано | Стабильная работа |
| 🐧 Ubuntu | 20.04 LTS | Базовая поддержка | |
| 🌐 Debian | 11+ | На основе apt |
- Операционная система: Linux-based система
- Права доступа: root/sudo
- Архитектура: x86_64, ARM64
- Свободное место: минимум 50 МБ
- Сетевое подключение: для определения геолокации и загрузки списков
wget- для загрузки файловcurl- для работы с API и геолокациейsystemd- для управления службамиgrep,sed,awk- для обработки конфигурацийping- для тестирования скорости серверов (опционально)
1️⃣ Установить DNSCrypt
- 🔄 Автоматическая установка последней версии DNSCrypt-proxy
- ⚙️ Создание системного сервиса с автозапуском
- 🔧 Базовая конфигурация с оптимальными настройками
- 🛡️ Проверка конфликтов с systemd-resolved
- 📝 Автоматическое резервное копирование предыдущих настроек
2️⃣ Проверить установку
- ✅ Проверка наличия всех компонентов
- 🧪 Тестирование DNS-резолвинга с различными запросами
- 🔍 Диагностика проблем с детальными отчетами
- 📊 Анализ производительности и времени отклика
- 🔧 Автоматические рекомендации по исправлению
3️⃣ Проверить текущий DNS
- 📡 Отображение активного DNS-сервера и его характеристик
- ⏱️ Измерение скорости резолвинга для различных доменов
- 🌍 Геолокация сервера и информация о провайдере
- 🔒 Проверка поддержки DNSSEC, DoH, DoT
- 📈 Статистика использования и качества соединения
4️⃣ Изменить DNS сервер
Предустановленные серверы:
- 🌩️ Cloudflare (1.1.1.1) - быстро и приватно
- 🔍 Google (8.8.8.8) - стабильно и надежно
- 🛡️ Quad9 (9.9.9.9) - с блокировкой вредоносных сайтов
- 🚫 AdGuard (94.140.14.14) - с блокировкой рекламы
Настройки безопасности:
- 🔐 DNSSEC - защита от подделки DNS-записей
- 📝 NoLog - отсутствие логирования запросов
- 🚯 NoFilter - отсутствие фильтрации контента
5️⃣ Исправить DNS резолвинг
- 🔍 Автоматическая диагностика распространенных проблем
- 🔧 Исправление конфликтов портов и служб
- ♻️ Сброс кэша DNS всех уровней
- 🔄 Перезапуск служб в правильном порядке
- 📋 Детальные отчеты о выполненных исправлениях
6️⃣ Управление анонимным DNS 🆕
- 🎭 Скрытие IP-адреса через сеть релеев
- 🛣️ Настройка маршрутов анонимизации
- 🔀 Автоматический выбор оптимальных релеев
- 🌐 Поддержка wildcard-маршрутов
- 🌍 Региональная настройка на основе геолокации
- 📊 Тестирование скорости серверов и релеев в реальном времени
- 🗺️ Интеллектуальный выбор релеев из близких регионов
- 🌍 Автоматическая геолокация - определение местоположения сервера
- 🎯 Умный выбор релеев - автоматический поиск оптимальных релеев по региону
- ⚡ Тестирование скорости - измерение пинга до каждого релея
- 🔄 Три стратегии серверов:
- Конкретный Quad9 сервер (рекомендуется)
- Локальный сервер из вашей страны
- Wildcard (*) - автоматический выбор лучших серверов
- 🔐 Двойное шифрование DNS-запросов
- 🔄 Разделение знаний между серверами
- 🛡️ Защита метаданных запросов
- ⚡ Оптимизация производительности
- 📊 Интерактивный просмотр серверов и релеев по регионам
- 🔍 Поиск серверов по стране, городу или имени
- 📈 Статистика серверов с детальной информацией
- 🔧 Продвинутые настройки безопасности
- 📈 Мониторинг качества соединений
- 🚨 Автоматическое исправление конфигурации
[anonymized_dns] skip_incompatible = true routes = [ { server_name='*', via=['anon-relay1', 'anon-relay2', 'anon-relay3'] } ]
[anonymized_dns] skip_incompatible = true routes = [ { server_name='quad9-dnscrypt-ip4-filter-ecs-pri', via=['anon-relay1', 'anon-relay2'] } ]
7️⃣ Очистить кэш
- 🗑️ Очистка DNS-кэша системы
- 🔄 Сброс кэша DNSCrypt-proxy
- ♻️ Перезагрузка резолвера systemd-resolved
- 📝 Очистка временных файлов и логов
8️⃣ Восстановить из резервной копии
- 📁 Список доступных бэкапов с метаданными
- ⏪ Восстановление конфигураций с проверкой
- 🔄 Откат к работающему состоянию
- ✅ Валидация восстановленных настроек
9️⃣ Полное удаление DNSCrypt
- 🗑️ Полное удаление DNSCrypt-proxy и конфигураций
- 🔄 Восстановление стандартных настроек DNS
- 🧹 Очистка системы от всех следов установки
- 📋 Детальный отчет об удаленных компонентах
Как это работает:
- Определение геолокации - система автоматически определяет ваше местоположение
- Поиск релеев - умный алгоритм находит оптимальные релеи в вашем регионе и близлежащих странах
- Тестирование скорости - каждый релей проверяется на скорость отклика
- Автоматическая конфигурация - создается оптимальная конфигурация согласно документации DNSCrypt
**Пример работы:**🌍 Геолокация сервера: IP адрес: 46.173.17.70 Страна: Russia (RU) Регион: St.-Petersburg Город: St Petersburg
📡 Найдено релеев для анонимизации: 10 ⚡ anon-cs-dus (47ms) ⚡ anon-cs-de (50ms) ⚡ anon-cs-berlin (51ms)
✅ Применена конфигурация: Серверы: Wildcard (*) - автоматический выбор Релеи: топ-3 самых быстрых из региона
- Просмотр по регионам - структурированный список серверов и релеев по странам и городам
- Поиск по критериям - найти серверы по названию страны, города или имени сервера
- Статистика - общая информация о количестве доступных серверов и релеев
- Обновление списков - загрузка свежих данных из интернета
!!! Архитектура проекта Installer_dnscypt может постоянно меняться....
├── 📜 main.sh # Главный скрипт управления
├── ⚡ quick_install.sh # Скрипт быстрой установки
├── 📂 modules/ # Функциональные модули
│ ├── 🔧 install_dnscrypt.sh # Установщик DNSCrypt-proxy
│ ├── ✅ verify_installation.sh # Проверка корректности установки
│ ├── 📊 check_dns.sh # Диагностика текущего DNS
│ ├── 🔄 change_dns.sh # Управление DNS-серверами
│ ├── 🩺 fix_dns.sh # Исправление проблем DNS
│ ├── 🎭 manage_anonymized_dns.sh # Управление анонимным DNS
│ ├── 🗑️ clear_cache.sh # Очистка кэшей
│ ├── 💾 backup.sh # Создание резервных копий
│ ├── ⏪ restore.sh # Восстановление из бэкапов
│ └── 🧹 autoremove.sh # Полное удаление системы
├── 📚 lib/ # Библиотеки функций
│ ├── 🔧 common.sh # Общие функции и утилиты
│ ├── 🎭 anonymized_dns.sh # Функции анонимного DNS
│ ├── 🩺 diagnostic.sh # Диагностические инструменты
│ ├── 📋 DNSCrypt_servers.txt # База данных серверов
│ ├── 🔗 DNSCrypt_relay.txt # База данных релеев
│ └── ⚙️ dnscrypt-proxy.toml # Шаблон конфигурации
├── 📂 configs/ # Конфигурационные файлы
│ ├── 📖 DNSCrypt.doc.txt # Документация по настройке
│ └── 🌐 api.geo.txt # API для геолокации
└── 📖 README.md # Документация проекта
- Модульность: Каждая функция выделена в отдельный модуль
- Расширяемость: Легкое добавление новых возможностей
- Надежность: Обширная обработка ошибок и валидация
- Удобство: Интуитивный интерфейс с подробными подсказками
- Соответствие стандартам: Полное следование документации DNSCrypt
🔄 Проблемы при установке
При первой установке может потребоваться перезагрузкаsudo rebootПричина: Изменения в сетевых настройках требуют перезагрузки для полного применения.
sudo dnscrypt_manager
- Проблема: Не удается определить местоположение
- Решение: Проверьте подключение к интернету, используйте VPN если необходимо
- Альтернатива: Выберите релеи вручную в пункте "Настроить маршруты для анонимизации"
⚙️ Конфликты служб
Скрипт автоматически обнаруживает и решает конфликты, но при необходимости:sudo systemctl disable systemd-resolved sudo systemctl stop systemd-resolved
sudo dnscrypt_manager
sudo lsof -i :53 sudo netstat -tulpn | grep :53
🎭 Проблемы с анонимным DNS
- Причина: Роутер не поддерживает фрагментированные UDP пакеты
- Решение: Включите опцию
skip_incompatible = trueв настройках - Автоматически: Новая версия автоматически включает эту опцию
sudo dnscrypt_manager
- Важно: Серверы и релеи должны управляться разными организациями
- Проверка: Используйте пункт "Просмотр серверов и релеев" для анализа
- Автоматически: Новый алгоритм автоматически выбирает релеи из разных стран
sudo dnscrypt_manager
Включите подробное логирование:# В дополнительных настройках установите log_level = 3-5
journalctl -u dnscrypt-proxy -f
⚡ Проблемы производительности
-
Автоматическая оптимизация:# Пункт 6 → Пункт 8: "Автоматическая настройка по региону"
-
Ручная оптимизация:
- Используйте пункт "Тестировать время отклика серверов"
- Выбирайте географически близкие релеи
- Избегайте длинных маршрутов через множество стран
-
Стратегии оптимизации:
- Для скорости: Используйте релеи из соседних стран
- Для приватности: Используйте релеи из разных континентов
- Балансированный подход: Автоматическая настройка по региону
sudo dnscrypt_manager
- API геолокации: Используется ip-api.com для определения местоположения
- Резервные варианты: Несколько источников IP-адреса (ipify.org, ifconfig.me, ipecho.net)
- Кэширование: Геолокация кэшируется на время сессии
- Тестирование пинга: Каждый релей проверяется на время отклика
- Интеллектуальная сортировка: Релеи сортируются по скорости
- Региональная логика: Приоритет релеям из близких стран
- Проверка целостности: Валидация конфигурационных файлов
- Резервное копирование: Автоматическое создание бэкапов перед изменениями
- Соответствие стандартам: Полное следование документации DNSCrypt
- Fork репозитория
- Создайте feature branch:
git checkout -b feature/amazing-feature - Commit изменения:
git commit -m 'Add amazing feature' - Push в branch:
git push origin feature/amazing-feature - Откройте Pull Request
- Следуйте стилю кодирования проекта
- Добавляйте комментарии для сложной логики
- Тестируйте на различных дистрибутивах
- Обновляйте документацию при необходимости
- Следуйте принципам модульной архитектуры
Используйте Issues на GitHub с детальным описанием:
- Версия ОС и дистрибутива
- Версия DNSCrypt Manager
- Шаги для воспроизведения
- Логи ошибок
- Информация о геолокации (при проблемах с региональной настройкой)
Если этот проект оказался полезным, вы можете поддержать его развитие:
TON Space
UQBh0Cgy5um8oChpXBl8O0NbTwyj1tVXH6RO07c9b3rCD4kf
CloudTips
https://pay.cloudtips.ru/p/244b03de
- ⭐ Поставьте звезду проекту на GitHub
- 🐛 Сообщайте об ошибках через Issues
- 📖 Улучшайте документацию
- 🔄 Делитесь проектом с друзьями
- 🤝 Участвуйте в разработке
Любая поддержка помогает развитию проекта и мотивирует на создание новых функций!
- DNSCrypt-proxy документация
- Anonymized DNSCrypt
- Oblivious DoH
- DNS Security Extensions (DNSSEC)
- IP Geolocation API - используется для определения местоположения
Этот проект распространяется под лицензией MIT. Подробности в файле LICENSE.
gopnikgame
- GitHub: @gopnikgame
- Проект: Installer_dnscypt
Особая благодарность:
- DNSCrypt-proxy команде за отличное программное обеспечение
- Сообществу Linux за поддержку и отзывы
- Всем контрибьюторам проекта
- Пользователям, которые тестируют и сообщают об ошибках
⭐ Поставьте звезду, если проект оказался полезным!
Сделано с ❤️ для сообщества Linux
