| 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
|βββ-|βββ|βββ|
| 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
|βββ-|βββββ|βββββ-| | GitHub | Profile page, API endpoints | Name, bio, follower count, repos | | LinkedIn | Profile URLs, search results | Name, title, company, connections | | Twitter | Profile check, handle validation | Name, bio, follower count, verification | | Instagram | Profile page, metadata | Name, bio, follower count, post count | | Facebook | Public profile check | Name, basic info if public | | YouTube | Channel check, handle lookup | Channel name, subscriber count | | Reddit | User profile, karma check | Username, karma, account age | | Pinterest | 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)
|βββ|ββββ-|βββ|
| 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
|ββββ|ββ-| | 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/
|ββ-|βββ-|
| 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|βββ|βββ-|βββββ|ββββ|βββββ-|
| 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!