| π Navigation: π Home | π Docs | π Quickstart | π§ LangGraph | π₯ Health |
| Version: 1.4.1 | Last Updated: 2025-10-26 |
# 1. Install dependencies
pip install -r requirements.txt
# 2. Optional: Install additional packages for full features
pip install phonenumbers aiohttp beautifulsoup4
# 3. Run CrawlLama
python main.py
# 4. Accept OSINT Terms (first time only)
# Type "accept" when prompted
# Email Intelligence - validates + web search
email:john.doe@company.com
# Phone Intelligence - validates + web search
phone:"+49 151 12345678"
# IP Intelligence (NEW!) - comprehensive IP analysis
ip:8.8.8.8
192.168.1.1 # Auto-detects as IP
# Social Intelligence (NEW!) - 12 platforms
username:elonmusk
@microsoft
github # Auto-detects as username
# Advanced search operators
site:github.com python machine learning
| Operator | Purpose | Example |
|---|---|---|
site: |
Search specific domain | site:github.com python |
inurl: |
Text in URL | inurl:profile "software engineer" |
intext: |
Text in page content | intext:"contact email" |
intitle: |
Text in page title | intitle:"about us" |
filetype: |
Specific file type | filetype:pdf "annual report" |
email: |
Email intelligence | email:test@example.com |
phone: |
Phone intelligence | phone:"+49151234567" |
ip: |
IP intelligence | ip:8.8.8.8 |
username: |
Social intelligence | username:elonmusk |
- |
Exclude term | python -java |
OR |
Either term | site:linkedin.com OR site:xing.de |
# Find LinkedIn profile
site:linkedin.com "John Doe" inurl:profile
# Find PDFs on company site
site:example.com filetype:pdf
# Complex search
site:github.com intext:"machine learning" -tensorflow
# Multiple domains
"developer" site:linkedin.com OR site:github.com
β Validates email syntax, domain, MX records β Detects disposable emails β Searches LinkedIn, GitHub, Twitter, Facebook β Generates email variations β Shows up to 10 unique results
# Simple email search (validates + web search)
email:john.doe@company.com
# Combine with operators
email:developer@example.com site:github.com
Email Intelligence for: john.doe@company.com
β Valid: True
Domain: company.com
Username: john.doe
MX Records: mail.company.com (DNS verified)
Disposable: False
Confidence: 0.95
Variations:
β’ john.doe@company.com
β’ j.doe@company.com
β’ johndoe@company.com
Web Search Results (10 found):
1. [LinkedIn] John Doe - Software Engineer at Company
2. [GitHub] johndoe - 42 repositories
3. [Twitter] @johndoe - Developer profile
...
from core.osint import EmailIntelligence
intel = EmailIntelligence()
result = intel.analyze_email('test@example.com')
print(f"Valid: {result['valid']}")
print(f"Domain: {result['domain']}")
print(f"Disposable: {result['disposable']}")
print(f"Confidence: {result['confidence']}")
print(f"Variations: {result['variations']}")
β Validates phone number format β Identifies country, region, carrier β Searches web with format variations β Detects mobile vs landline β Shows up to 10 unique results
Note: Install phonenumbers for full features: pip install phonenumbers
# International format
phone:"+49 151 12345678"
# Local format
phone:"0151 12345678"
# US number
phone:"+1 555 123 4567"
Phone Intelligence for: +49 151 12345678
β Valid: True
Formatted: +49 151 12345678
Country: Germany (DE)
Type: mobile
Carrier: Vodafone Germany
Confidence: 1.00
Format Variations:
β’ +49 151 12345678
β’ 0151 12345678
β’ +4915112345678
Web Search Results (5 found):
1. Business listing for +49 151 12345678
2. Contact page with 0151 12345678
...
from core.osint import PhoneIntelligence
intel = PhoneIntelligence()
result = intel.analyze_phone('+49 151 12345678', region='DE')
print(f"Valid: {result['valid']}")
print(f"Formatted: {result['formatted']}")
print(f"Country: {result['country']}")
print(f"Type: {result['type']}")
print(f"Carrier: {result['carrier']}")
print(f"Variations: {result['variations']}")
β Validates IPv4/IPv6 addresses and determines type (public/private/reserved) β Geolocation using multiple free services (no API keys required) β ISP & Organization identification from multiple sources β Security Analysis including reputation scoring and VPN/proxy detection β Network Info including reverse DNS, WHOIS, and routing information β Privacy-Compliant - no external API dependencies
# Direct IP analysis
ip:8.8.8.8
# Auto-detection (no operator needed)
192.168.1.1
2001:4860:4860::8888
# IPv6 addresses
ip:2001:4860:4860::8888
# Combine with search operators
ip:1.1.1.1 site:cloudflare.com
π IP Intelligence Report: 8.8.8.8
==================================================
IP Type: IPv4_Public
Confidence: 95.2%
π Geolocation:
Country: United States (US)
Region: California
City: Mountain View
Coordinates: 37.4056, -122.0775
Timezone: America/Los_Angeles
π Network Information:
ISP: Google LLC
Organization: Google Public DNS
AS Number: AS15169
π Reverse DNS: dns.google
π‘οΈ Security Analysis:
Classifications: cloud_hosting
Reputation: β
Good (85/100)
π Data Sources: 3/4 services responded successfully
β° Analysis completed at: 2025-10-26 14:30:15
from core.osint.ip_intel import IPIntelligence
import asyncio
async def analyze_ip():
async with IPIntelligence() as intel:
result = await intel.lookup_ip('8.8.8.8')
print(f"Valid: {result['valid']}")
print(f"Type: {result['type']}")
print(f"Country: {result['geolocation'].get('country')}")
print(f"ISP: {result['geolocation'].get('isp')}")
print(f"Security: {result['security_info']}")
# Formatted output
formatted = intel.format_results(result)
print(formatted)
# Run analysis
asyncio.run(analyze_ip())
β 12 Social Platforms: GitHub, LinkedIn, Twitter, Instagram, Facebook, YouTube, Reddit, Pinterest, TikTok, Snapchat, Discord, Steam β Username Enumeration across all platforms simultaneously β Profile Discovery with enhanced data extraction β Cross-Platform Correlation to link accounts β Free Data Extraction - no API keys or registration required β Ethical Scraping with robots.txt compliance and rate limiting
# Username search across all platforms
username:elonmusk
# Auto-detection (no operator needed)
github
microsoft
@openai
# Email-based discovery
email:example@company.com # Also searches for social profiles
# Platform-specific hints
username:github site:github.com
βββ Social Intelligence βββ
Username: elonmusk
Platforms Found: 8 / 12
Profiles Found:
β Twitter - @elonmusk (54M followers)
β GitHub - elonmusk (Verified)
β Instagram - elonmusk (2.1M followers)
β LinkedIn - Elon Musk (CEO at Tesla, SpaceX)
β YouTube - Elon Musk (Channel verified)
β Reddit - u/elonmusk (Reddit Gold)
β Discord - elonmusk#1234
β Steam - elonmusk (Gaming profile)
Summary: Searched 12 platforms in 3.2 seconds
| Platform | Check Methods | Data Extracted |
|---|---|---|
| GitHub | Profile page, API endpoints | Name, bio, follower count, repos |
| Profile URLs, search results | Name, title, company, connections | |
| Profile check, handle validation | Name, bio, follower count, verification | |
| Profile page, metadata | Name, bio, follower count, post count | |
| Public profile check | Name, basic info if public | |
| YouTube | Channel check, handle lookup | Channel name, subscriber count |
| User profile, karma check | Username, karma, account age | |
| Profile page, board check | Name, follower count, board count | |
| TikTok | Profile validation | Name, follower count, verification |
| Snapchat | Public profile check | Display name if available |
| Discord | Username patterns | Username format validation |
| Steam | Profile URL check | Display name, profile data |
from core.osint.social_intel import SocialIntelligence
import asyncio
async def search_username():
async with SocialIntelligence() as intel:
# Search across all platforms
result = await intel.search_username('elonmusk')
print(f"Platforms searched: {len(result['platforms'])}")
for platform, data in result['platforms'].items():
if data.get('exists'):
profile = data.get('profile_data', {})
print(f"β {platform}: {profile.get('display_name', 'Found')}")
# Email-based discovery
email_result = await intel.discover_profiles_by_email('test@company.com')
print(f"Email discovery: {email_result}")
# Run search
asyncio.run(search_username())
Requires: Ollama running (ollama serve)
| Feature | Description | Example |
|---|---|---|
| Query Variations | Generate alternative queries | βsecurity researcherβ β βcybersecurity expertβ, βinfosec specialistβ |
| Operator Suggestions | AI suggests best operators | βfind LinkedIn profileβ β site:linkedin.com inurl:profile |
| Entity Detection | Identify query type | βtest@example.comβ β email |
| Source Suggestions | Suggest relevant platforms | βdeveloperβ β github.com, stackoverflow.com |
from core.osint import QueryEnhancer
from core.llm_client import OllamaClient
llm = OllamaClient()
enhancer = QueryEnhancer(llm)
# Generate query variations
variations = enhancer.generate_variations("security researcher")
# β ["cybersecurity expert", "infosec specialist", "security analyst"]
# Suggest operators
operators = enhancer.suggest_operators("find John Doe on LinkedIn")
# β {"site": "linkedin.com", "inurl": "profile", "intext": "John Doe"}
# Detect entity type
entity_type = enhancer.identify_entity_type("test@example.com")
# β "email"
# Suggest sources
sources = enhancer.suggest_sources("developer", "person")
# β ["github.com", "linkedin.com", "stackoverflow.com"]
# Multi-intelligence approach
username:johndoe # Check all 12 social platforms
email:john.doe@company.com # Email + social discovery
John Doe # General web search
# Platform-specific searches
site:linkedin.com "John Doe" inurl:profile
site:github.com "John Doe"
# Comprehensive IP analysis
ip:192.168.1.100 # Full intelligence report
8.8.8.8 # Auto-detects as IP
# Combine with context
ip:suspicious.ip.address site:security-blog.com
# Company overview
site:example.com
# Find contacts and documents
site:example.com intext:"contact" OR inurl:contact
site:example.com filetype:pdf
site:linkedin.com "Example Corp"
# Username enumeration across all platforms
username:suspicioususer
@suspect_handle
# Cross-platform correlation
username:john_doe site:linkedin.com
username:john_doe site:github.com
# Comprehensive email analysis (includes social discovery)
email:suspect@example.com
# Platform-specific searches
email:suspect@example.com site:linkedin.com
email:suspect@example.com site:github.com
# Validate and search (automatic web search)
phone:"+49 151 12345678"
# Additional searches
"+49 151 12345678"
"0151 12345678"
# Site overview and subdomains
site:example.com
site:*.example.com
# Find emails and documents
site:example.com intext:"@example.com"
site:example.com filetype:pdf OR filetype:doc
| Query Type | Limit |
|---|---|
| Email searches | 50 |
| Phone searches | 50 |
| General OSINT | 100 |
Increase limits: Edit config.json β osint.rate_limits
Queries with these terms are blocked:
password, hack, crack, exploitstalk, spy, surveillancefrom core.osint import OSINTCompliance
compliance = OSINTCompliance()
stats = compliance.get_usage_stats("user_id")
print(f"Total requests: {stats['total_requests_last_hour']}")
print(f"Remaining: {stats['remaining_limits']}")
All queries logged in: data/osint_logs/
| Issue | Solution |
|---|---|
| Terms not accepted | Run python main.py and type accept |
| Rate limit exceeded | Wait 1 hour or increase limits in config.json |
| Phone intelligence basic | Run pip install phonenumbers |
| IP/Social features not working | Run pip install aiohttp beautifulsoup4 |
| Ollama not running | Run ollama serve (for AI features) |
| Prohibited content | Remove blacklisted terms (hack, password, stalk, etc.) |
| Social platforms timeout | Check internet connection, some platforms may be blocked |
| IP services unavailable | Normal - system uses multiple services, some may be down |
Edit config.json:
{
"osint": {
"rate_limits": {
"email_search": 100,
"phone_search": 100,
"general_osint": 200
}
}
}
python test_osint.py| Feature | Operator | Data Sources | Validation | AI Enhancement |
|---|---|---|---|---|
| Email Intelligence | email: |
β LinkedIn, GitHub, Twitter, Facebook + Social Discovery | β Syntax, MX, Disposable | β Variations |
| Phone Intelligence | phone: |
β Format variations, Web search | β Country, Carrier, Type | β Formats |
| IP Intelligence π | ip: |
β 4 Geolocation services, WHOIS, Security | β IPv4/IPv6, Type detection | β Auto-detection |
| Social Intelligence π | username: |
β 12 Platforms simultaneously | β Profile validation, Data extraction | β Auto-detection |
| Search Operators | site:, inurl:, etc. |
β DuckDuckGo, Multiple engines | N/A | β Suggestions |
| Query Enhancement | Auto-detect | N/A | β Auto query-type detection | β Variations, Entity Detection |
Remember: Use OSINT features responsibly and ethically! π‘οΈ