Expand description
Core engine for the Adler OSINT username-search tool.
The crate is the runtime-agnostic library half of Adler; the binary
interface lives in adler-cli. Key items:
Username— validated search targetSite,Signal,UrlTemplate— site registry typesRegistry— load and filter the embedded or a custom site listClient,ClientBuilder—reqwest-backed probe issuerexecutor::run— bounded-concurrency fan-out runnerCheckOutcome,MatchKind— verdict typescorrelate,permute,doctor— enrichment-driven analysis
§Example
Scan the embedded registry for a username and print the hits:
use adler_core::{Client, ExecutorOptions, MatchKind, Registry, Username, executor};
let registry = Registry::default_embedded()?;
// filter(include, exclude, tags, exclude_tags, include_nsfw) — empty
// slices = no filter; `false` keeps the default NSFW auto-exclusion.
let sites = registry.filter(&["github".into()], &[], &[], &[], false);
let username = Username::new("torvalds")?;
let client = Client::builder().build()?;
let outcomes = executor::run(&client, &sites, &username, ExecutorOptions::default()).await;
for outcome in outcomes.iter().filter(|o| o.kind == MatchKind::Found) {
println!("found: {} → {}", outcome.site, outcome.url);
}Re-exports§
pub use browser::BrowserBackend;pub use browser::BrowserBudget;pub use browser::RenderedPage;pub use doctor::DoctorReport;pub use doctor::FixSuggestion;pub use executor::ExecutorOptions;
Modules§
- browser
- Browser backend for pages that are unusable from raw HTTP.
- doctor
- Site signature health check.
- executor
- Concurrent fan-out runner for site probes.
Structs§
- Cache
- In-memory cache backed by a JSON file.
- Check
Outcome - Result of probing a single site for a username.
- Client
- HTTP client used to probe sites.
- Client
Builder - Builder for
Client. - Cluster
- A group of accounts that likely belong to the same person.
- Correlation
Report - Result of correlating a scan’s outcomes.
- Extractor
- A rule for extracting one profile field from a page.
- RawResponse
- Raw response data returned by
Client::fetchfor diagnostics. - Registry
- A loaded, validated collection of site definitions.
- Site
- One site we can probe for the existence of an account.
- UrlTemplate
- URL template containing a
{username}placeholder. - Username
- A validated username.
Enums§
- Error
- Errors produced by the Adler engine.
- Known
Present - Known-present declaration on a
Site. - Match
Kind - Outcome of a single site probe.
- Permute
Level - How aggressively to expand a username into variants.
- Signal
- A single piece of evidence about whether an account exists.
- Uncertain
Reason - Why a probe was inconclusive.
Constants§
- DEFAULT_
BROWSER_ BUDGET - Default ceiling on browser-backed probes per scan when no other value is specified.
- LINK_
THRESHOLD - Minimum pairwise score to link two accounts.
- MAX_
VARIANTS - Hard cap on the number of variants returned (including the original).
Functions§
- correlate
- Correlate
Foundaccounts by their enrichment fields. - permute
- Expand
usernameinto a deduplicated list of variants perlevel.
Type Aliases§
- Result
- Result alias used throughout the engine.