Skip to main content

Anti-bot fetching subsystem: escalating Fetcher tiers (http/tls/browser/uc) behind a stable port, with fail-closed SSRF guards. Domain-agnostic: the caller injects a DomainPolicy.

Project description

autolycos

Anti-bot fetching subsystem: escalating Fetcher tiers (http to tls to browser to uc) behind a stable port, with fail-closed SSRF guards. Domain-agnostic by design: the caller injects a DomainPolicy, so the library carries no hardcoded allowlist.

Pre-release (0.1.0a1). The public API is not frozen yet and may change before the first stable release. Published mainly to reserve the name and validate the release pipeline. Not recommended for production use yet.

What it does

autolycos resolves access to bot-protected pages by escalating through increasingly capable (and costly) fetcher tiers, stopping at the first success:

  1. http -- plain HTTP with a pinned IP (SSRF-safe).
  2. tls -- TLS fingerprint impersonation (curl_cffi).
  3. browser -- undetected headless browser (patchright + playwright-stealth).
  4. uc -- undetected Chrome driver (seleniumbase) for the hardest protectors.

Access selection is a separate concern (the Router) from the tools (the adapters). SSRF safety is enforced fail-closed at both the config-mutation gate and the fetch gate via a single shared predicate.

Stable contract (consumer-facing)

  • autolycos.ports: Fetcher, FetchResult, Router
  • autolycos.safety: DomainPolicy, check_scheme_and_domain
  • autolycos.errors: SSRFError, FetchError
  • autolycos.router: StaticRouter

Install

pip install autolycos                 # core (http tier)
pip install "autolycos[tls]"          # + TLS impersonation
pip install "autolycos[browser]"      # + undetected browser
pip install "autolycos[uc]"           # + undetected Chrome driver

License

Apache-2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autolycos-0.1.0a1.tar.gz (24.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autolycos-0.1.0a1-py3-none-any.whl (34.0 kB view details)

Uploaded Python 3

File details

Details for the file autolycos-0.1.0a1.tar.gz.

File metadata

  • Download URL: autolycos-0.1.0a1.tar.gz
  • Upload date:
  • Size: 24.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for autolycos-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 978c246092f3620a1896e2c3c3beae18c034b72b3cbe4d3c1c3e2e621d710d49
MD5 9989b80a9319d67b8bb8c4fbc74cd053
BLAKE2b-256 dfd4eb68b17b60fe52b67dd775ed4f3d0e871a13935c8900158fb5a243b2a191

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolycos-0.1.0a1.tar.gz:

Publisher: publish.yml on VOCSAP/autolycos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autolycos-0.1.0a1-py3-none-any.whl.

File metadata

  • Download URL: autolycos-0.1.0a1-py3-none-any.whl
  • Upload date:
  • Size: 34.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for autolycos-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 db2f28135efe611e3a25b412f1935bc7c9acef371d13bbc4a6a6b93827baeabb
MD5 94a251eeb47495d0d781ceed065654ac
BLAKE2b-256 3411d53ac29aa570f45f6ece08bc891ebd40f944c1648a899280cfbcbef31439

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolycos-0.1.0a1-py3-none-any.whl:

Publisher: publish.yml on VOCSAP/autolycos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page