[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80832":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":14,"stars30d":14,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":16,"rankGlobal":10,"rankLanguage":10,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":15,"starSnapshotCount":15,"syncStatus":13,"lastSyncTime":25,"discoverSource":26},80832,"IP-Scanner","penhandev\u002FIP-Scanner","penhandev","ping ips \u002F CIDR","",null,"Python",38,2,1,0,1.43,"MIT License",false,"main",true,[],"2026-06-12 02:04:07","# Penhandev IP-Scanner\n\n> **Languages:** **English** · [فارسی](README.fa.md)\n\n[![Build and Release](https:\u002F\u002Fgithub.com\u002Fpenhandev\u002FIP-Scanner\u002Factions\u002Fworkflows\u002Frelease.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fpenhandev\u002FIP-Scanner\u002Factions\u002Fworkflows\u002Frelease.yml)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](LICENSE)\n[![Python 3.10+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10+-blue.svg)](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F)\n\nA fast, cross-platform CLI tool to check the reachability of **IPs, CIDR blocks, IP ranges, domains, and URLs**.\n\n## Features\n\n- **Five input formats** — single IPs, CIDR (`1.0.0.0\u002F24`), ranges (`1.0.0.1-1.0.0.50`), domains (`github.com`), full URLs (`https:\u002F\u002Fapi.github.com`)\n- **Three check methods**:\n  - `icmp` — classic ping (fast, default; also works on most non-rooted Android via unprivileged ICMP)\n  - `tcp` — TCP connect on any port you pick (`-p`, default `443`; try `80` for plain HTTP)\n  - `http` — HTTPS `HEAD` request (best for CDN-fronted hosts)\n- **Cross-platform** — Windows, Linux, macOS\n- **Latency measurement** for each alive host\n- **Concurrent scanning** (100 workers by default, configurable)\n- **Multiple output formats** — TXT, JSON, CSV\n- **Two modes** — interactive menu *or* non-interactive CLI flags\n- **Original input preserved** in output (your `github.com` stays `github.com`, not just the resolved IP)\n\n## Install\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fpenhandev\u002FIP-Scanner.git\ncd IP-Scanner\npip install -r requirements.txt\n```\n\nRequires **Python 3.10+**.\n\n## Usage\n\n### Easy way — just run it\n\n```bash\npython scanner.py\n```\n\nA menu pops up. Pick a file, pick a check method, press Enter. Done.\n\n### Power-user way — command-line flags\n\n```bash\npython scanner.py -f targets.txt -m tcp -p 80\n```\n\nThat line means: \"use the file `targets.txt`, check with TCP, knock on port 80.\"\n\n## All Options (Flags) — explained simply\n\nMix and match. You only need the ones you want.\n\n### 1. Where do the targets come from? (pick one)\n\n| Flag | Short | What it means |\n|---|---|---|\n| `--file FILE` | `-f` | \"Read targets from this text file.\" Example: `-f cloudflare.txt` |\n| `--target ...` | `-t` | \"Use these targets I'm typing right now.\" Example: `-t 1.1.1.1 github.com 8.8.8.8` |\n| `--input` | — | \"Let me type targets one per line, then press Enter on an empty line when done.\" |\n\nIf you don't pass any of these, you get the friendly menu.\n\n### 2. How should each target be checked?\n\n| Flag | Short | What it means |\n|---|---|---|\n| `-m icmp` | — | Send a regular **ping**. Fastest. Doesn't work on most Android phones without root. |\n| `-m tcp` | — | Try to **open a TCP connection** on a port. Works almost everywhere. |\n| `-m http` | — | Send a tiny **HTTPS HEAD request**. Best for websites behind a CDN. |\n\n### 3. Everything else\n\n| Flag | Short | What it means |\n|---|---|---|\n| `--port PORT` | `-p` | Only matters with `-m tcp`. Which port to knock on. Default is `443` (HTTPS). Try `80` for plain HTTP. Example: `-p 80` |\n| `--workers N` | `-w` | How many checks at the same time. Default `100`. Higher = faster but heavier. Example: `-w 200` |\n| `--output FORMATS` | `-o` | Which result files to save. Pick any of `txt`, `json`, `csv`. Default is `txt`. Example: `-o txt json csv` |\n| `--no-resolve` | — | \"Don't bother looking up domain names.\" Faster but no IPs in the report. |\n| `--verbose` | `-v` | Show extra info while running. Useful when something goes wrong. |\n| `--version` | — | Just print the version and quit. |\n| `--help` | `-h` | Show this whole list inside your terminal. |\n\n### Quick recipes\n\n```bash\n# 1. Simplest — ping every IP in a file\npython scanner.py -f targets.txt\n\n# 2. Android-friendly — TCP on port 80, save all formats\npython scanner.py -f cloudflare.txt -m tcp -p 80 -o txt json csv\n\n# 3. Quick one-off — check three things right now\npython scanner.py -t 1.1.1.1 8.8.8.8 github.com -m tcp\n\n# 4. Type targets by hand\npython scanner.py --input -m http\n\n# 5. Big scan, faster — 300 workers\npython scanner.py -f big_list.txt -w 300\n```\n\n### Input file format\n\n```text\n# Lines starting with '#' are ignored, blank lines too.\n\n# Single IPs\n8.8.8.8\n1.1.1.1\n\n# CIDR blocks\n192.168.1.0\u002F24\n\n# IPv4 ranges\n10.0.0.1-10.0.0.50\n\n# Domains\ngithub.com\nwww.cloudflare.com\n\n# URLs (any scheme \u002F path is fine)\nhttps:\u002F\u002Fapi.github.com\u002Fv3\nhttp:\u002F\u002Fexample.com\u002Fsomething\n```\n\n## Output\n\nFor input `targets.txt`, the tool writes:\n\n- `results_targets.txt` — alive targets, one per line (original input)\n- `results_targets.json` — full results with latency, errors, method\n- `results_targets.csv` — same data, spreadsheet-friendly\n\nOnly formats passed to `-o` are produced; the default is `txt` only.\n\n## Project layout\n\n```text\nIP-Scanner\u002F\n├── scanner.py              # entry point (menu + argparse)\n├── ipscanner\u002F\n│   ├── __init__.py\n│   ├── parser.py           # input parsing (CIDR \u002F range \u002F URL \u002F domain)\n│   ├── checker.py          # ICMP \u002F TCP \u002F HTTP probes\n│   ├── exporter.py         # TXT \u002F JSON \u002F CSV writers\n│   └── ui.py               # Rich helpers\n├── targets.txt             # sample input (also: akami.txt, amazon.txt, cloudflare.txt, fastly.txt)\n├── .github\u002Fworkflows\u002F      # automated build & release pipeline\n├── requirements.txt\n├── .gitignore\n└── LICENSE\n```\n\n## Roadmap\n\n- [ ] async backend (`asyncio` + `aiohttp`) for 10× speedup on large lists\n- [ ] reverse DNS lookup on alive IPs\n- [ ] GeoIP \u002F ASN tagging\n- [ ] resume-on-interrupt (partial result file)\n- [ ] config file (`.toml`) for default flags\n\n## Disclaimer\n\nThis tool performs **read-only connectivity checks**. Only scan hosts you own or are authorized to assess.\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","Penhandev IP-Scanner 是一个快速且跨平台的命令行工具，用于检测IP地址、CIDR块、IP范围、域名和URL的可达性。其核心功能包括支持五种输入格式（单个IP、CIDR、范围、域名和完整URL）以及三种检查方法（ICMP、TCP和HTTP）。该工具能够在Windows、Linux和macOS上运行，并提供并发扫描、延迟测量和多种输出格式（TXT、JSON、CSV）等功能。它适合需要批量检测网络资源可用性的场景，如网络管理、安全审计等。用户既可以通过交互式菜单轻松使用，也可以通过命令行参数进行更高级的操作。","2026-06-11 04:02:29","CREATED_QUERY"]