rfswift-doc-v2/content/docs/_index.md

8.9 KiB

linkTitle title weight cascade
Documentation Introduction 3
type
docs

👋 Hello! Welcome to the RF Swift documentation!

RF Swift Logo

Supported OSes linux supported windows supported macOS supported
Supported architectures amd64 arm64 riscv64
Presented at Black Hat Europe 2024 Spectrum 24 FOSDEM 2025 CyberOnBoard
Socials Twitter FlUxIuS Twitter Penthertz Join us on Discord

What is RF Swift?

RF Swift is a toolbox for creating an environment laboratory for your RF assessments, that can easily fit your prerequirements.

This toolbox is probably the best solution to deploy a generic, as well as a special environment securely, skipping the headache and waste of time when installing and using RF tools on same host.

{{< callout type="warning" >}} Even if the project could work on macOS with some manual workaround, we do not advertise it for the moment, but this system will be fully supported in the near future. {{< /callout >}}

RF Swift vs. Kali Linux vs. Dragon OS Comparison

Feature RF Swift Kali Linux Dragon OS
🖥️ Host OS Preservation Runs alongside your existing OS Typically requires dedicated partition or VM Typically requires dedicated partition or VM
🧰 Tool Isolation Tools run in containers without impacting system ⚠️ Tools can affect system stability ⚠️ Tools can affect system stability
🚀 Deployment Speed Fast container deployment Full OS installation required Full OS installation required
📦 VM Requirement No VM needed ⚠️ Needs VM for non-dedicated machines ⚠️ Needs VM for non-dedicated machines
🔧 Tool Availability Extensive tool collection for hardware security, RF, reversing, and more. Extensive tool collection for generic pentests Specialized for RF
🔄 Tool Updates Easily updated containers ⚠️ Requires system updates ⚠️ Requires system updates
💾 Storage Efficiency Customizable to fit small storage Requires significant disk space Requires significant disk space
🛡️ Security Isolation Strong container isolation (custom confinement) ⚠️ Limited isolation between applications ⚠️ Limited isolation between applications
🔌 Network Containment Can isolate network activity ⚠️ Network isolation requires additional setup ⚠️ Network isolation requires additional setup
🏗️ Architecture Support x86_64, ARM64, RISCV64 x86_64, ARM64 ⚠️ Primarily x86_64
🧩 Customization Highly customizable (specific tools only) Customizable but affects whole system ⚠️ Limited customization
📱 USB Device Access Streamlined USB forwarding Direct access Direct access
🔊 Audio Support Container-based audio support Native audio support Native audio support
🌐 Internet Connectivity Configurable per container System-wide configuration System-wide configuration

Key Benefits of RF Swift

  • Flexibility: Use RF tools without disrupting your daily work environment
  • Efficiency: Deploy only the tools you need, when you need them
  • Security: Strong isolation between containers prevents cross-contamination
  • Portability: Works across multiple architectures with consistent experience
  • Resource Management: Optimized resource usage compared to full VMs

Use Case Scenarios

Scenario RF Swift Kali Linux Dragon OS
Quick assessment on personal device
Deployment on a burner laptop
Low storage environments
Multiple architecture development
Isolated testing environment
Organization of traces

Comprehensive Container Orchestration

RF Swift provides a complete orchestration solution that goes beyond traditional containers. Unlike standard Docker, RF Swift simplifies the entire workflow with a straightforward learning curve:

graph TD
    A[rfswift] --> B[Host manager]
    B --> C[Host]
    B --> D[USB]
    B --> F[Sound]
    B --> G[Images Container manager]
    H[Dockerfiles] --> G
    G --> I[Pull]
    G --> J[List]
    G --> K[Save]
    G --> L[Tag]
    G --> M[Run]
    G --> N[Exec]
    
    style A fill:#f9f,stroke:#333,stroke-width:4px
    style B fill:#bbf,stroke:#333,stroke-width:2px
    style H fill:#afa,stroke:#333,stroke-width:2px
    style G fill:#bbf,stroke:#333,stroke-width:2px

RF Swift handles everything from container creation and execution to pulling images, committing changes, and re-tagging. What sets it apart is the seamless integration of USB, video, and audio forwarding in a user-friendly interface—tasks that typically require significant expertise in standard Docker environments.

Key Components

  • Go binary (rfswift) - Instruments containers and hosts to simplify the use of tools that may require:

    • Internet connectivity
    • Display
    • Sounds
    • USB accesses

    This rfswift is the main program you will interact with to:

    • Run clean containers
    • Execute inside running or paused containers
    • Perform many magic actions that will make things work without a headache
  • Docker images - Pre-built Docker container images are available in RF Swift's repository. In case you want to bake your own environment, preserve some space, and have a special set-up, you will also find some Docker files you can edit to fit your expectations.

Questions or Feedback?

{{< callout emoji="" >}} RF Swift is still in active development. Have a question or feedback? Feel free to open an issue! {{< /callout >}}

Next Steps

Dive right into the following section to get started:

{{< cards >}} {{< card link="/docs/getting-started" title="Getting Started" icon="document-text" subtitle="Learn how to run RF Swift" >}} {{< card link="/docs/development/compiling-rfswift" title="Compile RF Swift binary" icon="document-text" subtitle="Compile RF Swift and develop around the framework" >}} {{< /cards >}}