Go to file
FlUxIuS a4db176681
Updating images submodule
2025-04-13 21:12:50 +02:00
.github/workflows
.res
go/rfswift
images@235bc46b11 Updating images submodule 2025-04-13 21:12:50 +02:00
.gitignore
.gitmodules
.goreleaser.yml
LICENSE
README.md
build-windows.bat
build_project.sh
common.sh
install.sh

README.md

🚀 RF Swift 📡 🛠️

🔍 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

# 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

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

🏃‍♂️ Running Your First Container

# 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

📦 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, including:

👥 Community & Support

🤝 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.