HBrowser can route all traffic through the Tor network for IP privacy. If Tor Browser is installed, HBrowser will automatically detect and use it. To install:
- Download and install from https://www.torproject.org/download/
- HBrowser will automatically locate the
torbinary from the default installation path:- macOS:
/Applications/Tor Browser.app/Contents/MacOS/Tor/tor - Linux:
/usr/bin/tor - Windows: Searches common installation paths (
Desktop,AppData,Program Files)
- macOS:
- If Tor Browser is not installed, HBrowser will use a direct connection instead.
- To force disable Tor even when installed, set
USE_TOR=0. - If your Tor Browser is installed in a non-standard location, set the
TOR_BINARY_PATHenvironment variable.
HBrowser can use FlareSolverr to automatically
solve Cloudflare's "managed challenge" (the plain JS challenge, not the interactive Turnstile
widget) without manual interaction. Set FLARESOLVERR_URL to your FlareSolverr instance's /v1
endpoint to enable it, e.g. http://127.0.0.1:8191/v1.
FlareSolverr's solved cf_clearance cookie is tied to the IP address it solved from, so it is
only used when Tor is not active — if both USE_TOR (or auto-detected Tor) and
FLARESOLVERR_URL are set, HBrowser ignores FlareSolverr and logs a warning, since the cookie
would not match the Tor exit IP anyway.
HBrowser requires the following environment variables:
EH_USERNAME: Your E-Hentai account usernameEH_PASSWORD: Your E-Hentai account passwordHBROWSER_LOG_LEVEL(optional): Control logging verbosity (DEBUG, INFO, WARNING, ERROR). Default: INFOUSE_TOR(optional): Set to0to disable Tor proxy even when Tor Browser is installed. Default: auto-detectTOR_BINARY_PATH(optional): Custom path to thetorbinary if not installed in the default locationFLARESOLVERR_URL(optional): FlareSolverr/v1endpoint used to auto-solve Cloudflare managed challenges. Ignored when Tor is active
Set the environment variables before running the script:
Bash/Zsh:
export EH_USERNAME=your_username
export EH_PASSWORD=your_password
export HBROWSER_LOG_LEVEL=INFO # Optional
export USE_TOR=0 # Optional: disable Tor proxy
export TOR_BINARY_PATH=/path/to/tor # Optional: custom tor path
export FLARESOLVERR_URL=http://127.0.0.1:8191/v1 # Optional: auto-solve CloudflareFish:
set -x EH_USERNAME your_username
set -x EH_PASSWORD your_password
set -x HBROWSER_LOG_LEVEL INFO # Optional
set -x USE_TOR 0 # Optional: disable Tor proxy
set -x TOR_BINARY_PATH /path/to/tor # Optional: custom tor path
set -x FLARESOLVERR_URL http://127.0.0.1:8191/v1 # Optional: auto-solve CloudflareWindows Command Prompt:
set EH_USERNAME=your_username
set EH_PASSWORD=your_password
set HBROWSER_LOG_LEVEL=INFO
set USE_TOR=0
set TOR_BINARY_PATH=C:\path\to\tor.exe
set FLARESOLVERR_URL=http://127.0.0.1:8191/v1Windows PowerShell:
$env:EH_USERNAME="your_username"
$env:EH_PASSWORD="your_password"
$env:HBROWSER_LOG_LEVEL="INFO"
$env:USE_TOR="0"
$env:TOR_BINARY_PATH="C:\path\to\tor.exe"
$env:FLARESOLVERR_URL="http://127.0.0.1:8191/v1"When a Cloudflare or CAPTCHA challenge appears during login, HBrowser will first try
FlareSolverr (if configured and applicable), then fall back to waiting for you to solve it
manually in the browser window. Set headless=False when initialising the driver to see the
browser window.
HBrowser uses Python's built-in logging module. You can control the log level using the HBROWSER_LOG_LEVEL environment variable:
- DEBUG: Detailed information for diagnosing problems (most verbose)
- INFO: Confirmation that things are working as expected (default)
- WARNING: Something unexpected happened, but the software is still working
- ERROR: A serious problem that prevented a function from executing
Example:
# Set log level to DEBUG for detailed output
export HBROWSER_LOG_LEVEL=DEBUG
python your_script.py
# Set log level to WARNING to see only warnings and errors
export HBROWSER_LOG_LEVEL=WARNING
python your_script.pyHere's a quick example of how to use HBrowser:
from hbrowser import EHDriver
if __name__ == "__main__":
with EHDriver() as driver:
driver.punchin()Here's a quick example of how to use HVBrowser:
from hvbrowser import HVDriver
if __name__ == "__main__":
with HVDriver() as driver:
driver.monstercheck()