negt-dev/funcaptcha-solve-rsa — explained in plain English
Analysis updated 2026-05-18
Study how anti-bot browser fingerprinting and challenge flows are built.
Learn how proof-of-work puzzles are structured and solved programmatically.
Examine how obfuscated JavaScript keys can be recovered and reused in another language.
| negt-dev/funcaptcha-solve-rsa | rockorager/comview | dsthakurrawat/backend-from-first-principle | |
|---|---|---|---|
| Stars | 47 | 47 | 46 |
| Language | Go | Go | Go |
| Setup difficulty | moderate | easy | easy |
| Complexity | 5/5 | 2/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires an API key from an external image-recognition provider to answer the puzzle images.
This project is the decompiled source code for a service that automatically solves FunCaptcha, the visual puzzle challenge made by Arkose Labs and used by many websites to tell humans apart from bots. The author describes it as archived and educational only, noting that it once worked but is no longer operational. The program is written in Go and compiles to a single file with no extra runtime dependencies aside from an outside image recognition service it calls on to read the visual puzzle images. It works by copying the fingerprint of a real web browser, including its TLS and JA3 network signature, so requests look like they are coming from an actual person using Chrome or another common browser. It encrypts data the same way the official JavaScript client does, walks through the same multi step process Arkose uses to issue a challenge, and answers the picture based puzzle waves using its recognition provider before returning a completed token. Inside, the code is split into clear pieces. One part handles the web server and task queue. Another manages the solving steps themselves, including reading the obfuscated site script to recover an encryption key. A separate piece handles proof of work puzzles that some challenges require, either solving them locally or handing them back to whoever is using the service. Other folders manage the browser fingerprint details and the network transport layer, including newer HTTP/3 support. Setting it up means building the Go binary and running it with an API key for the chosen image recognition provider, after which it exposes simple web addresses for starting a solve, checking on it, and handling proof of work steps. The README documents every file and its job in detail, which is unusually thorough for a project of this kind. Because it is marked archived, expect that it may no longer work against the current version of the anti bot service it targets.
An archived, educational Go project that automated solving Arkose Labs' FunCaptcha puzzle challenge by mimicking a browser and answering the images.
Mainly Go. The stack also includes Go, TLS/JA3, HTTP/3.
MIT license: use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.