Desktop 1.3 and Android 1.3.4 clean-IP scanner, proxy checker, ASN target expander, and WhiteDNS toolkit.
| Release | Platform | What You Get | Best For |
|---|---|---|---|
| WhiteDNS Desktop 1.3 | Windows, Linux, macOS, Termux | Terminal UI, proxy tools, scanner engine, config workflows, cross-platform binaries | Power users, desktop scanning, bulk workflows |
| WhiteDNS IP Scanner Android 1.3.4 | Android API 21+ | Native Android app, IP/CIDR scanner, SNI scanner, HTTP/SOCKS5 proxy scanner, ASN export, signed APK/AAB outputs | Phone-based scanning and portable clean-IP discovery |
Download the latest files from the GitHub Releases page:
https://github.com/WhiteDNS/WhiteDNS-cleanip-finder/releases
WhiteDNS is a clean-IP discovery and proxy workflow toolkit. It expands IP ranges, scans ports, tests TLS/SNI behavior, verifies HTTP and SOCKS5 proxies, exports ASN targets, and saves results in a format that is easy to reuse in proxy and routing workflows.
- Native Go scanner engine with CIDR expansion, concurrency control, pause/resume, stop, progress, and result export.
- Desktop terminal UI for scanning, routing, DPI/desync-related workflows, config tools, and proxy operations.
- Android app with IP/CIDR scan, SNI scan, HTTP proxy scan, SOCKS5 scan, ASN export, foreground service scanning, and storage export.
- ASN-aware target handling using embedded datasets.
- Standalone desktop builds with embedded runtime assets.
- Android multi-ABI builds:
armeabi-v7a,arm64-v8a,x86,x86_64, universal APK, and release AAB.
Go to Releases and download the file for your operating system:
| OS | Asset |
|---|---|
| Windows | whitedns-windows-amd64.exe |
| Linux x64 | whitedns-linux-amd64 |
| Linux ARM64 | whitedns-linux-arm64 |
| macOS Intel | whitedns-macos-amd64 |
| macOS Apple Silicon | whitedns-macos-arm64 |
| Termux / Android ARM64 | whitedns-termux-arm64 |
Why can't I just double-click it on macOS/Linux? WhiteDNS is a terminal UI (TUI) application — it draws its interface inside a terminal, so it has no window to open on double-click. On Windows the
.exeautomatically launches a console, but on macOS and Linux a bare command-line binary won't auto-attach a terminal (and Linux file managers block running downloaded binaries for security). You must run it from a terminal as shown below.
Windows PowerShell:
.\whitedns-windows-amd64.exe -mode ui -host 0.0.0.0 -port 8080macOS (Intel: whitedns-macos-amd64 · Apple Silicon: whitedns-macos-arm64):
# cd into the folder where you downloaded the binary
cd ~/Downloads
# make it executable (only needed once)
chmod +x ./whitedns-macos-arm64
# clear Apple's Gatekeeper quarantine flag on the download (only needed once)
xattr -d com.apple.quarantine ./whitedns-macos-arm64
# run it
./whitedns-macos-arm64 -mode ui -host 0.0.0.0 -port 8080If you skip the xattr step, macOS shows "cannot be opened because the
developer cannot be verified." You can also right-click the file in Finder →
Open → Open to whitelist it once.
Apple Silicon (M1/M2/M3/M4): the released macOS binaries are ad-hoc code-signed, so they run without the
killederror. If you ever seezsh: killed(e.g. on a binary you built yourself), apply an ad-hoc signature once:codesign --force --sign - ./whitedns-macos-arm64
Linux (x64: whitedns-linux-amd64 · ARM64: whitedns-linux-arm64):
# cd into the folder where you downloaded the binary
cd ~/Downloads
# make it executable (only needed once)
chmod +x ./whitedns-linux-amd64
# run it
./whitedns-linux-amd64 -mode ui -host 0.0.0.0 -port 8080Proxy-only mode (macOS/Linux):
./whitedns-linux-amd64 -mode proxy -host 0.0.0.0 -port 8080Note: The leading
./is required — without it the shell only searches systemPATH, not the current folder, and you'll getcommand not found.
- Results and logs are written beside the executable in WhiteDNS output folders.
- ASN datasets and Cloudflare domain assets are embedded in the binary.
- Use the TUI for the full workflow experience.
- Use proxy mode when you only need the local proxy/tunnel behavior.
From Releases, download one of the Android artifacts:
| Artifact | Use Case |
|---|---|
WhiteDNS-IP-Scanner-universal-release.apk |
Recommended direct install for most users |
WhiteDNS-IP-Scanner-arm64-v8a-release.apk |
Most modern Android phones |
WhiteDNS-IP-Scanner-armeabi-v7a-release.apk |
Older 32-bit ARM devices |
WhiteDNS-IP-Scanner-x86-release.apk / x86_64 |
Emulator and x86 devices |
WhiteDNS-IP-Scanner-release.aab |
Play Store upload |
- Download the APK to your phone.
- Open it from your file manager.
- Allow installation from your browser/file manager if Android asks.
- Open WhiteDNS IP Scanner.
- Grant storage/folder access if you want the app to create and write to the public
WhiteDNS Scannerfolder.
- IP / CIDR Scan
- SNI Scanner
- HTTP Proxy Scan
- SOCKS5 Scan
- ASN Export
- Pause / Resume / Stop scanning
- Results, logs, and ASN exports saved under
WhiteDNS Scanner
When folder access is granted, WhiteDNS writes to a user-visible folder:
/sdcard/WhiteDNS Scanner/
Fallback/app-specific location:
/sdcard/Android/data/com.whitescan.app/files/WhiteDNS Scanner/
- Go 1.25+
- PowerShell on Windows, or bash on Linux/macOS
- For Windows desktop icon embedding:
go install github.com/tc-hib/go-winres@latest - For Android: JDK 17, Android SDK API 34, NDK r26, Gradle 8.7, gomobile
Build all desktop targets:
.\build_cross_platform.ps1 -CleanBuildThe Windows .exe build embeds the same WhiteDNS icon used by Android. The
script generates the Windows resource file automatically when go-winres is
available.
Run tests:
go test ./...Build the Go mobile AAR:
.\build-aar.ps1Build Android from the android folder:
cd android
gradle assembleRelease bundleReleaseFor complete Android build instructions, see:
android/README.md
| Path | Purpose |
|---|---|
cmd/whitedns |
Desktop application entrypoint |
internal/ui |
Terminal UI and workflow screens |
internal/scanner |
Scanner engine, probes, pause/resume, proxy scanning |
internal/asn |
ASN loading and lookup |
internal/bundledata |
Embedded datasets and runtime assets |
internal/proxy |
Proxy server components |
mobile |
Go mobile bridge used by Android |
android |
Native Android app |
- Create a branch.
- Run
go test ./.... - Build the affected target.
- Open a pull request with a clear summary and test notes.
Use WhiteDNS only on networks, hosts, and ranges you own or have permission to test. You are responsible for complying with local laws, provider rules, and network policies.
