mirror of
https://github.com/reconurge/flowsint.git
synced 2026-03-11 17:34:31 -05:00
295d9ade8ac7533184f8744e9b246c1592b2b68b
Flowsint
A modular investigation and reconnaissance platform with clean separation of concerns.
Project structure
The project is organized into autonomous modules:
Core modules
- flowsint-core: Core utilities, orchestrator, vault, celery tasks, and base classes
- flowsint-types: Pydantic models and type definitions
- flowsint-transforms: Transform modules, scanning logic, and tools
- flowsint-api: FastAPI server, API routes, and schemas only
- flowsint-app: Frontend application
Module dependencies
flowsint-app (frontend)
↓
flowsint-api (API server)
↓
flowsint-core (orchestrator, tasks, vault)
↓
flowsint-transforms (transforms & tools)
↓
flowsint-types (types)
Development setup
Prerequisites
- Python 3.10+
- Poetry (for dependency management)
- Docker (for some tools)
Run
For now, you can start flowsint in a development environment. It's pretty performant already ! And fully local stored. Make sure you have Make installed.
make dev
An electron app should start, frontend is also accessible at http://localhost:5173.
Module details
flowsint-core
Core utilities and base classes used by all other modules:
- Database connections (PostgreSQL, Neo4j)
- Authentication and authorization
- Logging and event handling
- Configuration management
- Base classes for transforms and tools
- Utility functions
flowsint-types
Pydantic models for all data types:
- Domain, IP, ASN, CIDR
- Individual, Organization, Email, Phone
- Website, Social profiles, Credentials
- Crypto wallets, Transactions, NFTs
- And many more...
flowsint-transforms
Transform modules that process data:
- Domain transforms (subdomains, WHOIS, resolution)
- IP transforms (geolocation, ASN lookup)
- Social media transforms (Maigret, Sherlock)
- Email transforms (breaches, Gravatar)
- Crypto transforms (transactions, NFTs)
- And many more...
flowsint-api
FastAPI server providing:
- REST API endpoints
- Authentication and user management
- Transform orchestration
- Graph database integration
- Real-time event streaming
flowsint-app
Frontend application (unchanged from original).
Development workflow
- Adding new types: Add to
flowsint-typesmodule - Adding new transforms: Add to
flowsint-transformsmodule - Adding new API endpoints: Add to
flowsint-apimodule - Adding new utilities: Add to
flowsint-coremodule
Testing
Each module has its own test suite:
# Test core module
cd flowsint-core
poetry run pytest
# Test types module
cd ../flowsint-types
poetry run pytest
# Test transforms module
cd ../flowsint-transforms
poetry run pytest
# Test API module
cd ../flowsint-api
poetry run pytest
Contributing
- Follow the modular structure
- Use Poetry for dependency management
- Write tests for new functionality
- Update documentation as needed
Description
Languages
TypeScript
52.8%
Python
44.7%
CSS
1.2%
JavaScript
0.6%
Makefile
0.2%
Other
0.4%