Pulse 게시 ·

개발자, 대체 서버로 구형 iChat 음성·영상 통화 복원

Chris Jones가 9월 11일 공개하고 10월 5일 갱신한 글에서 구형 iChat의 인터넷 통화 복원 방법을 소개했다. LLM으로 SNATMAP 프로토콜을 역분석한 뒤 Python 서버를 직접 작성하고 명세·소스를 공개했다. Leopard·Snow Leopard에서 hosts 설정을 바꾸는 방식이며, 라우터의 NAT가 출발지 포트를 보존해야 한다.

기존 구성 파일 요청은 HTTPS로 리디렉션되지만 구형 OS X의 TLS가 이를 처리하지 못했고, Apple의 SNATMAP 서버도 응답하지 않았다.

대체 서버는 UDP 5678 포트에서 요청을 받고 클라이언트의 외부 IP·포트를 반환한다.

명세를 바탕으로 손으로 작성한 Python 3 서버 소스를 공개했으며 자체 호스팅도 가능하다.

작성자는 실제 인터넷 통화 성공을 보고했다. Tiger·Panther는 시험하지 않았다.

pfSense·OPNsense 등 BSD 기반 라우터에서는 외부 NAT 설정의 출발지 포트 보존을 활성화해야 한다.

클라이언트 수정 대신 중단된 공인 IP·포트 조회 서버를 대체해 통화 연결을 되살린 사례다.

원문