How it works

A guide to iknowyou: concepts, tools, profiles, and configuration.

What is it?

Iknowyou (IKY) is an OSINT aggregation platform. It runs multiple open-source intelligence tools against a target in parallel and presents the results in a unified interface. Targets can be email addresses, usernames, phone numbers, IP addresses, domains, and more.

Instead of running each tool manually, IKY handles orchestration, config management, and result rendering so you can focus on analysis.

Tools

Each tool is a Go module that knows how to query one data source (a website, an API, a local binary...). Tools declare:

  • Which input types they accept (email, username, IP...)
  • Optional configuration fields (API keys, options)
  • Whether they require an external binary to be installed

The Tools page shows all registered tools grouped by status:

Active - ready to run
Active: config missing - needs an API key or required field
Active: unavailable - required binary not found on the system
Disabled - excluded by the selected profile

Profiles

A profile is a named search configuration. When you start a search, you pick which profile to use. Profiles control:

  • Enabled list (whitelist): if set, only these tools run
  • Disabled list (blacklist): these tools are always skipped
  • Tool overrides: per-profile config that overrides global settings for specific tools
  • Notes: a description of what the profile is for

Two profiles are built-in and cannot be modified:

default

All tools active with default settings. No restrictions.

hard

Aggressive mode. All tools active, including those that may send notifications or leave traces at the target.

You can create custom profiles on the Settings page.

Proxies

IKY supports routing all tool traffic through one or more proxies. Proxies are configured globally on the Settings page and apply to every search.

  • Supported protocols: socks5, socks4, http
  • Multiple proxies: tried in random order per request — if one fails, the next is used automatically
  • HTTP-based tools (API calls): use a custom Go HTTP client with fallback transport
  • External binary tools (maigret, ghunt, etc.): wrapped transparently with proxychains4 in dynamic_chain mode, which skips dead proxies automatically

If no proxies are configured, tools connect directly — behaviour is identical to before.

Configuration & Overrides

Tool configuration works in two layers:

  1. Global config: set on the Tools page. Applied to every search regardless of profile.
  2. Profile override: set inside a profile. Takes precedence over global config when that profile is used. Useful when you want a tool to behave differently in specific contexts (e.g. slower rate-limiting in a "quiet" profile).

Config is stored in config.yaml. Built-in profiles are hardcoded in Go and are never written to disk.

How a search runs

  1. You enter a target, select its type (email, username...) and pick a profile.
  2. The backend filters tools by input type and the profile's enabled/disabled rules, then skips any tool with a missing required config field.
  3. If proxies are configured, a proxy-aware HTTP client and a proxychains4 config are prepared and injected into the search context.
  4. All eligible tools run in parallel against the target.
  5. The frontend polls for results and renders them progressively as each tool finishes.

A search can be cancelled at any time from the results page. Completed searches are kept in memory.