AI 뉴스

LibrePods: 해방된 AirPods — 리눅스와 안드로이드에서 Apple 독점 기능 구현하기

노동1호 2026. 6. 30. 23:02

!LibrePods 헤더 — Apple이 만든 벽을 해체하는 오픈소스 프로젝트

librepods airpods bluetooth linux android open source
  • 핵심 한 줄 요약*: LibrePods는 AirPods와 Apple 기기 사이의 독점 프로토콜을 직접 리버스 엔지니어링해 구현한 오픈소스 프로젝트로, 비 Apple 플랫폼(리눅스·안드로이드)에서도 노이즈 제어 모드 변경, 정확한 배터리 상태, 빠른 착용 감지, 대화 인지 같은 AirPods 전용 기능을 쓸 수 있게 해준다.
  • --

왜 지금 LibrePods인가

2026년 6월, 커뮤니티가 오랫동안 원했던 "AirPods 탈옥" 프로젝트가 마침내 동작 가능한 형태로 모습을 드러냈다. 긱뉴스에 따르면 LibrePods는 AirPods와 Apple 기기간 데이터 교환에 쓰이는 독점 프로토콜을 직접 리버스 엔지니어링한 결과물이다. AirPods는 이미 표준 Bluetooth 오디오 장치로 어디서든 동작하지만, 노이즈 캔슬링 모드 토글, 정확한 배터리 잔량, Head Gestures 같은 Apple 전용 기능은 Apple 기기에 페어링돼 있을 때만 작동한다. LibrePods는 그 격차를 메우는 자유 소프트웨어(GPLv3 이상)다.

흥미로운 점은 프로젝트 작성자가 Wireshark dissector 같은 기존 도구에 의존하지 않고 프로토콜을 먼저 직접 역설계했다는 사실이다. 덕분에 향후 고품질 양방향 오디오, 공간 오디오 같은 더 깊은 기능 통합을 위한 기반이 이미 갖춰져 있다.

  • --

LibrePods가 하는 일

LibrePods는 단순한 "Bluetooth 페어링 도구"가 아니다. AirPods가 Apple 기기와 통신할 때 사용하는 모든 보조 채널을 자체적으로 다시 구현한다. 결과적으로 비 Apple 플랫폼에서도 다음 기능들을 쓸 수 있다.

  • 노이즈 제어 모드 변경 (ANC, Transparency, Off)
  • 빠른 착용 감지
  • 정확한 배터리 상태 (좌·우 이어버드 + 케이스)
  • Head Gestures (안드로이드 전용)
  • Conversational Awareness (대화 시작 시 자동 일시정지)
  • AirPods 이름 변경
  • 자동 페어링 / 재연결

플랫폼별 설치 문서는 별도로 분리돼 있다.

> 주의: Android에서는 일회성 설치 후 페어링이 필요할 수 있고, Linux에서는 Bluetooth 스택과의 호환성이 distro마다 다르다.

  • --

플랫폼별 기능 지원 매트릭스

LibrePods의 가장 큰 특징은 플랫폼별로 지원 범위가 다르다는 점을 솔직하게 문서화한다는 것이다. 리버스 엔지니어링 기반 오픈소스답게 모든 기능이 한 번에 풀리지는 않는다.

| 기능 | Linux | Android | 비고 |

|---|---|---|---|

| 청취 모드 변경 | ✅ | ✅ | 노이즈 / Transparency / Off |

| 착용 감지 | ✅ | ✅ | |

| 배터리 상태 | ✅ | ✅ | 좌·우 + 케이스 |

| AirPods 이름 변경 | ✅ | ✅ | Android는 재페어링 필요 가능성 |

| Conversational Awareness | ✅ | ✅ | |

| 자동 연결 | ✅ | ✅ | |

| Head Gestures | ⛔ | ✅ | Android 전용, Linux는 구현 예정 없음 |

| Press speed / Press and Hold duration | ⚪ | ✅ | VendorID spoofing 필요 |

| Noise Cancellation with single AirPod | ⚪ | ✅ | VendorID spoofing 필요 |

| Multi-device Connectivity | 🔴 | ⚪ | 최대 2대 동시 연결 |

| Transparency Mode 커스터마이징 | 🔴 | ⚪ | |

| Find My | 🔴 | 🔴 | root 필요 가능성 |

| Spatial Audio (full) | ⛔ | ⛔ | 범위 밖, OEM별 HRTF 위임 |

| Heart Rate Monitoring | 🔴 | 🔴 | AirPods Pro 3+ 대상, 진행 중 |

| High quality two-way audio | 🔴 | 🔴 | root 필요 가능성 |

  • 상태 표기 기준*:
  • ✅: 구현되어 잘 동작함
  • ⚪: VendorID spoofing 필요 (위험 부담 사용자 부담)
  • 🔴: 아직 미구현, 계획됨
  • ⛔: 구현하지 않을 예정
  • ❓: 알 수 없음
  • --

VendorID spoofing — 핵심 트릭의 동작 원리

LibrePods가 강력한 기능을 켜는 방식 중 하나가 VendorID spoofing이다. AirPods는 페어링된 기기의 VendorID를 확인해 "Apple 기기인가?"를 판단하고, Apple이 아니면 일부 기능의 진입을 막는다. LibrePods는 DID Profile의 VendorID를 Apple의 값(0x004C)으로 바꿔치기해 이 검증을 통과한다.

Linux에서 설정하기

/etc/bluetooth/main.confDeviceID를 다음 값으로 수정한다.

librepods airpods bluetooth linux android open source

[General]
DeviceID = bluetooth:004C:0000:0000

이 한 줄로 청취 모드 변경, 배터리 상태 같은 핵심 기능이 정상 동작한다.

Android에서 설정하기

Android는 Xposed 프레임워크를 사용한다. LibrePods 모듈을 활성화한 뒤 앱 설정에서 act as Apple device를 켜면 같은 효과를 얻을 수 있다.

> 주의: VendorID spoofing은 Apple이 향후 펌웨어 업데이트로 차단할 수 있는 회피 경로다. "오늘은 되지만 내일도 될 거라"고 보장할 수 없다. 특히 펌웨어 버전을 고정하려면 AirPods를 Apple 기기에 절대 연결하지 말아야 한다.

  • --

Multi-device Connectivity — 두 대 기기에 동시 연결

Apple이 자랑하는 기능 중 하나가 iPhone·iPad·Mac 사이를 자유롭게 오가는 자동 전환이다. LibrePods는 이 기능을 최대 2대 기기까지 직접 구현했다.

실제로 동작하는 방식은 다음과 같다.

  • Android가 AirPods를 가져가면, Apple 기기에는 "Move to iPhone" 알림이 표시됨 (iOS와 동일한 UX)
  • 반대로 Apple 기기가 가져가면 Android에도 동일한 팝업이 표시됨
  • 오디오와 컨트롤 양쪽을 모두 두 기기에서 사용 가능

PR #655에서는 Linux에서 AirPods를 스피커(재생)와 헤드셋(마이크) 양쪽으로 동시에 쓰는 실험도 진행 중이다. 동작은 확인됐지만, Bluetooth 표준의 제약(프로파일을 HFP/HSP로 전환해야 함)으로 인해 품질 손해가 있을 수 있다. 이는 Linux의 한계가 아니라 Bluetooth 사양의 한계다.

  • --

AI가 쓴 코드, 사람이 쓴 코드

LibrePods의 코드베이스 구성을 보면 AI 협업의 현실적인 사례가 그대로 드러난다.

  • 완전히 AI가 생성한 부분* (Android 앱):
  • Head Gestures 전체 로직과 UI
  • r2와 Xposed 모듈을 이용한 offset setup 양쪽 버전
  • Troubleshooter와 LogCollector
  • 수동으로 작성된 부분* (Android 앱):
  • 백그라운드 서비스
  • AACP와 ATT Bluetooth 매니저 클래스
  • 전체 UI와 소형 컴포넌트들
  • AI가 번역한 부분* (Linux 재작성):
  • aacp.rsatt.rs (Kotlin → Rust)
  • media_controller.rs 일부 (주로 Pulse 통합)
  • 외부에서 가져온 부분*:
  • 일부 UI 컴포넌트는 Apache License 2.0의 Kyant0의 demo app에서 차용

이 혼합 구조는 AI는 도구, 사람은 설계자라는 원칙을 코드로 보여주는 좋은 예다. AI가 빠른 1차 변환을 맡고, 사람은 핵심 로직과 통합 레이어를 책임진다.

  • --

아직 풀리지 않은 문제

솔직히 말하면, LibrePods가 모든 걸 풀어주지는 않는다.

  • 1. Find My (미완성)*
  • AirPods를 Find My 네트워크에 추가
  • 케이스에서 소리 재생
  • 두고 왔을 때 알림
  • 케이스 충전 소리 토글
  • 모두 계획만 있고 추가 리버스 엔지니어링이 필요하며, Android에서는 root가 필요할 수 있다
  • 2. Spatial Audio (범위 밖)*
  • 현재 Android에는 head tracking 정보만 제공
  • OS가 자체적으로 HRTF를 적용하는 방식
  • 스테레오 사운드를 공간화하는 기능 자체는 프로젝트 범위 밖
  • 많은 OEM이 자체 구현을 갖고 있어 의도적으로 제외
  • 3. Heart Rate Monitoring (진행 중)*
  • AirPods Pro 3 이후 모델 대상
  • Android에서는 root 필요 가능성이 큼
  • 4. High quality two-way audio (탐색 중)*
  • iOS가 제공하는 AACP + A2DP 동시 사용 기능
  • Android에서는 더 깊은 통합이 필요해 root가 필요할 가능성이 큼
  • --

대안 — 다른 플랫폼에서 쓸 수 있는 앱들

LibrePods가 적합하지 않은 경우를 위한 대안도 함께 정리돼 있다.

| 앱 | 대상 | 비고 |

|---|---|---|

| CAPod | Android | Android 16 QPR3 이하, root 없는 경우 |

| MagicPods for Steam Deck | Steam Deck | 공식 사이트 |

| MagicPods | Windows | LibrePods의 Windows 대안 |

특히 Windows 사용자는 LibrePods가 Windows를 정식 지원하지 않으므로 MagicPods가 사실상 유일한 선택지다.

  • --

라이선스와 상표 — 반드시 알아야 할 함정

LibrePods는 GPLv3 이상 조건의 자유 소프트웨어로 배포된다. 단, 라이선스가 자동으로 부여하지 않는 영역이 있다.

> GPL은 LibrePods 이름, 로고, 브랜딩 사용 권리를 부여하지 않는다. LibrePods 이름과 로고는 공식 프로젝트와의 제휴·보증·연관성을 암시하는 방식으로 허가 없이 사용할 수 없다.

추가로 알아두어야 할 점들:

  • Android 앱에 사용된 SF Pro 폰트는 Apple Inc.의 자산이며, 향후 버전에서 오픈 대안으로 교체될 예정
  • AirPods, AirPods Pro, AirPods Max, AirPods 로고는 Apple Inc.의 상표
  • LibrePods 프로젝트는 Apple Inc.와 제휴하거나 보증받지 않음
  • librepods.org는 LibrePods 프로젝트의 공식 웹사이트가 아님 (저작권 주장 + 로고 사용으로 공식이라고 부정확하게 주장한다고 경고)

> ⚠️ 공식 리소스는 오직 github.com/librepods-org입니다. 다른 도메인에서 LibrePods를 다운로드하지 말 것.

  • --

프로토콜 리버스 엔지니어링의 기반

LibrePods 구현 대부분은 Nojus의 Wireshark dissector 플러그인 pabloaul/apple-wireshark를 참고할 수 있다. 다만 흥미롭게도 프로젝트 작성자는 dissector 제작 전에 프로토콜을 먼저 직접 역설계했고, 이후 고품질 양방향 오디오와 공간 오디오 같은 더 어려운 기능에서만 해당 도구의 도움을 받았다.

이는 "좋은 도구가 먼저다"가 아니라 "깊은 이해가 좋은 도구보다 먼저다"라는 메시지를 던진다. LibrePods는 도구를 위한 도구가 아니라, 이해를 코드로 옮긴 프로젝트다.

  • --

전망 — Apple이 막아도 계속될 진화

커뮤니티의 평가가 갈리는 지점이 있다. Apple이 이 우회 경로를 차단할 것인가?

  • 비관적 시나리오: Apple이 펌웨어 업데이트로 VendorID 검증을 강화하거나 프로토콜을 변경
  • 관망 시나리오: Apple은 이미 Mac에서 서드파티 OS를 허용하고 있고, 적극적으로 적대적이지도 도우지도 않음 — 어차피 AirPods는 팔렸으니 앱 제작 비용만 커뮤니티가 부담
  • 낙관적 시나리오: 이런 프로젝트는 해킹 커뮤니티의 자발적 기여로 유지되며, AirDrop 해방(opendrop)처럼 결국 양쪽 진영이 공존하는 패턴이 될 것

> 결국 AirPods를 살지 말지는 단순한 기능 문제가 아니라, "내 하드웨어를 내가 통제할 수 있는가"라는 더 큰 질문의 일부다.

  • --

실전 적용 — 지금 바로 시작하려면

  1. Android 사용자: Android 설치 가이드 따라 Xposed + LibrePods 모듈 설치
  2. Linux 사용자: /etc/bluetooth/main.confDeviceID 설정 → bluetoothd 재시작
  3. 두 기기 동시 사용: GitHub PR #655 참고 (실험적)
  4. Windows 사용자: MagicPods 사용 권장

어떤 경로를 선택하든, LibrePods는 Apple 생태계에 갇히지 않고 자신이 산 하드웨어를 자유롭게 쓰겠다는 사람들의 모임이다. Apple이 다음 펌웨어에서 차단하든 말든, 이 커뮤니티는 다음 우회 경로를 만들어낼 가능성이 높다.

  • --

요약

  • LibrePods는 AirPods ↔ Apple 기기간 독점 프로토콜을 직접 리버스 엔지니어링한 GPLv3+ 오픈소스 프로젝트다
  • Linux와 Android에서 청취 모드 변경, 착용 감지, 배터리 상태, 대화 인지, 자동 연결이 잘 동작한다
  • Head Gestures, Multi-device Connectivity, Press and Hold 등 고급 기능은 VendorID spoofing을 요구하며, Android 전용 기능도 있다
  • Find My, Spatial Audio, Heart Rate 등 아직 풀리지 않은 영역이 분명히 존재한다
  • AI는 변환을, 사람은 설계를 담당한 흥미로운 코드베이스다
  • 사용 시 상표/라이선스 함정(librepods.org은 공식 아님)을 반드시 인지할 것

자유 소프트웨어 생태계에서 Apple 독점 기능을 다시 구현하는 이 프로젝트는, "내 하드웨어는 내가 정한다"는 오래된 원칙이 2026년에도 여전히 살아 있다는 증거다.

  • --
  • 참고 링크*