Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
piraterf — PIrateRF는 여러분의 Raspberry Pi Zero W를 자체 WiFi 핫스팟을 생성하는 휴대용 RF 신호 발생기로 변환합니다. 브라우저를 통해 FM 방송부터 디지털 모드까지 모든 것을 제어하세요 - 어디서나 전파를 해킹하세요! 📡⚡ | Kitploit
도구/GitHubGitHub/psyb0t/piraterf
Embedded Systems SecurityGeneral Purpose UtilitiesOSINT (Open Source Intelligence)ExploitationRFID/NFC ToolsFuzzingWireless SecurityPenetration TestingHardware & IoT SecurityLearning & EducationRed Teaming
2742919일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
psyb0t/piraterf

piraterf

PIrateRF는 여러분의 Raspberry Pi Zero W를 자체 WiFi 핫스팟을 생성하는 휴대용 RF 신호 발생기로 변환합니다. 브라우저를 통해 FM 방송부터 디지털 모드까지 모든 것을 제어하세요 - 어디서나 전파를 해킹하세요! 📡⚡

저장소 보기웹사이트

🏴‍☠️ PIrateRF - 소프트웨어 정의 무선 전송 플랫폼

PIrateRF

PIrateRF는 여러분의 Raspberry Pi Zero W를 휴대용 RF 신호 발생기로 변신시켜 자체 WiFi 핫스팟을 생성합니다. FM 방송부터 디지털 모드까지 모든 것을 브라우저를 통해 제어하세요 - 어디서나 전파를 해킹하세요! 📡⚡

🎬 PIrateRF 홍보 영상 보러 가기

📺 PIrateRF 쇼케이스 영상 보러 가기


⚠️ 법적 고지

PIrateRF는 아마추어 무선 실험 및 교육을 위해 설계되었습니다 - 외부 안테나 없이 실내에서 안전하게 테스트할 수 있습니다. 좋은 RF 관행이 임의적인 행정 경계보다 중요하다는 것을 이해하는 엔지니어를 위해 만들어졌습니다. 사용자는 모든 현지 RF 규정 및 면허 요건을 준수할 책임이 있습니다. 저는 여러분의 멍청한 결정에 대해 책임을 지지 않습니다!

이 문서의 모든 데모 이미지 및 테스트는 안테나 없이 실내에서 수행되었으며, 최대 범위는 약 5미터입니다.


📋 목차

  • 🎯 12가지 전송 모드
  • 🚀 빠른 설정 가이드
    • 사전 요구 사항
    • 옵션 1: 사전 빌드 이미지 (권장)
    • 옵션 2: 수동 빌드 설정
      • 🚨 중요: Pi Zero 먼저 설정하세요!
      • 1. 초기 설정
      • 2. Pi 설정 완료
      • 3. 연결 및 사용
  • 🎉 해적 승무원 모드
  • 🔌 안테나 설정
  • 📡 전송 모드 설명
    • 🎵 FM 스테이션
    • 🎙️ 실시간 마이크 방송
    • 📟 FT8
    • 📠 RTTY
    • 📊 FSK
    • 📱 POCSAG
    • 📻 모스 부호
    • 🎛️ 반송파
    • 🌊 주파수 스윕
    • 📺 SSTV
    • 🎨 스펙트럼 페인트
    • 📡 IQ
  • 💾 프리셋 시스템
  • 🛠️ 개발 명령어
    • 로컬 개발
    • Pi 관리
  • 📁 프로젝트 구조
  • 🏴‍☠️ 법적 및 안전 고지
    • 아마추어 무선 면허 필요
    • 주파수 규정
    • 하드웨어 요구 사항 (올바른 사용을 위해)
    • 지역 제한
    • 🏠 실내 테스트 및 실험
  • 📡 표준 운용 주파수
    • HF 아마추어 대역 (3-30 MHz)
    • VHF/UHF 아마추어 대역
    • FT8 표준 주파수 (USB 모드)
    • RTTY 표준 주파수 (USB 모드)
    • SSTV 표준 주파수
    • FM 중계기 표준 분할
  • 🔗 핵심 종속성
  • 📝 라이선스
  • 📋 변경 로그
  • TODO

🎯 12가지 전송 모드

  • 🎵 FM 스테이션 - RDS 메타데이터, 재생 목록 및 오디오 처리를 포함한 전체 FM 방송
  • 🎙️ 실시간 마이크 방송 - 실시간 마이크 스트리밍, 설정 가능한 변조 (AM/DSB/USB/LSB/FM/RAW)
  • 📟 FT8 - HF 대역에서 약한 신호 통신을 위한 장거리 디지털 모드
  • 📠 RTTY - 보도 코드 및 FSK 변조를 사용한 무선 전신
  • 📊 FSK - 디지털 데이터 전송을 위한 주파수 편이 키잉
  • 📱 POCSAG - 디지털 호출기 메시지 시스템
  • 📻 모스 부호 - 설정 가능한 WPM의 CW 전송
  • 🎛️ 반송파 - 테스트용 단순 반송파 생성
  • 🌊 주파수 스윕 - 안테나 테스트 및 분석을 위한 RF 스윕
  • 📺 SSTV - 슬로우 스캔 텔레비전 이미지 전송
  • 🎨 스펙트럼 페인트 - 이미지를 RF 스펙트럼 아트로 변환
  • 📡 IQ - 신호 재생 및 테스트를 위한 원시 IQ 샘플 재생

모든 것은 독립형 WiFi 액세스 포인트를 통해 제어됩니다 - 어떤 기기든 연결하고, 당신이 되고자 했던 RF 반란군처럼 전송을 시작하세요! 국제 해역 및 더... 유연한 스펙트럼 정책을 가진 지역에 완벽합니다.

🚀 빠른 설정 가이드

사전 요구 사항

  • Raspberry Pi Zero 1 W (원본 모델, 권장) 및 4GB+ SD 카드
    • 기타 Pi 모델: rpitx 자체는 Pi 1, 2, 3, 3B+, Zero, Zero W, Pi 4에서 작동하지만 — PIrateRF의 배포 스크립트, WiFi AP 설정, 크로스 컴파일 및 사전 빌드 이미지는 모두 Pi Zero 1 W에 맞게 특별히 제작되었습니다. 다른 보드는 수동 설정으로 작동할 수 있지만 테스트되지 않았습니다.

옵션 1: 사전 빌드 이미지 (권장)

모든 빌드 지옥을 건너뛰고 바로 RF 혼돈으로 가세요:

  1. 사전 빌드 이미지 다운로드: PIrateRF 이미지 v2025-11-23
  2. SD 카드에 플래시:
    • Raspberry Pi Imager (권장): "사용자 지정 이미지 사용" 선택 후 다운로드한 .img 파일 선택
    • 명령줄: sudo dd if=piraterf_2025-11-23_22-18-49.img of=/dev/sdX bs=4M status=progress (/dev/sdX를 SD 카드 장치로 변경)
  3. Pi Zero W를 부팅하고 WiFi에 연결: "🏴‍☠️📡" (비밀번호: "FUCKER!!!")
  4. 브라우저 열기: https://piraterf.local 즉시 전송 시작!

기본 설정:

  • WiFi AP: SSID "🏴‍☠️📡", 비밀번호 "FUCKER!!!"
  • SSH 접속: 사용자 fucker, 비밀번호 FUCKER, 호스트명 piraterf.local
  • 웹 인터페이스: https://piraterf.local

옵션 2: 수동 빌드 설정

🚨 중요: Pi Zero 먼저 설정하세요!

다른 모든 것보다 먼저, 당신의 망할 Pi Zero W를 연결하고 SSH로 접근 가능하게 만드세요. 실제로 작동하는 이 튜토리얼을 따르세요:

👉 Pi Zero W USB 연결 튜토리얼

이렇게 하면 Pi Zero가 USB로 연결되고 SSH 접속이 가능해져서, 그 작은 놈에게 PIrateRF를 실제로 배포할 수 있습니다.

🌐 인터넷 공유 필수: USB 연결이 작동한 후에는 컴퓨터에서 Pi Zero로 인터넷을 공유해야 합니다. 설정 스크립트는 패키지와 종속성을 다운로드해야 합니다 - 인터넷 없음, RF 혼돈 없음.

Ubuntu/Linux에서 인터넷 공유 설정하기:

  1. 연결을 공유로 설정: Ubuntu 네트워크 설정에서 USB 연결(보통 usb0)을 찾아 클릭하고, IPv4 설정으로 이동하여 방식을 "링크-로컬 전용"에서 "다른 컴퓨터와 공유"로 변경하세요.

  2. Docker 서비스 중지 (네트워킹을 방해함):```bash sudo systemctl stop docker.socket sudo systemctl stop docker

root@kitploit:~
3. **NetworkManager 다시 시작**:```bash
sudo systemctl restart NetworkManager
  1. iptables 규칙 구성 (실제 인터페이스에 맞게 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 MASQUERADE
root@kitploit:~
5. **테스트**: `ssh [email protected]`(또는 설정한 사용자@호스트.local)로 Pi에 SSH 접속한 후 `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

root@kitploit:~
### 2. Pi 설정 완료```bash
# Run the full automated setup
make pi

이 명령은 다음을 수행합니다:

  • rpitx 및 의존성 설치
  • WiFi 액세스 포인트 구성
  • PIrateRF 빌드 및 배포
  • systemd 서비스 설치
  • 전체 해적 모드로 재부팅 🏴‍☠️

3. 연결 및 사용

  1. WiFi에 연결: 구성된 SSID (기본값: "🏴‍☠️📡")
  2. 브라우저 열기: https://piraterf.local
  3. 전송 모드를 선택하고 제대로 된 RF 해적처럼 방송을 시작하세요!

🎉 해적 승무원 모드

여러 장치를 PIrateRF 액세스 포인트에 연결하면 모두 동시에 웹 인터페이스에 접근할 수 있습니다! 한 번에 하나의 전송만 실행할 수 있지만(GPIO는 공유하지 않으니까요), 연결된 모든 장치는 실시간 전송 상태, 출력 로그를 확인하고 RF 전송을 차례로 제어할 수 있습니다. 친구들과 함께 전파 난장판을 벌이기에 완벽합니다! 📡💥

다중 장치 기능:

  • 공유 제어: 모든 장치가 전송을 시작/중지할 수 있음
  • 실시간 상태: 모든 장치가 실시간 전송 진행 상황을 확인함
  • 출력 스트리밍: 모든 사람이 실시간 RF 전송 로그를 볼 수 있음
  • 턴제 혼란: 협력 방송을 위해 장치 간 제어권 전달

🔌 안테나 설정

안테나를 Pi Zero W의 **GPIO 4 (물리적 핀 7)**에 연결하세요:

  • 안테나 없음: 집 안에만 한정된 극도로 약한 신호 - 이웃을 화나게 하지 않고 안전하게 난장판을 벌이기에 완벽
  • 짧은 전선 (10-20cm): 실내 실험을 위한 최소 범위
  • 와이어 안테나 (75cm): 더 긴 범위이지만 구형파 고조파가 의도한 것보다 더 멀리 퍼짐 - 이거 실내에서만 사용
  • 로우패스 필터 + 안테나: 적절한 실외 전송을 위해 (먼저 면허를 따셈!)
  • 로우패스 필터 + 증폭기 + 안테나: 최대 범위와 최대 혼란을 위해 (Pi는 기본적으로 밀리와트 출력)

⚠️ 경고: Raspberry Pi GPIO는 전체 스펙트럼에 걸쳐 고조파가 포함된 구형파를 출력합니다. 적절한 실외 전송을 위해서는 반드시 적절한 로우패스 필터를 사용하여 불필요한 방출을 억제하고 RF 규정을 준수해야 합니다. 필터링 없이 여러 주파수에서 동시에 방송하게 됩니다.

📡 전송 모드 설명

🎵 FM 방송국

FM Station

RDS 지원을 포함한 전체 FM 방송:

설정 옵션:

  • 주파수: MHz 단위의 전송 주파수
  • 오디오 파일: MP3/WAV/FLAC/OGG 업로드 또는 처리된 파일 선택

    업로드 과정: 파일은 FFmpeg를 통해 자동으로 48kHz/16-bit/모노 WAV 형식으로 변환되어 ./files/audio/uploads/에 저장됨

  • 재생 목록 빌더: Sox를 사용하여 여러 오디오 파일과 SFX를 하나의 WAV로 결합하는 UI 도구
  • RDS 설정:
    • PI 코드: 4자리 방송국 식별자
    • PS 이름: 8자리 방송국 이름
    • 라디오 텍스트: 64자리 스크롤 메시지
  • 재생 모드: "한 번 재생"과 "반복" 사이 전환
  • 인트로/아웃트로: 인트로 및 아웃트로 SFX 트랙
  • PPM 클록 보정: 주파수 정밀도 미세 조정
  • 타임아웃: 지정된 초 후 자동 중지 (0 = 타임아웃 없음)
  • 마이크 녹음: 브라우저 인터페이스를 통해 오디오를 직접 녹음하고 WAV로 저장

수신:

  • 복조: WFM (광대역 FM)
  • RDS 신호: 전송에는 세 가지 가시 신호가 포함됨:
    • 메인 신호: 오디오/음악 포함
    • 두 개의 평행 RDS 신호: 메인 반송파에서 고정 주파수 오프셋에 위치하며 방송국 메타데이터 포함
  • RDS 디코딩: SDR++ (sdrpp-brown 포크)는 PI 코드, PS 이름, 라디오 텍스트를 디코딩할 수 있는 내장 RDS 디코더(플러그인 불필요)를 포함함

응용: 지하 라디오 방송, 음악 스트리밍, 팟캐스팅, 커뮤니티 라디오, 해적 라디오 방송국, 전체 이웃을 릭롤하기

FM Station Demo

🎙️ 실시간 마이크 방송

Live Microphone Broadcast

설정 가능한 변조를 사용한 실시간 마이크 스트리밍:

설정 옵션:

  • 주파수: Hz 단위의 전송 주파수
  • 샘플 레이트: 오디오 샘플 레이트 (기본값 48000 Hz)
  • 버퍼 크기: 브라우저 오디오 버퍼 (1024-16384 샘플)
    • 1024: 낮은 지연, 글리치 발생 가능
    • 4096: 기본 균형 설정
    • 16384: 최대 품질, 더 높은 지연
  • 변조: AM, DSB, USB, LSB, FM, RAW (참고: Pi Zero에서 USB/LSB는 느림)
  • 이득: 오디오 이득 승수 (기본값 1.0)
  • 실시간 처리: 브라우저가 마이크를 캡처하고 WebSocket을 통해 rpitx로 파이프되는 유닉스 소켓으로 스트리밍

수신:

  • 복조: 전송 시 선택한 동일한 변조 모드 사용 (AM, DSB, USB, LSB, FM, 또는 RAW)

응용: 실시간 해설, 비상 통신, 아마추어 라디오 네트, 실시간 방송, 트림 방송, 모쉬핏에서 라디오로 라이브

Live Microphone Broadcast Demo

📟 FT8

FT8

HF DX를 위한 초약신호 디지털 모드:

설정 옵션:

  • 주파수: 기본 주파수 (Hz 단위, 예: 20m의 경우 14074000)
  • 메시지: FT8 메시지 텍스트 (예: "CQ CA0ALL JN06")
  • PPM 클록 보정: 주파수 정밀도 미세 조정
  • 주파수 오프셋: FT8 서브밴드 내 0-2500 Hz (기본값 1240)
  • 타임 슬롯: 15초 전송 슬롯 선택 (0, 1, 또는 2)
  • 반복 모드: 15초마다 연속 전송

수신:

  • 복조: USB 모드
  • 디코딩: SDR++ (sdrpp-brown 포크)는 표준 FT8 주파수(예: 14.074 MHz)에 동조될 때 작동하는 내장 FT8 디코더 모듈이 있음
  • ⚠️ 면허 경고: 유효한 아마추어 무선 호출 부호 없이 FT8을 전송하지 마십시오 - FT8 메시지에는 호출 부호가 포함되어 있으며, 없이 전송하는 것은 직접적인 호출 부호 위조이며 매우 불법입니다

응용: 장거리 DX 접촉, 약신호 통신, 대륙간 접촉, 콘테스터들을 혼란스럽게 만들기

FT8 Demo

📠 RTTY

RTTY

고전적인 디지털 텍스트 통신:

설정 옵션:

  • 주파수: Hz 단위의 전송 주파수
  • 공간 주파수: FSK 공간 주파수 오프셋 (기본값 170 Hz)
  • 메시지: 전송할 텍스트

수신:

  • 복조: USB 모드
  • fldigi로 디코딩:
    • fldigi를 RTTY 모드로 설정
    • 시프트를 공간 주파수와 일치하도록 구성 (기본값: 45.45/170 또는 선택한 공간 주파수)
    • fldigi 오디오 입력을 SDR 소프트웨어 출력(SDR++, GQRX, SDRSharp, SDRAngel 등)의 PulseAudio 모니터를 사용하도록 구성

응용: 디지털 텍스트 통신, 뉴스 게시판, 텔레타이프 메시징, RTTY를 통한 ASCII 아트 전송

RTTY Demo

📊 FSK

FSK

데이터 전송을 위한 이진 주파수 편이 키잉:

설정 옵션:

  • 주파수: Hz 단위의 전송 주파수
  • 입력 유형: 텍스트 또는 파일 모드
    • 텍스트 모드: 직접 텍스트 입력
    • 파일 모드: 데이터 파일 업로드 (모든 형식)

      업로드 과정: 파일이 변환 없이 원래 확장자를 유지한 채 ./files/data/uploads/로 이동됨

  • 전송 속도: 전송 속도 (신뢰성을 위해 기본값 50 보드)

수신:

  • 복조: FM 모드
  • minimodem으로 디코딩: ```bash pw-record --target=81 --rate=48000 --channels=1 - | minimodem --rx 50 -q -c 1
    root@kitploit:~

참고: pw-record --target=81은 PulseAudio 모니터 싱크(당신의 SDR 소프트웨어 출력)에서 오디오를 캡처합니다. --rx 매개변수를 선택한 baud rate에 맞게 변경하세요. 현재 구현은 50-100 baud rate에서 가장 잘 작동합니다.

응용 분야: 디지털 게시판, 파일 전송, 패킷 라디오, 데이터 전송, 아마추어 무선 디지털 모드, 다이얼업 시대처럼 포르노 전송

FSK Demo

📱 POCSAG

POCSAG

디지털 호출기 메시징 시스템:

구성 옵션:

  • 주파수: 전송 주파수 (Hz)
  • Baud Rate: 512, 1200 (기본값) 또는 2400 bps
  • Function Bits: 0-3 (기본값 3) 메시지 유형 결정:
    • 0: 숫자 전용 메시지 (BCD 인코딩)
    • 1-2: 링 전용 (실제 동작은 호출기 설정에 따라 다름)
    • 3: 영숫자 메시지 (ASCII 인코딩, 기본값)
  • 반복 횟수: 전송 반복 횟수 (기본값 4)
  • 숫자 모드: 숫자 전용 메시지 전환
  • 극성 반전: 신호 극성 반전
  • 디버그 모드: 디버그 출력 활성화
  • 메시지: 메시지 배열, 각 항목 포함:
    • 주소: 호출기 주소 (음이 아닌 정수)
    • 메시지: 전송할 메시지 텍스트
    • Function Bits (선택 사항): 메시지별 Function Bits 재정의 (0-3)

수신:

  • 복조: FM 모드
  • multimon-ng로 디코딩: ```bash pw-record --target=81 --rate=22050 --channels=1 - | multimon-ng -t raw -a POCSAG1200 -
    root@kitploit:~

참고: pw-record --target=81는 PulseAudio 모니터 싱크(SDR 소프트웨어 출력)에서 오디오를 캡처합니다. 선택한 보드 속도에 따라 multimon-ng 모드를 변경하십시오:

  • 512 baud: -a POCSAG512
  • 1200 baud: -a POCSAG1200
  • 2400 baud: -a POCSAG2400

응용 분야: 비상 호출 시스템, 알림 알림, 무선호출 메시징, 대량 알림 혼란, 90년대 향수 폭격

POCSAG 데모

📻 모스 부호

모스 부호

전통적인 CW 전송:

구성 옵션:

  • 주파수: 전송 주파수(Hz)
  • 속도: 분당 딧(dit) 수로 나타낸 전송 속도(기본값 20)
  • 메시지: 모스 부호로 변환할 텍스트

수신:

  • 복조: CW 모드
  • multimon-ng로 디코딩: ```bash pw-record --target=81 --rate=22050 --channels=1 - | multimon-ng -t raw -a MORSE_CW -d 60 -g 60 -
    root@kitploit:~

참고: pw-record --target=81는 PulseAudio 모니터 싱크(SDR 소프트웨어 출력)에서 오디오를 캡처합니다. -d(지연) 및 -g(이득) 매개변수는 전송 속도(분당 딧 수)에 따라 조정해야 합니다. 속도가 높을수록 낮은 지연 값이 필요하고, 낮은 속도는 적절한 디코딩을 위해 더 높은 지연 값이 필요합니다.

응용 분야: 모스 부호 연습, 비콘 전송, 비상 통신, CW 비속어 전송, 비콘 스팸

모스 부호 데모

🎛️ 반송파

반송파

테스트용 간단한 반송파 생성:

설정 옵션:

  • 주파수: 반송파 주파수(Hz)
  • PPM 클록 보정: 주파수 정밀도 미세 조정

수신:

  • 복조: RAW 모드
  • 신호: 지정된 주파수의 단순 연속파

응용 분야: 안테나 튜닝, 송신기 테스트, SWR 측정, 데드 캐리어 트롤링, RF 회로 테스트

반송파 데모

🌊 주파수 스윕

주파수 스윕

RF 분석을 위한 자동 주파수 스윕:

설정 옵션:

  • 중심 주파수: 중심 주파수(Hz)
  • 대역폭: 스윕 대역폭(Hz, 기본값 1 MHz)
  • 스윕 시간: 전체 스윕 시간(초, 기본값 5.0)

수신:

  • 복조: RAW 모드
  • 관찰: 워터폴 디스플레이에서 활성 반송파가 왼쪽에서 오른쪽으로 주파수 스윕

응용 분야: 안테나 분석, 필터 테스트, 주파수 응답 측정, 미친 듯이 흔들기, 안테나 고문 테스트

주파수 스윕 데모

📺 SSTV

SSTV

Slow Scan Television 이미지 전송:

설정 옵션:

  • 주파수: 전송 주파수(Hz)
  • 사진 파일: 이미지 파일 업로드 또는 선택

    업로드 프로세스: 이미지는 ImageMagick을 통해 SSTV 전송용 RGB 320x256 형식(.rgb 확장자)으로 변환되어 ./files/images/uploads/에 저장됩니다(이전에 업로드된 경우 스펙트럼 페인트 .Y 파일도 사용 가능).

수신:

  • 복조: USB 모드
  • SSTV 모드: Martin 1
  • 디코딩: QSSTV 또는 기타 SSTV 소프트웨어를 사용하여 디코딩 가능
  • ⚠️ 미확인: QSSTV로 디코딩을 시도했지만 아직 이미지를 성공적으로 수신하지 못했습니다. rpitx SSTV 모듈은 적절한 Martin 1 신호를 생성하는 것으로 신뢰됩니다. PIrateRF에서 SSTV 전송을 성공적으로 디코딩했다면 설정 및 디코딩 과정을 설명하는 PR을 열어주세요!

응용 분야: 무선 이미지 전송, 아마추어 무선 SSTV, 시각적 통신, 수탉 그림 방송 - 저 큰 수탉 좀 봐

🎨 스펙트럼 페인트

스펙트럼 페인트

이미지를 RF 스펙트럼 아트로 변환:

설정 옵션:

  • 주파수: 기본 전송 주파수(Hz)
  • 사진 파일: 이미지 파일 업로드 또는 선택

    업로드 프로세스: 이미지는 ImageMagick을 통해 스펙트럼 페인트용 YUV 형식(.Y 확장자)과 SSTV용 RGB 320x256 형식(.rgb 확장자) 모두로 변환되어 ./files/images/uploads/에 저장됩니다.

  • 이탈(Excursion): 주파수 편차(Hz, 기본값 100000)

수신:

  • 복조: RAW 모드
  • 워터폴 설정: 워터폴 디스플레이를 최대 해상도로 설정(필터링 없음, 높은 값뿐만 아니라 모든 스펙트럼 피크 표시)하여 스펙트럼 전체에 그려진 전체 이미지를 볼 수 있습니다.

응용 분야: RF 스펙트럼 아트, 스펙트럼 시각화, 신호 분석 시연, 워터폴에 성기 그림 그리기, 스펙트럼 그래피티

스펙트럼 페인트 데모

📡 IQ

IQ

신호 재생을 위한 원시 IQ 샘플 파일 재생:

설정 옵션:

  • 주파수: 반송파 주파수(Hz)
  • IQ 파일: .iq 파일 업로드 또는 선택

    업로드 프로세스: IQ 파일은 변환 없이 그대로 ./files/iqs/uploads/로 이동되며 .iq 확장자가 유지됩니다.

  • 샘플링 속도: 샘플링 속도(Hz, 기본값 48000)
    • 범위: 10,000 ~ 2,000,000 Hz
    • 200,000 Hz 이상의 값은 자동 데시메이션을 트리거합니다.
  • 고조파: 전송용 고조파 번호(기본값 1)
  • IQ 데이터 유형: 샘플 형식(u8, i16, float, double)
    • 기본값: i16 (16비트 부호 정수)
  • 전력 레벨: 구동 레벨 0.0 ~ 7.0 (기본값 0.1)
  • 공유 메모리 토큰: 런타임 제어용 선택적 IPC 토큰
    • 설정 시 IQ 유형이 float로 강제 설정되고 공유 메모리 제어가 활성화됩니다.
  • 시간 초과: 지정된 초 후 자동 중지(0 = 시간 초과 없음, 기본값 30)
  • 루프 모드: IQ 파일을 계속 재생

수신:

  • 복조: IQ 파일에 캡처된 신호에 따라 다름
  • 신호 유형: IQ 파일에는 모든 변조 방식을 나타낼 수 있는 원시 I/Q 샘플이 포함되어 있습니다.
  • 재생 충실도: 전송은 IQ 파일에 캡처된 정확한 신호 특성을 재현합니다.

응용 분야: 신호 재생, 중계기 캡처/재생, 테스트 및 검증, 신호 분석, 복잡한 변조 재생, SDR 캡처 재생, RF 지문 연구

💾 프리셋 시스템

매번 똑같은 파라미터를 입력하는 건 그만! PIrateRF에는 완전한 프리셋 관리 시스템이 포함되어 있습니다:

기능:

  • 구성 저장: 현재 모듈 설정을 이름이 있는 프리셋으로 저장
  • 빠른 로드: 한 번의 클릭으로 저장된 프리셋 선택 및 다시 로드
  • 프리셋 관리: 웹 인터페이스를 통해 프리셋 생성, 이름 변경 및 삭제
  • 모듈별 저장: 각 전송 모드마다 자체 프리셋 디렉토리가 있습니다.
  • 지속적 선택: 마지막으로 선택한 프리셋은 페이지 새로고침 후에도 기억됩니다.
  • 원클릭 되돌리기: 다시 로드 버튼으로 저장되지 않은 변경 사항을 프리셋 값으로 되돌립니다.

사용법:

  1. 전송 파라미터(주파수, 오디오 파일, RDS 설정 등)를 구성합니다.
  2. "📝 새로 만들기"를 클릭하여 사용자 지정 이름으로 프리셋을 생성합니다.
  3. 드롭다운에서 프리셋을 선택하여 저장/다시 로드/편집 버튼을 활성화합니다.
  4. 변경 후 "💾 저장"을 클릭하여 프리셋을 업데이트합니다.
  5. "🔃 다시 로드"를 클릭하여 저장되지 않은 변경 사항을 되돌립니다.
  6. "✏️ 편집"을 클릭하여 프리셋 이름을 변경하거나 삭제합니다.

저장소:

프리셋은 files/presets/{모듈명}/ 디렉토리에 JSON 파일로 저장되며, 백업, 공유 또는 버전 관리가 가능합니다. 좋아하는 초인종 재생 설정, FM 방송 설정 또는 FT8 구성을 유지하는 데 적합합니다!

🛠️ 개발 명령어

로컬 개발```bash

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

root@kitploit:~
### 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

root@kitploit:~
## 🏴‍☠️ 법적 및 안전 공지

**⚠️ 중요한 법적 요구 사항 ⚠️**

### 아마추어 무선 면허 필요

- **대부분의 주파수는 아마추어 무선 면허가 필요합니다**
- 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 전력에는 큰 책임이 따릅니다. 항상 합법적으로 운영하고 다른 운영자에게 나쁜 사람이 되지 마세요._

---

_악의를 담아 https://github.com/psyb0t/servicepack 를 사용하여 제작됨_
도구 다운로드