DNS Tester is a Flutter application designed to test DNS servers for optimal performance with DNSTT (DNS Tunnel) connections. It helps users find the fastest and most reliable DNS servers from a list of 7,800+ public DNS servers.
- ✅ Fast DNS Testing - Tests DNS servers using real UDP packets
- 🎲 Random Selection - Randomizes server selection for unbiased results
- 📊 IP Range Filter - Select specific IP ranges to test (2.x.x.x, 5.x.x.x, etc.)
- 📋 One-tap Copy - Copy DNS IP addresses with a single tap
- 🏆 Best DNS Highlight - Automatically shows the fastest server
- 🎨 Clean UI - Minimalist white & navy design
- 🌍 Persian Support - Full RTL and Farsi language support
- 📖 Built-in Guide - Step-by-step HTTP Injector setup instructions
- Flutter SDK 3.0+
- Android Studio / Xcode
# Clone the repository
git clone https://github.com/yourusername/dns_tester_app.git
cd dns_tester_app
# Install dependencies
flutter pub get
# Run on device/emulator
flutter run
# Build release APK
flutter build apk --releaseThe APK will be at: build/app/outputs/flutter-apk/app-release.apk
- Select Count - Enter how many servers to test (default: 50)
- Filter Ranges - Tap "انتخاب رنج" to select specific IP ranges
- Start Test - Tap "شروع تست" to begin
- View Results - Successful servers appear with green checkmarks
- Copy Best DNS - Tap the copy icon next to the best result
- Open HTTP Injector
- Go to Settings → DNS Settings
- Set Custom DNS 1 to the copied IP
- Set Custom DNS 2 to
8.8.8.8(backup) - Go back and tap Start
dns_tester_app/
├── lib/
│ └── main.dart # Main application code
├── assets/
│ └── dns_list.txt # 7,800+ DNS server list
├── fonts/
│ ├── Vazirmatn-Regular.ttf
│ ├── Vazirmatn-Medium.ttf
│ └── Vazirmatn-Bold.ttf
└── pubspec.yaml
The app sends a standard DNS query (A record for google.com) to each server and measures the response time:
// 1. Create UDP socket
socket = await RawDatagramSocket.bind(InternetAddress.anyIPv4, 0);
// 2. Build DNS query packet
final packet = _buildDnsQuery(transactionId, "google.com");
// 3. Send to DNS server on port 53
socket.send(packet, serverAddress, 53);
// 4. Measure time until response
latency = stopwatch.elapsedMilliseconds;Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
DNS Tester یک برنامه Flutter برای تست سرورهای DNS با هدف استفاده بهینه در تونلهای DNSTT است. این برنامه به شما کمک میکند تا سریعترین و قابل اعتمادترین سرور DNS را از بین بیش از ۷۸۰۰ سرور عمومی پیدا کنید.
- ✅ تست سریع DNS - تست سرورها با پکتهای UDP واقعی
- 🎲 انتخاب تصادفی - انتخاب رندوم سرورها برای نتایج بیطرف
- 📊 فیلتر رنج IP - انتخاب رنجهای خاص IP برای تست
- 📋 کپی با یک کلیک - کپی آدرس IP با یک لمس
- 🏆 نمایش بهترین - نمایش خودکار سریعترین سرور
- 🎨 طراحی ساده - طراحی مینیمال سفید و سرمهای
- 🌍 پشتیبانی فارسی - کاملا راستچین با زبان فارسی
- 📖 راهنمای داخلی - آموزش گامبهگام تنظیمات HTTP Injector
# کلون کردن مخزن
git clone https://github.com/yourusername/dns_tester_app.git
cd dns_tester_app
# نصب وابستگیها
flutter pub get
# اجرا روی دستگاه/شبیهساز
flutter run
# ساخت APK نهایی
flutter build apk --release- تعداد را وارد کنید - چند سرور تست شود (پیشفرض: ۵۰)
- رنج را انتخاب کنید - روی "انتخاب رنج" بزنید
- تست را شروع کنید - روی "شروع تست" بزنید
- نتایج را ببینید - سرورهای موفق با تیک سبز نمایش داده میشوند
- کپی کنید - روی آیکون کپی بزنید
- HTTP Injector را باز کنید
- به Settings → DNS Settings بروید
- Custom DNS 1 را به IP کپی شده تنظیم کنید
- Custom DNS 2 را به
8.8.8.8تنظیم کنید - برگردید و روی Start بزنید
همه تستها ناموفق هستند:
- اینترنت خود را بررسی کنید
- VPN را خاموش کنید
- تعداد کمتر (مثلا ۲۰) تست کنید
برنامه کند است:
- تعداد تست را کاهش دهید
- گوشی را ریستارت کنید
این پروژه تحت لایسنس MIT منتشر شده است.
Made with ❤️ using Flutter
⭐ اگر این پروژه مفید بود، لطفا استار بدهید!