세 제품이 모두 스스로를 Chrome VPN이라고 부르지만, vpnProvider 문서가 설명하는 것은 그중 하나뿐입니다. 이 API는 ChromeOS에서 사용할 수 있으며, 여기서 확장 프로그램은 설치된 클라이언트와 통신하는 대신 VPN 연결의 클라이언트 측을 구현할 수 있습니다. 브라우저 프록시 확장 프로그램은 Chrome이 요청을 보내는 위치를 바꿉니다. 별도의 데스크톱 클라이언트를 제어하는 확장 프로그램은 브라우저 밖에서 실행되는 소프트웨어의 제어판입니다. 이 셋 중 무엇을 보고 있는지 알면 이 비교에 사람들이 가져오는 질문 대부분에 답이 됩니다.

플랫폼 주석이 첫 번째 필터입니다

vpnProvider 공식 참조 문서는 사용 가능 범위의 제한을 자체 본문에 명시하며, 그곳에 이름이 나오는 권한은 그 계약에 속합니다. Windows의 매니페스트에 vpnProvider를 추가한다고 해서 그 인터페이스가 생기지는 않습니다.

권한 목록보다 플랫폼 줄을 먼저 읽으십시오. 권한은 API가 존재하는 곳에서만 의미가 있습니다.

프록시 확장 프로그램: 경계는 브라우저입니다

프록시 확장 프로그램은 브라우저의 프록시 설정을 사용해 Chrome의 요청을 서버를 거쳐 보냅니다. 크로스 플랫폼이며 자신의 범위에 대해 정직합니다. 다른 애플리케이션은 자체 연결을 유지하고, 브라우저 트래픽의 일부는 여전히 설정된 경로를 따르지 않을 수 있습니다. 이는 브라우저 수준의 변경이며 시스템 터널이 아닙니다.

요구 사항이 “이 사이트 하나, 이 브라우저 하나”라면 그것이 맞는 도구입니다.

확장 프로그램과 동반 앱: 터널은 앱이 소유합니다

데스크톱 VPN 클라이언트는 보통 서비스와 가상 어댑터를 설치하며, 그 확장 프로그램은 앱을 호출하는 리모컨입니다. 터널은 운영 체제 수준에 존재하므로 브라우저가 결코 보지 못하는 애플리케이션까지 포괄합니다. 확장 프로그램의 권한은 암호화가 아니라 제어 채널을 설명합니다. 확장 프로그램을 제거해도 터널은 그대로 남지만, 앱을 제거하면 확장 프로그램이 깨집니다.

그 비대칭이 가장 빠른 시험입니다. 확장 프로그램을 비활성화하고 다른 애플리케이션이 여전히 VPN을 쓰는지 보십시오.

ChromeOS 공급자: 확장 프로그램이 클라이언트를 구현합니다

ChromeOS에서는 공급자 모델이 성격부터 다릅니다. 확장 프로그램은 구성과 플랫폼 메시지를 받고, 구성 객체를 만들고, 연결 상태를 플랫폼에 보고하며, 별도로 설치된 클라이언트 대신 API를 통해 트래픽을 제공합니다. 이는 VPN 클라이언트를 구성하는 일보다 작성하는 일에 가깝습니다. API는 또한 이미 운영 중인 엔드포인트를 전제하므로 서비스를 제공하지는 않습니다.

그래서 참조 문서는 클라이언트에 연결하는 것이 아니라 구현하는 이야기를 합니다.

셋에 비추어 제품 주장 읽기

어떤 운영 체제가 지원되는지 묻고, 이어서 어느 구성 요소가 연결을 소유하는지 물으십시오. 답이 브라우저 프록시라면 브라우저 범위를 기대하십시오. 답이 동반 앱이라면 그 앱이 실행되는 동안 시스템 범위를 기대하십시오. 답이 ChromeOS 공급자라면 ChromeOS에서만 동작하고 다른 곳에서는 안 된다고 기대하십시오. “Chrome VPN”이라고 하면서 이 두 질문에 답하지 않는 제품 페이지는 무엇을 하는지 알려주지 않은 것입니다.

광고된 작업에 비추어 권한도 확인하십시오. 웹사이트 접근과 프록시 제어는 서로 다른 권한이며, 다른 플랫폼의 API가 우연히 같은 이름을 가졌다는 이유로 어느 쪽도 정당화되지 않습니다.

그중 어느 것도 알려주지 않는 것

이 인터페이스는 엔드포인트를 누가 운영하는지, 무엇을 기록하는지, 당신이 사는 곳에서 서비스를 쓸 수 있는지에 대해 아무것도 말하지 않습니다. 그것들은 API가 아니라 공급자의 속성입니다. 존재하는 터널이 자동으로 신뢰할 터널이 되는 것은 아니고, 존재하는 권한이 당신의 플랫폼에서 갖는 능력은 아닙니다. 두 판단을 분리해 두십시오.

그다음 실제로 쓰는 기기에서, 브라우저가 아닌 애플리케이션으로 그 주장을 시험하십시오.

관련 글