
Documentos •
Inglês | 中文
Smartdns-rs? é um servidor DNS local impeado por C SmartDNS para aceitar solicitações de consulta DNS de clientes locais, obtém resultados de consultas DNS de vários servidores DNS upstream e retorna os resultados de acesso mais rápidos aos clientes. Evitando a poluição do DNS e melhorando a velocidade de acesso à rede, suporta filtragem de anúncios de alto desempenho.
Vários servidores DNS upstream
Suporta a configuração de vários servidores DNS e consulta upstream ao mesmo tempo. A consulta não será afetada, mesmo se houver uma exceção do servidor DNS.
Devolver o endereço IP mais rápido
Suporta encontrar o endereço IP de acesso mais rápido na lista de endereços IP do nome de domínio e devolvê -lo ao cliente para evitar a poluição do DNS e melhorar a velocidade de acesso à rede.
Suporte para vários protocolos de consulta
Suporta consultas e consultas TCP, DOT, DOQ, DOH, DOH3 e consultas de serviço e não-53, evitando efetivamente a poluição do DNS e protegem a privacidade e apoia o DNS sobre as meias5, o proxy HTTP.
Especificação de endereço IP de domínio
Suporta a configuração do endereço IP de domínio específico para alcançar o efeito da filtragem de publicidade e evitar sites maliciosos.
Encaminhamento de domínio DNS
Suporta o encaminhamento DNS, o IPSet e o NFTABLES. Configuração de suporte O resultado do domínio para IPSet e Nftset definido quando a verificação de velocidade falhar.
Suporte de várias plataformas Windows / MacOS / Linux
Suporta a instalação como um serviço e executando -o na inicialização.
Suporte IPv4, pilha dupla IPv6
Suporta IPv4, rede IPv6, consulta de suporte A, registro AAAA, seleção de IP de pilha dupla e filtro IPv6 AAAA Record.
DNS64
Suporta a tradução DNS64.
Alto desempenho e baixo consumo de recursos
Modelo de E/S assíncrono com base em Tokio; Resultados de consulta em cache; Suporta o nome de domínio mais usado pré-busca expirada, consulta '0' milissegundos, sem eliminar o impacto da criptografia do DOH e do DOT.
Nota: A versão C do SmartDNS é muito funcional, mas porque suporta apenas o Linux , enquanto o MacOS e o Windows só podem ser suportados pelo Docker ou WSL. Portanto, quero desenvolver uma versão de ferrugem do SmartDNS que suporta compilar no ambiente Windows, MacOS, Linux e Android Termux a ser executado e é compatível com sua configuração.
Ainda está em desenvolvimento, não o use no ambiente de produção, bem -vindo para tentar fornecer feedback.
Consulte TODO para obter a cobertura da função
Construções noturnas podem ser encontradas aqui.
Macos
Se você instalou o Brew, pode usar diretamente o seguinte comando para instalar.
brew update
brew install smartdns NOTA: Ouvir na porta 53 requer permissão de raiz, então sudo é necessário.
O sudo smartdns service start for brew instalado smartdns é o mesmo que sudo brew services start smartdns .
Se você não tiver instalado brew , basta fazer o download do pacote de compactação do programa compilado e instalá -lo como abaixo.
Windows / Linux
Vá aqui para baixar o pacote e descomprimi -lo.
Obtenha ajuda
./smartdns helpCorra como primeiro plano, fácil de verificar o status de corrida
./smartdns run -c ./smartdns.conf -v-v está ativado para imprimir logs de depuração.Execute como serviço em segundo plano, execute automaticamente na inicialização
Obtenha ajuda dos comandos de gerenciamento de serviços.
./smartdns service helpNota: Instalado como um serviço do sistema, são necessárias permissões de administrador / raiz.
O gerenciamento de serviços é compatível com todos os sistemas, ligue para SC no Windows; Ligue para launchctl ou brew no macOS; Ligue para Systemd ou OpenRc no Linux.
A seguir é o exemplo mais simples de configuração
# 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 configurações mais avançadas, consulte aqui e consulte o TODO para obter a cobertura da função.
Supondo que você tenha instalado ferrugem, você pode abrir o terminal e executar esses 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 compilação cruzada, é recomendável usar o cruzamento (requer o docker).
Este software não teria sido possível sem:
Este software contém códigos de https://github.com/hickory-dns/hickory-dns, que é licenciado em qualquer um dos
E outros códigos estão licenciados sob
A menos que você declare explicitamente o contrário, qualquer contribuição enviada intencionalmente para inclusão no trabalho por você, conforme definida na licença GPL-3.0, será licenciada como acima, sem termos ou condições adicionais.