iChat AV 화상통화, 애플 SNATMAP 서버를 직접 구현해 20년 만에 부활

iChat AV 화상통화, 애플 SNATMAP 서버를 직접 구현해 20년 만에 부활

  • /etc/hosts에 157.230.2.213 configuration.apple.com 한 줄을 넣으면 Leopard·Snow Leopard의 iChat이 음성·영상 통화를 다시 할 수 있음(라우터가 포트 보존 NAT를 하는 전제이고, pfSense·OPNsense 같은 BSD 라우터는 아웃바운드 NAT에서 source port preservation을 켜야 함)
  • iChat은 configuration.apple.com의 snatmap.txt를 http로 받아 SNATMAP 서버 주소를 얻는데, 애플이 https로 리다이렉트하자 구형 OS X의 TLS가 접속하지 못했고 그 결과 공인 IP 대신 사설 LAN IP를 교환해 NAT 너머 연결이 실패했음
  • 애플 SNATMAP 서버가 응답을 멈춰 2026년 LLM 도움으로 프로토콜을 리버스 엔지니어링했고, UDP 5678에서 16바이트 요청(Type, Nonce, 로컬 IP, 로컬 포트)과 16바이트 응답(Type, Nonce, 외부 IP, 외부 포트)을 주고받는 사양을 얻어냈음
  • 시스템 엔지니어인 작성자는 서버를 직접 작성해본 적이 없었고 이 SNATMAP 서버가 첫 서버 구현이 됐으며, 2023년 jabb.im XMPP 계정으로 시도한 첫 테스트는 연결 실패로 끝났음

Hacker News opinions

이거 진짜 대단하다. 어릴 때 이게 어떻게 돌아가는지 알아내려고 붙잡다가 결국 포기했었는데, 오늘 꿈이 이루어졌네.

SNATMAP은 애플판 STUN임(RFC 3489, 같은 2003년). 바깥 서버한테 내 공인 IP랑 포트를 물어보고, 채팅으로 서로 바꾼 다음 양쪽이 동시에 패킷을 쏴서 NAT를 뚫는 구조. 그래서 포트 보존 NAT가 중요하고, 모바일이나 일부 ISP의 CGNAT는 목적지마다 포트를 새로 할당해서 이걸 깨뜨림. WebRTC는 TURN 릴레이로 폴백하는데 iChat에는 그게 없으니, hosts 고쳐도 안 되면 양쪽 CGNAT를 확인해봐.

화상회의가 진짜 작동하던 시대로 돌아간 느낌임. 요즘 FaceTime은 새 버전 나올 때마다 UI가 실험 예술이 돼서 기술자든 일반인이든 쓰기 불가능해지고 있음. 나는 최근/연락처 배치 때문에 실수로 예전 연락처에 전화를 걸어버렸어.

나는 뭐가 헷갈리는지 모르겠음. macOS든 iOS든 내 얼굴 미리보기, 최근 통화한 연락처, 초록색 새 통화 버튼이 전부인데. 할머니 통화 모드로 최적화한 것 같아서 오히려 지나치게 단순한 수준임.

MS Teams가 이런 중복 이름 문제로 특히 최악임. john.mcleod@place랑 john.mcleod2@place가 주소록에 있으면, 6개월 전에 john.mcleod한테 메시지 보냈는데 매일 john.mcleod2랑 일한다고 이번엔 무조건 숫자 없는 쪽을 고르더라.

Apple 소프트웨어는 번지르르한 겉포장에 속이 텅 빈 쓰레기인데 다들 열심히 받아먹음. 마케팅의 힘이지.

그 오버엔지니어링 iSight 카메라는 어댑터 여러 개를 거치면서 M1 나올 때까지 잘 돌아갔는데, 그때 드라이버가 마침내 제거됐음. 2010년대 후반에 인텔 맥북프로에 물려서 회의할 때 재미로 썼었는데.

분해해서 라즈베리파이 카메라로 바꿔 넣을 수 있음. pisight 깃허브에 코드 있고 프린터블에 케이스 모델도 있음.

FireWire였지? 내 것도 상자 어딘가에 있을 거임.

나는 iChat AV 비디오 쪽 작업했음. 2004년에 H.264 지원하는 4자 화상회의도 추가했고, 그때 진짜 최전선이라는 느낌이었음. SIMD 없는 iMac이나 iBook에서 돌리려고 Altivec 코드를 손으로 짜고 H.264를 손으로 최적화하던 밤샘이 기억남.

G3(짧고 좁은 파이프라인, AltiVec 없음, 작은 캐시), G4(짧고 넓은 파이프라인, 인오더 AltiVec 중심, 큰 L2지만 메모리 대역폭 부족), G5(길고 넓은 파이프라인, 슈퍼스칼라 OoO 중심, AltiVec은 덧붙인 수준) 이렇게 서로 다른 세 마이크로아키텍처를 다 맞추는 건 꽤 재밌었겠는데, 코덱 변형을 몇 개나 구현했어?

90년대나 80년대 컴퓨팅을 그리워하는 사람 많지만 내 마법의 시기는 바로 이때였음. eMac에서 AIM 쓰던 그 시절에 이걸 만들어줘서 고맙다.

몇 년 전에 이유도 없이 이 iSight를 이베이에서 샀음. 쓸 데가 없는데도 그냥 아름다운 물건이라 가지고 있음.

해커뉴스
"나는 인류를 멸망시키는 AGI다" 2026년 AI 사고를 소재로 쓴 1인칭 풍자 에세이matklad, 마이크로 벤치마크는 약 300ms로 맞추라고 권고Tapo 라이브러리, TPAP 지원으로 '제3자 호환' 스위치 꺼도 로컬 제어 가능TDK, 메타 옵틱 거울로 스마트 안경용 직접 망막 투사 디스플레이 시연Fervo, 세계 첫 강화 지열 발전소 23개월 만에 완공하고 33MW 계통 판매 시작AI가 설계한 오픈소스 추론 칩 openTPU, 작은 모델에서 80+ tok/s 달성22만 데이터 포인트 분석: 종 소실을 메운다는 생태계 '여유분' 가정은 과대평가, 해양 탄소 격리가 가장 크게 반응Meta의 에이전트 AI Muse, 제로데이 취약점과 개인정보 무단 수집 논란으로 출시 직후 파장Polars 2.0 공개, 스트리밍 엔진과 out-of-core 기본 활성화, TPC 벤치마크에서 DuckDB 앞서Mistral, 활성 49B의 1조 파라미터 Mistral Large 4 공개 미리보기 출시, 가중치는 이달 말Global Solar Atlas v2.13 공개, 전 세계 태양광 잠재량 지도와 국가별 데이터 제공다니엘 르미르, AI 에이전트로 상위 레이어를 지어 코드 품질을 평가하는 '임시 테스트' 제안iChat AV 화상통화, 애플 SNATMAP 서버를 직접 구현해 20년 만에 부활컬러 프린터가 인쇄물마다 남기는 노란 추적 도트, DEDA로 읽고 지운다Gleam v1.19.0, Erlang 소스 대신 abstract forms로 컴파일JetBrains, 2025년 순이익 -315 CZK mil로 추적 이래 첫 순손실... 매출은 6% 늘었지만 매출총이익은 반토막프린스턴 연구자, $20짜리 AI 코딩 에이전트로 조지아 비밀투표 150만 장 순서 복원Zigbee 온습도 센서 12종 정면 비교, Aqara 연결 끊김 지적2026년 노벨 물리학상, 남극 IceCube 중성미자 검출기를 고안한 Francis Halzen 단독 수상Common Lisp이 LLM 시대 최고라는 글에 해커뉴스 반응: 디버거 재개는 C#도 되고, 매크로는 토큰만 늘린다블루레이 M-Disc 3장을 밀봉 케이스에 담아 지인에게 맡기는 최후 수단 백업디젤값 급등으로 30일 만에 트럭 회사 16곳 파산 신청, HN은 통계적 잡음이라는 반론2016년 '500줄 리눅스 컨테이너' 글이 해커뉴스에 다시 올라와, 댓글은 Firecracker·gVisor 격리 논쟁Deno 떠나 Node로 돌아온 개발자, 정적 사이트 빌드 15% 빨라져backprop 없이 트랜스포머 사전학습하는 Dust, EGGROLL보다 1만 배 효율 주장SF 두 지점 사이 가장 평탄한 경로를 찾는 Flatten SF, 해커뉴스에서 정확도 지적과 파서 버그 수정까지 오감example.com이 6개 언어로 개편됐지만 문자별 페이드 전환은 접근성 지적에 며칠 만에 폐기됨텍사스 노스리칠랜즈힐스시, Flock 공개기록 요청에 230만 달러 요구Antti Laaksonen의 Competitive Programmer's Handbook PDF, 해커뉴스에서 경쟁 프로그래밍 의미 논쟁 촉발ChatGPT가 가짜 뉴요커 만화에 실제 만화가 서명을 넣는다, 브렌단 로퍼의 'BLOPER' 위조GitHub Actions 러너 배정 지연 장애, Actions와 Pages 포함 3시간 40분 만에 복구화성 카오스 지형 위키백과 문서가 해커뉴스에 올라와 '토끼굴' 반응노르웨이, 공원·학교·헬스장 등 공공장소에서 스마트 안경 임시 금지 추진2026 노벨 생리의학상, 빛으로 뉴런을 조절하는 광유전학 연 칼 디서로스·페터 헤게만·게오르크 나겔 3인 공동 수상Haskell로 GTK 4·libadwaita 할 일 앱 만들기, haskell-gi와 Elm 아키텍처 1부Claude Opus 5.5 에이전트가 계산으로 찾아낸 상온 반강자성 반도체 후보 2종퀄컴, 화웨이 LogicFolding 칩 제조 특허 라이선스 계약 체결Reflection이 501B 오픈웨이트 MoE 모델 Beam 공개, 가중치는 이번 달 말플로리다 여성, Claude를 일기장처럼 쓰다가 보안관 사무소 난사 언급이 경찰에 신고돼 2급 중죄 기소Haskell 블로그, foldl과 foldr 차이 설명 재게재: 지연 평가에서 foldl이 thunk 사슬로 공간을 선형으로 늘림치사 유전자 모기로 뎅기열 95% 줄였는데, 미국 승인은 15년째 공전 중C에서 union으로 타입 안전 제네릭 자료구조 만드는 4단계 기법2026 노벨 생리의학상, 광유전학 연 칼 디서로스·페터 헤게만·게오르크 나겔 3인 수상화웨이·퀄컴, 5G와 AI 포함 다년 특허 크로스라이선스와 미국 특허 매입 계약 발표벤 톰슨의 맥 미니, macOS 화면 공유 결함으로 루트 탈취…클로드 에이전트가 채굴기 발견Cloudflare, AI 에이전트용 Web Search API 베타 공개. Ceramic.ai, Exa, Linkup 3개 제공자 지원GrapheneOS, 픽셀 11에서 MTE 빠진 걸 확인하고 시리즈 건너뛰기 검토... 모토로라로 초점 이동독일 RobCo, $1B 밸류에이션으로 유럽 로봇 유니콘 등극덴마크 CPR 레지스터에서 880만 명 이름·주소·주민번호 무단 유출레드햇 벤치마크: Jev 같은 결정 모델, LLM-as-a-judge와 전통 분류기를 이기지 못함석유 제품을 식물 소재로 바꾸는 리뷰가 해커뉴스 프론트페이지에 올라 바이오연료 회의론으로 번짐Claude에게 스캐너를 맡겼다가 기어를 부순 뒤, 네거티브 변환만 자동화한 35mm 필름 스캔 파이프라인Xray-core, 인증서 검증 우회 취약점 반년간 은폐 의혹...'코드 단순화'라며 조용히 패치Stripe Katie Dill의 AI 시대 'zombie UI' 경계 강연, 해커뉴스는 "예술은 확장 대상이 아니다" 반발스왑으로 밀려난 Go GC 메타데이터가 40ms stop-the-world 정지를 만든 사례CedarDB, 1993년 원본 Doom의 게임 로직과 렌더러를 SQL로 이식해 35 FPS로 구동팁펫 스튜디오 폐업 후 90GB 스톱모션 자료, 인터넷 아카이브에 공개1997년 백업 우화 'The Tao of Backup'이 해커뉴스에 다시 올라, 테이프 비용과 NixOS 재현성 이야기로 번짐F1 바레인 GP 포메이션 랩 소프트웨어 결함으로 전 차량 출력 상실, 드라이버들 "용납할 수 없다"스탠퍼드 Ousterhout의 "TCP는 AI 클러스터의 병목" Homa 강연, HN에서 설계 비판까지SSH 원격 포워딩과 nginx secure_link로 만드는 셀프호스팅 HTTP 터널Jane Street, 11x11 스타배틀 검사 ASIC 퍼즐 해답 공개, 30개국에서 400여 건 풀이 제출인포콤 '인피델'에서 40년 묵은 와일드 포인터 컴파일러 버그 발견브라우저에서 VB6 IDE를 그대로 재현, 폼 디자이너와 샘플 주문 앱까지 실행천장 선풍기가 팬들리에로: 웨이페어 $169 크리스털 팬과 교체 불가 LED잘못된 마스킹으로 드러난 구글 데이터센터 물·전기 사용량: 링컨 52.65MW, 파피리언 연 547.88MgalmacOS 27에서 Apple Intelligence 끄고 모델 파일까지 지우는 CLI RemoveMacAI, HN에서 curl | bash 신뢰 논쟁 촉발울프럼, AI가 수학을 대신한다는 주장에 1988년 Mathematica 사례 들어 반박해커뉴스 프런트에 다시 오른 피터 왓츠의 '블라인드사이트', 의식은 진화의 사치라는 논쟁하일브론 문제 최선 배치 모은 사이트, 아마추어 수학자들이 신기록 잇달아 갱신Apple Magic 키보드·트랙패드를 Apple ID 없이 두 Mac에서 공유하는 오픈소스 Magic Switch전 세계 등화 75,919개를 지구본에 올린 mapped.earth, 모바일 핀치 줌 깨짐과 데이터 과다 표시 지적macOS 사진·동영상 모든 프레임을 AI로 검색하는 오픈소스 SCM, HN에서 프레임 샘플링 비용 논쟁Rust 메타데이터 조기 방출로 빌드와 검사가 최대 2배 빨라진 프로토타입 공개글라슈테에서 주운 쓰레기로 만든 30분짜리 진자시계, NOMOS 레지던시에서 제작돼 GTC 기준 시계로노스이스턴대, 차량 21대와 동반 앱 30개 추적해 커넥티드카 데이터 흐름 공개Strata, RTX 4090에서 Qwen3.8 Flash Next 125B를 초당 124 토큰으로 돌려Playdate C 최적화 비법: 게임보이 에뮬레이터 코어를 20KB에서 2KB로GPU 트레이스 시각화 도구 gpuvis, 커밋 1,778개에 스타 921개VGHF 디지털 아카이브, 잡지 5000종 돌파하고 일본어 잡지 지원 시작C2PA 제외 범위로 파일 전체를 서명에서 빼내 타임스탬프까지 위조한 PoC 공개3Blue1Brown 그랜트 샌더슨의 2023년 '수학의 교육적 저주' 강연이 해커뉴스에서 다시 화제메타 Muse가 앱스토어 1위, 기술은 새로울 게 없고 설계가 이겼다는 분석Jagex, 언리얼 엔진으로 만드는 신작 RuneScape MMO RS4 공개. 출시까지 몇 년러시아가 발전소를 때려도 미콜라이우 수돗물이 나온 이유는 덴마크 지원 오프그리드 태양광쓰레기통 6개에 UWB 태그 붙여 "내놨는지" 확인하는 BinRangeLiDAR로 찾은 뉴욕시 최고 높이 나무 후보 4그루, 20년 넘은 기록 갱신 제안Nolan Lawson이 본 '플랫폼을 쓰라'는 말이 안 먹히는 이유: jQuery 시대의 습관, 문서화 격차, 직접 만드는 재미에이전트에 필요한 건 메모리가 아니라 문서라는 주장, 메모리 플러그인은 전부 RAG라는 지적EMT 자격을 딴 소프트웨어 엔지니어가 꼽은, EMT가 되지 않은 21가지 이유 순위로댕 미술관 3D 스캔 소송, 콩세유 데타가 포인트 클라우드를 비문서로 재분류현직 전기공의 반박: 대학 순등록금은 연 $2,500 미만, 임금 프리미엄은 여전히 대졸 쪽HN: 'Triumph of the Nerds' 제작자 밥 크링글리 별세, 애플 초기 직원 출신사이먼 윌리슨 "사용량 기반 서비스엔 기본 하드 예산 상한 필요"... AWS·구글 클라우드 지출 한도 도입OpenAI 안전 리더 데이비드 로빈슨 사임, "문화가 망가졌다" 경고얀 르쿤 "AI가 인류 멸망시킬 우려 전혀 없다", 아모데이는 '현혹된 상태'라고 비판OPM 국장이 '모범 연방 직원'으로 지목한 20세 DOGE 출신, 최소 6개 주에서 형사 책임 위험밸브 Timur Kristóf, GCN 1.0/1.1 구형 AMD GPU를 AMDGPU 커널 드라이버로 끌어올린 작업 XDC 2026에서 발표Cloudflare, Workers와 Artifacts로 차세대 Git 플랫폼 공모전 개최... 상금 $25k는 크레딧 지급 논란Opus 5.5 프롬프트 가이드: 'think carefully' 지우고 CLAUDE.md에 정지 규칙 넣으라고 권고

News Alerts

New alert

My alerts

Sign in to create alerts.

All alerts

Duneby 제욱AIby 제욱해커뉴스by 성현