An interactive terminal tool that discovers nearby IPv4 TLS endpoints, validates REALITY target requirements, and ranks the best IP + SNI combinations.
Caution
Only scan networks you own or are explicitly authorized to test.
Tip
Run this tool on the server where you plan to deploy Reality. Scan and validation results depend on the server's public egress IP, routing, and network conditions, so running it on the deployment server produces the most representative results.
- Bilingual interactive UI: Traditional Chinese and English numeric menus, with Enter accepting defaults
- Terminal output: colored status, spinner, progress bar, and result tables; automatically falls back to plain text when piped or redirected
- Public IP detection: automatically detects a public IPv4 address, or lets you choose a candidate or enter one manually
- Scan ranges: several finite CIDR ranges plus an advanced infinite-scan mode
- TCP 443: shows the effective CIDR, IP count, and estimated duration before scanning
- Full validation: TLS 1.3, X25519, HTTP/2, SNI, certificates, location, blocking, CDN, popular websites, and redirects
- Three verification rounds: candidates need at least two successful rounds before ranking
- 105-point score: TLS/HTTP latency is scored against the fastest qualified candidate, together with stability, CDN, popularity, domain level, and certificate validity
- No report files: results stay in the terminal; no history, JSON, or CSV files are created
This command finds the Linux amd64 asset from the latest GitHub Release, downloads it to /tmp, and runs it. Go is not required.
curl -fsSL https://api.github.com/repos/aaacyrus/Reality-ScannerNChecker/releases/latest |
grep -o 'https://[^" ]*reality-scanner-checker_[^" ]*_linux_amd64' | head -n 1 |
xargs -I{} sh -c 'curl -fL "{}" -o /tmp/reality-scanner-checker && chmod +x /tmp/reality-scanner-checker && /tmp/reality-scanner-checker </dev/tty'For other Linux, macOS, and Windows architectures, download the matching asset from Releases. On Linux/macOS, run chmod +x <filename> after downloading.
To inspect, modify, or run from source, install Go 1.26 or later:
git clone https://github.com/aaacyrus/Reality-ScannerNChecker.git
cd Reality-ScannerNChecker
go run .After launching, follow the on-screen prompts:
- Choose Traditional Chinese or English.
- Choose whether to update detector data.
- Confirm the detected public IPv4 address.
- Choose a scan range and speed profile.
- Review the CIDR, address count, and port, then start.
- Review the best IP, SNI, ranking, and rejection reasons.
- Enter
0during scanning or validation to stop, or pressCtrl+Cto exit. - Set
NO_COLOR=1to disable colors. - Stopping early discards the current run.
- Scanning, public-IP detection, and candidate validation use direct connections and ignore proxy environment variables.
- Country-data updates may use the system HTTP proxy; without the database, candidates are rejected as location unknown.
- CDN and popularity classification is offline: it uses only target DNS, exact candidate-IP responses, and the minimal snapshots embedded in the executable. No third-party detection or ranking API is queried during a scan.
- "Popular" means an exact hostname is probably present in the embedded CrUX global Top 100k snapshot. Snapshot misses become unknown after expiry, so stale data cannot grant no-CDN or not-popular points.
- Scanning is fixed to TCP
443.
- Scanning and validation logic is implemented in this project; country lookup optionally uses an external GeoIP database.
- Embedded CrUX and CDN data provenance, versions, and transformations, together with the CrUX data license, are listed in THIRD_PARTY_NOTICES.md.
This project is licensed under the Mozilla Public License 2.0 (MPL-2.0).
This tool is intended only for lawful technical research, network administration, and authorized testing.
互動式終端工具,用於掃描鄰近 IPv4 TLS 端點、檢測 REALITY 目標條件,並排列最佳 IP + SNI 組合。
Caution
只可掃描你擁有或已獲明確授權測試的網絡。
Tip
建議在需要部署 Reality 的伺服器上執行本工具。掃描與檢測結果會受伺服器的公網出口 IP、路由及網絡環境影響,因此在實際部署機上執行最能反映真實效果。
- 雙語互動介面:繁體中文及英文數字選單,按 Enter 採用預設值
- 終端顯示:彩色狀態、spinner、進度條及結果表;管道或重定向時自動改用純文字
- 公網 IP 偵測:自動偵測,亦可選擇候選地址或手動輸入
- 掃描範圍:多種有限 CIDR 範圍及進階無限掃描模式
- TCP 443:開始前顯示實際 CIDR、IP 數量及預估耗時
- 完整檢測:TLS 1.3、X25519、HTTP/2、SNI、憑證、地區、封鎖、CDN、熱門網站及重新導向
- 三輪驗證:至少成功 2 輪才會進入排名
- 105 分評分:TLS/HTTP 按合格列表中的最快延遲比例計分,並綜合穩定性、CDN、熱門度、域名層級及憑證有效期
- 不建立報告:結果只顯示在終端,不會建立歷史紀錄、JSON 或 CSV
以下指令會從最新 GitHub Release 自動找出 Linux amd64 執行檔、下載到 /tmp 並啟動;不需要安裝 Go。
curl -fsSL https://api.github.com/repos/aaacyrus/Reality-ScannerNChecker/releases/latest |
grep -o 'https://[^" ]*reality-scanner-checker_[^" ]*_linux_amd64' | head -n 1 |
xargs -I{} sh -c 'curl -fL "{}" -o /tmp/reality-scanner-checker && chmod +x /tmp/reality-scanner-checker && /tmp/reality-scanner-checker </dev/tty'其他 Linux、macOS 及 Windows 架構請前往 Releases 下載相符檔案。Linux/macOS 下載後請執行 chmod +x <檔名>。
如要查看、修改或直接從原始碼執行,請先安裝 Go 1.26 或以上版本:
git clone https://github.com/aaacyrus/Reality-ScannerNChecker.git
cd Reality-ScannerNChecker
go run .啟動後依畫面操作:
- 選擇繁體中文或英文。
- 選擇是否更新檢測資料。
- 確認自動偵測的公網 IPv4。
- 選擇掃描範圍及速度模式。
- 核對 CIDR、IP 數量及端口後開始。
- 查看最佳 IP、SNI、排名及淘汰原因。
- 掃描或檢測期間輸入
0並按 Enter 可停止;也可按Ctrl+C結束。 - 設定
NO_COLOR=1可停用顏色。 - 中途停止會放棄該次結果。
- 掃描、公網 IP 偵測及候選驗證均使用直連並忽略代理環境變數。
- 國別資料更新可使用系統 HTTP 代理;未取得資料時,工具會以「無法判斷地區」淘汰候選。
- CDN 與熱門度採離線判定:只使用目標 DNS、精確候選 IP 回應,以及執行檔內建的最小快照;掃描期間不查詢任何第三方檢測或排名 API。
- 「熱門」代表精確 hostname 很可能存在於內建 CrUX 全球 Top 100k 快照。快照過期後,未命中會退回「未知」,不會以過期資料取得無 CDN 或非熱門分數。
- 掃描固定使用 TCP
443。
- 掃描與檢測邏輯為本專案自行實作;國別判斷可選用外部 GeoIP 資料庫。
- 內建 CrUX 與 CDN 資料的來源、版本及轉換,以及 CrUX 資料授權,列於 THIRD_PARTY_NOTICES.md。
本專案採用 Mozilla Public License 2.0(MPL-2.0)。
本工具僅供合法的技術研究、網絡管理及已獲授權的測試用途。