$ show kennbroorg/iKy
iKy (I Know You) is a modular OSINT (Open Source Intelligence) aggregation platform built with FastAPI, Celery, Redis, and an Angular frontend. The system ingests a username or email and concurrently executes 26+ parallel tasks across social media, data breaches, search engines, and dark web sources, returning a structured JSON contract (module, param, validation, raw, graphic, profile, timeline, tasks) consumed by a visual graph/timeline UI. Key architectural patterns include a dynamic module registry that maps route names to Celery task paths, a decorator-based task wrapper (@iky_task) that centralizes dev-mode golden-file bypass, error classification, and performance logging, and a pluggable search provider orchestration layer. The codebase demonstrates a strong separation of concerns between API routing, task execution, and data enrichment, but suffers from fragile scraping logic (LinkedIn RSC parsing, TikTok SSR regex), heavy reliance on browser session cookies, and several deprecated external APIs (Twitter v1.1, FullContact). The project is actively maintained with an extensive test suite (~4K lines) and Docker Compose deployment, though many tests are heavily mocked and may not detect real API drift.
The LLM identified 4 files worth highlighting for reuse:
The `@iky_task` decorator is a reusable pattern for wrapping Celery tasks with automatic registration, dev-mode golden-file bypass (reads a static JSON file when `DEV_MODE=True`), structured error classification (prefix 'iKy -' → Warning, other → Fail), traceback capture, and execution timing. It demonstrates clean separation of concerns and can be extracted for any Celery-based application needing consistent task behavior.
Provides `convert_browser_cookies()` that normalizes browser-exported cookies (from `browser_cookie3`) into flat `{name: value}` dicts, and `missing_required_cookies()` that validates session completeness against a required keyset. Isolated and reusable for any project needing cookie-based authentication.
Implements an abstract base class for search engines with pluggable providers (DuckDuckGo, Google scraper, Google CSE, Brave Search) injected via `SearchOrchestrator`. The providers follow a uniform interface (`search()`), enabling easy addition of new search backends without modifying calling code. This pattern is reusable for any application requiring federated search across multiple engines.
Collection of pure extraction helpers (`extract_hashtags`, `extract_mentions`, `extract_url_linkedin`, `analize_rrss`) and a location geocoder (`location_geo`). Also includes declarative `_PLATFORM_CONFIGS` and `_NAME_RULES` for social-network URL pattern matching. Demonstrates cleanly separated, testable string/URL parsing logic reusable across any text analysis project.