
PIrateRF transforme votre Raspberry Pi Zero W en un générateur de signaux RF portable qui crée son propre point d'accès Wi-Fi. Contrôlez tout, des émissions FM aux modes numériques, via votre navigateur - piratez les ondes depuis n'importe où ! 📡⚡

PIrateRF transforme votre Raspberry Pi Zero W en un générateur de signaux RF portable qui crée son propre hotspot WiFi. Contrôlez tout, des émissions FM aux modes numériques, depuis votre navigateur – piratez les ondes où que vous soyez ! 📡⚡
🎬 Cliquez ici pour la vidéo promotionnelle de PIrateRF
📺 Cliquez ici pour la vidéo de démonstration de PIrateRF
⚠️ AVIS LÉGAL
PIrateRF est conçu pour l'expérimentation et l'éducation en radio amateur, y compris les tests en intérieur sans antenne externe. Construit pour les ingénieurs qui comprennent que les bonnes pratiques RF sont plus importantes que les frontières administratives arbitraires. Les utilisateurs sont responsables du respect de toutes les réglementations RF locales et des exigences de licence. Je ne suis pas responsable de vos putains de décisions stupides !
Toutes les images de démonstration et les tests de cette documentation ont été réalisés en intérieur, sans antenne, avec une portée maximale d'environ 5 mètres.
Le tout contrôlé via un point d'accès WiFi autonome – connectez n'importe quel appareil et commencez à transmettre comme le rebelle RF que vous êtes destiné à être ! Parfait pour les opérations en eaux internationales et les régions aux politiques spectrales... plus flexibles.
Sautez toutes ces conneries de construction et passez directement au chaos RF :
.img téléchargésudo dd if=piraterf_2025-11-23_22-18-49.img of=/dev/sdX bs=4M status=progress (remplacez /dev/sdX par votre carte SD)https://piraterf.local et commencez à transmettre immédiatement !Paramètres par défaut :
fucker, Mot de passe FUCKER, Nom d'hôte piraterf.localAvant de faire quoi que ce soit d'autre, connectez votre foutu Pi Zero W et accédez-y via SSH. Suivez ce tutoriel qui fonctionne réellement :
👉 Tutoriel de connexion USB Pi Zero W
Cela permettra de connecter votre Pi Zero via USB avec un accès SSH afin que vous puissiez déployer PIrateRF sur ce petit bâtard.
🌐 PARTAGE INTERNET REQUIS : Une fois la connexion USB fonctionnelle, vous DEVEZ partager la connexion Internet de votre ordinateur avec le Pi Zero. Les scripts d'installation doivent télécharger des paquets et des dépendances – pas d'Internet, pas de chaos RF.
Configurer le partage Internet sur Ubuntu/Linux :
Définir la connexion comme partagée : Dans les paramètres réseau Ubuntu, trouvez la connexion USB (généralement usb0), cliquez dessus, allez dans les paramètres IPv4 et changez la méthode de « Lien local uniquement » à « Partagé avec d'autres ordinateurs »
Arrêter les services Docker (ils interfèrent avec le réseau) :```bash sudo systemctl stop docker.socket sudo systemctl stop docker
3. **Redémarrer NetworkManager**:```bash
sudo systemctl restart NetworkManager
usb0 et enp5s0 par vos interfaces réelles) :```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. **Testez-le** : SSH dans votre Pi avec `ssh [email protected]` (ou l'utilisateur@hôte.local que vous avez configuré) et exécutez `ping 8.8.8.8` - si ça marche, vous êtes prêt à semer le chaos RF !
**Trouvez vos interfaces** : Utilisez `ip link show` pour voir `usb0` (connexion Pi) et votre interface internet principale.
### 1. Configuration initiale```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
Exemple de configuration (modifiez pour correspondre à votre configuration 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. Configuration complète du Pi```bash
# Run the full automated setup
make pi
Cette commande va :
https://piraterf.localConnectez plusieurs appareils au point d'accès PIrateRF et accédez tous à l'interface web simultanément ! Même si une seule transmission peut être active à la fois (parce que le GPIO ne partage rien, putain), tous les appareils connectés voient l'état de la transmission en temps réel, les logs de sortie, et peuvent prendre le contrôle des transmissions RF. Parfait pour déconner entre potes dans un gangbang d'ondes radio ! 📡💥
Fonctionnalités multi-appareils :
Connectez votre antenne à GPIO 4 (Broche physique 7) sur le Pi Zero W :
⚠️ AVERTISSEMENT : Les sorties GPIO du Raspberry Pi produisent des ondes carrées avec des harmoniques sur tout le spectre. Pour une transmission extérieure correcte, vous DEVEZ utiliser des filtres passe-bas appropriés pour supprimer les émissions parasites et respecter les réglementations RF. Sans filtrage, vous émettez sur plusieurs fréquences simultanément.

Diffusion FM complète avec support RDS :
Options de configuration :
Processus de téléchargement : les fichiers sont automatiquement convertis via FFmpeg au format WAV 48 kHz/16 bits/mono et sauvegardés dans
./files/audio/uploads/
Réception :
Applications : diffusion radio underground, streaming musical, podcasting, radio communautaire, stations radio pirates, rickroller des quartiers entiers


Streaming micro en temps réel avec modulation configurable :
Options de configuration :
Réception :
Applications : commentaires en direct, communications d'urgence, réseaux radioamateurs, diffusion en temps réel, diffuse tes rots, passe en direct sur la radio pendant que tu es dans le moshpit


Mode numérique ultra-faible signal pour DX en HF :
Options de configuration :
Réception :
Applications : contacts DX longue distance, communication à faible signal, contacts intercontinentaux, déconcerter les contestateurs


Communication textuelle numérique classique :
Options de configuration :
Réception :
Applications : communication textuelle numérique, bulletins d'information, messagerie téléimprimeur, envoi d'art ASCII en RTTY


Manipulation par déplacement de fréquence binaire pour transmission de données :
Options de configuration :
Processus de téléchargement : les fichiers sont déplacés tels quels (aucune conversion) vers
./files/data/uploads/en conservant l'extension d'origine
Réception :
Remarque : pw-record --target=81 capture l'audio depuis la sortie de surveillance PulseAudio (sortie de votre logiciel SDR). Modifiez le paramètre --rx pour correspondre au débit en bauds sélectionné. L'implémentation actuelle fonctionne mieux avec des débits de 50 à 100 bauds.
Applications : Bulletins numériques, transfert de fichiers, packet radio, transmission de données, modes numériques radioamateur, envoi de porno comme à l'époque du dial-up


Système de messagerie de radiomessagerie numérique :
Options de configuration :
Réception :
Note : pw-record --target=81 capture l'audio depuis la sortie du moniteur PulseAudio (sortie de votre logiciel SDR). Changez le mode multimon-ng en fonction du débit en bauds sélectionné :
-a POCSAG512-a POCSAG1200-a POCSAG2400Applications : Systèmes de radiomessagerie d'urgence, notifications d'alerte, messagerie par bip, chaos de notification de masse, bombe de nostalgie des années 90


Transmission CW traditionnelle :
Options de configuration :
Réception :
Note : pw-record --target=81 capture l'audio depuis la sortie du moniteur PulseAudio (la sortie de votre logiciel SDR). Les paramètres -d (délai) et -g (gain) doivent être ajustés en fonction de votre vitesse de transmission (dits par minute). Des vitesses élevées nécessitent des valeurs de délai plus faibles, des vitesses plus lentes nécessitent des valeurs de délai plus élevées pour un décodage correct.
Applications : Pratique du code Morse, transmissions de balises, communications d'urgence, envoi de messages salaces en CW, spam de balises


Génération simple d'onde porteuse pour les tests :
Options de configuration :
Réception :
Applications : Réglage d'antenne, test d'émetteurs, mesures de ROS, trolling avec porteuse CW, test de circuits RF


Balayages automatiques en fréquence pour l'analyse RF :
Options de configuration :
Réception :
Applications : Analyse d'antenne, test de filtres, mesures de réponse en fréquence, wobbulation comme un dingue, test de torture d'antenne


Transmission d'images en télévision à balayage lent (SSTV) :
Options de configuration :
Processus de téléchargement : Les images sont converties via ImageMagick au format RGB 320×256 (extension .rgb) pour la transmission SSTV, sauvegardées dans
./files/images/uploads/(les fichiers spectrum paint .Y sont également disponibles si déjà téléchargés)
Réception :
Applications : Transmission d'images par radio, SSTV radioamateur, communication visuelle, diffusion d'images de bite – regardez ce gros coq

Convertir des images en art RF visible sur le spectre :
Options de configuration :
Processus de téléchargement : Les images sont converties via ImageMagick au format YUV (extension .Y) pour le spectrum paint ET au format RGB 320×256 (extension .rgb) pour la SSTV, toutes deux sauvegardées dans
./files/images/uploads/
Réception :
Applications : Art RF sur le spectre, visualisation du spectre, démonstrations d'analyse de signaux, dessiner des bites sur les waterfalls, graffiti spectral


Rejeu de fichiers d'échantillons IQ bruts pour reproduction de signaux :
Options de configuration :
Processus de téléchargement : Les fichiers IQ sont déplacés tels quels (sans conversion) vers
./files/iqs/uploads/en conservant l'extension .iq
Réception :
Applications : Rejeu de signaux, capture/rejeu de répéteurs, tests et validation, analyse de signaux, reproduction de modulations complexes, rejeu de captures SDR, recherche d'empreintes RF
Arrêtez de saisir les mêmes foutus paramètres à chaque fois ! PIrateRF inclut un système complet de gestion des presets :
Fonctionnalités :
Utilisation :
Stockage :
Les presets sont stockés sous forme de fichiers JSON dans files/presets/{nom_du_module}/ et peuvent être sauvegardés, partagés ou versionnés. Parfaits pour conserver vos configurations préférées de rejeu de sonnette, de diffusion FM ou de paramètres 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
### Gestion du 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
## 🏴☠️ Avis juridique et de sécurité
**⚠️ EXIGENCES LÉGALES IMPORTANTES ⚠️**
### Licence de radioamateur requise
- **La plupart des fréquences nécessitent une licence de radioamateur**
- FT8, RTTY, FSK, SSTV et la plupart des opérations HF/VHF/UHF nécessitent une licence appropriée
- Vérifiez votre autorité locale de radioamateur (FCC/Ofcom/etc.) pour les exigences de licence
### Réglementations de fréquence
- **Restez dans les bandes amateurs** : Utilisez uniquement les fréquences allouées à la radio amateur
- **Limites de puissance** : Le Pi Zero ne fournit que quelques milliwatts - si vous utilisez un amplificateur, respectez les limites de puissance maximales pour votre classe de licence
- **Émissions parasites** : Utilisez toujours des filtres passe-bas appropriés
- **Pas de contenu commercial** : La radio amateur interdit les communications commerciales
### Exigences matérielles (pour une utilisation correcte)
- **Filtres passe-bas obligatoires** : Les sorties GPIO du Pi produisent des ondes carrées avec des harmoniques sur tout le spectre
- **Antenne appropriée** : Utilisez des antennes résonnantes pour votre fréquence de fonctionnement
- **Sortie de puissance** : Les sorties GPIO du Pi Zero ne produisent que quelques milliwatts - si vous voulez plus de portée, vous aurez besoin d'un amplificateur approprié et d'un filtre passe-bas
- **Surveillance du ROS** : À des niveaux de puissance de l'ordre du milliwatt, le Pi se fout du ROS, mais si vous utilisez un amplificateur, vous avez besoin d'une adaptation d'impédance appropriée sinon vous grillez votre ampli
### Restrictions géographiques
- **Les plans de bande varient selon les pays** : Les allocations amateurs américaines/européennes/asiatiques diffèrent
- **Les limites de puissance varient** : Vérifiez les réglementations locales pour votre classe de licence
- **Fréquences d'urgence** : N'interférez jamais avec les communications d'urgence/sécurité publique
### 🏠 Tests et expérimentations en intérieur
- **Pas d'antenne = portée minimale** : Sans antenne appropriée, les signaux sont extrêmement faibles et confinés à votre domicile
- **Tests et apprentissage** : Parfait pour comprendre les concepts RF, les modes numériques et les fonctionnalités logicielles
- **Développement de protocole** : Testez l'encodage/décodage sans transmission externe
- **Usage éducatif** : Apprenez la modulation, le filtrage et le traitement du signal en toute sécurité à l'intérieur
## 📡 Fréquences de fonctionnement standard
PIrateRF prend en charge l'ensemble du spectre radio amateur. Voici les fréquences courantes pour chaque mode :
### Bandes amateurs HF (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
### Bandes amateurs VHF/UHF
- **2m** : 144-148 MHz (FM : 144.0-148.0 MHz, Relais : 146.0-148.0 MHz sortie)
- **1.25m** : 222-225 MHz | **70cm** : 420-450 MHz (Relais : 440-450 MHz sortie)
### Fréquences standard FT8 (mode 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
### Fréquences standard RTTY (mode 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
### Fréquences standard 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)
### Décalages standard des relais FM
- **2m** : Entrée 144-146 MHz, Sortie 146-148 MHz (décalage de 0.6 MHz)
- **70cm** : Entrée 420-430 MHz, Sortie 440-450 MHz (décalage de 5 MHz)
## 🔗 Dépendances principales
- **[rpitx](https://github.com/F5OEO/rpitx)** - Bibliothèque de transmission RF pour les GPIO du Raspberry Pi
- **[gorpitx](https://github.com/psyb0t/gorpitx)** - Wrapper Go fournissant une API propre pour rpitx
- **[servicepack](https://github.com/psyb0t/servicepack)** - Cadre de développement et de déploiement
- **[aichteeteapee](https://github.com/psyb0t/aichteeteapee)** - Serveur HTTP avec support WebSocket
## 📝 Licence
Ce projet est sous licence WTFPL (Do What The Fuck You Want To Public License).
## À FAIRE
- (gorpitx) Ajouter 1 seconde supplémentaire de porteuse à la transmission RTTY
- (gorpitx) Abandonner minimodem en FSK et utiliser autre chose
- (gorpitx) Corriger l'espacement des mots en code morse
- Prouver que SSTV fonctionne (essayé avec qsstv et divers réglages + divers auditeurs et non, impossible)
- Ajouter des superpositions d'aide dans l'interface : boutons d'info sur les modes expliquant ce que fait chaque mode de transmission + infobulles par entrée expliquant ce que chaque option de configuration modifie
- Corriger le putain d'en-tête de l'interface pour que ce ne soit plus un rectangle qui fout en l'air l'ombre lol
**🏴☠️ Maintenant, sortez et commencez à diffuser comme le pirate RF que vous êtes destiné à être ! 📡**
_Souvenez-vous : Un grand pouvoir RF implique de grandes responsabilités. Opérez toujours légalement et ne soyez pas un connard envers les autres opérateurs._
---
_Construit avec rancune en utilisant https://github.com/psyb0t/servicepack_