
Документы •
Английский | 中文
Smartdns-RS? является локальным DNS -сервером, которого C Smartdns, приспособленным для принятия запросов на запросы DNS от локальных клиентов, получает результаты запроса DNS с нескольких серверов DNS вверх по течению и возвращает самые быстрые результаты доступа к клиентам. Избегая загрязнения DNS и улучшения скорости доступа к сети, поддерживает высокопроизводительную фильтрацию AD.
Несколько серверов DNS вверх по течению
Поддерживает настройку нескольких DNS -серверов и запросов вверх по течению.
Вернуть самый быстрый IP -адрес
Поддерживает поиск наиболее быстрого IP -адреса доступа из списка IP -адресов доменного имени и возврата его клиенту, чтобы избежать загрязнения DNS и улучшить скорость доступа к сети.
Поддержка нескольких протоколов запросов
Поддерживает UDP, TCP, DOT, DOQ, DOH, DOH3 Запросы и обслуживание, а также портовые запросы не 53, эффективно избегая загрязнения DNS и защиты конфиденциальности, а также поддержку запросов DNS над SOCKS5, HTTP Proxy.
Спецификация IP -адреса домена
Поддерживает настройку IP -адреса конкретного домена для достижения эффекта рекламной фильтрации и избегания вредоносных веб -сайтов.
DNS -домен пересылка
Поддерживает перенаправление DNS, IPSet и NFTABLE. Поддержка настройки доменного результата для IPSet и NFTSET SET при сбое проверки скорости.
Многоплатформенная поддержка Windows / macOS / Linux
Поддерживает установку в качестве услуги и запуск ее при запуске.
Поддержка IPv4, IPv6 Dual Stack
Поддерживает IPv4, IPv6 Network, поддержку запроса A, запись AAAA, выбор IP-адреса с двойным стеком и записи IPv6 AAAA.
DNS64
Поддерживает перевод DNS64.
Высокая производительность, низкое потребление ресурсов
Многопользовательская асинхронная модель ввода/вывода на основе Tokio; Результаты запроса кэша; Поддерживает наиболее широко используемые доменные имени, истекшие предварительные предварительные, запрос «0» миллисекунды, без устранения влияния шифрования DOH и DOT.
Примечание: версия C SmartDNS очень функциональна, но потому что она поддерживает только Linux , в то время как macOS и Windows можно поддерживать только через Docker или WSL. Поэтому я хочу разработать ржавную версию SmartDNS, которая поддерживает компиляцию в среде Windows, MacOS, Linux и Android Termux для работы и совместимо с его конфигурацией.
Он все еще находится в стадии разработки, пожалуйста, не используйте его в производственной среде, добро пожаловать, чтобы попытаться предоставить обратную связь.
Пожалуйста, обратитесь к TODO для покрытия функции
Ночные сборки можно найти здесь.
MacOS
Если вы установили Brew, вы можете напрямую использовать следующую команду для установки.
brew update
brew install smartdns ПРИМЕЧАНИЕ. Слушание на порту 53 требует разрешения корня, поэтому требуется sudo .
Командовая sudo smartdns service start для brew Installed smartdns совпадает с sudo brew services start smartdns .
Если у вас нет brew , просто загрузите скомпилированный пакет сжатия программы и установите его, как показано ниже.
Windows / Linux
Перейдите сюда, чтобы загрузить пакет и распаковать его.
Получите помощь
./smartdns helpЗапустите как передний план, легко проверить статус бега
./smartdns run -c ./smartdns.conf -v-v включен печатать журналы отладки.Запустить в качестве фоновой службы, запустите автоматически при запуске
Получите помощь команд управления услугами.
./smartdns service helpПРИМЕЧАНИЕ. Установлено в качестве системной службы, требуются разрешения администратора / корня.
Управление услугами совместимо со всеми системами, вызовите SC в Windows; вызовать launchctl или brew на macOS; вызовать Systemd или OpenRc на Linux.
Ниже приведен самый простой пример конфигурации
# Listen on local port 53
bind 127.0.0.1:53
# Configure bootstrap-dns, if not configured, call the system_conf,
# it is recommended to configure, so that it will be encrypted.
server https://1.1.1.1/dns-query -bootstrap-dns -exclude-default-group
server https://8.8.8.8/dns-query -bootstrap-dns -exclude-default-group
# Configure default upstream server
server https://cloudflare-dns.com/dns-query
server https://dns.quad9.net/dns-query
server https://dns.google/dns-query
# Configure the Office(Home) upstream server
server 192.168.1.1 -exclude-default-group -group office
# Domain names ending with ofc are forwarded to the office group for resolution
nameserver /ofc/office
# Set static IP for domain name
address /test.example.com/1.2.3.5
# Block Domains (Ad Blocking)
address /ads.example.com/#
# The following features are not yet supported in the [C SmartDNS](https://github.com/pymumu/smartdns) and are only applicable to SmartDNS-rs.
# Configure DoH3
server-h3 1.1.1.1
# Configure DoQ
server-quic unfiltered.adguard-dns.com
Для получения более продвинутых конфигураций, пожалуйста, обратитесь к здесь и обратитесь к TODO для покрытия функции.
Предполагая, что вы установили ржавчину, вы можете открыть терминал и выполнить эти команды:
git clone https://github.com/mokeyish/smartdns-rs.git
cd smartdns-rs
# install https://github.com/casey/just
cargo install just
# build
just build --release
# print help
./target/release/smartdns --help
# run
sudo ./target/release/smartdns run -c ./etc/smartdns/smartdns.confДля перекрестной компиляции рекомендуется использовать Cross (требуется Docker).
Это программное обеспечение было бы невозможно без:
Это программное обеспечение содержит коды от https://github.com/hickory-dns/hickory-dns, который лицензирован по любому из любого из
И другие коды лицензированы под
Если вы явно не заявляете иное, какой-либо вклад, преднамеренно предназначенный для включения в работу вами, как определено в лицензии GPL-3.0, должен быть лицензирован, как указано выше, без каких-либо дополнительных условий или условий.