{"id":25411329,"url":"https://github.com/axion-security/phantomusb","last_synced_at":"2026-02-27T12:34:32.079Z","repository":{"id":277771067,"uuid":"933440704","full_name":"Axion-Security/PhantomUSB","owner":"Axion-Security","description":"WiFi-controlled keystroke injection tool using ESP32 and CH9329","archived":false,"fork":false,"pushed_at":"2025-02-23T19:35:19.000Z","size":32263,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-02-23T20:29:46.330Z","etag":null,"topics":["ch9329","esp32","hid-attack","keystroke-injection","pentesting","physical-security","red-teaming"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Axion-Security.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-02-16T00:31:31.000Z","updated_at":"2025-02-23T19:35:22.000Z","dependencies_parsed_at":"2025-02-16T01:24:20.117Z","dependency_job_id":"00340784-c625-41b7-8f9f-a6e6d7ecb7eb","html_url":"https://github.com/Axion-Security/PhantomUSB","commit_stats":null,"previous_names":["axion-security/phantomusb"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Axion-Security%2FPhantomUSB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Axion-Security%2FPhantomUSB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Axion-Security%2FPhantomUSB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Axion-Security%2FPhantomUSB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Axion-Security","download_url":"https://codeload.github.com/Axion-Security/PhantomUSB/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248845171,"owners_count":21170713,"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","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":["ch9329","esp32","hid-attack","keystroke-injection","pentesting","physical-security","red-teaming"],"created_at":"2025-02-16T10:17:09.472Z","updated_at":"2026-02-27T12:34:31.982Z","avatar_url":"https://github.com/Axion-Security.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Banner](images/banner.png)\n\n\u003ch1 align=\"center\"\u003ePhantomUSB 🔮\u003c/h1\u003e\n\u003ch3 align=\"center\"\u003eThe Open-Source Keystroke Injection Device for Pentesters\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Version\" src=\"https://img.shields.io/badge/version-1.2-blue?style=for-the-badge\"/\u003e\n  \u003cimg alt=\"License\" src=\"https://img.shields.io/badge/license-CC4.0-green?style=for-the-badge\"/\u003e\n  \u003cimg alt=\"Price\" src=\"https://img.shields.io/badge/cost-$11.24-ff69b4?style=for-the-badge\"/\u003e \n\u003c/p\u003e\n\n## PhantomUSB\n**PhantomUSB** is a **WiFi-enabled keystroke injection device** with a built-in scripting engine and a dual LED status system. Powered by an **ESP32 Wroom32U** and **CH9329**, it enables seamless, remote-controlled automation of keyboard inputs over a secure WiFi AP. With **low-latency execution**, **plug \u0026 play setup**, and an intuitive **web interface**, PhantomUSB is designed for professionals who require precision, flexibility, and efficiency in automated keystroke execution.\n\n## ✨ Features\n- 📡 **Remote Keystroke Injection** via Web Interface (WiFi Access Point)\n- 💡 **Dual LED Status System** (Operation Feedback)\n- 📜 **Embedded Scripting Language** ([Documentation](https://learn.axionsec.pro/PhantomUSB/Phantom))\n- ⚡  **Low-latency Communication** with CH9329\n- 🛠️ **Plug \u0026 Play Setup** with ESP32 Wroom32U \u0026 CH9329\n- 🔒 **Secure Connection** (WPA2 Protected)\n- 📚 **Open Source** (Fully Customizable)\n- 📱 **Cross-Platform Compatibility** (Windows, Linux, Mac)\n- 🚀 **Easy Flashing** using Web Flasher ([Web Flasher](https://flash.axionsec.pro/))\n- 📖 **Detailed Documentation** ([Learn](https://learn.axionsec.pro/PhantomUSB/Phantom))\n- 💸 **Cheap \u0026 Affordable** (DIY Components ~ $11.24)\n\n---\n\n## 🛠 Hardware Setup\n\n### 🔌 Pinout Diagram\n\n| ESP32 Wroom32U | CH9329 | LEDs       |\n|----------------|--------|------------|\n| GND            | GND    |            |\n| VIN (5V)       | 5V     |            |\n| GPIO 17        | TX     |            |\n| GPIO 16        | RX     |            |\n| GPIO 19        |        | LED Write  |\n| GPIO 18        |        | LED Status |\n\n**LED Behavior:**\n- 💚 **Write LED (GPIO 18):** Blinks during script execution\n- 💙 **Status LED (GPIO 19):** Solid = CH9329 Active and ready \n\n---\n\n### 📦 Components\n| Component                       | Quantity | Price   | Source      |\n|---------------------------------|----------|---------|-------------|\n| ESP32 Wroom32U                  | 1        | ~ $5    | AliExpress  |\n| CH9329                          | 1        | ~ $1.85 | AliExpress  |\n| LEDs (Blue and Green)           | 2        | ~ $1.59 | AliExpress  |\n| Jumper Wires (10cm)             | 1        | ~ $1.30 | AliExpress  |\n| IPEX to SMA Pigtail Antenna Set | 1        | ~ $1.50 | AliExpress  |\n- Total Cost: **$11.24** (Excluding Shipping)\n- ~ = Approximate Price\n- **Note:** Prices may vary based on the seller and location.\n- **Soldiering is not required when using jumper wires.**\n- 🧩 **No Soldering Needed** - Jumper wire compatible\n---\n\n### 🔧 Setup Guide\n\u003cimg src=\"images/setup_showcase.png\" alt=\"Showcase\" width=\"200\"\u003e\n\n1. Glue the CH9329 to the back of the ESP32 (bottom side).\n2. Connect the CH9329 to the ESP32 using small jumper wires.\n3. Make sure everything fits well without parts sticking out.\n4. Connect the LEDs to the ESP32 (soldering is best for a strong connection).\n5. 3D Print ([3mf File](/PhantomUSB%20Case.3mf)) or make a DIY case for the Phantom USB.\n\n---\n\n## 📶 WiFi Credentials\n\n```ini\nIP: 192.168.4.1\nSSID: \"PhantomUSB\"\nPassword: \"12345678910\"\n```\n\n---\n\n## 📜 Scripting Language Documentation\n\n**Full Documentation:**  \n[https://learn.axionsec.pro/PhantomUSB/Phantom](https://learn.axionsec.pro/PhantomUSB/Phantom)\n\n**Basic Commands:**\n- ⌨️ `write \"text\"` - Type text with keyboard emulation\n- ⏎ `writeLn \"text\"` - Type text + press Enter\n- ⏳ `delay \"ms\"` - Pause execution (milliseconds)\n\n**Advanced Features:**\n- 🖥️ `terminal \"OS\"` - Auto-open system terminal (Windows/Linux/Mac)\n- 🔢 `key \"F1-F24\"` - Press any key\n- 🧭 `arrowKey \"direction\"` - Navigate with arrow keys\n- 🤖 `comboKey \"key1+key2\"` - Press multiple keys simultaneously","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxion-security%2Fphantomusb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxion-security%2Fphantomusb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxion-security%2Fphantomusb/lists"}