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: 5 months 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


Spectrum 24




Twitter FlUxIuS
Twitter Penthertz



Join us on Discord



## πŸ” 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 (Kali/DragonOS) |
|---------|---------|------------------------------|
| **🏠 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 |
| **πŸ”Œ Device Binding** | βœ… Dynamic - add/remove without restart | ❌ Static - requires reboot for changes |
| **πŸ” Reproducibility** | βœ… Identical environments everywhere | ❌ System drift between installations |
| **πŸ’Ό Work Environment** | βœ… Use alongside productivity tools | ❌ Switch contexts between systems |

## ✨ Key Features

- **🏠 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
- **πŸ› οΈ Custom Environment Creation**: Build specialized images for specific assessment needs
- **⚑ GPU Acceleration**: Dedicated images with OpenCL support for Intel and NVIDIA GPUs, and more
- **πŸ’Ύ Space Efficiency**: Use a fraction of the disk space required by dedicated OS solutions
- **πŸ”„ Version Control**: Maintain multiple tool versions simultaneously without conflicts

## 🏁 Quick Start

### πŸ’Ώ Installation

#### 🐧 Linux (Recommended)

```bash
# Clone the repository
git clone https://github.com/PentHertz/RF-Swift.git
cd RF-Swift

# Run the installation script
./install.sh
```

The script will:
- πŸ“¦ Install Docker, BuildX, and Go (if needed)
- πŸ”¨ Build the RF Swift binary
- πŸ”Š Configure audio and X11 forwarding
- πŸ”— Create an alias for easy access

#### πŸͺŸ Windows

```powershell
# Clone the repository
git clone https://github.com/PentHertz/RF-Swift.git
cd RF-Swift

# Run the Windows build script
.\build-windows.bat
```

Additionally, install:
- 🐳 [Docker Desktop](https://docs.docker.com/desktop/install/windows-install/) for Windows
- πŸ”Œ [usbipd](https://learn.microsoft.com/en-us/windows/wsl/connect-usb) for USB device forwarding

### πŸƒβ€β™‚οΈ Running Your First Container

```bash
# Pull a pre-built image
rfswift images pull -i sdr_full

# Create and run a container
rfswift run -i penthertz/rfswift:sdr_full -n my_sdr_container
```

## 🎬 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 |
| πŸ“± Telecom | `telecom_utils`, `telecom_2Gto3G`, `telecom_4G_5GNSA`, `telecom_5G` | Mobile network analysis |
| πŸ“Ά Short-range | `bluetooth`, `wifi`, `rfid` | Bluetooth, Wi-Fi, and RFID tools |
| πŸ”§ Hardware | `hardware`, `reversing` | Hardware security tools |
| πŸš— Automotive | `automotive` | Vehicle communications |

## 🌟 Real-World Advantages

### πŸ‘” For Professionals

- **🧰 Assessment Readiness**: Deploy an RF and hardware lab in minutes at a client site
- **πŸ”„ Tool Consistency**: Eliminate "works on my machine" issues with consistent environments
- **βš™οΈ Parallel Workflows**: Run multiple isolated assessments simultaneously
- **πŸ“‹ Document Storage**: Keep reports and evidence separate from tools
- **πŸ› οΈ Custom Toolsets**: Create specialized containers for specific engagements

### πŸ”¬ For Researchers

- **πŸ“Š Reproducible Research**: Share exact tool environments with colleagues
- **πŸ§ͺ Experiment Isolation**: Prevent experimental configurations from affecting other work
- **🌐 Multi-platform Collaboration**: Collaborate across Linux, Windows, and macOS
- **πŸ”’ Version Control**: Test with specific tool versions without compatibility issues
- **⚑ Resource Efficiency**: Optimize container resources for specific research tasks

### πŸ‘¨β€πŸ« For Educators

- **🏫 Classroom Deployment**: Identical environments for all students
- **πŸ’» No Reformatting**: Students keep their existing OS
- **πŸ–₯️ Low Hardware Requirements**: Works on standard lab computers
- **πŸ“š Focused Learning**: Custom containers with only the tools needed for specific lessons
- **πŸ”„ Quick Reset**: Easily reset environments between classes

## πŸ“– 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/)
- πŸ‘¨β€πŸ’» [Development Documentation](https://rfswift.io/docs/development/)
- 🧰 [List of Included Tools](https://rfswift.io/docs/guide/list-of-tools/)

## πŸ‘₯ Community & Support

- πŸ’¬ [Join our Discord](https://discord.gg/NS3HayKrpA) for community support
- πŸ› [Report issues](https://github.com/PentHertz/RF-Swift/issues) on GitHub
- 🐦 Follow [FlUxIuS](https://x.com/intent/follow?screen_name=FlUxIuS) and [Penthertz](https://x.com/intent/follow?screen_name=Penthertz) on X (Twitter)

## 🀝 Contributing

Contributions are welcome! Here's how you can help:

- 🧰 **Tool Integration**: Add new tools or improve existing ones
- πŸ“ **Documentation**: Improve guides and examples
- 🐞 **Bug Reports**: Report issues you encounter
- πŸ’‘ **Feature Requests**: Suggest new features or improvements
- πŸ‘¨β€πŸ’» **Code Contributions**: Submit PRs to enhance functionality

## βš–οΈ License

RF Swift is released under GNU GPLv3 license. See LICENSE file for details.