{"repo":"walterwhite-69/ViperTLS","free":true,"listed":false,"github":"https://github.com/walterwhite-69/ViperTLS","clone":"git clone https://github.com/walterwhite-69/ViperTLS.git","description":"Pure Python TLS fingerprinting and browser challenge solver with TLS-first requests, Cloudflare bypass fallback, and reusable clearance caching.","language":"Python","stars":31,"topics":["api","asyncio","bypass","cloudflare","fast-api","fastapi","fingerprint","ja3","playwright","proxy"],"license":null,"category":"scrapers-browser-automation","readme_excerpt":"Pure Python TLS fingerprint spoofing with browser challenge fallback. No curl cffi. No Go binary. No excuses. --- What is this? ViperTLS is a pure Python HTTP client that makes your requests look like they're coming from a real browser at the TLS level. It spoofs: - JA3 / JA4 family — The full TLS ClientHello fingerprint suite: JA4, JA4 r, JA4H, JA4S, JA4L - HTTP/2 SETTINGS frames — The window sizes, header table sizes, and frame ordering that real browsers negotiate - HTTP/2 pseudo-header order — Chrome sends :method :authority :scheme :path . Firefox does :method :path :authority :scheme . - HTTP header ordering — Because Cloudflare reads your headers like a suspicious bouncer reading a fake ID - HTTP/3 / QUIC — Browser-accurate QUIC transport parameters per browser family via aioquic The result: your Python script walks up to Cloudflare's velvet rope looking like Chrome in a suit, and gets waved straight through. When TLS fingerprinting is not enough and a site still throws a browser challenge, ViperTLS escalates into a real browser solve, captures the useful cookies, and reuses them on later requests. So the practical request flow is: - TLS when the site uses invisible Cloudflare or fingerprint-only checks - Browser when the site needs a full JS challenge solve - Cache when the site was already solved and the clearance cookies are still valid Think of it as CycleTLS — but in pure Python, without spawning a Go subprocess, without curl cffi, and without any of that compiled","default_branch":null,"files":null,"tree":[],"storefront":"/r/walterwhite-69","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/walterwhite-69/ViperTLS/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}