RF-Swift
π A powerful multi-platform RF toolbox that deploys specialized radio, hardware, and other security tools in seconds oβ¦
π RF Swift π‘
RFSwift_QuickRun2026.mp4
π What is RF Swift?
RF Swift is a revolutionary toolbox that transforms any computer into a powerful RF testing laboratory without requiring a dedicated operating system. π Unlike traditional approaches that force you to sacrifice your primary OS, RF Swift brings containerized RF tools to your existing environment. π
β‘ Why RF Swift Outperforms Dedicated OS Solutions
| Feature | RF Swift | Dedicated OS |
|---|---|---|
| π Host OS Preservation | β Keep your existing OS | β Requires dedicated partition or VM |
| π‘οΈ Tool Isolation | β Tools contained without system impact | β Tools can destabilize system |
| β‘ Deployment Speed | β Seconds to deploy | β Hours for full installation |
| πΎ Disk Space | β Only install tools you need | β Requires 20-50GB minimum |
| π Updates | β Update individual tools without risk | β System-wide updates can break functionality |
| π Multi-architecture | β x86_64, ARM64, RISCV64 and more! | β Limited architecture support |
| π Reproducibility | β Identical environments everywhere | β System drift between other installations |
| πΌ Work Environment | β Use alongside productivity tools | β Switch contexts between systems |
| πΉ Session Recording | β Built-in recording for documentation | β Manual setup required |
| π¨ Easy Customization | β Simple YAML recipes for custom images | β Complex OS modifications |
β¨ Key Features
Core Capabilities
- π Non-disruptive Integration: Run specialized RF tools while continuing to use your preferred OS for daily work
- π§© Modular Tool Selection: Deploy only the tools you need, when you need them
- π‘οΈ Containerized Isolation: Prevent RF tools from affecting system stability or security
- π Cross-platform Compatibility: Works seamlessly on Linux, Windows, and macOS
- π Dynamic Hardware Integration: Connect and disconnect USB devices, ports, capabilities, and resources without recreating containers
- π NAT Networking: Isolated container networks with configurable subnets for multi-container RF lab setups
- π Container Profiles: YAML presets for quick deployment of preconfigured container environments
- β‘ GPU Acceleration: Dedicated images with OpenCL support for Intel and NVIDIA GPUs
- πΎ Space Efficiency: Use a fraction of the disk space required by dedicated OS solutions
π³π¦ Container Engine Support
RF Swift supports both Docker and Podman as container engines, giving you the freedom to choose the runtime that best fits your environment:
| Docker | Podman | Lima | |
|---|---|---|---|
| Architecture | Client-server daemon | Daemonless, fork-exec | Docker inside QEMU VM |
| Root required | Yes (daemon runs as root) | No (rootless by default) | No (VM managed by Lima) |
| USB passthrough | Linux only | Linux only | macOS via QMP hot-plug |
| Best for | Broad ecosystem, Windows/macOS | Security-focused, air-gapped | macOS + USB RF hardware |
Auto-detection
RF Swift automatically detects the available container engine at startup. If both are installed, Docker is used by default. Override with:
rfswift --engine podman run -n mycontainer -i penthertz/rfswift_noble:sdr_light rfswift --engine docker run -n mycontainer -i penthertz/rfswift_noble:sdr_light rfswift --engine lima run -n mycontainer -i penthertz/rfswift_noble:sdr_light # macOS USB
Podman support example
2026-02-09.15-30-30.mp4
Podman Highlights
-
Rootless containers: No daemon, no root β ideal for locked-down environments and shared lab machines
-
OCI-compatible images: All existing RF Swift images work out of the box with Podman
-
Seamless device passthrough: USB SDR dongles, serial adapters, and GPUs work with both engines
-
Automatic cgroup handling: RF Swift detects cgroup v1/v2 and configures device access rules accordingly
π¦ macOS USB Passthrough (Lima)
Docker Desktop and Podman on macOS cannot forward USB devices (SDR dongles, HackRF, RTL-SDR, etc.) into containers. RF Swift solves this with Lima, which runs a QEMU VM with USB hot-plug support:
# Install Lima (PentHertz fork with USB passthrough support) + QEMU brew install qemu curl -fsSL https://github.com/PentHertz/lima/releases/download/v2.1.1/lima-2.1.1-Darwin-$(uname -m).tar.gz -o /tmp/lima.tar.gz sudo tar xz -C /usr/local -f /tmp/lima.tar.gz # Attach your SDR dongle to the Lima VM rfswift macusb list # see host USB devices rfswift macusb attach --vid 0x1d50 --pid 0x604b # forward HackRF to VM # Run container via Lima's Docker (where USB device lives) rfswift --engine lima run -i penthertz/rfswift_noble:sdr_light -n sdr_work # When done, detach rfswift macusb detach --vid 0x1d50 --pid 0x604b
Lima auto-creates the VM on first use with Docker, USB libraries, kernel modules, and udev rules for all supported RF hardware pre-configured. Use --engine lima when you need USB devices; use Docker Desktop normally for everything else.
Quick Setup
# Install with the interactive installer (offers Docker, Podman, or both) curl -fsSL "https://raw.githubusercontent.com/PentHertz/RF-Swift/refs/heads/main/scripts/get_rfswift.sh" | sh # Or install Podman manually sudo apt install podman # Debian/Ubuntu sudo dnf install podman # Fedora/RHEL sudo pacman -S podman # Arch Linux brew install podman # macOS
Note: When using Podman in rootless mode, some operations (like direct device passthrough) may require additional configuration. RF Swift handles most of this automatically, but see the documentation for details.
π¬ Demo Videos
π§ On Linux
rfswiftdemo.mp4
πͺ On Windows (With GQRX)
rfswift-demo-gqrxonwindows.mp4
π₯οΈ Using OpenCL with Intel or NVIDIA GPU
π¦ Available Specialized Images
RF Swift's container approach allows for specialized environments optimized for specific tasks. All images are OCI-compatible and work with both Docker and Podman.
graph TD;
A[corebuild]-->B[sdrsa_devices];
A-->C[rfid];
A-->D[automotive];
A-->E[reversing];
A-->H[network];
B-->I[sdr_light];
B-->J[bluetooth];
B-->K[telecom_utils];
B-->L[hardware];
H-->M[wifi];
I-->N[sdr_full];
K-->P[telecom_2Gto3G];
K-->Q[telecom_4G_5GNSA];
K-->R[telecom_4Gto5G];
K-->S[telecom_5G];
Loading
| Category | Images | Key Tools |
|---|---|---|
| π» SDR | sdr_light, sdr_full |
GNU Radio, GQRX, SDR++, SDRangel, SigDigger, CyberEther, Inspectrum, URH, rtl_433, dump1090, GNSS-SDR, SatDump, Jupyter + 50+ GNU Radio OOT modules (gr-gsm, gr-lora, gr-satellites, gr-ieee802-11, gr-droneid, gr-tempest, β¦) |
| π‘ SDR Devices | sdrsa_devices |
Drivers for USRP (UHD), RTL-SDR, HackRF, BladeRF, Airspy, LimeSDR, PlutoSDR, XTRX, RFNM, HydraSDR, LiteX M2SDR, SignalHound, Harogic, LibreSDR, SoapySDR |
| π± Telecom | telecom_utils, telecom_2Gto3G, telecom_4G_5GNSA, telecom_4Gto5G, telecom_5G |
PySIM, pycrate, srsRAN 4G/5G, Open5GS, UERANSIM, YateBTS, OpenBTS, OsmoCom BTS Suite, SigPloit, PyHSS, SCAT, jSS7, 5Greplay |
| πΆ Bluetooth | bluetooth |
BlueZ, WHAD, Mirage, Sniffle, Bluing, bdaddr, ice9-bluetooth, esp32 BT Classic sniffer |
| π‘ Wi-Fi | wifi |
Aircrack-ng, hcxdumptool, Reaver, Bully, Pixiewps, EAPHammer, Airgeddon, Wifite2, WPA3 attack suite (Dragonslayer/Dragonforce/Wacker), Hostapd-mana, Wifiphisher |
| π·οΈ RFID | rfid |
Proxmark3 (RRG/Iceman), libnfc, mfoc, mfcuk, RFIDler, miLazyCracker |
| π Automotive | automotive |
can-utils, CANtact, Caring Caribou, SavvyCAN, Gallia, V2GInjector |
| π§ Hardware | hardware |
PulseView, DSView, Logic 2 (Saleae), Arduino IDE, Flashrom, OpenOCD, esptool, openFPGALoader, MTKClient, ngscopeclient, dfu-util, SeerGDB, AVRDUDE |
| π Reversing | reversing |
Ghidra, Radare2, Cutter, ImHex, Binwalk (v2+v3), Unblob, AFL, Honggfuzz, Semgrep, Joern, Kaitai Struct, Qiling, Unicorn/Keystone |
| π Network | network |
Nmap, Wireshark, Metasploit, Burp Suite, Caido, Impacket, NetExec, Responder, Hashcat, John the Ripper, Kismet, Bettercap, SIPVicious, MBTget |
200+ tools across 15+ images, all on x86_64, ARM64, and RISC-V64.
Full image list with detailed tool inventory available at rfswift.io/docs/guide/list-of-tools/
π Real-World Use Cases
π For Professionals
- π§° Rapid Assessment Deployment: Deploy a complete RF lab at client sites in minutes
- π Consistent Environments: Eliminate "works on my machine" issues
- βοΈ Parallel Testing: Run multiple isolated assessments simultaneously
- πΉ Documentation: Built-in session recording for client reports
- π οΈ Custom Toolsets: Create specialized containers for specific engagements
π¬ For Researchers
- π Reproducible Research: Share exact tool environments with papers
- π§ͺ Experiment Isolation: Keep experimental configurations separate
- π Multi-platform Collaboration: Work across Linux, Windows, and macOS
- π’ Version Control: Test with specific tool versions for reproducibility
- β‘ Resource Optimization: Allocate resources based on research needs
π¨βπ« For Educators
- π« Classroom Deployment: Identical environments for all students
- π» No OS Reinstall: Students keep their existing operating systems
- π₯οΈ Low Requirements: Works on standard lab computers
- π Focused Learning: Custom containers for specific lessons
- π Quick Reset: Easily reset environments between classes
π For Manufacturing & QA
- π Production Testing: Consistent RF testing environments
- π‘ Device Validation: Test wireless product compliance
- π§ Firmware Analysis: Isolated environments for firmware testing
- π Quality Assurance: Reproducible test configurations
π For Security-Conscious Environments
- π¦ Rootless with Podman: No privileged daemon required β ideal for SOC-compliant and hardened systems
- ποΈ Air-gapped labs: Pre-pull images, deploy without internet using Podman's daemonless architecture
- π‘οΈ Minimal attack surface: No long-running daemon socket to protect
π Documentation
Comprehensive documentation is available at rfswift.io, including:
- π Getting Started Guide
- π Quick Start Tutorial
- π User Guide
- π YAML Recipe Guide
- π¨βπ» Development Documentation
- π§° List of Included Tools
- π‘οΈ Security Guidelines
π Training & Workshops
RF Swift is used in professional training courses by Penthertz:
- π» Software Defined Radio assessments
- π± Mobile network security testing
- π Automotive security analysis
- π IoT and embedded device testing
Contact us for custom training programs.
π₯ Community & Support
- π¬ Join our Discord for community support and discussions
- π Report issues on GitHub
- π‘ Request features via GitHub Discussions
- π¦ Follow us on X (Twitter): @FlUxIuS and @Penthertz
- π§ Professional inquiries: penthertz.com
π€ Contributing
We welcome contributions! Here's how you can help:
Code Contributions
- π§° Tool Integration: Add new tools or improve existing ones
- π Bug Fixes: Submit PRs to fix reported issues
- β¨ New Features: Implement new capabilities
- π Documentation: Improve guides and examples
Community Contributions
- π YAML Recipes: Share your custom image recipes
- π Tutorials: Create guides for specific tools or workflows
- π Bug Reports: Report issues you encounter
- π‘ Feature Requests: Suggest improvements
Getting Started with Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
βοΈ License
RF Swift is released under the GNU General Public License v3.0. See LICENSE file for details.
π Acknowledgments
Special thanks to:
- All contributors and clients who have helped improve RF Swift
- The open-source RF and security tool developers whose work we integrate
- The community for feedback, bug reports, and feature requests
- Conference organizers who have hosted our presentations
more like this
moxon-frame-generator
simple generator for 3D-printed frames for a moxon rectangle antenna
gns3theme
Custom color themes for GNS3 GUI. Built-in schemes, custom JSON themes, device symbols. Supports Linux and macOS.
