Overview
The visualization module (visualize.js) uses Ixora, a force-directed graph library, to create interactive visualizations of:
- Detected profiles and their relationships
- Metadata extracted from profiles
- Cross-platform connections
- Multi-profile correlations
Force-Directed Graphs
Force-directed graphs display nodes (profiles, metadata) and edges (relationships) in a physics-based layout where connected items attract and unconnected items repel each other.Benefits
- Visual Pattern Recognition: Quickly identify clusters and connections
- Interactive Exploration: Search, filter, and navigate through data
- Relationship Mapping: See how profiles relate across platforms
- Metadata Visualization: Display extracted information hierarchically
How It Works
Fromvisualize.js:4-85, the visualization engine:
Graph Structure
Node Types
- Root Node: The searched username(s)
- Profile Nodes: Detected social media profiles
- Metadata Nodes: Extracted metadata from profiles
Edge Types
- Username → Profile: Direct connection from search term to detected profile
- Profile → Metadata: Connection from profile to its metadata
Example Structure
Multi-Profile Visualization
When searching multiple usernames simultaneously, the visualization creates a hierarchical structure. Fromvisualize.js:9-22:
Multi-Profile Structure
Usage
Basic Visualization
Multi-Profile Visualization
With Pattern Extraction
Visualization requires the
--metadata flag. Without metadata, the graph will only show username and profile nodes without detailed information.Interactive Features
The Ixora-powered visualization provides several interactive features:Search Functionality
Fromvisualize.js:73, the graph includes a search box:
Tooltips
Hover over nodes to see detailed information about:- Profile URLs
- Metadata content
- Relationships
Physics Simulation
The graph uses physics parameters:- Charge: 10 (repulsion strength)
- Distance: 100 (preferred edge length)
Metadata Truncation
Long metadata strings are automatically truncated for better visualization. Fromvisualize.js:51-54:
- Readable node labels
- Clean graph appearance
- Better performance with many nodes
Accessing the Visualization
Web Interface
The visualization is available through the web app:-
Start Social Analyzer:
-
Navigate to:
http://localhost:9005/app.html - Enter username and enable metadata extraction
- View results with the graph visualization
Direct Graph Access
The graph is saved to a static file:Graph Initialization
Fromvisualize.js integration in helper.js:81-83:
Practical Applications
OSINT Investigations
Visualization helps investigators:- Identify profile clusters
- Find shared metadata across platforms
- Discover hidden connections
- Map digital footprints
Example Investigation Flow
Multi-Target Correlation
Graph Data Export
The visualization function returns structured graph data:- Saved to JSON files
- Imported into other visualization tools
- Processed for further analysis
Performance Considerations
Node Limits
For optimal performance:- < 100 nodes: Smooth interaction
- 100-500 nodes: May experience slight lag
- > 500 nodes: Consider filtering results
Optimization Strategies
- Filter by status: Use
--filter goodto show only confirmed profiles - Limit websites: Use
--top 50or specific--websites - Selective metadata: Only extract metadata for high-priority platforms
Customization
The Ixora graph can be customized by modifying parameters invisualize.js:73:
Troubleshooting
Empty Graph
Problem: Graph shows no nodes Solutions:- Ensure
--metadataflag is enabled - Check that profiles were detected (
--filter good) - Verify network connectivity
Too Many Nodes
Problem: Graph is cluttered and slow Solutions:- Use
--filter goodto show only confirmed profiles - Limit websites with
--top Nor--websites - Disable pattern extraction if not needed
Metadata Not Showing
Problem: Only username and profile nodes visible Solutions:- Confirm
--metadataflag is set - Check that detected profiles have metadata
- Try slow mode for better metadata extraction