![Hola VPN처럼 P2P Javascript VPN을 만드는 방법은 무엇인가요?](https://rvso.com/image/1558022/Hola%20VPN%EC%B2%98%EB%9F%BC%20P2P%20Javascript%20VPN%EC%9D%84%20%EB%A7%8C%EB%93%9C%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80%EC%9A%94%3F.png)
저는 전적으로 브라우저에서 작동하는 P2P VPN(주로 Javascript이지만 대부분은 Firefox 및 Chrome에 있는 것과 같은 애드온)을 구축하려고 노력해 왔습니다. 기본적으로 Hola VPN과 동일합니다.
나를 당혹스럽게 만드는 것은 xmlhttprequest's
액세스하는 서버/웹 사이트의 명시적인 승인 없이는 도메인 간 요청에 적합하지 않으며 이것이 다른 피어의 요청을 리디렉션/프록시할 수 있는 유일한 방법이기 때문입니다. Hola VPN은 이를 어떻게 피할 수 있나요? 아는 사람 있나요?
저는 개방형 질문을 열려고 하는 것이 아니지만 이 딜레마에 대한 답은 한두 가지밖에 없습니다. 그렇게 생각한다면 덜 편집해야 하는지 알려주세요.
답변1
Hola가 무엇을 하는지는 잘 모르겠지만 아마도 가장 좋은 옵션은 확장 권한에 VPN 도메인을 추가한 다음 chrome.webRequest 및 xmlhttprequest를 사용하여 거기에 요청을 보내는 것입니다.
이를 통해 요청을 보낼 수 있지만 CORS 및 권한 문제로 인해 P2P VPN의 반대편은 동일한 방식으로 수행할 수 없습니다. 원시 소켓을 지원하는 데 사용되었지만 더 이상 사용되지 않는 Chrome 앱입니다.
현재 브라우저 API를 사용하면 기본 앱을 만들 수 있습니다. 기본 메시징을 통해 통신하는 브라우저 확장을 유지할 수도 있고, 확장을 완전히 버리고 두 부분을 앱에 함께 포함할 수도 있습니다(P2P VPN, PenguinProxy에서 이 작업을 수행했습니다).