Skip to content

πŸš€ 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. πŸ“‘βœ¨

License

Notifications You must be signed in to change notification settings

timb-machine-mirrors/PentHertz-RF-Swift

Β 
Β 

Repository files navigation

πŸš€ 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

🐧 Linux (Recommended)

# 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

rfswiftdemo.mp4

πŸͺŸ On Windows (With GQRX)

rfswift-demo-gqrxonwindows.mp4

πŸ–₯️ 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.

About

πŸš€ 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. πŸ“‘βœ¨

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 70.3%
  • Shell 24.7%
  • Batchfile 4.3%
  • Makefile 0.7%