Skip to content

Commit 8d97f7e

Browse files
committed
Document CIDR input support in README and guides
1 parent 6df9d0d commit 8d97f7e

3 files changed

Lines changed: 801 additions & 4 deletions

File tree

GUIDE.md

Lines changed: 62 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -580,7 +580,7 @@ findns chain -i doh-resolvers.txt -o results.json \
580580

581581
### ورودی (Input)
582582

583-
**حالت 1: فایل متنی ساده** (یک آی‌پی یا URL در هر خط)
583+
**حالت 1: فایل متنی ساده** (یک آی‌پی، رنج CIDR، یا URL در هر خط)
584584

585585
</div>
586586

@@ -589,10 +589,16 @@ findns chain -i doh-resolvers.txt -o results.json \
589589
1.1.1.1
590590
9.9.9.9
591591
# این یک کامنت است (نادیده گرفته می‌شود)
592+
593+
# رنج CIDR (به صورت خودکار باز می‌شود)
594+
185.51.200.0/24
595+
10.202.10.0/28
592596
```
593597

594598
<div dir="rtl">
595599

600+
**پشتیبانی از CIDR:** رنج‌هایی مثل `1.2.3.0/24` به صورت خودکار به آی‌پی‌های تکی تبدیل می‌شوند (آدرس شبکه و broadcast حذف می‌شوند). این قابلیت برای اسکن بلوک‌های آی‌پی منطقه‌ای (مثل فایل‌های `iran-ipv4.cidrs`) بسیار مفید است. اگر تعداد آی‌پی‌ها بیش از 100,000 باشد هشدار نمایش داده می‌شود.
601+
596602
برای DoH:
597603

598604
</div>
@@ -755,7 +761,60 @@ findns nxdomain -i resolved.json -o clean.json
755761

756762
هر مرحله فقط IPهای "passed" از مرحله قبل را تست می‌کند.
757763

758-
### سناریو 7: تست فقط resolverهای ایرانی
764+
### سناریو 7: اسکن با فایل CIDR (مثل iran-ipv4.cidrs)
765+
766+
اگر فایلی دارید که رنج آی‌پی‌ها را به صورت CIDR دارد (مثل `iran-ipv4.cidrs`)، findns مستقیم آن را می‌خواند — نیازی به تبدیل نیست.
767+
768+
**نمونه فایل CIDR:**
769+
770+
</div>
771+
772+
```
773+
# iran-ipv4.cidrs
774+
5.22.0.0/17
775+
5.34.192.0/20
776+
5.42.217.0/24
777+
5.52.0.0/16
778+
185.51.200.0/22
779+
```
780+
781+
<div dir="rtl">
782+
783+
**اسکن مستقیم:**
784+
785+
</div>
786+
787+
```bash
788+
findns scan -i iran-ipv4.cidrs -o results.json --domain t.mysite.com
789+
```
790+
791+
<div dir="rtl">
792+
793+
findns به صورت خودکار:
794+
1. هر رنج CIDR را به آی‌پی‌های تکی تبدیل می‌کند (مثلاً `/24` = 254 آی‌پی)
795+
2. آدرس شبکه و broadcast را حذف می‌کند
796+
3. تعداد رنج‌ها و آی‌پی‌های expand شده را نشان می‌دهد
797+
4. اگر بیش از 100,000 آی‌پی باشد هشدار می‌دهد
798+
799+
**ترکیب CIDR با آی‌پی‌های تکی:** می‌توانید در یک فایل هم رنج CIDR و هم آی‌پی تکی داشته باشید:
800+
801+
</div>
802+
803+
```
804+
# آی‌پی‌های تکی
805+
8.8.8.8
806+
1.1.1.1
807+
808+
# رنج‌های CIDR
809+
185.51.200.0/24
810+
10.202.10.0/28
811+
```
812+
813+
<div dir="rtl">
814+
815+
> **نکته:** فایل‌های `.cidrs` فرمت خاصی ندارند — همان فایل متنی ساده هستند. findns هر خطی که `/` داشته باشد را به عنوان CIDR تشخیص می‌دهد. خطوط خالی و خطوطی که با `#` شروع شوند نادیده گرفته می‌شوند.
816+
817+
### سناریو 8: تست فقط resolverهای ایرانی
759818

760819
</div>
761820

@@ -769,7 +828,7 @@ findns scan -i my-resolvers.txt -o results.json --domain t.mysite.com
769828

770829
<div dir="rtl">
771830

772-
### سناریو 8: تست با تعداد worker کمتر (سرور ضعیف)
831+
### سناریو 9: تست با تعداد worker کمتر (سرور ضعیف)
773832

774833
</div>
775834

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Supports both **UDP** and **DoH (DNS-over-HTTPS)** resolvers with end-to-end tun
2323
| 🌍 **Regional Resolver Lists** | Built-in support for regional intranet resolver lists (7,800+ IPs) |
2424
|**High Concurrency** | 50 parallel workers by default — scans thousands of resolvers in minutes |
2525
| 📋 **JSON Pipeline** | Output from one scan feeds into the next for multi-stage filtering |
26+
| 🌐 **CIDR Input** | Accept IP ranges like `185.51.200.0/24` — auto-expanded to individual hosts |
2627

2728
---
2829

@@ -420,20 +421,26 @@ Step format: `type:key=val,key=val`. Optional params: `count`, `timeout`.
420421

421422
### Input
422423

423-
Plain text file with one entry per line. Supports both IPs and DoH URLs:
424+
Plain text file with one entry per line. Supports IPs, CIDR ranges, and DoH URLs:
424425

425426
```text
426427
# UDP resolvers (one IP per line)
427428
8.8.8.8
428429
1.1.1.1
429430
9.9.9.9
430431
432+
# CIDR ranges (expanded automatically)
433+
185.51.200.0/24
434+
10.202.10.0/28
435+
431436
# DoH resolvers (full URLs)
432437
https://dns.google/dns-query
433438
https://cloudflare-dns.com/dns-query
434439
https://dns.quad9.net/dns-query
435440
```
436441

442+
**CIDR support:** Ranges like `1.2.3.0/24` are automatically expanded to individual host IPs (network and broadcast addresses are excluded). This is useful for scanning regional IP blocks (e.g. `iran-ipv4.cidrs` files). A warning is shown when expansion exceeds 100,000 IPs.
443+
437444
Can also accept JSON output from a previous scan (only `passed` entries are used by default).
438445

439446
### Output
@@ -576,6 +583,7 @@ MIT
576583
| 🌍 **resolverهای محلی** | لیست داخلی 7,800+ آی‌پی resolver منطقه‌ای |
577584
|**همزمانی بالا** | 50 worker موازی — هزاران resolver در چند دقیقه اسکن می‌شود |
578585
| 📋 **خروجی JSON** | خروجی هر اسکن ورودی اسکن بعدی می‌شود |
586+
| 🌐 **ورودی CIDR** | رنج آی‌پی مثل `185.51.200.0/24` را می‌خواند و به صورت خودکار باز می‌کند |
579587

580588
---
581589

0 commit comments

Comments
 (0)