
आधुनिक, उच्च-प्रदर्शन DNS स्कैनर जिसमें Textual के साथ निर्मित एक सुंदर Terminal User Interface (TUI) है। यह उपकरण लाखों IP पतों को स्कैन करके काम करने वाले DNS सर्वरों को ढूंढ सकता है, जिसमें वैकल्पिक Slipstream proxy परीक्षण और स्वचालित मल्टी-प्लेटफ़ॉर्म क्लाइंट डाउनलोड शामिल है।
स्कैनर अब एक साथ कई रेंजों में प्रत्येक IP रेंज के आरंभ और अंत से स्कैन करता है, जिसमें यादृच्छिक शफ़ल शामिल है — रेखीय स्कैनिंग की तुलना में तेज़ प्रदर्शन और कार्यशील DNS सर्वर खोजने की अधिक संभावना।
सभी DNS प्रकारों (A, AAAA, MX, TXT, NS) का स्वचालित रूप से प्रति सर्वर परीक्षण और स्कोरिंग — स्लिपनेट स्कैनर के समान स्कोरिंग सिस्टम।
पूर्णतः अनुकूलन योग्य स्कैनिंग पैरामीटर:
उन्नत नेटवर्क ट्यूनिंग के लिए एक निर्दिष्ट MTU मान के साथ स्कैन करें।
google.com को हल करके प्रत्येक DNS सर्वर का परीक्षण, तालिका में परिणाम दिखाया गयाtextual>=0.47.0 # TUI framework aiodns>=3.1.0 # Async DNS resolver httpx[socks]>=0.25.0 # HTTP client with SOCKS5 support for proxy testing loguru>=0.7.0 # Advanced logging
google-re2>=1.0 # Fast RE2 regex engine (falls back to stdlib re) orjson>=3.9.0 # Fast JSON serialization (falls back to stdlib json) pyperclip>=1.8.0 # Clipboard support (silently disabled when absent)
### वैकल्पिक
- **Slipstream Client** - प्रॉक्सी परीक्षण कार्यक्षमता के लिए (5 समवर्ती परीक्षण)
- **स्वचालित डाउनलोड**: एप्लिकेशन स्वचालित रूप से आपके प्लेटफ़ॉर्म का पता लगाता है और सही क्लाइंट डाउनलोड करता है
- **स्मार्ट डिटेक्शन**: मौजूदा इंस्टॉलेशन का पता लगाता है (पुराने फ़ाइल नामों सहित)
- **रिज़्यूम सपोर्ट**: आंशिक डाउनलोड सहेजे जाते हैं और पुनः प्रयास पर फिर से शुरू किए जा सकते हैं
- समर्थित प्लेटफ़ॉर्म:
- Linux (x86_64): `slipstream-client-linux-amd64`
- Linux (ARM64): `slipstream-client-linux-arm64`
- Windows (x86_64): `slipstream-client-windows-amd64.exe`
- macOS (ARM64): `slipstream-client-darwin-arm64`
- macOS (Intel): `slipstream-client-darwin-amd64`
- Android (ARM64): `slipstream-client-linux-arm64`
- मैन्युअल डाउनलोड यहां उपलब्ध: [slipstream-rust-plus-deploy releases](https://github.com/Fox-Fig/slipstream-rust-plus-deploy/releases/latest)
### 📦 बंडल किए गए Slipstream क्लाइंट
सभी प्लेटफ़ॉर्म के लिए `slipstream-client/` फ़ोल्डर में पहले से संकलित Slipstream क्लाइंट बाइनरी (तेज़ [Fox-Fig/slipstream-rust-plus-deploy](https://github.com/Fox-Fig/slipstream-rust-plus-deploy) से) शामिल हैं:
| प्लेटफ़ॉर्म | पथ | विवरण |
|----------|------|-------------|
| **Linux x86_64** | `slipstream-client/linux/slipstream-client-linux-amd64` | Linux x86_64 बाइनरी |
| **Linux ARM64** | `slipstream-client/linux/slipstream-client-linux-arm64` | Linux ARM64 बाइनरी (Raspberry Pi, ARM सर्वर) |
| **Android/Termux** | `slipstream-client/android/slipstream-client-linux-arm64` | Android ARM64 (Termux संगत) |
| **Windows** | `slipstream-client/windows/slipstream-client-windows-amd64.exe` | Windows x86_64 निष्पादन योग्य |
| **macOS ARM** | `slipstream-client/mac/slipstream-client-darwin-arm64` | macOS Apple Silicon (M1/M2/M3/M4) |
| **macOS Intel** | `slipstream-client/mac/slipstream-client-darwin-amd64` | macOS Intel x86_64 |
> **⚠️ Windows नोट:** Windows क्लाइंट को OpenSSL DLLs (`libcrypto-3-x64.dll` और `libssl-3-x64.dll`) की आवश्यकता होती है जो `slipstream-client/windows/` फ़ोल्डर में शामिल हैं। स्वचालित डाउनलोड का उपयोग करते समय, ये DLLs Windows निष्पादन योग्य के साथ स्वचालित रूप से डाउनलोड हो जाती हैं।
#### 📥 ऑल-इन-वन आर्काइव्स
सुविधा के लिए, सभी प्लेटफ़ॉर्म बाइनरी वाले संपीड़ित आर्काइव उपलब्ध हैं:
- **`slipstream-client/slipstream-client-all-platforms.tar.gz`** - सर्वोत्तम संपीड़न (अनुशंसित)
- **`slipstream-client/slipstream-client-all-platforms.zip`** - Windows-अनुकूल प्रारूप
इन आर्काइव में एक ही डाउनलोड में Linux, Windows और macOS क्लाइंट शामिल हैं।
### वैकल्पिक
- **SlipNet Client** — SlipNet (DNSTT / NoiseDNS) टनल परीक्षण के लिए
- **स्वचालित डाउनलोड**: एप्लिकेशन स्वचालित रूप से आपके प्लेटफ़ॉर्म का पता लगाता है और सही SlipNet क्लाइंट डाउनलोड करता है
- **स्मार्ट डिटेक्शन**: मौजूदा इंस्टॉलेशन का पता लगाता है
- **रिज़्यूम सपोर्ट**: आंशिक डाउनलोड सहेजे जाते हैं और पुनः प्रयास पर फिर से शुरू किए जा सकते हैं
- समर्थित प्लेटफ़ॉर्म:
- Linux (x86_64): `slipnet-linux-amd64`
- Linux (ARM64): `slipnet-linux-arm64`
- Windows (x86_64): `slipnet-windows-amd64.exe`
- macOS (ARM64): `slipnet-darwin-arm64`
- macOS (Intel): `slipnet-darwin-amd64`
- मैन्युअल डाउनलोड यहां उपलब्ध: [anonvector releases](https://github.com/anonvector/SlipNet/releases)
### 📦 बंडल किए गए SlipNet क्लाइंट
सभी प्लेटफ़ॉर्म के लिए `slipnet-client/` फ़ोल्डर में पहले से संकलित SlipNet क्लाइंट बाइनरी ([anonvector](https://github.com/anonvector/SlipNet/releases) द्वारा) शामिल हैं:
| प्लेटफ़ॉर्म | पथ | विवरण |
|----------|------|-------------|
| **Linux x86_64** | `slipnet-client/linux/slipnet-linux-amd64` | Linux x86_64 बाइनरी |
| **Linux ARM64** | `slipnet-client/linux/slipnet-linux-arm64` | Linux ARM64 बाइनरी (Raspberry Pi, ARM सर्वर) |
| **Windows** | `slipnet-client/windows/slipnet-windows-amd64.exe` | Windows x86_64 निष्पादन योग्य |
| **macOS ARM** | `slipnet-client/mac/slipnet-darwin-arm64` | macOS Apple Silicon (M1/M2/M3/M4) |
| **macOS Intel** | `slipnet-client/mac/slipnet-darwin-amd64` | macOS Intel x86_64 |
## 🚀 स्थापना
### विधि 1: PyPI से स्थापित करें (अनुशंसित)
PYDNS Scanner को स्थापित करने का सबसे आसान तरीका:
#### pip का उपयोग करके```bash
pip install pydns-scanner
pip install pydns-scanner[full]
#### uv का उपयोग (तेज़)```bash
uv pip install pydns-scanner # core
uv pip install pydns-scanner[full] # desktop extras
pkg update && pkg install python pip install pydns-scanner # core only — always works on Termux pydns-scanner
> **नोट:** Android/Termux पर वैकल्पिक C-extension पैकेज (`google-re2`, `orjson`, `pyperclip`) स्वचालित रूप से छोड़ दिए जाते हैं — स्कैनर बिना किसी मैन्युअल हस्तक्षेप के stdlib समकक्षों पर वापस आ जाता है।
#### मिरर का उपयोग (PyPI तक सीमित पहुंच वाले उपयोगकर्ताओं के लिए)```bash
# Runflare Mirror
pip install pydns-scanner -i https://mirror-pypi.runflare.com/simple/ --trusted-host mirror-pypi.runflare.com
# Or Alibaba Cloud Mirror
pip install pydns-scanner -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
# Or TUNA Mirror
pip install pydns-scanner -i https://pypi.tuna.tsinghua.edu.cn/simple
pydns-scanner
### विधि 2: स्रोत से चलाएं (मैन्युअल)
यदि आप कोड को सीधे रिपॉजिटरी से चलाना चाहते हैं:
#### चरण 1: रिपॉजिटरी को क्लोन करें```bash
git clone https://github.com/xullexer/PYDNS-Scanner.git
cd PYDNS-Scanner
uv का उपयोग करें (अनुशंसित - तेज़!)```bash uv pip install -r requirements.txt
**pip का उपयोग करना**```bash
pip install -r requirements.txt
मिरर का उपयोग करना (PyPI तक सीमित पहुंच वाले उपयोगकर्ताओं के लिए)```bash
pip install -r requirements.txt -i https://mirror-pypi.runflare.com/simple/ --trusted-host mirror-pypi.runflare.com
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
#### चरण 3: एप्लिकेशन चलाएं```bash
python -m python
PyPI से:```bash pydns-scanner
**स्रोत से:**```bash
python -m python
यह इंटरैक्टिव TUI लॉन्च करेगा जहाँ आप कॉन्फ़िगर कर सकते हैं:
एक टेक्स्ट फ़ाइल बनाएँ जिसमें प्रति पंक्ति एक CIDR रेंज हो:
192.168.1.0/24 10.0.0.0/8 172.16.0.0/12```
1.1.1.0/24 8.8.8.0/24 178.22.122.0/24 185.51.200.0/22
### उदाहरण कार्यप्रवाह
1. **एप्लिकेशन लॉन्च करें**: ```bash
python dnsscanner_tui.py
स्कैन पैरामीटर कॉन्फ़िगर करें:
google.com)स्कैनिंग शुरू करें:
परिणाम देखें:
परिणाम सहेजें:
results/TIMESTAMP.csv में सहेजे जाते हैंc दबाएँ या "💾 Save Results" पर क्लिक करेंसक्रिय स्कैन के दौरान:
इंटरफ़ेस को साफ रखने और अनावश्यक डिस्क लेखन से बचने के लिए लॉगिंग डिफ़ॉल्ट रूप से अक्षम है।
लॉगिंग सक्षम करने के लिए, dnsscanner_tui.py को संपादित करें:```python
logger.remove() # Remove default handler to disable logging
logger.add( "logs/dnsscanner_{time}.log", rotation="50 MB", compression="zip", level="DEBUG", )
जब सक्षम हो:
- लॉग `logs/dnsscanner_TIMESTAMP.log` में सेव होते हैं
- 50 MB पर स्वचालित रोटेशन
- स्वचालित रूप से संपीड़ित (zip)
- DEBUG स्तर के विवरण शामिल हैं
### समवर्ती सेटिंग्स
अपने सिस्टम और नेटवर्क के अनुसार समायोजित करें:
- **निम्न (50-100)**: रूढ़िवादी, धीमी प्रणालियों के लिए उपयुक्त
- **मध्यम (100-300)**: संतुलित प्रदर्शन
- **उच्च (300-500)**: तेज़ स्कैनिंग, अच्छे हार्डवेयर की आवश्यकता
- **बहुत उच्च (500+)**: अधिकतम गति, संसाधन सीमाओं से टकरा सकता है
### स्लिपस्ट्रीम परीक्षण
स्कैनर स्वचालित डाउनलोड के साथ समानांतर स्लिपस्ट्रीम प्रॉक्सी परीक्षण का समर्थन करता है:```python
# In __init__ method
self.slipstream_max_concurrent = 5 # Max parallel proxy tests
self.slipstream_base_port = 10800 # Base port (uses 10800, 10801, 10802)
ऑटो-डाउनलोड विशेषताएँ:
.partial फ़ाइलें रखता है)slipstream-client.exe)DNS क्वेरीज़ 2 सेकंड के बाद टाइमआउट हो जाती हैं:```python
resolver = aiodns.DNSResolver(nameservers=[ip], timeout=2.0, tries=1)
## 📊 आउटपुट प्रारूप
परिणाम **CSV प्रारूप** में सहेजे जाते हैं (`results/TIMESTAMP.csv`)। स्तंभ उसके अनुसार अनुकूलित होते हैं कि कौन से परीक्षण सक्षम हैं:```csv
DNS,Ping (ms),IPv4/IPv6,TCP/UDP,Security,EDNS0,Resolved IP,ISP
8.8.8.8,12,IPv4/IPv6,TCP+UDP,DNSSEC,Yes,142.250.185.46,AS15169 Google LLC
1.1.1.1,15,IPv4/IPv6,TCP+UDP,DNSSEC,Yes,142.250.185.46,AS13335 Cloudflare Inc
वैकल्पिक कॉलम (Proxy Test, Security, EDNS0) केवल तब शामिल किए जाते हैं जब सेटिंग्स में संबंधित परीक्षण सक्षम हो।
स्कैनर किसी सर्वर को "कार्यशील DNS" मानता है यदि:
यह दृष्टिकोण उन उपकरणों की तुलना में अधिक कार्यशील DNS सर्वरों को पकड़ता है जो केवल सफल प्रतिक्रियाएँ स्वीकार करते हैं।
जब सक्षम हो, क्वेरीज़ यादृच्छिक उपसर्गों का उपयोग करती हैं:``` original: google.com random: a1b2c3d4.google.com
**उपयोग का मामला**: कैश्ड DNS प्रतिक्रियाओं को बायपास करें
**आवश्यकता**: लक्ष्य डोमेन में वाइल्डकार्ड DNS होना चाहिए (`*.example.com`)
## 📂 प्रोजेक्ट संरचना```
PYDNS-Scanner/
├── README.md # English documentation
├── README-FA.md # Farsi documentation
├── README-ZH.md # Chinese documentation
├── RELEASE_NOTES.md # Release notes (EN / FA / ZH)
├── pyproject.toml # Python package configuration
├── requirements.txt # Python dependencies
├── pydns-scanner.spec # PyInstaller build spec
├── python/
│ ├── __init__.py # Package init
│ ├── __main__.py # Entry point (pydns-scanner CLI)
│ ├── dnsscanner_tui.py # Main TUI application
│ ├── iran-ipv4.cidrs # Sample Iranian CIDR file
│ ├── requirements.txt # Python dependencies (source)
│ ├── scanner/ # Modular scanner package
│ │ ├── __init__.py
│ │ ├── config_mixin.py # Configuration mixin for TUI
│ │ ├── constants.py # Shared constants
│ │ ├── extra_tests.py # Security & EDNS0 tests
│ │ ├── ip_streaming.py # Streaming IP generation from CIDR
│ │ ├── isp_cache.py # ISP detection & caching
│ │ ├── proxy_testing.py # Slipstream proxy testing
│ │ ├── results.py # Result formatting & CSV export
│ │ ├── slipnet.py # SlipNet (DNSTT/NoiseDNS) testing
│ │ ├── slipstream.py # Slipstream client management
│ │ ├── utils.py # Utility functions
│ │ ├── widgets.py # Custom TUI widgets
│ │ └── worker_pool.py # Async worker pool
│ ├── slipstream-client/ # Bundled Slipstream binaries
│ │ ├── linux/
│ │ ├── windows/
│ │ ├── mac/
│ │ └── android/
│ └── slipnet-client/ # Bundled SlipNet binaries
│ ├── linux/
│ ├── windows/
│ └── mac/
├── results/ # Scan results (auto-generated)
├── logs/ # Application logs (when enabled)
└── static/ # Static assets
pip install textual
### "फ़ाइल नहीं मिली" त्रुटि
- CIDR फ़ाइल पथ सही है सुनिश्चित करें
- स्क्रिप्ट स्थान से निरपेक्ष पथ या सापेक्ष पथ का उपयोग करें
- अंतर्निहित फ़ाइल ब्राउज़र (📂 Browse बटन) का उपयोग करें
### धीमी स्कैनिंग
- समवर्ती मान कम करें
- नेटवर्क बैंडविड्थ जाँचें
- DNS टाइमआउट सेटिंग्स सत्यापित करें
### उच्च मेमोरी उपयोग
- स्कैनर मेमोरी को कम करने के लिए स्ट्रीमिंग का उपयोग करता है
- यदि समस्याएँ बनी रहती हैं, तो `_stream_ips_from_file` में चंक आकार कम करें
### Slipstream डाउनलोड विफल
- **नेटवर्क समस्याएँ**: ऐप स्वचालित रूप से एक्सपोनेंशियल बैकऑफ़ के साथ 5 बार तक पुनः प्रयास करता है
- **पुनरारंभ**: आंशिक डाउनलोड `.partial` फ़ाइलों के रूप में सहेजे जाते हैं - पुनरारंभ करने के लिए फिर से चलाएँ
- **मैन्युअल डाउनलोड**: [slipstream-rust-plus-deploy releases](https://github.com/Fox-Fig/slipstream-rust-plus-deploy/releases/latest) से डाउनलोड करें
- **लॉग जाँचें**: विस्तृत त्रुटि जानकारी के लिए लॉगिंग सक्षम करें (Configuration अनुभाग देखें)
- **फ़ायरवॉल**: सुनिश्चित करें कि GitHub तक पहुँच की अनुमति है
### Slipstream का पता नहीं चला
- प्लेटफ़ॉर्म-विशिष्ट निर्देशिका मौजूद है जाँचें (`slipstream-client/windows/`, आदि)
- फ़ाइल नाम मेल खाता है सत्यापित करें (नए और पुराने दोनों नामों का समर्थन करता है)
- पुराने इंस्टॉल के लिए: `slipstream-client.exe` का उपयोग करें (स्वतः पता लगाया गया)
- जाँच प्रक्रिया देखने के लिए लॉगिंग सक्षम करें
### Slipstream परीक्षण विफल
- सत्यापित करें कि निष्पादन योग्य में सही अनुमतियाँ हैं (Linux/macOS: `chmod +x`)
- जाँचें कि पोर्ट 10800-10802 उपलब्ध हैं
- (यदि सक्षम हो) `logs/` निर्देशिका में लॉग की समीक्षा करें
- DNS सर्वरों से कनेक्टिविटी मैन्युअल रूप से परीक्षण करें
## 📝 लॉगिंग
**डिफ़ॉल्ट: अक्षम** - आपके सिस्टम को साफ रखने के लिए कोई लॉग नहीं बनाए जाते हैं।
**लॉगिंग सक्षम करने के लिए:**
1. `python/dnsscanner_tui.py` संपादित करें
2. `logger.add()` अनुभाग को अनकमेंट करें
3. लॉग `logs/dnsscanner_TIMESTAMP.log` में सहेजे जाते हैं
**लॉग स्तर:**
- **DEBUG**: विस्तृत DNS क्वेरी परिणाम, डाउनलोड प्रगति
- **INFO**: स्कैन प्रगति और आँकड़े
- **WARNING**: गैर-गंभीर समस्याएँ, पुनः प्रयास प्रयास
- **ERROR**: गंभीर विफलताएँ, डाउनलोड त्रुटियाँ
## 🌍 CIDR सूचियाँ ढूँढना
### देश IP रेंज
**IPv4**:
- https://www.ipdeny.com/ipblocks/data/aggregated/
**IPv6**:
- https://www.ipdeny.com/ipv6/ipaddresses/aggregated/
### उपयोग उदाहरण```bash
# Download Iran IPv4 ranges
wget https://www.ipdeny.com/ipblocks/data/aggregated/ir-aggregated.zone -O iran-ipv4.cidrs
# Use in scanner
python dnsscanner_tui.py
# Then select iran-ipv4.cidrs in the file browser
योगदान का स्वागत है! कृपया बेझिझक pull requests सबमिट करें या issues खोलें।
git clone https://github.com/xullexer/PYDNS-Scanner.git cd PYDNS-Scanner/python pip install -r requirements.txt python dnsscanner_tui.py
## 📄 लाइसेंस
यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है।
## 👨💻 लेखक
- GitHub: [@xullexer](https://github.com/xullexer)
## 🙏 आभार
- [Textual](https://github.com/Textualize/textual) द्वारा Textualize के साथ निर्मित
- DNS रिज़ॉल्यूशन [aiodns](https://github.com/saghul/aiodns) के माध्यम से
- कुशल DNS सर्वर खोज की आवश्यकता से प्रेरित
- **SlipNet CLI** विकसित करने के लिए [**anonvector**](https://github.com/anonvector) को धन्यवाद — इस प्रोजेक्ट में बंडल किए गए SlipNet क्लाइंट बाइनरी उनके कार्य से हैं
- Python कोडबेस अब **मॉड्यूलर** है और विकसित एवं बनाए रखने में आसान है
## 📈 प्रदर्शन नोट्स
विभिन्न सिस्टमों पर परीक्षण किया गया प्रदर्शन:
- **छोटी स्कैन** (1,000 IPs): ~10-30 सेकंड
- **मध्यम स्कैन** (50,000 IPs): ~5-10 मिनट
- **बड़ी स्कैन** (1M+ IPs): ~1-3 घंटे
*परिणाम नेटवर्क गति, समवर्ती सेटिंग्स और सिस्टम संसाधनों के आधार पर भिन्न होते हैं।*
## 🔐 सुरक्षा संबंधी विचार
- क्रिप्टोग्राफिक रूप से सुरक्षित रैंडम नंबर जनरेटर (`secrets.SystemRandom`) का उपयोग करता है
- कोई क्रेडेंशियल या संवेदनशील डेटा लॉग नहीं किया जाता
- DNS क्वेरी मानक UDP/TCP पोर्ट 53 हैं
- Slipstream प्रॉक्सी परीक्षण वैकल्पिक है और डिफ़ॉल्ट रूप से अक्षम है
## 💝 प्रोजेक्ट का समर्थन करें
यदि आपको यह प्रोजेक्ट उपयोगी लगता है, तो इसके विकास में सहायता करने पर विचार करें:
### क्रिप्टोकरेंसी दान
- **Bitcoin (BTC)**
`bc1qpya0kc2uh0mc08c7nuzrqkpsqjr36mrwscgpxr`
- **Solana (SOL)**
`J1XzZfizQ6mgYiyxpLGWU52kHBF1hm2Tb9AZ5FaRj8tH`
- **Ethereum (ETH)**
`0x26D9924B88e71b5908d957EA4c74C66989c253cb`
- **Binance Smart Chain (BNB/BSC)**
`0x26D9924B88e71b5908d957EA4c74C66989c253cb`
- **Tron (TRX)**
`TYBZFr8WUsjgfrXrqmrdF5EXPXo7QdimA8`
- **Ethereum Base**
`0x26D9924B88e71b5908d957EA4c74C66989c253cb`
- **TON (Telegram Open Network)**
`UQBcI_ZZGQq3fcNzTkL-zszgFR5HpRDLFHYRZffizriiScxJ`
---
**सुखद स्कैनिंग! 🚀**
| कुंजी | कब | कार्य |
|---|
s | कॉन्फ़िग स्क्रीन | स्कैन शुरू करें |
q | कभी भी | एप्लिकेशन से बाहर निकलें |
c | स्कैन करते समय | परिणाम सहेजें |
p | स्कैन करते समय | स्कैन रोकें |
r | रुका हुआ होने पर | स्कैन जारी रखें |
x | रुका हुआ होने पर | शेष IP को फेरबदल करें |