Anti-detection scraping & automation framework โ works on Windows, Linux, macOS, and Android (Termux)
Project description
๐ฆ Horus
Anti-detection scraping & automation framework.
Supports Windows / Linux / macOS / Android (Termux).
Installation
pip install horus-antidetect
# Or with browser automation support:
pip install "horus-antidetect[all]"
# After install, update browser fingerprints:
python -m browserforge update
Quick Start
Simple API
import horus
# GET request
r = horus.get("https://example.com")
print(r.status_code, r.text)
# POST request
r = horus.post("https://httpbin.org/post", json={"key": "value"})
# Check detection status
horus.check()
Advanced API
from horus import Horus
h = Horus(
proxy="http://user:pass@host:port",
impersonate="chrome124",
stealth=True,
speed="human",
)
r = h.get("https://example.com")
print(r.status_code)
# Check IP
print(h.ip())
# Check TLS fingerprint
print(h.tls())
Browser Automation (non-Android only)
ู ูุญูุธุฉ: ูู ู ูุซูุฏุฒ ุงูู behavioral (
click,type,scroll_down,scroll_up,scroll_to) sync ุจุงููุงู ู โ ู ุชูุงููุฉ ู ุนcamoufox.sync_api. ู ููุด ุญุงุฌุฉ ู ุญุชุงุฌุฉasyncioูู ุงูุฅุตุฏุงุฑ ุฏู.
import horus
# Simple
with horus.browse("https://example.com") as b:
b.open("https://example.com")
b.click("#login-btn")
b.type("#username", "myuser")
b.type("#password", "mypass")
b.scroll_down(300)
html = b.html()
b.screenshot("page.png")
# Advanced
from horus import Horus
with Horus(proxy="http://...", headless=False, speed="human") as h:
with h.browser as b:
b.open("https://facebook.com")
b.wait("#email")
b.type("#email", "user@example.com")
b.type("#pass", "password123")
b.click("[name='login']")
Proxy Management
from horus import Horus
h = Horus(proxies=[
"http://user:pass@proxy1:port",
"http://user:pass@proxy2:port",
"socks5://proxy3:port",
])
# Validate all proxies
results = h.validate_proxies()
# Rotate manually
h.rotate_proxy()
# Round robin (default) / random / least_used
h = Horus(proxy_strategy="random")
Platform Detection
import horus
print(horus.platform()) # 'windows' | 'linux' | 'android' | 'macos'
print(horus.IS_ANDROID) # True / False
from horus.core.platform import supports_browser, supports_behavioral
print(supports_browser()) # False on Android
print(supports_behavioral()) # False on Android
Detection Testing
import horus
from horus.utils import check_ip, check_tls, check_headers, full_report
# Quick checks
print(check_ip())
print(check_tls())
print(check_headers())
# Full report
horus.check()
Test sites:
Architecture
horus/
โโโ __init__.py โ Simple API (horus.get, horus.browse, ...)
โโโ horus.py โ Horus class (Advanced API)
โโโ core/
โ โโโ session.py โ curl_cffi TLS session
โ โโโ headers.py โ BrowserForge realistic headers
โ โโโ platform.py โ OS/platform detection
โโโ browser/
โ โโโ engine.py โ Camoufox wrapper (disabled on Android)
โโโ behavioral/
โ โโโ mouse.py โ Bezier curve mouse movement
โ โโโ typing.py โ Gaussian delay typing
โ โโโ scroll.py โ Physics-based scrolling
โโโ proxy/
โ โโโ manager.py โ Rotation + validation
โโโ utils/
โโโ detector.py โ Bot detection testing
Feature Matrix
| Feature | Windows | Linux | macOS | Android/Termux |
|---|---|---|---|---|
| TLS Fingerprint | โ | โ | โ | โ |
| Realistic Headers | โ | โ | โ | โ |
| Proxy Rotation | โ | โ | โ | โ |
| Browser (Camoufox) | โ | โ | โ | โ |
| Mouse Simulation | โ | โ | โ | โ |
| Typing Simulation | โ | โ | โ | โ |
| Scroll Simulation | โ | โ | โ | โ |
TLS Profiles
from horus import Horus
from horus.core.session import IMPERSONATE_PROFILES
print(IMPERSONATE_PROFILES)
# ['chrome124', 'chrome123', 'chrome120', 'edge122', 'edge120', 'safari17_0', ...]
h = Horus(impersonate="safari17_0")
h.rotate_profile() # random
h.rotate_profile("edge122") # specific
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file horus_antidetect-1.1.0.tar.gz.
File metadata
- Download URL: horus_antidetect-1.1.0.tar.gz
- Upload date:
- Size: 16.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1647f2fc157344a40236629c0766fbfb2653bb278b94c8270d8f501783080d3e
|
|
| MD5 |
17b9712f70d636443181e487ae20a671
|
|
| BLAKE2b-256 |
1ac6c69e21dde483cc43375e7019651244291ae721a5d01b0d44bc8506b9dd04
|
File details
Details for the file horus_antidetect-1.1.0-py3-none-any.whl.
File metadata
- Download URL: horus_antidetect-1.1.0-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32031363a4da004d95796ca3f5ac3c00477e527e84eaa95a845dfa21c1107056
|
|
| MD5 |
60b9ac3016301c960645cca81f0b15be
|
|
| BLAKE2b-256 |
c67c60ae5b3335bd449520e34f378efb1b41381005a9ead76a2aa10d453f70e5
|