Socialosint
A rust osint tool for getting emails, from a target, published in social networks like Instagram, Linkedin and Twitter for finding the possible credential leaks in PwnDB
Install / Use
/learn @krishpranav/SocialosintREADME
Social OSINT (Rust Edition)
A high-performance Rust implementation of the Social OSINT tool for gathering emails from Instagram, LinkedIn, and Twitter, with integrated PwnDB leak checking.
Features
- Instagram: Search users by hashtag, location, username; extract emails from profiles and bios
- LinkedIn: Search companies and people; retrieve contact information
- Twitter: Search tweets and extract emails (placeholder implementation)
- PwnDB: Check for leaked credentials via Tor proxy
- Security: Anti-ban features including User-Agent rotation, request jitter, and rate limiting
- Performance: Async/await with Tokio, connection pooling, and parallel processing
- Observability: Structured logging with tracing
Installation
Prerequisites
- Rust 1.70+ (
rustuprecommended) - Tor service (for PwnDB functionality)
Build
cargo build --release
The binary will be located at target/release/socialosint.
Configuration
Create a credentials.json file with your Instagram and LinkedIn credentials:
{
"instagram": {
"username": "your_instagram_username",
"password": "your_instagram_password"
},
"linkedin": {
"email": "your_linkedin_email",
"password": "your_linkedin_password"
}
}
Usage
Search by hashtag:
./target/release/socialosint --credentials credentials.json --instagram --hashtag-ig security
Search by location:
# First, find location IDs
./target/release/socialosint --credentials credentials.json --instagram --info "New York"
# Then search by location ID
./target/release/socialosint --credentials credentials.json --instagram --location 12345
Target specific user:
./target/release/socialosint --credentials credentials.json --instagram --target-ig username
Get followers/followings:
./target/release/socialosint --credentials credentials.json --instagram --target-ig username --followers-ig
./target/release/socialosint --credentials credentials.json --instagram --target-ig username --followings-ig
Search companies:
./target/release/socialosint --credentials credentials.json --linkedin --search-companies "Google"
Get company employees:
./target/release/socialosint --credentials credentials.json --linkedin --search-companies "Google" --employees
Search users:
./target/release/socialosint --credentials credentials.json --linkedin --search-users-in "John Doe"
Get user contact info:
./target/release/socialosint --credentials credentials.json --linkedin --target-in username
Search tweets by hashtag:
./target/release/socialosint --credentials credentials.json --twitter --hashtag-tw security --limit 100
Search user tweets:
./target/release/socialosint --credentials credentials.json --twitter --target-tw username --all-tw
PwnDB Integration
Check for leaks:
# Start Tor service first
brew services start tor # macOS
# or
sudo systemctl start tor # Linux
# Run with PwnDB
./target/release/socialosint --credentials credentials.json --instagram --target-ig username --pwndb
Save Results
./target/release/socialosint --credentials credentials.json --instagram --hashtag-ig security --output results.txt
CLI Arguments
General
--credentials <FILE>- JSON credentials file (required)--output <FILE>- Save results to file--pwndb- Enable PwnDB leak checking--tor-proxy <PROXY>- Tor proxy address (default:127.0.0.1:9050)
--instagram- Enable Instagram mode--info <QUERY>- Get location IDs--location <ID>- Search by location--hashtag-ig <TAG>- Search by hashtag--target-ig <USERNAME>- Target specific user--search-users-ig <QUERY>- Search users--my-followers- Get own followers--my-followings- Get own followings--followers-ig- Get target's followers--followings-ig- Get target's followings
--linkedin- Enable LinkedIn mode--company <ID>- Get company info--search-companies <QUERY>- Search companies--employees- Get employees--my-contacts- Get own contacts--user-contacts <ID>- Get user's contacts--search-users-in <QUERY>- Search users--target-in <USERNAME>- Target specific user--add-contacts- Send connection requests to all--add-a-contact <ID>- Send connection request to one user
--twitter- Enable Twitter mode--limit <N>- Tweet limit (default: 100)--year <YEAR>- Filter by year--since <DATE>- Filter tweets since date--until <DATE>- Filter tweets until date--profile-full- Full profile scraping--all-tw- All tweets--target-tw <USERNAME>- Target user--hashtag-tw <TAG>- Search hashtag--followers-tw- Get followers--followings-tw- Get followings
Security Features
- User-Agent Rotation: Random browser User-Agents
- Request Jitter: 500ms-2s delays between requests
- Rate Limiting: Per-domain throttling
- Cloudflare Detection: Automatic blocking detection
- Cookie Management: Persistent session handling
- Connection Pooling: Reuse HTTP connections
Performance
- Async/Await: Tokio runtime for concurrent operations
- Connection Pooling: Reuse connections across requests
- Parallel Processing: Multiple targets processed concurrently
- Memory Efficient: Streaming results, minimal allocations
Limitations
- Twitter: Requires Twitter API v2 bearer token for full functionality. Falls back to Nitter scraping if unavailable.
- HaveIBeenPwned: Requires HIBP API key for full functionality. Set
HIBP_API_KEYenvironment variable.
Environment Variables
TWITTER_BEARER_TOKEN: (Optional) Twitter API v2 bearer token. Get one at https://developer.twitter.com/HIBP_API_KEY: (Optional) HaveIBeenPwned API key for breach checking. Get one at https://haveibeenpwned.com/API/KeyRUST_LOG: Set logging level (e.g.,debug,info,warn,error)
Troubleshooting
Instagram login fails:
- Verify credentials in
credentials.json - Instagram may require 2FA or CAPTCHA solving
LinkedIn authentication fails:
- Check credentials
- LinkedIn may require email verification
PwnDB not working:
- Ensure Tor service is running:
brew services listorsystemctl status tor - Verify proxy address: default is
127.0.0.1:9050
Rate limiting:
- Increase delays in
src/http.rs - Use fewer concurrent requests
Development:
Run tests:
cargo test
Run with debug logging:
RUST_LOG=debug ./target/release/socialosint --credentials credentials.json --instagram --target-ig username
Build optimized:
cargo build --release
License
Credits
Rust port by Krishna Pranav. Original Python implementation: socialosint.
Related Skills
himalaya
347.0kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
node-connect
347.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
taskflow
347.0kname: taskflow description: Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layer
frontend-design
107.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
