{"id":30515334,"url":"https://github.com/ahm4dd/racer","last_synced_at":"2025-10-25T00:32:21.417Z","repository":{"id":311617521,"uuid":"1044302602","full_name":"ahm4dd/Racer","owner":"ahm4dd","description":"An educational bot for TypeRacer that demonstrates how modern OCR can bypass simple image-based CAPTCHAs. [De-Weaponized]","archived":false,"fork":false,"pushed_at":"2025-08-25T14:48:39.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-25T15:43:35.685Z","etag":null,"topics":["racer","typeracer","typeracer-bot","typing-bot"],"latest_commit_sha":null,"homepage":"https://greasyfork.org/en/scripts/547245-typeracer-racer-v3-4/code","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ahm4dd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-25T13:33:37.000Z","updated_at":"2025-08-25T14:48:43.000Z","dependencies_parsed_at":"2025-08-25T15:43:39.087Z","dependency_job_id":"0bfaa1a2-8011-47b8-b982-08917b327cc3","html_url":"https://github.com/ahm4dd/Racer","commit_stats":null,"previous_names":["ahm4dd/racer"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ahm4dd/Racer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahm4dd%2FRacer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahm4dd%2FRacer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahm4dd%2FRacer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahm4dd%2FRacer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahm4dd","download_url":"https://codeload.github.com/ahm4dd/Racer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahm4dd%2FRacer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272192692,"owners_count":24889468,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-26T02:00:07.904Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["racer","typeracer","typeracer-bot","typing-bot"],"created_at":"2025-08-26T08:17:12.916Z","updated_at":"2025-10-25T00:32:21.411Z","avatar_url":"https://github.com/ahm4dd.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Racer: An Educational Bot\n\n![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)\n![Purpose: Educational](https://img.shields.io/badge/Purpose-Educational%20Use%20Only-yellow.svg)\n![Status: Non-Functional Exploit](https://img.shields.io/badge/Status-Non--Functional%20Exploit-red.svg)\n\nThis project is a **de-weaponized, educational tool** designed to demonstrate a common web security vulnerability: the bypass of simple image-based CAPTCHAs using Optical Character Recognition (OCR). The bot is fully featured for racing on TypeRacer but is **intentionally designed to fail the anti-cheat \"Typing Challenge.\"**\n\nThe goal is to provide a safe, hands-on learning experience for developers, students like me, without providing a tool that can be used for actual cheating.\n\n\n## Getting Started\n\n### Prerequisites\n\nYou need a userscript manager browser extension.\n- [**Tampermonkey**](https://www.tampermonkey.net/) (Recommended for Chrome, Firefox, Edge, Safari)\n\n### Installation\n\n1.  Make sure you have one of the managers above installed.\n2.  Click here to install the script: [DOWNLOAD](https://greasyfork.org/en/scripts/547245-typeracer-racer-v3-4)\n3.  Once you installed it, open your userscript manager and make sure the script is enabled.\n \n---\n\n### The Vulnerability Explained: Image CAPTCHAs vs. OCR\n\nMany systems rely on showing users an image of distorted text to prove they are human. The assumption is that computers cannot \"read\" text inside an image.\n\nThis assumption is no longer safe. Modern, open-source OCR libraries like **Tesseract.js** can be integrated directly into browser scripts. With minimal image pre-processing, these libraries can achieve high accuracy in converting image text back into character strings, allowing a bot to programmatically solve the challenge (There are better ways to do this, but for illustration, we will proceed with our current code).\n\nThis project demonstrates this entire process, but stops short of submitting the correct answer, ensuring it remains an educational tool.\n\n### Demonstration\n\nThis video shows the bot in action: it performs a race at a configured speed, encounters the \"Typing Challenge,\" and then visibly fails the check in a controlled manner.\n\n\n\nhttps://github.com/user-attachments/assets/b39ea5a7-16a6-4a3a-8cb5-433f2c7d37b6\n\n\nhttps://github.com/user-attachments/assets/31b19b71-5ed6-46c2-b0ca-18f3a5498808\n\n\n---\n\n## ⚠️ Ethical Disclaimer \u0026 Terms of Service\n\nThis project is for learning and responsible disclosure. Using automated tools to gain an unfair advantage on TypeRacer is **strictly against their Terms of Service.**\n\n\u003e **From the TypeRacer Terms of Service (Section 2. Cheating):**\n\u003e\n\u003e Dishonest competition between players will not be tolerated. You shall not:\n\u003e - cheat during gameplay or carry out any action to artificially enhance your typing speed or other statistics\n\u003e - use any third-party software to modify TypeRacer to change gameplay, including, but not limited to cheats and/or hacks;\n\n**This project and its author do not condone cheating.** By using this code, you agree that you will not modify it to create a functional cheat and will only use it for educational purposes on your own accounts. Any consequences of violating TypeRacer's ToS are your own responsibility.\n\n---\n\n## Features\n\n- **WPM \u0026 Accuracy Control:** Configure the bot's speed and precision to simulate different typing styles.\n- **Human-like Behavior:** Simulates mistakes and corrections, making its typing pattern more realistic.\n- **Intelligent Pause/Resume:** Stop the bot, type manually, and the bot can resume from where you left off.\n- **Full UI Control:** A clean, draggable UI to manage the bot's settings and state.\n- **(Non-Functional) CAPTCHA Bypass:** Demonstrates the full logic of detecting and reading the CAPTCHA, but intentionally fails to solve it.\n\n---\n\n\n## How to Use\n\n1.  Navigate to [https://play.typeracer.com/](https://play.typeracer.com/).\n2.  Join a race. The bot's UI will appear in the bottom-right corner.\n3.  Adjust the **WPM** and **Accuracy** sliders to your desired settings.\n4.  Click **\"Start\"** to activate the bot. It will wait for the race to begin and then start typing.\n5.  Click **\"Stop\"** at any time to pause the bot.\n6.  Click **\"Clear\"** to instantly stop all actions and reset the bot for a new race.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahm4dd%2Fracer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahm4dd%2Fracer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahm4dd%2Fracer/lists"}