
PIrateRFは、Raspberry Pi Zero WをポータブルRF信号発生器に変え、独自のWiFiホットスポットを生成します。FM放送からデジタルモードまで、ブラウザからすべてをコントロール。どこからでも電波をハックしよう! 📡⚡

PIrateRFは、Raspberry Pi Zero WをポータブルRF信号発生器に変え、独自のWiFiホットスポットを生成します。FM放送からデジタルモードまで、ブラウザからすべてを制御できます。どこからでも電波をハックしましょう! 📡⚡
⚠️ 法的通知
PIrateRFはアマチュア無線の実験と教育のために設計されています。外部アンテナを使わない安全な屋内テストも含みます。良いRFプラクティスが恣意的な行政境界よりも重要であることを理解しているエンジニアのために作られました。ユーザーはすべての地域のRF規制とライセンス要件の遵守に責任を負います。私はあなたの愚かでクソったれな決断に対して一切責任を負いません!
このドキュメントのすべてのデモ画像とテストは、アンテナなしで屋内で行われ、最大距離は約5メートルです。
すべてスタンドアロンのWiFiアクセスポイントを通じて制御 - 任意のデバイスを接続して、あなたがなるべきRF反逆者のように送信を開始しましょう!国際水域での運用や、より...柔軟なスペクトラムポリシーを持つ地域に最適です。
ビルドの手間をすべてスキップして、RFの混沌に直行しましょう:
.imgファイルを選びますsudo dd if=piraterf_2025-11-23_22-18-49.img of=/dev/sdX bs=4M status=progress(/dev/sdXをSDカードに置き換えてください)https://piraterf.local にアクセスしてすぐに送信を開始!デフォルト設定:
fucker, パスワード FUCKER, ホスト名 piraterf.local何をするよりも先に、くそったれなPi Zero WをSSHで接続してアクセス可能にしてください。実際に機能するこのチュートリアルに従ってください:
これにより、Pi ZeroがUSB経由でSSHアクセス可能になり、小さなクソ野郎にPIrateRFを実際にデプロイできるようになります。
🌐 インターネット共有が必要: USB接続が機能した後、コンピュータからPi Zeroにインターネットを共有する必要があります。セットアップスクリプトはパッケージと依存関係をダウンロードする必要があります - インターネットなしではRFカオスはありません。
Ubuntu/Linuxでのインターネット共有のセットアップ:
usb0)を見つけ、クリックし、IPv4設定に移動し、方法を「リンクローカル専用」から「他のコンピュータに共有」に変更します3. **NetworkManager の再起動**:```bash
sudo systemctl restart NetworkManager
usb0とenp5s0を実際のインターフェースに置き換えてください):```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. **テストする**: `ssh [email protected]` で Pi に SSH 接続し(または設定した [email protected] を使用)、`ping 8.8.8.8` を実行します。動作すれば、RF で大混乱を起こす準備は完了です!
**インターフェースを確認する**: `ip link show` を使用して、`usb0`(Pi 接続)とメインのインターネットインターフェースを確認します。
### 1. 初期設定```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
設定例(お使いの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. Pi セットアップの完了```bash
# Run the full automated setup
make pi
このコマンドは次のことを行います:
https://piraterf.local複数のデバイスをPIrateRFアクセスポイントに接続し、すべてのデバイスが同時にWebインターフェースにアクセスできます!一度に実行できる伝送は1つだけですが(GPIOが共有しないから)、接続されたすべてのデバイスはリアルタイムの伝送状況、出力ログを表示し、RF伝送を交代で制御できます。友達と電波で大騒ぎするのに最適!📡💥
マルチデバイス機能:
アンテナをPi Zero Wの**GPIO 4(物理ピン7)**に接続します:
⚠️ 警告:Raspberry PiのGPIOは、スペクトル全体に高調波を持つ方形波を出力します。適切な屋外伝送のためには、スプリアス放射を抑制し、RF規制に準拠するために適切なローパスフィルターを使用する必要があります。フィルターなしでは、複数の周波数で同時に放送することになります。

RDS対応のフルFM放送:
設定オプション:
アップロード処理:ファイルはFFmpegによって自動的に48kHz/16ビット/モノラルWAV形式に変換され、
./files/audio/uploads/に保存されます
受信:
アプリケーション: アンダーグラウンドラジオ放送、音楽ストリーミング、ポッドキャスティング、コミュニティラジオ、海賊ラジオ局、近隣全体へのリックロール


設定可能な変調によるリアルタイムマイクストリーミング:
設定オプション:
受信:
アプリケーション: ライブコメンタリー、緊急通信、アマチュア無線ネット、リアルタイム放送、ゲップを放送、モッシュピットでラジオに生出演


超微弱信号デジタルモード(HF DX向け):
設定オプション:
受信:
アプリケーション: 長距離DXコンタクト、微弱信号通信、大陸間コンタクト、コンテスターを混乱させる


クラシックなデジタルテキスト通信:
設定オプション:
受信:
アプリケーション: デジタルテキスト通信、ニュース速報、テレタイプメッセージング、RTTYでのアスキーアート送信


データ伝送用のバイナリ周波数偏移変調:
設定オプション:
アップロード処理:ファイルはそのまま(変換なし)
./files/data/uploads/に移動され、元の拡張子は保持されます
受信:
注記: pw-record --target=81 は PulseAudio モニターシンク(SDR ソフトウェアの出力)から音声をキャプチャします。--rx パラメータを選択したボーレートに合わせて変更してください。現在の実装は 50~100 ボーのレートで最適に動作します。
用途: デジタル速報、ファイル転送、パケット無線、データ伝送、アマチュア無線デジタルモード、ダイヤルアップ時代のようにポルノを送信する


デジタルポケットベルのメッセージングシステム:
設定オプション:
受信:
注記: pw-record --target=81 は、PulseAudioモニターシンク(SDRソフトウェア出力)からオーディオをキャプチャします。選択したボーレートに基づいてmultimon-ngモードを変更してください:
-a POCSAG512-a POCSAG1200-a POCSAG2400アプリケーション: 緊急ページングシステム、アラート通知、ページャーメッセージング、大量通知カオス、90年代ノスタルジア爆撃


従来のCW送信:
設定オプション:
受信:
注記: pw-record --target=81 は PulseAudio モニターシンク(SDR ソフトウェアの出力)からオーディオをキャプチャします。 -d(遅延)と -g(ゲイン)パラメータは、送信レート(1 分あたりの打鍵数)に基づいて調整してください。レートが高いほど遅延値を低くし、低いレートでは適切なデコードのために高い遅延値が必要です。
用途: モールス符号練習、ビーコン送信、緊急通信、CW での汚いメッセージ送信、ビーコンスパム


テスト用の単純な搬送波生成:
設定オプション:
受信:
用途: アンテナ調整、送信機テスト、SWR 測定、デッドキャリアトローリング、RF 回路テスト


RF 分析用の自動周波数スイープ:
設定オプション:
受信:
用途: アンテナ分析、フィルタテスト、周波数応答測定、狂ったようにうねらせる、アンテナ拷問テスト


スロー・スキャン・テレビジョン画像伝送:
設定オプション:
アップロード処理: 画像は ImageMagick により SSTV 伝送用に RGB 320x256 形式(.rgb 拡張子)に変換され、
./files/images/uploads/に保存されます(以前にアップロードされたスペクトラムペイント用 .Y ファイルも利用可能)
受信:
用途: 無線による画像伝送、アマチュア無線 SSTV、視覚通信、大きな雄鶏の写真放送 – あのデカい雄鶏を見てくれ

画像を RF スペクトラムアートに変換:
設定オプション:
アップロード処理: 画像は ImageMagick によりスペクトラムペイント用の YUV 形式(.Y 拡張子)と SSTV 用の RGB 320x256 形式(.rgb 拡張子)に変換され、両方とも
./files/images/uploads/に保存されます
受信:
用途: RF スペクトラムアート、スペクトラム可視化、信号分析デモ、ウォーターフォールにペニス画像を描く、スペクトラムグラフィティ


信号再生用の生 IQ サンプルファイルの再生:
設定オプション:
アップロード処理: IQ ファイルはそのまま(変換なし)で
./files/iqs/uploads/に移動され、.iq 拡張子を保持
受信:
用途: 信号再生、リピーターキャプチャ/再生、テストと検証、信号分析、複雑な変調の再現、SDR キャプチャ再生、RF フィンガープリンティング研究
毎回同じパラメータを入力するのをやめよう! PIrateRF には完全なプリセット管理システムが含まれています:
機能:
使用方法:
保存場所:
プリセットは files/presets/{modulename}/ に JSON ファイルとして保存され、バックアップ、共有、バージョン管理が可能です。お気に入りのドアベル再生設定、FM 放送設定、または 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
### 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
## 🏴☠️ 法的・安全に関する注意事項
**⚠️ 重要な法的要件 ⚠️**
### アマチュア無線局免許が必要
- **ほとんどの周波数ではアマチュア無線局免許が必要です**
- FT8、RTTY、FSK、SSTV、およびほとんどのHF/VHF/UHF運用には適切な免許が必要です
- お住まいの地域のアマチュア無線当局(FCC/Ofcomなど)で免許要件を確認してください
### 周波数に関する規制
- **アマチュアバンド内に留めてください**:アマチュア無線に割り当てられた周波数のみを使用してください
- **電力制限**:Pi Zeroはわずか数ミリワットしか出力しません。アンプを使用する場合は、無線局免許のクラスに応じた最大電力を尊重してください
- **スプリアス放出**:必ず適切なローパスフィルターを使用してください
- **商用コンテンツは禁止**:アマチュア無線では業務通信は禁止されています
### ハードウェア要件(適切な使用のために)
- **ローパスフィルター必須**:PiのGPIOは方形波を出力し、スペクトル全体に高調波が発生します
- **適切なアンテナ**:運用周波数に共振するアンテナを使用してください
- **出力電力**:Pi ZeroのGPIOはわずか数ミリワットしか出力しません。より遠距離をカバーしたい場合は、適切なアンプとローパスフィルターが必要です
- **SWR監視**:ミリワットレベルの出力ではPiはSWRを気にしませんが、アンプを使用する場合は適切なインピーダンス整合が必要です。そうしないとアンプを破損する恐れがあります
### 地理的制限
- **バンドプランは国によって異なります**:米国、欧州、アジアのアマチュア無線の割り当ては異なります
- **電力制限も異なります**:お住まいの地域の無線局免許クラスに関する規制を確認してください
- **緊急周波数**:緊急通信・公共安全通信に干渉しないでください
### 🏠 屋内テストと実験
- **アンテナなし=最小限の到達距離**:適切なアンテナがない場合、信号は非常に弱く、自宅内に収まります
- **テストと学習**:RFの概念、デジタルモード、ソフトウェア機能の理解に最適です
- **プロトコル開発**:外部への送信なしでエンコード/デコードをテストできます
- **教育目的**:変調、フィルタリング、信号処理について安全に屋内で学べます
## 📡 標準運用周波数
PIrateRFはアマチュア無線の全周波数帯域をサポートします。各モードの一般的な周波数は以下の通りです。
### 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
### VHF/UHFアマチュアバンド
- **2m**: 144-148 MHz (FM: 144.0-148.0 MHz、レピーター: 146.0-148.0 MHz出力)
- **1.25m**: 222-225 MHz | **70cm**: 420-450 MHz (レピーター: 440-450 MHz出力)
### FT8標準周波数(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
### RTTY標準周波数(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
### 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)
### FMレピーター標準スプリット
- **2m**: 入力144-146 MHz、出力146-148 MHz(0.6 MHz スプリット)
- **70cm**: 入力420-430 MHz、出力440-450 MHz(5 MHz スプリット)
## 🔗 コア依存関係
- **[rpitx](https://github.com/F5OEO/rpitx)** - Raspberry Pi GPIO用RF送信ライブラリ
- **[gorpitx](https://github.com/psyb0t/gorpitx)** - rpitxにクリーンなAPIを提供するGoラッパー
- **[servicepack](https://github.com/psyb0t/servicepack)** - 開発・デプロイメントフレームワーク
- **[aichteeteapee](https://github.com/psyb0t/aichteeteapee)** - WebSocket対応HTTPサーバー
## 📝 ライセンス
このプロジェクトはWTFPL(Do What The Fuck You Want To Public License)の下でライセンスされています。
## TODO
- (gorpitx) RTTY送信にキャリアを1秒追加する
- (gorpitx) FSKでminimodemを廃止し、別のものに置き換える
- (gorpitx) モールス符号の単語間隔を修正する
- SSTVが実際に動作することを証明する(qsstvといくつかの設定、複数のリスナーで試したが、まだうまくいかない)
- UIヘルプオーバーレイを追加する:各送信モードの説明、各設定オプションのツールチップを追加
- クソみたいなUIヘッダーを修正する。今は四角形で、影がめちゃくちゃになっている。笑
**🏴☠️ さあ、外に出て、あなたがなるべきRFパイレーツのように放送を始めよう! 📡**
_覚えておいて:大きなRFパワーには大きな責任が伴う。常に合法的に運用し、他のオペレーターに迷惑をかけないこと。_
---
_Built with spite using https://github.com/psyb0t/servicepack_
---