A tool for browsing tasks on e-h/exh-websites.
Project description
HBrowser (hbrowser)
Setup
Tor Proxy (Optional)
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.
FlareSolverr (Optional)
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.
Environment Variables
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 Cloudflare
Fish:
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 Cloudflare
Windows 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/v1
Windows 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.
Logging
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.py
Usage
Here'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()
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 hbrowser-0.28.1.tar.gz.
File metadata
- Download URL: hbrowser-0.28.1.tar.gz
- Upload date:
- Size: 65.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e3c95978bdd31a7fae97fba817df60ef125033276b7fc5d068ca0df36c768dd
|
|
| MD5 |
c7731d2e36071c9999c564129a0a6037
|
|
| BLAKE2b-256 |
c7be65bfcc119f314dfc9f437fea34e8db7502072fc81a1ddad0a1e4d6b6dc8c
|
Provenance
The following attestation bundles were made for hbrowser-0.28.1.tar.gz:
Publisher:
publish.yml on Kuan-Lun/hbrowser
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hbrowser-0.28.1.tar.gz -
Subject digest:
1e3c95978bdd31a7fae97fba817df60ef125033276b7fc5d068ca0df36c768dd - Sigstore transparency entry: 1858094494
- Sigstore integration time:
-
Permalink:
Kuan-Lun/hbrowser@721138bbf4279989b5b348d2305783fb88386ac2 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/Kuan-Lun
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@721138bbf4279989b5b348d2305783fb88386ac2 -
Trigger Event:
push
-
Statement type:
File details
Details for the file hbrowser-0.28.1-py3-none-any.whl.
File metadata
- Download URL: hbrowser-0.28.1-py3-none-any.whl
- Upload date:
- Size: 69.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e0735408cdc2aa2fd6737d63348b278d3721911cefd1b779e8e48e2fbe18ddc
|
|
| MD5 |
5fcd3c8a249c85c4d198e22f68a3828b
|
|
| BLAKE2b-256 |
15dde300fee615cb5e07df8c08090a160bca83726de91b754c1032664bfe196f
|
Provenance
The following attestation bundles were made for hbrowser-0.28.1-py3-none-any.whl:
Publisher:
publish.yml on Kuan-Lun/hbrowser
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hbrowser-0.28.1-py3-none-any.whl -
Subject digest:
0e0735408cdc2aa2fd6737d63348b278d3721911cefd1b779e8e48e2fbe18ddc - Sigstore transparency entry: 1858094511
- Sigstore integration time:
-
Permalink:
Kuan-Lun/hbrowser@721138bbf4279989b5b348d2305783fb88386ac2 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/Kuan-Lun
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@721138bbf4279989b5b348d2305783fb88386ac2 -
Trigger Event:
push
-
Statement type: