An open API service indexing awesome lists of open source software.

https://github.com/penthertz/rf-swift

πŸš€ A powerful multi-platform RF toolbox that deploys specialized radio tools in seconds on Linux, Windows, and macOSβ€”supporting x86_64, ARM64 (Raspberry Pi, Apple Silicon), and RISC-V architectures without disrupting your primary OS. πŸ“‘βœ¨
https://github.com/penthertz/rf-swift

arm64 docker hardware linux pentesting rf risc-v sdr security security-audit security-tools telecommunications windows wireless wireless-security x86-64

Last synced: 13 days ago
JSON representation

πŸš€ A powerful multi-platform RF toolbox that deploys specialized radio tools in seconds on Linux, Windows, and macOSβ€”supporting x86_64, ARM64 (Raspberry Pi, Apple Silicon), and RISC-V architectures without disrupting your primary OS. πŸ“‘βœ¨

Awesome Lists containing this project

README

          

# πŸš€ RF Swift πŸ“‘


RF Swift logo



linux supported
windows supported
macOS supported



amd64
arm64
riscv64




Black Hat Europe 2024


Spectrum 24


FOSDEM 2025


CyberOnBoard


PraSec




Twitter FlUxIuS
Twitter Penthertz



Join us on Discord



https://github.com/user-attachments/assets/518c5045-4380-48d0-a731-6ec0273a02c5

## πŸ” 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 without restarting
- **⚑ 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

## 🎬 Demo Videos

### 🐧 On Linux
https://github.com/PentHertz/RF-Swift/assets/715195/bb2ccd96-b688-4106-8fba-d82f84ff1ea4

### πŸͺŸ On Windows (With GQRX)
https://github.com/PentHertz/RF-Swift/assets/715195/25a4a857-aa5a-4daa-9a08-28fa53d2f799

### πŸ–₯️ Using OpenCL with Intel or NVIDIA GPU
![OpenCL recipe in action](https://github.com/PentHertz/RF-Swift/assets/715195/a29eedd5-b1df-40fc-97c0-4dc5323f36a8)

## πŸ“¦ Available Specialized Images

RF Swift's container approach allows for specialized environments optimized for specific tasks:

| Category | Images | Description |
|----------|--------|-------------|
| πŸ“» SDR | `sdr_light`, `sdr_full` | Software-defined radio tools (RTL-SDR, HackRF, etc.) |
| πŸ“± Telecom | `telecom_utils`, `telecom_2Gto3G`, `telecom_4G_5GNSA`, `telecom_5G` | Mobile network analysis and testing |
| πŸ“Ά Short-range | `bluetooth`, `wifi`, `rfid` | Bluetooth, Wi-Fi, and RFID security tools |
| πŸ”§ Hardware | `hardware`, `reversing` | Hardware hacking and reverse engineering |
| πŸš— Automotive | `automotive` | Vehicle communication protocols (CAN, LIN, etc.) |

Full image list with detailed tool inventory available at [rfswift.io/docs/guide/list-of-images/](https://rfswift.io/docs/guide/list-of-images/)

## 🌟 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

## πŸ“– Documentation

Comprehensive documentation is available at [rfswift.io](https://rfswift.io/), including:

- πŸš€ [Getting Started Guide](https://rfswift.io/docs/getting-started/)
- 🏁 [Quick Start Tutorial](https://rfswift.io/docs/quick-start/)
- πŸ“˜ [User Guide](https://rfswift.io/docs/guide/)
- πŸ“ [YAML Recipe Guide](https://rfswift.io/docs/development/yaml-recipe-guide/)
- πŸ‘¨β€πŸ’» [Development Documentation](https://rfswift.io/docs/development/)
- 🧰 [List of Included Tools](https://rfswift.io/docs/guide/list-of-tools/)
- πŸ›‘οΈ [Security Guidelines](https://rfswift.io/docs/security/)

## πŸŽ“ 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](https://penthertz.com/) for custom training programs.

## πŸ‘₯ Community & Support

- πŸ’¬ [Join our Discord](https://discord.gg/NS3HayKrpA) for community support and discussions
- πŸ› [Report issues](https://github.com/PentHertz/RF-Swift/issues) on GitHub
- πŸ’‘ [Request features](https://github.com/PentHertz/RF-Swift/discussions) via GitHub Discussions
- 🐦 Follow us on X (Twitter): [@FlUxIuS](https://x.com/FlUxIuS) and [@Penthertz](https://x.com/Penthertz)
- πŸ“§ Professional inquiries: [penthertz.com](https://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

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## βš–οΈ License

RF Swift is released under the GNU General Public License v3.0. See [LICENSE](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