Raspiducky
High-Performance USB Gadget & DuckyScript Appliance
Key Features
- Single Binary Architecture: Built in modern Golang with zero runtime external dependencies and an embedded Web UI via
go:embed. - Linux Kernel ConfigFS: Direct interaction with
/sys/kernel/config/usb_gadgetand/dev/hidg*char devices for dynamic gadget configuration without reboots. - Dual Scripting Engine: Native execution of standard Hak5 Rubber Ducky scripts (
.txt) and advanced ECMAScript 5.1+ JavaScript payloads (.js). - Host LED Listener: Monitors output reports from
/dev/hidg0(NUMLOCK,CAPSLOCK,SCROLLLOCK) enabling target-host synchronization and trigger-based execution. - Web Dashboard & REST API: Modern dark-mode SPA with real-time WebSocket log streaming, script editor, job manager, and live gadget controls.
- Multi-Board Support: Cross-compiled binaries for ARMv6, ARMv7, ARM64, and AMD64 targeting Raspberry Pi Zero, Pi 3, Pi 4, Pi 5, Orange Pi, and NanoPi.
Screenshot Gallery
| Main Dashboard & Gadget Control | Script Editor & Live Execution Console | Payload Library & Job Manager |
|---|---|---|
![]() |
![]() |
![]() |
Documentation Topics
Architecture & Core Engine
High-level system architecture, single-binary Go design, ConfigFS kernel interaction, and package breakdown.
USB Gadget Functions
Technical breakdown of Keyboard, Mouse, Mass Storage, CDC-ECM/RNDIS Network, and ACM Serial interfaces.
DuckyScript & JS Engines
Dual scripting runtime guide, Hak5 Rubber Ducky syntax, Goja JavaScript API reference, and host LED listeners.
Web Dashboard & REST API
Single Page Application features, REST endpoints reference, and WebSocket real-time event streaming.
Hardware & SBC Matrix
USB OTG controller types, DWC2 vs DWC3 IN endpoint hardware limits, supported boards, and binary assets.
CLI & Headless Automation
Daemon mode flags, headless payload execution, systemd integration, and boot-time crontab automation.
Installation & Building
One-line automated installation script, cross-compilation instructions, and building from source.


