wangchangbing / fakebrowser

Fake fingerprints to bypass anti-bot systems. Simulate mouse and keyboard operations to make behavior like a real person and defeat detection by risk control systems. Deploy to Linux using a headless browser to save costs.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

 _______      _            ______                                          
(_______)    | |          (____  \                                         
_____  ____  | |  _  ____  ____)  )  ____  ___   _ _ _   ___   ____   ____
|  ___)/ _  || | / )/ _  )|  __  (  / ___)/ _ \ | | | | /___) / _  ) / ___)
| |   ( ( | || |< (( (/ / | |__)  )| |   | |_| || | | ||___ |( (/ / | |    
|_|    \_||_||_| \_)\____)|______/ |_|    \___/  \____|(___/  \____)|_|

🐭 Fake browser, headless browser, all for bots πŸ€–

  • Basic version: Based on puppeteer, uses JavaScript hooks to modify properties and provides a simple api to make your web bot undetectable.
  • Advanced version: fakechrome recompiled Chromium to complete the simulation more thoroughly.

Reverse engineering is not easy, and I would appreciate if you could give a ⭐!


Technical details

FakeBrowser automatic login demo:

  • Using dumpDD.js to collect fingerprint from real users.
  • Writing evasions😈 based on puppeteer-extra to simulate the above fingerprints and bypass anti-bot detection.
  • Provide toolkit API to simulate real user's mouse and keyboard operations.
  • Deploy to Linux and use Chrome/Edge in headless mode to SAVE COST. Reasons for not using Chromium: no support MP4 and few users using it.
  • Captcha recognition from my another open source project: anti-captcha.

🐱 Bot / Fingerprint detection sites

These pages use many fingerprinting techniques to detect if the browser is crawler software.

Results of running FakeBrowser on CentOS 7.9, Headless Chrome 93.0.4577.82, Socks5 proxy under AWS VPS:

Test page Notes Result
fingerprintjs The basic fingerprint detection is easy to bypass. Even with the pro version, FakeBrowser is able to cheat easily. πŸ”
creepjs Contains lots of advanced detection methods, bypassing it took me a lot of time, but he provides source code, thanks to the author. It uses Worker, ServiceWorker to detect at the same time, and FakeBrowser is perfectly bypassed. πŸ”
pixelscan JS code is obfuscated and can only be restored through the AST tree. The vulnerability is the detection process submits results to server, and we can reverse their analysis process based on the results. It detects if the browser font matches the system in UserAgent. FakeBrowser emulates fonts in 4 ways to bypass the detection perfectly. πŸ”
amiunique - πŸ”
browser-fingerprinting This author is also working on anti-anti-bot systems, and I learned lots of knowledge from his repository, thank you very much! πŸ”
coveryourtracks This site detects if your canvas/webgl fingerprint is stable by refreshing the page to check if you are a real environment. In fact, simply adding noise to canvas is not enough, undrawn rectangular areas are easily detected if they have noise. FakeBrowser uses an edge detection method that only adds noise to drawn edges of text, circles, ellipses. πŸ”
f.vision - πŸ”
recaptcha-test Detects how many points your browser scores in reCaptcha. πŸ”
deviceinfo -
hackability - -
sannysoft No pressure to bypass. πŸ”
incolumitas This guy also collects lots of bot detection methods, and his blog contains advanced methods for proxy/VPN detection, recommended following. BTW: He uses puppeteer-extra-plugin-strealth's code bugs for bot detection, and there's nothing he can do if I fix those bugs. His test results are very unstable, with FakeBrowser often jumping between 0.8 and 1.0. Even a normal browser's score can drop to 0.5. πŸ”
antoinevastel Fingerprint detection page πŸ”
browserleaks Everyone should know what this site is πŸ”
morellian - πŸ”
vytal.io - πŸ”

About

Fake fingerprints to bypass anti-bot systems. Simulate mouse and keyboard operations to make behavior like a real person and defeat detection by risk control systems. Deploy to Linux using a headless browser to save costs.

License:GNU Lesser General Public License v3.0


Languages

Language:JavaScript 91.0%Language:TypeScript 8.5%Language:HTML 0.3%Language:Shell 0.2%