
Docios •
Inglés | 中文
SmartDNS-RS? es un servidor DNS local imspired por C SmartDNS para aceptar solicitudes de consulta DNS de clientes locales, obtiene resultados de consulta DNS de múltiples servidores DNS ascendentes y devuelve los resultados de acceso más rápido a los clientes. Evitar la contaminación del DNS y mejorar la velocidad de acceso a la red, admite el filtrado de anuncios de alto rendimiento.
Múltiples servidores DNS aguas arriba
Admite la configuración de múltiples servidores DNS ascendentes y consulta al mismo tiempo. La consulta no se verá afectada, incluso si hay una excepción del servidor DNS.
Devolver la dirección IP más rápida
Admite encontrar la dirección IP de acceso más rápida desde la lista de direcciones IP del nombre de dominio y devolverla al cliente para evitar la contaminación del DNS y mejorar la velocidad de acceso a la red.
Soporte para múltiples protocolos de consulta
Admite UDP, TCP, DOT, DOQ, DOH, DOH3 consultas y servicio, y consultas de puertos no 53, evitando de manera efectiva la contaminación de DNS y proteger la privacidad, y apoyar la consulta DNS sobre los calcetines5, el proxy HTTP.
Especificación de dirección IP de dominio
Admite la configuración de la dirección IP del dominio específico para lograr el efecto del filtrado publicitario y evitar sitios web maliciosos.
Reenvío del dominio DNS
Admite el reenvío DNS, IPSet y NFTables. Soporte Configuración del resultado del dominio en IPSet y NFTSet establecido cuando la verificación de velocidad falla.
Soporte multiplataforma de Windows / MacOS / Linux
Admite la instalación como un servicio y ejecutarlo al inicio.
Soporte de IPv4, IPv6 Dual Stack
Admite IPv4, red IPv6, consulta de soporte A, registro AAAA, selección IP de doble pila y filtro IPv6 AAAA Record.
DNS64
Admite la traducción DNS64.
Alto rendimiento, bajo consumo de recursos
Modelo de E/S asincrónico multiproceso basado en Tokio; Resultados de la consulta de cachés; Admite el nombre de dominio más utilizado previamente expirado, consulta '0' milisegundos, sin eliminar el impacto del cifrado DOH y DOT.
Nota: La versión C de SmartDNS es muy funcional, pero debido a que solo admite Linux , mientras que MacOS y Windows solo pueden ser compatibles con Docker o WSL. Por lo tanto, quiero desarrollar una versión de óxido de SMARTDNS que admite compilar a Windows, MacOS, Linux y Android Termux Entorno para ejecutar, y es compatible con su configuración.
Todavía está en desarrollo, por favor no lo use en el entorno de producción, bienvenido para tratar de proporcionar comentarios.
Consulte a TODO para obtener la cobertura de funciones
Las construcciones nocturnas se pueden encontrar aquí.
Macosa
Si ha instalado Brew, puede usar directamente el siguiente comando para instalar.
brew update
brew install smartdns Nota: Escuchar en el puerto 53 requiere permiso de raíz, por lo que se requiere sudo .
El sudo smartdns service start for brew Installed smartdns es lo mismo que sudo brew services start smartdns .
Si no tiene instalado brew , simplemente descargue el paquete de compresión del programa compilado e instálelo a continuación.
Windows / Linux
Vaya aquí para descargar el paquete y descomprimirse.
Obtener ayuda
./smartdns helpEjecutar como primer plano, fácil de verificar el estado de ejecución
./smartdns run -c ./smartdns.conf -v-v está habilitado para imprimir registros de depuración.Ejecutar como servicio de fondo, ejecutar automáticamente al inicio
Obtenga ayuda de los comandos de gestión de servicios.
./smartdns service helpNota: Instalado como un servicio del sistema, se requieren permisos de administrador / raíz.
La administración de servicios es compatible con todos los sistemas, llame a SC en Windows; Llame launchctl o brew en MacOS; Llame Systemd o OpenRc en Linux.
La siguiente es la configuración de ejemplo más simple
# 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
Para obtener configuraciones más avanzadas, consulte aquí y consulte TODO para obtener la cobertura de funciones.
Suponiendo que haya instalado óxido, puede abrir el terminal y ejecutar estos comandos:
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.confPara la compilación cruzada, se recomienda usar Cross (requiere Docker).
Este software no hubiera sido posible sin:
Este software contiene códigos de https://github.com/hickory-dns/hickory-dns, que tiene licencia bajo cualquiera de
Y otros códigos tienen licencia bajo
A menos que declare explícitamente lo contrario, cualquier contribución presentada intencionalmente para su inclusión en el trabajo por usted, como se define en la licencia GPL-3.0, se debe licenciar como anteriormente, sin ningún término o condiciones adicionales.