Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Why not? Anti-detect browser tampering detected, potentially a bot, access denied. #299

Unanswered
tuyendung1 asked this question in Q&A
Discussion options

def test_fingerprintjs(page):
"""demo.fingerprint.com/web-scraping — industry-standard bot detection."""
page.goto("https://demo.fingerprint.com/web-scraping", wait_until="domcontentloaded", timeout=30000)
time.sleep(8)

# Click search to trigger bot detection — bots get blocked, humans see flights
try:
 page.click("button:has-text('Search')", timeout=5000)
 time.sleep(5)
except Exception:
 pass
results = page.evaluate("""() => {
 const text = document.body.innerText;
 // Bots see error messages; humans see flight prices
 const hasFlights = text.includes('Price per adult') || text.includes('$');
 const isBlocked = text.includes('request was blocked') || text.includes('bot visit detected');
 return {passed: hasFlights && !isBlocked, isBlocked, hasFlights};
}""")
return results

Anti-detect browser tampering detected, potentially a bot, access denied.

You must be logged in to vote

Replies: 2 comments 1 reply

Comment options

Thanks for the report. "Anti-detect browser tampering" maps to FPJS's tampering: true signal — their ML catching patch anomalies in rendering output.

Try this config first (consistently passes FPJS playground across #124, #193, #197):

import cloakbrowser
import time
browser = cloakbrowser.launch(
 headless=False,
 geoip=True,
 proxy="http://user:pass@residential-proxy:port",
 args=[
 "--fingerprint-noise=false",
 "--fingerprint-screen-width=1920",
 "--fingerprint-screen-height=1080",
 ],
)
page = browser.new_page()
page.goto("https://demo.fingerprint.com/web-scraping", wait_until="domcontentloaded", timeout=30000)
time.sleep(8)

Key points:

  • --fingerprint-noise=false — noise is on by default and FPJS flags the variations as tampering
  • headless=False — FPJS detects headless even with patches
  • geoip=True + residential proxy — resolves timezone + locale from exit IP; datacenter IPs get flagged at IP reputation level before fingerprinting runs
  • Use launch(), not launch_persistent_context() — FPJS still flags persistent context (demo.fingerprint.com/playground detects as bot (type: nodriver) #124 )
  • time.sleep() instead of page.wait_for_timeout()wait_for_timeout sends CDP commands that anti-bot systems detect

If it still fails, share:

  1. CloakBrowser version (pip show cloakbrowser) and binary version (ls ~/.cloakbrowser/) — tampering fixes landed across v0.3.26–0.3.30
  2. OS / environment — native Linux / Docker / Windows / macOS (Docker triggers tampering more than native; macOS rarely does)

Related: #193, #197, #294. Let us know if this works for you.

You must be logged in to vote
1 reply
Comment options

Regarding Cloakbrowser Manager, when running a profile it reports 512MB RAM. 4GB RAM should support 8 profiles. Why is it lagging with 3 profiles after running Cloakbrowser? Or is it because running it with Docker makes Choium run better? Or is Choium on Docker different from the Cloakbrowser Python version?

Comment options

Can multi-profile gologin be used, bro? What about launch_persistent_context_asynic(), or do I have to use launch()? And will it bypass anti-detect browsers? Vào 7:53, Th 7, 23 thg 5, 2026 Cloak-HQ ***@***.***> đã viết:
...
Thanks for the report. "Anti-detect browser tampering" maps to FPJS's tampering: true signal — their ML catching patch anomalies in rendering output. *Try this config first* (consistently passes FPJS playground across #124 <#124>, #193 <#193>, #197 <#197>): import cloakbrowserimport time browser = cloakbrowser.launch( headless=False, geoip=True, ***@***.***:port", args=[ "--fingerprint-noise=false", "--fingerprint-screen-width=1920", "--fingerprint-screen-height=1080", ], )page = browser.new_page()page.goto("https://demo.fingerprint.com/web-scraping", wait_until="domcontentloaded", timeout=30000)time.sleep(8) Key points: - --fingerprint-noise=false — noise is on by default and FPJS flags the variations as tampering - headless=False — FPJS detects headless even with patches - geoip=True + residential proxy — resolves timezone + locale from exit IP; datacenter IPs get flagged at IP reputation level before fingerprinting runs - Use launch(), not launch_persistent_context() — FPJS still flags persistent context (#124 <#124>) - time.sleep() instead of page.wait_for_timeout() — wait_for_timeout sends CDP commands that anti-bot systems detect If it still fails, share: 1. *CloakBrowser version* (pip show cloakbrowser) and *binary version* (ls ~/.cloakbrowser/) — tampering fixes landed across v0.3.26–0.3.30 2. *OS / environment* — native Linux / Docker / Windows / macOS (Docker triggers tampering more than native; macOS rarely does) Related: #193 <#193>, #197 <#197>, #294 <#294>. Let us know if this works for you. — Reply to this email directly, view it on GitHub <#299 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/A7CB2OGV2OCDW4XU4GFFLUL44DZBTAVCNFSM6AAAAACZJ5JURKVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTOMBSHAYDINY> . Triage notifications on the go with GitHub Mobile for iOS <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>. You are receiving this because you authored the thread.Message ID: ***@***.***>
You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet

AltStyle によって変換されたページ (->オリジナル) /