
PIrateRF transforma tu Raspberry Pi Zero W en un generador de señales RF portátil que crea su propio punto de acceso WiFi. Controla todo, desde transmisiones de FM hasta modos digitales, a través de tu navegador: ¡piratea las ondas desde cualquier lugar! 📡⚡

PIrateRF transforma tu Raspberry Pi Zero W en un generador de señales RF portátil que crea su propio punto de acceso WiFi. Controla desde emisiones FM hasta modos digitales a través de tu navegador: ¡hackea las ondas desde cualquier lugar! 📡⚡
🎬 Haz clic aquí para ver el video promocional de PIrateRF
📺 Haz clic aquí para ver el video demostrativo de PIrateRF
⚠️ AVISO LEGAL
PIrateRF está diseñado para experimentación amateur y educación radioeléctrica, incluyendo pruebas seguras en interiores sin antenas externas. Construido para ingenieros que entienden que las buenas prácticas de RF importan más que los límites administrativos arbitrarios. Los usuarios son responsables de cumplir con todas las regulaciones locales de RF y requisitos de licencia. ¡No soy responsable de ninguna de tus estúpidas decisiones!
Todas las imágenes de demostración y pruebas en esta documentación se realizaron en interiores sin antena, con un alcance máximo de aproximadamente 5 metros.
Todo controlado a través de un punto de acceso WiFi independiente: conecta cualquier dispositivo y comienza a transmitir como el rebelde RF que estabas destinado a ser. ¡Perfecto para operaciones en aguas internacionales y regiones con políticas de espectro más... flexibles!
Sáltate todo el rollo de compilación y ve directo al caos RF:
.img descargadosudo dd if=piraterf_2025-11-23_22-18-49.img of=/dev/sdX bs=4M status=progress (reemplaza /dev/sdX con tu tarjeta SD)https://piraterf.local ¡y empieza a transmitir inmediatamente!Configuración por Defecto:
fucker, Contraseña FUCKER, Nombre de Host piraterf.localAntes de hacer CUALQUIER otra cosa, consigue que tu maldita Pi Zero W esté conectada y accesible por SSH. Sigue este tutorial que realmente funciona:
👉 Tutorial de Conexión USB para Pi Zero W
Esto conectará tu Pi Zero vía USB con acceso SSH para que puedas desplegar PIrateRF en el pequeño cabrón.
🌐 COMPARTIR INTERNET REQUERIDO: Después de que la conexión USB funcione, DEBES compartir internet desde tu computadora a la Pi Zero. Los scripts de configuración necesitan descargar paquetes y dependencias: sin internet, no hay caos RF.
Configurar el uso compartido de Internet en Ubuntu/Linux:
Configurar conexión como compartida: En la Configuración de Red de Ubuntu, encuentra la conexión USB (generalmente usb0), haz clic en ella, ve a la configuración de IPv4, y cambia el método de "Solo enlace local" a "Compartida con otros ordenadores"
Detener servicios Docker (interfieren con la red):```bash sudo systemctl stop docker.socket sudo systemctl stop docker
3. **Reiniciar NetworkManager**:```bash
sudo systemctl restart NetworkManager
usb0 y enp5s0 con sus interfaces reales):```bash
sudo iptables -A FORWARD -i usb0 -o enp5s0 -j ACCEPT
sudo iptables -A FORWARD -i enp5s0 -o usb0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 10.42.0.0/24 -o enp5s0 -j MASQUERADE5. **Pruébalo**: Conéctate por SSH a tu Raspberry Pi con `ssh [email protected]` (o el [email protected] que hayas configurado) y ejecuta `ping 8.8.8.8` - si funciona, ¡estás listo para causar algunos estragos en RF!
**Encuentra tus interfaces**: Usa `ip link show` para ver `usb0` (conexión a la Pi) y tu interfaz de internet principal.
### 1. Configuración inicial```bash
# Clone the repository
git clone https://github.com/psyb0t/piraterf.git
cd piraterf
# Configure your Pi settings
nano scripts/pi_config.sh
# Set: PI_USER, PI_HOST, PI_PASS, AP_SSID, AP_PASSWORD
Configuración de ejemplo (modifica para que coincida con tu configuración de la Pi):```bash PI_USER="fucker" # Pi username PI_HOST="piraterf.local" # Pi hostname/IP PI_PASS="FUCKER" # Pi password
AP_SSID="🏴☠️📡" # WiFi AP name AP_PASSWORD="FUCKER!!!" # WiFi AP password AP_CHANNEL="7" # WiFi channel (1-14) AP_COUNTRY="US" # Country code
### 2. Configuración completa de Pi```bash
# Run the full automated setup
make pi
Este comando:
https://piraterf.localConecta múltiples dispositivos al punto de acceso de PIrateRF y todos acceden a la interfaz web simultáneamente. Aunque solo una transmisión puede ejecutarse a la vez (porque GPIO no jode compartiendo), todos los dispositivos conectados ven el estado de la transmisión en tiempo real, los registros de salida, y pueden turnarse para controlar las transmisiones RF. ¡Perfecto para joder con amigos en una orgía de ondas de radio! 📡💥
Características Multi-Dispositivo:
Conecta tu antena a GPIO 4 (Pin Físico 7) en la Pi Zero W:
⚠️ ADVERTENCIA: La Raspberry Pi emite ondas cuadradas con armónicos en todo el espectro. Para una transmisión exterior adecuada, DEBES usar filtros pasa-bajos apropiados para suprimir emisiones espurias y cumplir con las regulaciones RF. Sin filtrado, estarás transmitiendo en múltiples frecuencias simultáneamente.

Transmisión FM completa con soporte RDS:
Opciones de Configuración:
Proceso de Subida: Los archivos se convierten automáticamente mediante FFmpeg a formato WAV 48kHz/16 bits/mono y se guardan en
./files/audio/uploads/
Recepción:
Aplicaciones: Radiodifusión subterránea, transmisión de música, podcasts, radio comunitaria, estaciones de radio pirata, hacer rickroll a barrios enteros


Transmisión en tiempo real de micrófono con modulación configurable:
Opciones de Configuración:
Recepción:
Aplicaciones: Comentarios en vivo, comunicaciones de emergencia, redes de radioaficionados, transmisión en tiempo real, transmitir tus pedos, salir en vivo por radio mientras estás en el moshpit


Modo digital de señal ultra-débil para HF DX:
Opciones de Configuración:
Recepción:
Aplicaciones: Contactos DX de larga distancia, comunicación de señal débil, contactos intercontinentales, confundir a los participantes de concursos


Comunicación de texto digital clásica:
Opciones de Configuración:
Recepción:
Aplicaciones: Comunicación de texto digital, boletines de noticias, mensajería teletipo, enviar arte ASCII por RTTY


Modulación por desplazamiento de frecuencia binaria para transmisión de datos:
Opciones de Configuración:
Proceso de Subida: Los archivos se mueven tal cual (sin conversión) a
./files/data/uploads/conservando la extensión original
Recepción:
Nota: pw-record --target=81 captura audio desde el monitor de PulseAudio (salida de tu software SDR). Cambia el parámetro --rx para que coincida con la tasa de baudios seleccionada. La implementación actual funciona mejor con tasas de 50-100 baudios.
Aplicaciones: Boletines digitales, transferencia de archivos, radio por paquetes, transmisión de datos, modos digitales de radioaficionado, envío de pornografía como en los días de acceso telefónico


Sistema de mensajería de buscapersonas digital:
Opciones de configuración:
Recepción:
Nota: pw-record --target=81 captura audio desde la salida del monitor de PulseAudio (la salida de tu software SDR). Cambia el modo multimon-ng según la velocidad en baudios seleccionada:
-a POCSAG512-a POCSAG1200-a POCSAG2400Aplicaciones: Sistemas de búsqueda de emergencia, notificaciones de alerta, mensajería de buscapersonas, caos de notificaciones masivas, bombardeo de nostalgia de los 90


Transmisión CW tradicional:
Opciones de Configuración:
Recepción:
Nota: pw-record --target=81 captura audio desde el monitor de sumidero de PulseAudio (la salida de tu software SDR). Los parámetros -d (retardo) y -g (ganancia) deben ajustarse según tu tasa de transmisión (puntos por minuto). Tasas más altas requieren valores de retardo más bajos; tasas más bajas necesitan valores de retardo más altos para una decodificación adecuada.
Aplicaciones: Práctica de código Morse, transmisiones de baliza, comunicaciones de emergencia, envío de mensajes sucios en CW, spam de balizas


Generación de portadora simple para pruebas:
Opciones de Configuración:
Recepción:
Aplicaciones: Sintonización de antenas, pruebas de transmisores, mediciones de ROE, trolleo con portadora muerta, pruebas de circuitos RF


Barridos de frecuencia automatizados para análisis RF:
Opciones de Configuración:
Recepción:
Aplicaciones: Análisis de antenas, pruebas de filtros, mediciones de respuesta en frecuencia, wobulación como un maníaco, pruebas de tortura de antenas


Transmisión de imágenes de televisión de barrido lento:
Opciones de Configuración:
Proceso de Subida: Las imágenes se convierten mediante ImageMagick a formato RGB 320x256 (extensión .rgb) para transmisión SSTV, guardadas en
./files/images/uploads/(los archivos .Y de spectrum paint también están disponibles si se subieron previamente)
Recepción:
Aplicaciones: Transmisión de imágenes por radio, SSTV de radioaficionados, comunicación visual, transmisión de fotos de gallos - mira ese gallo enorme

Convertir imágenes en arte espectral RF:
Opciones de Configuración:
Proceso de Subida: Las imágenes se convierten mediante ImageMagick a formato YUV (extensión .Y) para spectrum paint Y a formato RGB 320x256 (extensión .rgb) para SSTV, ambos guardados en
./files/images/uploads/
Recepción:
Aplicaciones: Arte espectral RF, visualización de espectro, demostraciones de análisis de señales, dibujo de fotos de penes en cascadas, graffiti espectral


Reproducción de archivos de muestras IQ en bruto para reproducción de señales:
Opciones de Configuración:
Proceso de Subida: Los archivos IQ se mueven tal cual (sin conversión) a
./files/iqs/uploads/conservando la extensión .iq
Recepción:
Aplicaciones: Reproducción de señales, captura/reproducción de repetidores, pruebas y validación, análisis de señales, reproducción de modulaciones complejas, reproducción de capturas SDR, investigación de huellas dactilares RF
¡Deja de ingresar los mismos malditos parámetros cada vez! PIrateRF incluye un sistema completo de gestión de presets:
Características:
Uso:
Almacenamiento:
Los presets se almacenan como archivos JSON en files/presets/{modulename}/ y se pueden respaldar, compartir o versionar. Perfecto para mantener tus configuraciones favoritas de reproducción de timbres, configuraciones de radiodifusión FM o configuraciones FT8.
make run-dev # Run locally with development setup make build # Cross-compile for Pi Zero ARM make lint-fix # Format and lint code make test-coverage # Run tests with coverage
### Gestión de Pi```bash
make pi # Complete automated setup
make deploy # Deploy to Pi
make install # Install systemd service
make ssh # SSH into Pi
make pi-reboot # Reboot Pi
make uninstall # Remove from Pi
make pi-image # Clone and shrink Pi SD card image
piraterf/ ├── cmd/ # Application entry points ├── internal/pkg/services/ │ └── piraterf/ # Core service implementation │ ├── http_server.go # Web server and API │ ├── websocket*.go # Real-time communication │ ├── audio_.go # Audio processing │ ├── image_.go # Image processing │ ├── preset_.go # Preset management │ └── execution_.go # RF transmission management ├── scripts/ # Setup and deployment scripts ├── html/ # Web interface templates ├── static/ # Frontend assets (CSS/JS/images) ├── files/ # Runtime file storage │ ├── audio/ # Audio files (uploads, SFX) │ ├── images/ # Image files (uploads) │ ├── data/ # Data files for FSK │ ├── iqs/ # IQ sample files │ └── presets/ # Per-module preset configurations │ ├── pifmrds/ # FM broadcast presets │ ├── sendiq/ # IQ transmission presets │ └── ... # Other module presets └── uploads/ # Temporary upload staging
## 🏴☠️ Aviso Legal y de Seguridad
**⚠️ REQUISITOS LEGALES IMPORTANTES ⚠️**
### Se Requiere Licencia de Radioaficionado
- **La mayoría de frecuencias requieren una licencia de radioaficionado**
- FT8, RTTY, FSK, SSTV, y la mayoría de operaciones HF/VHF/UHF necesitan la licencia adecuada
- Consulte a su autoridad local de radioaficionados (FCC/Ofcom/etc.) para conocer los requisitos de licencia
### Regulaciones de Frecuencia
- **Manténgase dentro de las bandas de aficionados**: Use solo frecuencias asignadas a radioaficionados
- **Límites de potencia**: Pi Zero produce solo unos pocos milivatios - si usa un amplificador, respete los límites máximos de potencia para su clase de licencia
- **Emisiones espurias**: Use siempre filtros pasa-bajos apropiados
- **Sin contenido comercial**: La radioafición prohíbe las comunicaciones comerciales
### Requisitos de Hardware (para uso adecuado)
- **Filtros pasa-bajos obligatorios**: La GPIO de Pi emite ondas cuadradas con armónicos en todo el espectro
- **Antena adecuada**: Use antenas resonantes para su frecuencia de operación
- **Salida de potencia**: La GPIO de Pi Zero produce solo unos pocos milivatios - si desea más alcance, necesitará un amplificador adecuado y un filtro pasa-bajos
- **Monitoreo de ROE**: A niveles de potencia de milivatios, al Pi no le importa un carajo la ROE, pero si usa un amplificador necesita una adaptación de impedancia adecuada o freirá su amplificador
### Restricciones Geográficas
- **Los planes de banda varían según el país**: Las asignaciones de aficionados de EE.UU./Europa/Asia difieren
- **Los límites de potencia varían**: Consulte las regulaciones locales para su clase de licencia
- **Frecuencias de emergencia**: Nunca interfiera con comunicaciones de emergencia/seguridad pública
### 🏠 Pruebas y Experimentación en Interiores
- **Sin antena = alcance mínimo**: Sin una antena adecuada, las señales son extremadamente débiles y se mantienen dentro de su hogar
- **Pruebas y aprendizaje**: Perfecto para entender conceptos de RF, modos digitales y funcionalidad del software
- **Desarrollo de protocolos**: Pruebe codificación/descodificación sin transmisión externa
- **Uso educativo**: Aprenda sobre modulación, filtrado y procesamiento de señales de forma segura en interiores
## 📡 Frecuencias de Operación Estándar
PIrateRF soporta todo el espectro de radioaficionados. Aquí están las frecuencias comunes para cada modo:
### Bandas de HF de Aficionados (3-30 MHz)
- **80m**: 3.5-4.0 MHz | **40m**: 7.0-7.3 MHz | **30m**: 10.1-10.15 MHz
- **20m**: 14.0-14.35 MHz | **17m**: 18.068-18.168 MHz | **15m**: 21.0-21.45 MHz
- **12m**: 24.89-24.99 MHz | **10m**: 28.0-29.7 MHz
### Bandas de VHF/UHF de Aficionados
- **2m**: 144-148 MHz (FM: 144.0-148.0 MHz, Repetidores: 146.0-148.0 MHz salida)
- **1.25m**: 222-225 MHz | **70cm**: 420-450 MHz (Repetidores: 440-450 MHz salida)
### Frecuencias Estándar FT8 (modo USB)
- **80m**: 3.573 MHz | **40m**: 7.074 MHz | **30m**: 10.136 MHz
- **20m**: 14.074 MHz | **17m**: 18.100 MHz | **15m**: 21.074 MHz | **10m**: 28.074 MHz
### Frecuencias Estándar RTTY (modo USB)
- **80m**: 3.580-3.600 MHz | **40m**: 7.035-7.045 MHz | **30m**: 10.130-10.150 MHz
- **20m**: 14.070-14.099 MHz | **15m**: 21.070-21.100 MHz | **10m**: 28.070-28.120 MHz
### Frecuencias Estándar SSTV
- **80m**: 3.736 MHz (LSB) | **40m**: 7.055 MHz (LSB)
- **20m**: 14.233 MHz (USB) | **15m**: 21.343 MHz (USB) | **10m**: 28.667 MHz (USB)
- **2m**: 144.55 MHz (FM)
### Separaciones Estándar de Repetidores FM
- **2m**: Entrada 144-146 MHz, Salida 146-148 MHz (separación de 0.6 MHz)
- **70cm**: Entrada 420-430 MHz, Salida 440-450 MHz (separación de 5 MHz)
## 🔗 Dependencias Principales
- **[rpitx](https://github.com/F5OEO/rpitx)** - Biblioteca de transmisión RF para GPIO de Raspberry Pi
- **[gorpitx](https://github.com/psyb0t/gorpitx)** - Envoltorio Go que proporciona una API limpia para rpitx
- **[servicepack](https://github.com/psyb0t/servicepack)** - Marco de desarrollo y despliegue
- **[aichteeteapee](https://github.com/psyb0t/aichteeteapee)** - Servidor HTTP con soporte WebSocket
## 📝 Licencia
Este proyecto está licenciado bajo WTFPL (Do What The Fuck You Want To Public License).
## TODO
- (gorpitx) Añadir 1 segundo extra de portadora a la transmisión RTTY
- (gorpitx) Abandonar minimodem en FSK y usar otra cosa
- (gorpitx) Corregir el espaciado de palabras en código morse
- Probar realmente que SSTV funciona (probado con qsstv y varias configuraciones + varios oyentes y nop, no funciona)
- Añadir superposiciones de ayuda en la IU: botones de información de modo que expliquen lo que hace cada modo de transmisión + tooltips por entrada que expliquen lo que cambia cada opción de configuración
- Arreglar el maldito encabezado de la IU para que ya no sea un maldito rectángulo que jode la sombra lol
**🏴☠️ ¡Ahora sal ahí fuera y empieza a transmitir como el pirata de RF que estabas destinado a ser! 📡**
_Recuerda: Un gran poder RF conlleva una gran responsabilidad. Siempre opere legalmente y no sea un imbécil con otros operadores._
---
_Construido con rencor usando https://github.com/psyb0t/servicepack_
---