루팅이나 하드웨어 수정 없이 나만의 로보락 클라우드를 구축하는 방법
요약
본 글은 로보락(Roborock) 청소기를 클라우드 연결 없이 완전히 로컬 환경에서 제어하는 방법을 설명합니다. 작성자는 취약점(exploits)을 이용해 기기를 사용자 지정 URL로 라우팅하고, MQTT 및 REST 기반의 백엔드를 재현하여 모든 통신을 로컬 서버에서 처리했습니다.
핵심 포인트
- 취약점을 활용하여 청소기 데이터를 로컬 환경으로 리디렉션함.
- Roborock의 백엔드 스택(MQTT, REST)을 직접 구현하여 사용 가능하게 함.
- 서버는 Docker 또는 Home Assistant 애드온 형태로 구축할 수 있음.
저는 로컬 제어와 직접 무언가를 호스팅할 수 있다는 점에 매우 관심이 많습니다. 저는 몇 년 동안 python-roborock의 공동 유지 관리자 중 한 명이었고, 제 로봇 청소기를 회사 클라우드에 데이터를 저장하는 카메라, 마이크, 그리고 집의 상세한 지도를 가진 장치에 대한 팬이 아니기 때문에 완전히 로컬에서 작동하도록 만드는 목표를 오랫동안 가지고 있었습니다.
어떻게 작동하게 했는지 자세히 설명해서 여러분을 지루하게 만들지는 않겠습니다 (보고 싶다면 전체 기술 보고서를 읽을 수 있습니다). 하지만 본질적으로 저는 온보딩 과정 중 몇 가지 취약점(exploits)을 사용하여 진공청소기를 사용자 지정 URL로 라우팅했습니다. 그런 다음 로보락의 백엔드 스택(MQTT 및 REST)을 재현하여 청소기가 서버와 완전히 통신할 수 있도록 했습니다. 이후 제 청소기가 인터넷에 접속하는 것을 차단했고, 모든 것이 저에게는 아주 잘 작동하고 있습니다.
서버는 Docker에서 또는 Home Assistant 애드온으로 실행되거나 소스 코드로부터 구축할 수 있습니다.
AI 공개: 리버스 엔지니어링을 돕기 위해 AI를 사용했습니다. 또한 백엔드 스택 작성에도 AI가 사용되었지만, 저는 이 과정에 매우 깊이 관여했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 r/SelfHosted (AI filter)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기