Cross-platform username deep search engine — Detect registration status across 100+ mainstream social platforms in seconds, precisely locate target digital footprints.
- 100+ Mainstream Platforms Coverage — Spans global social media, professional communities, niche forums, and more (based on
data/社交网站及用户页面.json) - Dual Query Modes — Switch between Precision Matching (exact verification) and Fuzzy Matching (variant discovery)
- Dynamic Rule Database — Maigret-style
sites-db.jsonfor flexible validation rule expansion - SPA Page Detection — Smart identification of user states on single-page apps like Instagram, TikTok, Facebook
- Adjustable Concurrency — Configurable 1–20 concurrent requests, balancing speed and stability
- Dual Proxy Modes — Seamless switching between local proxy (HTTP CONNECT tunnel) and direct connection
- Smart Timeout Strategy — Dynamic timeout thresholds (8s–30s) based on site characteristics
- Batch Result Processing — DocumentFragment-optimized DOM updates to prevent interface lag
- OSINT Tech Aesthetic — Gradient colors, glassmorphism effects, radar scan animated icons
- Dark/Light Themes — One-click toggle with preferences auto-saved to localStorage
- Bilingual Interface — All labels, buttons, and descriptions feature Chinese-English dual display
- Real-time Progress Tracking — Visual progress bar + categorized stat cards (Found/Not Found/Manual Verify/Error)
- Smart Filtering System — Click stat cards to filter results by status instantly
- Username Permutation Generator — Permutator algorithm auto-generates variants (e.g.,
user_name,user-name) - Local Logging — Automatic date-based log archiving to
log/directory - Result Export — JSON/CSV format export for further analysis
- Test Mode — Check only the first 5 sites for quick functionality validation
- Node.js ≥ 14.0 (Latest LTS recommended)
- Operating System: Windows / macOS / Linux
- Browser: Modern browsers supporting ES6+ (Chrome, Firefox, Edge, etc.)
- Network: Proxy configuration recommended for accessing international social platforms
- Double-click
启动服务器.bat(Windows) - Browser automatically opens frontend at:
http://localhost:8888 - Enter target username, select query mode (Precise/Fuzzy)
- Click 「Start Search」 button to view real-time results
- Filter interesting results via top stat cards
- Press Y key to safely exit (auto-cleanup port bindings)
# Terminal 1: Start local proxy server (port 8899)
node js/proxy-server.js
# Terminal 2: Start static file server (port 8888)
node js/simple-server.jsThen visit in browser: http://localhost:8888
💡 Note: Default proxy is configured as
192.168.1.29:7897. To modify, editPROXY_HOSTandPROXY_PORTconstants injs/proxy-server.js.
| Status | Description | Typical Scenarios |
|---|---|---|
| ✅ Found | Username confirmed to exist on platform | Personal homepage or profile page detected |
| ❌ Not Found | Username not registered on platform | Returns 404 or explicit "user not found" message |
| Cannot auto-determine, requires human confirmation | SPA pages, login walls, anti-bot verification, insufficient content | |
| 🔴 Error | Request failed or network error | Timeout, connection refused, proxy failure (HTTP 502) |
The system employs multi-dimensional verification strategies:
- HTTP Status Codes: Quick pre-judgment via 404/403/429 status codes
- Keyword Matching: Feature word libraries from
sites-db.json(presence/absence strs) - Title Tag Analysis: Checks if page title contains username (for SPA sites like Instagram/Pinterest)
- Content Length Assessment: Compares page byte count against preset thresholds
- Anti-Bot Recognition: Auto-detects Cloudflare Challenge, JavaScript verification pages
username_searcher/
├── 📄 index.html # Main page (UI entry point)
├── 📄 showcase.html # Feature showcase demo page
├── 🚀 启动服务器.bat # One-click launch script (Windows)
│
├── 📁 js/ # JavaScript source code
│ ├── app.js # Frontend main logic (search engine, UI interaction)
│ ├── proxy-server.js # Local proxy server (HTTP CONNECT tunnel)
│ ├── simple-server.js # Static file server + logging API
│ └── shared-constants.js # Shared constants and utility functions
│
├── 📁 css/ # Stylesheets
│ └── styles.css # Global styles (dark/light theme variables)
│
├── 📁 data/ # Data files
│ ├── sites-db.json # Dynamic validation rule database (Maigret-style)
│ └── 社交网站及用户页面.json # Site list and URL templates (104 sites)
│
├── 📁 docs/ # Documentation
│ ├── README.md # English documentation (this file)
│ └── README.zh.md # Chinese documentation
│
└── 📁 log/ # Runtime logs (auto-generated by date)
└── log_YYYY-MM-DD.txt
Edit js/proxy-server.js:
const PROXY_HOST = '192.168.1.29'; // Upstream proxy address
const PROXY_PORT = 7897; // Upstream proxy port
const SERVER_PORT = 8899; // Local proxy service port
const MAX_CONCURRENT = 6; // Maximum concurrent requestsEdit js/simple-server.js:
const PORT = 8888; // Frontend access portModify the "Concurrency" input box directly in the frontend UI (1–20). Settings are auto-saved to localStorage.
Press Y key in the launcher window to:
- Automatically terminate background Node.js processes
- Clean up port 8888/8899 bindings
- Exit safely
⚠️ Note: Directly closing the window may leave port residues, which will be auto-cleaned on next startup.
A: The following scenarios trigger manual verification flags:
- SPA Single-Page Applications: Instagram, TikTok, etc., require JavaScript rendering; HTTP proxies cannot retrieve complete HTML
- Login Walls: Facebook, LinkedIn, etc., require login to view user profiles
- Anti-Bot Mechanisms: Cloudflare Challenge, CAPTCHA verification pages
- Insufficient Content: Page byte count below threshold, inadequate keyword matches
Solution: Click the "Manual Verify" link to open the target page directly in your browser for human confirmation.
A: Key optimization directions:
- Replace with high-performance proxy server (currently using home proxy
192.168.1.29:7897) - Enable "Popular Sites Only" filter to reduce detection count
- Adjust concurrency to 5–10 (ensure proxy server has sufficient performance)
- Use "Test Mode" for quick functionality validation
- Implement request caching mechanism (85-90% faster for repeated searches)
A: Edit data/社交网站及用户页面.json and add entries in the following format:
{
"domain": "example.com",
"url": "https://example.com/user/{username}",
"type": "Social Media",
"nsfw": "false",
"global_rank": 1000
}For custom validation rules, add corresponding domain rules in data/sites-db.json.
A: All runtime logs are automatically saved to the log/ directory, named by date (e.g., log_2026-06-17.txt). You can also click the "Export Logs" button in the frontend UI to download.
Planned optimization directions:
- 🔥 High Priority: Replace proxy server, smart timeout strategy, proxy health checks
- ⚡ Medium Priority: Request caching, batch DOM updates, virtual scrolling
- 🛠️ Low Priority: Resume from breakpoint, multi-proxy load balancing, rate limiting optimization
Expected optimization results:
- First search: Estimated 50-70% faster through proxy and timeout optimization
- Repeated searches: Estimated 85-90% faster after implementing caching
Issues and Pull Requests are welcome!
- Report Bugs: Describe issues in detail in Issues
- Feature Requests: Explain use cases and expected outcomes
- Code Contributions:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License.
Made with ❤️ by kalaspace