
المستندات •
الإنجليزية | 中文
SmartDNS-RS؟ هو خادم DNS محلي IMSpireD بواسطة C SmartDNS لقبول طلبات استعلام DNS من العملاء المحليين ، ويحصل على نتائج استعلام DNS من خوادم DNS المتعددة ، ويعيد أسرع نتائج الوصول إلى العملاء. تجنب تلوث DNS وتحسين سرعة الوصول إلى الشبكة ، يدعم تصفية الإعلانات عالية الأداء.
خوادم DNS متعددة المنبع
يدعم تكوين خوادم DNS المتعددة في المنبع والاستعلام في نفس الوقت. لن يتأثر الاستعلام ، حتى لو كان هناك استثناء خادم DNS.
إرجاع أسرع عنوان IP
يدعم العثور على أسرع عنوان IP للوصول من قائمة عناوين IP لاسم المجال وإعادته إلى العميل لتجنب تلوث DNS وتحسين سرعة الوصول إلى الشبكة.
دعم بروتوكولات الاستعلام المتعددة
يدعم UDP ، TCP ، DOT ، DOQ ، DOH ، DOH3 استعلامات وخدمة ، واستفسارات المنافذ غير 53 ، وتجنب تلوث DNS بشكل فعال وحماية الخصوصية ، ودعم DNS الاستعلام على Socks5 ، وكيل HTTP.
مواصفات عنوان IP للمجال
يدعم تكوين عنوان IP لمجال معين لتحقيق تأثير تصفية الإعلانات ، وتجنب مواقع الويب الضارة.
إعادة توجيه المجال DNS
يدعم إعادة توجيه DNS ، IPSET و NFTABLES. دعم تعيين نتيجة المجال إلى IPSET ومجموعة NFTSET عند فشل فحص السرعة.
دعم Windows / MacOS / Linux متعدد المنصات
يدعم التثبيت كخدمة وتشغيلها عند بدء التشغيل.
دعم IPv4 و IPv6 Dual Stack
يدعم IPv4 ، شبكة IPv6 ، دعم الاستعلام A ، سجل AAAA ، اختيار IP المزدوج ، وتصفية سجل IPv6 AAAA.
DNS64
يدعم ترجمة DNS64.
أداء عالي ، انخفاض استهلاك الموارد
نموذج I/O غير المتزامن متعدد الخيوط المستند إلى Tokio ؛ ذاكرة التخزين المؤقت نتائج الاستعلام. يدعم اسم المجال الأكثر استخدامًا منتهية الصلاحية ، والاستعلام "0" مللي ثانية ، دون القضاء على تأثير تشفير DOH و DOT.
ملاحظة: يعد إصدار C من SmartDNS وظيفية للغاية ، ولكن لأنه يدعم Linux فقط ، في حين لا يمكن دعم MacOS و Windows إلا من خلال Docker أو WSL. لذلك ، أريد تطوير إصدار Rust من SmartDNs يدعم عملية التجميع إلى Windows و MacOs و Linux و Android Tertix Begity لتشغيلها ، وهي متوافقة مع تكوينها.
لا يزال قيد التطوير ، يرجى عدم استخدامه في بيئة الإنتاج ، مرحبًا بك لمحاولة تقديم ملاحظات.
يرجى الرجوع إلى TODO لتغطية الوظيفة
يمكن العثور على البناء الليلي هنا.
ماكوس
إذا قمت بتثبيت Brew ، فيمكنك استخدام الأمر التالي مباشرة للتثبيت.
brew update
brew install smartdns ملاحظة: يتطلب الاستماع على المنفذ 53 إذنًا للجذر ، لذلك يلزم sudo .
إن Command sudo smartdns service start for brew smartdns هو نفس sudo brew services start smartdns .
إذا لم تكن قد قمت بتثبيت brew ، فما عليك سوى تنزيل حزمة ضغط البرنامج المترجمة وتثبيتها على النحو التالي.
Windows / Linux
انتقل إلى هنا لتنزيل الحزمة وإلغاء ضغطها.
احصل على المساعدة
./smartdns helpقم بتشغيل مقدمة ، من السهل التحقق من حالة التشغيل
./smartdns run -c ./smartdns.conf -v-v ممكّن لطباعة سجلات التصحيح.قم بتشغيل خدمة خلفية ، قم بتشغيلها تلقائيًا عند بدء التشغيل
الحصول على مساعدة من أوامر إدارة الخدمة.
./smartdns service helpملاحظة: مثبت كخدمة نظام ، يلزم أذونات المسؤول / الجذر.
إدارة الخدمة متوافقة مع جميع الأنظمة ، اتصل على SC على Windows ؛ Call launchctl أو brew على MacOS ؛ Call 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من أجل التثبيت المتبادل ، يوصى باستخدام الصليب (يتطلب Docker).
هذا البرنامج لم يكن ممكنا بدون:
يحتوي هذا البرنامج على رموز من https://github.com/hickory-dns/hickory-dns ، وهو مرخص له تحت أي من
والرموز الأخرى مرخصة تحت
ما لم تقل بشكل صريح على خلاف ذلك ، يجب ترخيص أي مساهمة مقدمة عن عمد لإدراجها في العمل بواسطتك ، كما هو محدد في ترخيص GPL-3.0 ، على النحو الوارد أعلاه ، دون أي شروط أو شروط إضافية.