The web interface for everything HackRF/Portapack Mayhem. This project provides a comprehensive, browser-based dashboard to interact with your device, eliminating the need for command-line tools or constant SD card swapping for many common tasks.
This application is a Progressive Web App (PWA), so you can install it on your desktop and use it offline!
If you are new to the HackRF + PortaPack + Mayhem firmware, this video provides a great overview of what the firmware can do:
Mayhem Hub extends the functionality of your device by bringing it to your web browser.
- Live Screen Streaming: View your PortaPack's screen in real-time on your computer.
- Remote Control: Interact with your device's screen and buttons directly from the web UI, including keyboard shortcuts.
- File Management: Upload and download files to/from your device's SD card without removing it.
- One-Click Firmware Updates: Easily update to the latest stable or nightly Mayhem firmware builds.
- Custom Firmware Flashing: Flash
.tar
firmware files of your choice. - Serial Console: Access a full serial console for sending commands and viewing logs.
- Scripting: Run
.ppsc
scripts on your device. - PWA Support: Installable as a desktop app for a native-like experience and offline access.
- Customizable UI: Toggle visibility of different UI components to suit your workflow.
- A HackRF with a PortaPack.
- Mayhem Firmware: Ensure you are running at least stable version
v2.0.0
or nightlyn_240114
(or newer). - Your PortaPack must be in normal mode (not HackRF mode) to connect.
This application relies on the Web Serial API, which is not supported by all browsers. For the best experience, please use a compatible browser like:
- Google Chrome
- Microsoft Edge
- Opera
You can check the latest browser compatibility on caniuse.com/web-serial.
- macOS Users: There are known issues with Web Serial on macOS. If you encounter problems, please check and contribute to the discussion here.
- Next.js - React Framework
- TypeScript - Language
- Tailwind CSS - CSS Framework
- DaisyUI - Tailwind CSS Component Library
- Web Serial API - Hardware Communication
- PWA - for app-like features and offline support
Follow these steps to get a local copy up and running.
- Node.js (v18.17.0 or later)
- npm, yarn, or pnpm
- Clone the repository:
git clone https://github.com/portapack-mayhem/MayhemHub.git
cd MayhemHub
- Install dependencies:
npm install
- Run the development server:
npm run dev
You can also use `yarn dev`, `pnpm dev`, or `bun dev`.
- Open http://localhost:3000 with a compatible browser to see the result.
- Build for production:
npm run build
- Lint the project:
npm run lint
To run the Cloudflare Functions locally for development, you can use Wrangler:
npx wrangler pages dev public
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request