처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.05.22 64

브라우저에서 리눅스 VM 돌려서 옛날 스캐너 되살리기, WebUSB의 진짜 활용법

Hacker News 원문 보기

도대체 무슨 프로젝트인가요

'Yes We Scan'이라는 이름의 프로젝트가 등장했어요. 한 줄로 요약하면 "드라이버 지원이 끊긴 옛날 USB 스캐너를, 브라우저만 열어서 사용할 수 있게 해주는" 서비스예요. 옛날 HP나 Canon 스캐너 같은 거 서랍 어딘가에 처박혀 있는 분들 많죠? 윈도우 11이나 최신 맥OS에서는 드라이버가 없어서 못 쓰는 경우가 대부분인데, 이걸 브라우저 안에서 돌아가는 리눅스 가상머신으로 살려내는 거예요.

이 방식이 정말 영리한데요, 어떻게 동작하는지 풀어볼게요. 먼저 사용자가 사이트에 접속하면 브라우저 안에서 리눅스 VM이 부팅돼요. 이 VM 안에는 SANE라는 오픈소스 스캐너 드라이버가 깔려 있어요. SANE는 리눅스에서 오랫동안 표준처럼 쓰여온 라이브러리라서, 윈도우/맥에서는 진작에 단종된 옛날 스캐너도 잘 인식하는 경우가 많거든요.

핵심 기술, USB/IP와 WebUSB의 만남

진짜 흥미로운 부분은 "브라우저 안의 VM"이 어떻게 "PC에 꽂힌 진짜 USB 스캐너"와 통신하느냐예요. 여기서 두 가지 기술이 결합돼요.

첫 번째는 WebUSB예요. 이게 뭐냐면, 웹 페이지가 사용자 허락을 받고 USB 장치에 직접 접근할 수 있게 해주는 브라우저 API예요. 크롬에서 지원하는데, 보통은 아두이노 같은 장치를 웹에서 제어할 때 쓰여요. 이 API를 통해 브라우저가 스캐너의 USB 패킷을 주고받을 수 있게 되는 거죠.

두 번째는 USB/IP예요. 이건 USB 통신을 네트워크 위에서 흘려보내는 프로토콜이에요. 원래는 "내 컴퓨터에 꽂힌 USB 장치를 다른 컴퓨터에서 마치 직접 꽂힌 것처럼 쓰자" 하는 용도로 만들어진 기술이거든요. 이 프로젝트에서는 브라우저가 WebUSB로 받은 USB 트래픽을 USB/IP 프로토콜로 포장해서 VM 안의 가상 USB 컨트롤러로 흘려보내요. 그러면 VM 안의 리눅스 입장에선 "어? 진짜 USB 스캐너가 꽂혀 있네?" 하고 자연스럽게 SANE 드라이버가 동작하는 거죠.

전체 흐름을 다시 정리하면 이래요. 물리 스캐너 → USB 케이블 → 사용자 PC → 크롬 브라우저(WebUSB) → JavaScript로 USB/IP 변환 → 브라우저 안 리눅스 VM → SANE 드라이버 → 스캔된 이미지를 다시 브라우저로 전달. 이 모든 게 사용자 PC 안에서만 일어나니까, 스캔한 문서가 외부 서버로 전송되지 않아서 프라이버시도 안전해요.

비슷한 시도들과 이 프로젝트의 위치

브라우저 안에서 리눅스를 돌리는 시도는 예전에도 있었어요. v86이라는 프로젝트가 유명한데, x86 CPU를 자바스크립트로 에뮬레이션해서 브라우저에서 윈도우 95나 리눅스를 돌려보는 데모로 화제가 됐죠. 또 WebContainers 같은 기술은 Node.js 환경을 브라우저에서 통째로 실행하게 해줘요. 하지만 이런 프로젝트들은 대부분 "신기하다" 수준의 데모에 머물렀어요.

Yes We Scan이 특별한 건, 이 모든 기술 조각들을 모아서 실제로 쓸모 있는 문제를 푼다는 점이에요. 드라이버 지원 중단으로 멀쩡한 하드웨어를 버려야 하는 전자 폐기물 문제, 그리고 옛날 장비를 살리려고 별도 PC를 마련해야 하는 번거로움. 이걸 브라우저 하나로 해결한 거죠. 비슷한 접근으로는 webOS의 IoT 기기 제어 도구나, USB DFU(펌웨어 업데이트)를 웹에서 하는 도구들이 있긴 하지만, VM까지 끌어와서 완전한 드라이버 스택을 재현한 사례는 흔치 않아요.

한국 개발자에게 주는 시사점

이 프로젝트는 두 가지 측면에서 영감을 줘요. 첫째, 레거시 하드웨어 시장에 기회가 있다는 거예요. 한국에도 동네 인쇄소나 작은 사무실에서 10년, 20년 된 스캐너·프린터·바코드 리더 같은 장비를 아직도 쓰는 곳이 많거든요. OS 업그레이드 한 번에 못 쓰게 되는 일이 자주 생기는데, 이런 사용자들을 위한 솔루션을 만들면 의외로 시장이 있을 수 있어요.

둘째, WebUSB와 WebSerial 같은 브라우저 API의 가능성을 다시 생각해볼 만해요. 이 API들은 한동안 "보안 문제 때문에 쓰기 애매하다"는 이유로 외면받았는데, 이번 프로젝트처럼 사용자 동의를 명확히 받고 로컬에서만 데이터를 처리하는 구조라면 충분히 실용적이에요. 키오스크, 의료기기 연동, 산업용 센서 모니터링 같은 분야에서 설치형 앱 없이 웹 기반 솔루션을 만들 수 있는 가능성이 열리는 거죠.

셋째로, 기술 스택의 창의적 조합이라는 측면이에요. WebUSB도, USB/IP도, SANE도, 브라우저 VM도 다 이미 존재하던 기술이에요. 하지만 이걸 "옛날 스캐너 살리기"라는 구체적인 문제와 연결해서 조립한 발상이 이 프로젝트의 진짜 가치예요. 우리도 "새로운 걸 만들어야 한다"는 강박 대신, 이미 있는 조각들을 다른 각도로 조합해보는 연습을 해볼 만해요.

마무리

드라이버 단종으로 버려질 뻔한 하드웨어를, 브라우저 + WebUSB + USB/IP + 리눅스 VM이라는 조합으로 되살린 멋진 프로젝트예요. 기술적으로도 흥미롭지만, "멀쩡한 걸 왜 버리지?"라는 단순한 질문에서 출발했다는 점이 더 좋아요.

여러분은 집이나 사무실에 드라이버가 없어서 못 쓰고 있는 USB 장치, 어떤 게 있으세요? 이런 식의 "브라우저로 살리기" 접근이 또 어떤 장비에 적용될 수 있을까요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

AI 도구, 직접 활용해보세요

AI 시대, 코딩으로 수익을 만드는 방법을 배울 수 있습니다.

AI 활용 강의 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.