Skip to content

gopnikgame/Installer_dnscypt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐 DNSCrypt Installer and Manager

DNSCrypt

GitHub release License Platform Bash

Профессиональный автоматизированный инструмент для установки и управления 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

✨ Ключевые возможности

🛡️ Безопасность

  • Шифрование DNS-запросов через DNSCrypt-proxy 2.x
  • Анонимизация трафика через Anonymized DNSCrypt
  • Oblivious DoH (ODoH) для дополнительной приватности
  • Защита от DNS hijacking и MitM атак
  • Интеллектуальная геолокация для выбора серверов

🎯 Функциональность

  • Автоматическая установка и настройка
  • Интеллектуальная диагностика проблем
  • Гибкая настройка маршрутов анонимизации
  • Тестирование скорости серверов и релеев
  • Региональная оптимизация по геолокации

Удобство

  • Интуитивное меню с цветовой индикацией
  • Автоматическое обновление модулей
  • Резервное копирование конфигураций
  • Подробное логирование операций
  • Wildcard маршрутизация для максимальной гибкости

🔧 Управление

  • Модульная архитектура для расширяемости
  • Автоматическое исправление типичных ошибок
  • Полная очистка при удалении
  • Восстановление из бэкапов
  • Интерактивный просмотр серверов и релеев

💻 Совместимость

ОС Версия Статус Примечания
🐧 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 🆕

🔒 Anonymized DNSCrypt

  • 🎭 Скрытие IP-адреса через сеть релеев
  • 🛣️ Настройка маршрутов анонимизации
  • 🔀 Автоматический выбор оптимальных релеев
  • 🌐 Поддержка wildcard-маршрутов
  • 🌍 Региональная настройка на основе геолокации
  • 📊 Тестирование скорости серверов и релеев в реальном времени
  • 🗺️ Интеллектуальный выбор релеев из близких регионов

🆕 Новые возможности региональной настройки:

  • 🌍 Автоматическая геолокация - определение местоположения сервера
  • 🎯 Умный выбор релеев - автоматический поиск оптимальных релеев по региону
  • ⚡ Тестирование скорости - измерение пинга до каждого релея
  • 🔄 Три стратегии серверов:
    • Конкретный Quad9 сервер (рекомендуется)
    • Локальный сервер из вашей страны
    • Wildcard (*) - автоматический выбор лучших серверов

🕵️ Oblivious DoH (ODoH)

  • 🔐 Двойное шифрование DNS-запросов
  • 🔄 Разделение знаний между серверами
  • 🛡️ Защита метаданных запросов
  • Оптимизация производительности

🛠️ Дополнительные возможности

  • 📊 Интерактивный просмотр серверов и релеев по регионам
  • 🔍 Поиск серверов по стране, городу или имени
  • 📈 Статистика серверов с детальной информацией
  • 🔧 Продвинутые настройки безопасности
  • 📈 Мониторинг качества соединений
  • 🚨 Автоматическое исправление конфигурации

💡 Рекомендации по настройке:# Примеры конфигураций согласно документации DNSCrypt

Wildcard режим (рекомендуется для новичков)

[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
  • 🧹 Очистка системы от всех следов установки
  • 📋 Детальный отчет об удаленных компонентах

🆕 Новые функции анонимного DNS

🌍 Автоматическая региональная настройка

Как это работает:

  1. Определение геолокации - система автоматически определяет ваше местоположение
  2. Поиск релеев - умный алгоритм находит оптимальные релеи в вашем регионе и близлежащих странах
  3. Тестирование скорости - каждый релей проверяется на скорость отклика
  4. Автоматическая конфигурация - создается оптимальная конфигурация согласно документации 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/

!!! Архитектура проекта 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 если необходимо
  • Альтернатива: Выберите релеи вручную в пункте "Настроить маршруты для анонимизации"
⚙️ Конфликты служб

Конфликты с systemd-resolved

Скрипт автоматически обнаруживает и решает конфликты, но при необходимости:sudo systemctl disable systemd-resolved sudo systemctl stop systemd-resolved

Порт 53 занят другим процессом# Автоматическое исправление

sudo dnscrypt_manager

Выберите пункт 5: "Исправить DNS резолвинг"

Или ручная диагностика

sudo lsof -i :53 sudo netstat -tulpn | grep :53

🎭 Проблемы с анонимным DNS

Сообщения "incompatible with anonymization"

  • Причина: Роутер не поддерживает фрагментированные UDP пакеты
  • Решение: Включите опцию skip_incompatible = true в настройках
  • Автоматически: Новая версия автоматически включает эту опцию

Маршруты не работают# Используйте встроенное исправление

sudo dnscrypt_manager

Пункт 6 → Пункт 6: "Исправить конфигурацию анонимного DNS"

Ошибки с релеями

  • Важно: Серверы и релеи должны управляться разными организациями
  • Проверка: Используйте пункт "Просмотр серверов и релеев" для анализа
  • Автоматически: Новый алгоритм автоматически выбирает релеи из разных стран

Низкая скорость анонимного DNS# Автоматическая оптимизация

sudo dnscrypt_manager

Пункт 6 → Пункт 8: "Автоматическая настройка по региону"

Отладка проблем

Включите подробное логирование:# В дополнительных настройках установите log_level = 3-5

Затем проверьте логи

journalctl -u dnscrypt-proxy -f

⚡ Проблемы производительности

Медленная работа анонимного DNS

  1. Автоматическая оптимизация:# Пункт 6 → Пункт 8: "Автоматическая настройка по региону"

  2. Ручная оптимизация:

    • Используйте пункт "Тестировать время отклика серверов"
    • Выбирайте географически близкие релеи
    • Избегайте длинных маршрутов через множество стран
  3. Стратегии оптимизации:

    • Для скорости: Используйте релеи из соседних стран
    • Для приватности: Используйте релеи из разных континентов
    • Балансированный подход: Автоматическая настройка по региону

Высокое время отклика DNS# Смените на более быстрые серверы

sudo dnscrypt_manager

Пункт 4: "Изменить DNS сервер"


🔧 Продвинутые настройки

🌍 Настройка геолокации

  • API геолокации: Используется ip-api.com для определения местоположения
  • Резервные варианты: Несколько источников IP-адреса (ipify.org, ifconfig.me, ipecho.net)
  • Кэширование: Геолокация кэшируется на время сессии

Оптимизация производительности

  • Тестирование пинга: Каждый релей проверяется на время отклика
  • Интеллектуальная сортировка: Релеи сортируются по скорости
  • Региональная логика: Приоритет релеям из близких стран

🔒 Безопасность

  • Проверка целостности: Валидация конфигурационных файлов
  • Резервное копирование: Автоматическое создание бэкапов перед изменениями
  • Соответствие стандартам: Полное следование документации DNSCrypt

🛠️ Разработка и вклад

🤝 Как внести вклад

  1. Fork репозитория
  2. Создайте feature branch: git checkout -b feature/amazing-feature
  3. Commit изменения: git commit -m 'Add amazing feature'
  4. Push в branch: git push origin feature/amazing-feature
  5. Откройте Pull Request

📝 Руководство по разработке

  • Следуйте стилю кодирования проекта
  • Добавляйте комментарии для сложной логики
  • Тестируйте на различных дистрибутивах
  • Обновляйте документацию при необходимости
  • Следуйте принципам модульной архитектуры

🐛 Сообщение об ошибках

Используйте Issues на GitHub с детальным описанием:

  • Версия ОС и дистрибутива
  • Версия DNSCrypt Manager
  • Шаги для воспроизведения
  • Логи ошибок
  • Информация о геолокации (при проблемах с региональной настройкой)

💝 Поддержка проекта

Если этот проект оказался полезным, вы можете поддержать его развитие:

💎 Криптовалюта | Cryptocurrency

TON Space
UQBh0Cgy5um8oChpXBl8O0NbTwyj1tVXH6RO07c9b3rCD4kf

💳 Фиатные платежи | Fiat Payments

CloudTips
https://pay.cloudtips.ru/p/244b03de


🙏 Другие способы поддержки

  • Поставьте звезду проекту на GitHub
  • 🐛 Сообщайте об ошибках через Issues
  • 📖 Улучшайте документацию
  • 🔄 Делитесь проектом с друзьями
  • 🤝 Участвуйте в разработке

Любая поддержка помогает развитию проекта и мотивирует на создание новых функций!


📚 Дополнительные ресурсы


📄 Лицензия

Этот проект распространяется под лицензией MIT. Подробности в файле LICENSE.


👨‍💻 Автор

gopnikgame


🎯 Благодарности

Особая благодарность:

  • DNSCrypt-proxy команде за отличное программное обеспечение
  • Сообществу Linux за поддержку и отзывы
  • Всем контрибьюторам проекта
  • Пользователям, которые тестируют и сообщают об ошибках

⭐ Поставьте звезду, если проект оказался полезным!

Сделано с ❤️ для сообщества Linux

About

DNSCrypt Installer & Manager

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages