Pineapple Pager DevDevelop, deploy, run, and debug WiFi Pineapple Pager payloads directly from VS Code.
What It DoesPineapple Pager Dev replaces the manual cycle of editing, SCP-uploading, SSH-ing, chmod-ing, and running payloads on the Hak5 WiFi Pineapple Pager. One keystroke deploys and runs your payload with live output streaming back into VS Code. The extension provides full DuckyScript syntax highlighting, IntelliSense snippets, interactive dialog support, device management, loot browsing, and payload templates — all through the SSH connection to your Pager. FeaturesDeploy and Run
Smart DeployThe default deploy command hashes your payload locally and compares it against the deployed version. If nothing changed, it skips the upload and runs the existing copy. This makes the edit-test loop faster, especially over slower USB connections. Multi-File Payload DeployPayloads that include helper scripts, config files, or data files alongside Interactive DuckyScript DialogsWhen a payload calls DuckyScript UI commands (CONFIRMATION_DIALOG, TEXT_PICKER, NUMBER_PICKER, IP_PICKER, MAC_PICKER, PROMPT, etc.), the extension intercepts them and shows native VS Code dialogs. This means you can develop and test interactive payloads without pushing to the Pager screen every time. Live Output StreamingPayload output streams in real time to the VS Code Output panel. LOG messages, errors, and exit codes all appear as the payload runs. A separate device log stream (Ctrl+Shift+L) tails DuckyScript Syntax HighlightingFull syntax highlighting for all Pager DuckyScript commands (LOG, ALERT, CONFIRMATION_DIALOG, PINEAPPLE_DEAUTH_CLIENT, WIFI_OPEN_AP, etc.) on top of standard bash syntax. The grammar covers user commands, Pineapple commands, WiFi/VPN/DNS commands, and Pager-specific paths. IntelliSense SnippetsType a prefix and press Tab to expand common patterns:
Sidebar: Device InfoA tree view showing live device information — model, firmware version, kernel, IP, battery level, uptime, memory, overlay and MMC storage, load average, process count, radio count, and Bluetooth address. Includes a collapsible WiFi status section showing the state of all six interfaces: client (wlan0cli), client IP, Open AP, WPA AP, Management AP, and Monitor mode. Sidebar: Payloads on DeviceBrowse all payloads installed on the Pager organized by category. Right-click to run, view source, download to local, rename, or delete. Supports both individual files and payload directories. Sidebar: Loot ExplorerBrowse, preview, and download files from Battery Status BarA status bar item shows the Pager's battery percentage with a charging indicator. Polls every 60 seconds while connected. Icons adapt to battery level (empty, low, medium, high, full, charging). Auto-ReconnectIf the SSH connection drops unexpectedly, the extension waits 3 seconds then reconnects automatically. A notification gives you the option to reconnect immediately or cancel. This can be toggled off in settings. Connection Error HandlingAll SSH error types (timeout, refused, unreachable, auth failure) show specific diagnostic messages with a Retry button. Timeout errors include guidance about Pager boot time and how to increase the timeout setting. Payload TemplatesCtrl+Shift+P, then "Pager: New Payload from Template" offers 12 templates:
Alert templates include all available environment variables as documented comments. Recon templates include both AP and client environment variables. Payload Config EditorCtrl+Shift+P, then "Pager: Edit Payload Config" lets you view, set, and delete UCI-based payload configuration values directly from VS Code. This is the same persistent config that Payload ValidationThe extension checks your payload for common issues: missing shebang, CRLF line endings, DuckyScript command casing errors, and unmatched quotes. Theme SupportThe sidebar icon uses Quick Start1. InstallInstall the
Or install from the VS Code Extensions view: click the 2. ConnectClick the "Pager: Offline" status bar item at the bottom left of VS Code. Enter your SSH password when prompted. Alternatively: Ctrl+Shift+P, then "Pager: Connect to Device". 3. Write and DeployCreate a new payload from a template (Ctrl+Shift+P, "Pager: New Payload from Template"), edit it, then press Ctrl+Shift+R to deploy and run. ConfigurationOpen Settings (Ctrl+,) and search for "Pager":
SSH Key Authentication
Then set Keyboard Shortcuts
CommandsAll commands are available via Ctrl+Shift+P:
Requirements
Known IssuesThis extension is in early development. Known issues include:
Report bugs at: https://github.com/JackVinati/pineapple-pager-dev-extension/issues Building from Source
LicenseMIT DisclaimerThis tool is intended for authorized security testing and educational purposes only. Always obtain proper authorization before testing on networks you do not own. The authors are not responsible for misuse. |