An advanced, feature-rich tool for discovering usernames across multiple social media platforms and data breach sources. This enhanced version includes significant improvements in functionality, performance, and usability.
- Parallel Processing: Scan multiple platforms simultaneously for faster results
- Enhanced Error Handling: Robust error detection and recovery mechanisms
- Multiple Output Formats: Support for TXT, JSON, and CSV output formats
- Configurable Platform Database: Easy-to-modify platform definitions
- Advanced Breach Detection: Integration with multiple breach databases
- Comprehensive Logging: Detailed scan statistics and progress tracking
- Command-Line Interface: Full CLI with multiple options and switches
- Input Validation: Username validation with security checks
- Timeout Management: Configurable timeouts to prevent hanging requests
- Platform Categories: Organized scanning by platform types
- Better HTTP Handling: Improved curl usage with proper headers and error codes
- Signal Handling: Graceful interruption and cleanup
- Memory Management: Efficient temporary file handling
- Code Organization: Modular functions and clean architecture
- Configuration System: External configuration file support
- Dependency Checking: Automatic validation of required tools
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install curl jq
# CentOS/RHEL/Fedora
sudo yum install curl jq
# or
sudo dnf install curl jq
# macOS (with Homebrew)
brew install curl jq
# Windows (with Chocolatey)
choco install curl jqparallel- For even faster parallel processingtor- For anonymized scanning (advanced usage)
-
Download and Install
git clone https://github.com/webxbeyond/SocialSleuth.git cd SocialSleuth chmod +x install.sh ./install.sh # User installation # OR sudo ./install.sh # System-wide installation
-
Use the Application
socialsleuth username socialsleuth --help
-
Clone or Download
git clone https://github.com/webxbeyond/SocialSleuth.git cd SocialSleuth -
Make Executable
chmod +x SocialSleuth.sh
-
Optional: Create Symlink for System-wide Access
sudo ln -s /path/to/SocialSleuth.sh /usr/local/bin/socialsleuth
- Using Make:
make user-installorsudo make install - Debian Package:
./create-deb.sh && sudo dpkg -i socialsleuth_*.deb - Uninstall:
./uninstall.shormake user-uninstall
# Simple scan
./SocialSleuth.sh username
# Interactive mode (prompts for username)
./SocialSleuth.sh# Verbose output with custom output directory
./SocialSleuth.sh -v -o /tmp/scans johndoe
# Scan specific platforms only
./SocialSleuth.sh -p Instagram,Twitter,GitHub johndoe
# JSON output format
./SocialSleuth.sh -f json johndoe
# Increased parallel jobs and timeout
./SocialSleuth.sh -j 20 -t 15 johndoe
# Scan social media platforms only
./SocialSleuth.sh -p "$(grep 'social' config.sh | cut -d'"' -f4)" johndoe| Option | Description | Default |
|---|---|---|
-h, --help |
Show help message | - |
-v, --verbose |
Enable verbose output | false |
-o, --output DIR |
Specify output directory | results |
-j, --jobs NUM |
Number of parallel jobs | 10 |
-t, --timeout SEC |
Request timeout in seconds | 10 |
-f, --format FORMAT |
Output format (txt/json/csv) | txt |
-l, --list |
List all supported platforms | - |
-p, --platforms LIST |
Check specific platforms (comma-separated) | all |
[+] Instagram: Found! https://www.instagram.com/johndoe
[-] Facebook: Not Found
[+] Twitter: Found! https://www.twitter.com/johndoe
{
"username": "johndoe",
"scan_time": "2024-01-15T10:30:00Z",
"results": [
{
"platform": "Instagram",
"url": "https://www.instagram.com/johndoe",
"status": "FOUND"
}
]
}Platform,URL,Status
Instagram,https://www.instagram.com/johndoe,FOUND
Twitter,https://www.twitter.com/johndoe,FOUND
Edit config.sh to add or modify platforms:
["NewPlatform"]="https://newplatform.com/{username}|not_found_indicator"Define platform groups for organized scanning:
declare -A PLATFORM_CATEGORIES=(
["social"]="Instagram Facebook Twitter LinkedIn"
["developer"]="GitHub GitLab Bitbucket"
)- Instagram, Facebook, Twitter/X, LinkedIn, TikTok
- Snapchat, WhatsApp, VK, OK, Weibo
- GitHub, GitLab, Bitbucket, Stack Overflow
- CodePen, Replit, Kaggle, SourceForge
- YouTube, Medium, DeviantART, Tumblr, Pinterest
- Blogger, WordPress, Substack, Wattpad
- Steam, Xbox, PlayStation, Twitch, Discord
- Roblox, Epic Games
- LinkedIn, AngelList, Behance, Dribbble
- Crunchbase, F6S
- Spotify, SoundCloud, Bandcamp, Last.fm
- Mixcloud, Apple Music
- Total: 80+ platforms supported
- Regular updates with new platforms
- Easy configuration for custom additions
- Username length validation (2-50 characters)
- Character set validation (alphanumeric, dots, hyphens, underscores)
- SQL injection prevention
- XSS protection
- Configurable User-Agent strings
- Request timing randomization
- Optional Tor integration
- No data storage of sensitive information
- Respectful request timing
- Configurable timeouts
- Automatic retry mechanisms
- Platform-specific delays
- Configurable concurrent connections
- Intelligent job batching
- Resource usage optimization
- Memory-efficient operations
- DNS resolution caching
- HTTP connection reuse
- Temporary file optimization
- Result caching mechanisms
- Network timeout handling
- HTTP error code processing
- Graceful degradation
- Comprehensive error reporting
- Hudson Rock API integration
- Have I Been Pwned support
- Custom breach database APIs
- Detailed compromise information
- Success rate calculation
- Platform availability metrics
- Response time analysis
- Confidence scoring
- Detailed scan summaries
- Export capabilities
- Historical comparisons
- Custom report templates
-
"Command not found: jq"
# Install jq sudo apt-get install jq # Ubuntu/Debian sudo yum install jq # CentOS/RHEL brew install jq # macOS
-
"Permission denied"
chmod +x SocialSleuth.sh
-
"Timeout errors"
# Increase timeout ./SocialSleuth.sh -t 20 username -
"Too many parallel jobs"
# Reduce parallel jobs ./SocialSleuth.sh -j 5 username
# Enable verbose output for debugging
./SocialSleuth.sh -v username
# Check specific platform manually
curl -s "https://platform.com/username" | grep "not found"- Edit
config.sh - Add platform configuration:
["NewPlatform"]="https://newplatform.com/{username}|error_indicator"
- Test the platform
- Submit a pull request
- Include the command used
- Provide error messages
- Specify your operating system
- Include relevant log files
- Describe the use case
- Explain the expected behavior
- Provide examples if applicable
- This tool is for educational and legitimate research purposes only
- Respect platform terms of service
- Do not use for harassment or stalking
- Follow responsible disclosure practices
- The tool includes built-in rate limiting
- Platforms may still block excessive requests
- Use responsibly to avoid IP bans
- Consider using proxies for large-scale scanning
- This tool does not store or transmit personal data
- Results are saved locally only
- No tracking or analytics included
- User privacy is respected
This project is licensed under the MIT License. See the LICENSE file for details.
- Original UserFinder by Anis Afifi
- Enhanced as SocialSleuth
- Contributors and testers
- Open source community
- Platform APIs and documentation
For support, feature requests, or bug reports:
- Create an issue on the project repository
- Follow responsible disclosure for security issues
- Check existing issues before creating new ones
- Complete rewrite with enhanced features
- Parallel processing implementation
- Multiple output formats
- Comprehensive error handling
- Advanced configuration system
- Rebranded as SocialSleuth
- Basic social media scanning
- Simple text output
- Limited error handling
- Sequential processing
Note: This tool is designed for legitimate security research and educational purposes. Always ensure you have proper authorization before scanning for usernames, and respect the terms of service of the platforms you're checking.