Skip to main content

Crate adler_core

Crate adler_core 

Source
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:

§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.
CheckOutcome
Result of probing a single site for a username.
Client
HTTP client used to probe sites.
ClientBuilder
Builder for Client.
Cluster
A group of accounts that likely belong to the same person.
CorrelationReport
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::fetch for 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.
KnownPresent
Known-present declaration on a Site.
MatchKind
Outcome of a single site probe.
PermuteLevel
How aggressively to expand a username into variants.
Signal
A single piece of evidence about whether an account exists.
UncertainReason
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 Found accounts by their enrichment fields.
permute
Expand username into a deduplicated list of variants per level.

Type Aliases§

Result
Result alias used throughout the engine.