mirror of
https://github.com/code3-dev/DNS-XS.git
synced 2026-04-26 21:15:48 +03:00
Test and compare the performance of various DNS servers
| .github/workflows | ||
| .idea | ||
| app | ||
| gradle | ||
| screenshots | ||
| .gitignore | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| README.md | ||
| settings.gradle.kts | ||
DNS XS
DNS XS is a modern Android application that allows you to test and compare the performance of various DNS servers. Find the fastest and most reliable DNS servers for your internet connection with ease.
🌟 Features
- Extensive DNS Database: Over 35+ popular DNS servers including Cloudflare, Google, OpenDNS, and more
- Performance Testing: Measure response times for each DNS server
- DNS over HTTPS (DoH): Support for secure DNS queries
- Real-time Sorting: Automatically sorts DNS servers by performance after testing
- Detailed Information: View comprehensive details for each DNS provider
- One-tap Copy: Easily copy DNS addresses to clipboard
- Modern UI: Clean and intuitive Material Design 3 interface
- Offline Support: Works without internet connection using cached data
🚀 Getting Started
Prerequisites
- Android 7.0 (API level 24) or higher
- Internet connection for initial data loading and testing
Installation
- Download the latest APK from Releases
- Enable "Install from unknown sources" in your device settings
- Install the APK file
- Launch the app and start testing DNS servers
🛠️ Technologies Used
- Kotlin: Primary programming language
- Jetpack Compose: Modern UI toolkit
- Material Design 3: Latest design system from Google
- MVVM Architecture: Clean separation of concerns
- Kotlin Coroutines: Asynchronous programming
- Kotlin Serialization: JSON parsing
- Android Architecture Components: ViewModel, LiveData
📊 How It Works
- Data Loading: The app loads DNS server information from a remote JSON file
- Performance Testing: Each DNS server is tested by establishing a connection to port 53
- Response Measurement: Response times are measured in milliseconds
- Automatic Sorting: Servers are automatically sorted by performance (fastest first)
- Result Display: Results are color-coded for easy interpretation
🎯 Performance Indicators
- 🟢 < 50ms: Excellent performance
- 🟡 50-80ms: Good performance
- ⚫ > 80ms: Acceptable performance
- 🔴 Failed: Connection could not be established
📸 Screenshots
🤝 Contributing
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/YourFeature - Commit your changes:
git commit -m "Add your feature" - Push to the branch:
git push origin feature/YourFeature - Open a pull request
Ways to Contribute
- Add new DNS servers to the database
- Improve UI/UX design
- Optimize performance testing algorithms
- Fix bugs and issues
- Translate the app to new languages
🐛 Reporting Issues
If you encounter any bugs or have feature requests, please open an issue on GitHub. Include as much detail as possible to help us understand and resolve the problem quickly.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Thanks to all the DNS providers that offer free public DNS services
- Inspired by various network diagnostic tools
- Built with ❤️ using Kotlin and Jetpack Compose
Made with ❤️ by Hossein Pira