如何创建像Hola VPN这样的P2P Javascript VPN呢?


1

我一直在尝试构建一个完全在浏览器中运行的P2P VPN,主要是Javascript,但主要是一个插件,如Firefox和Chrome中的插件。和Hola VPN基本相同。

令我感到困惑的是,xmlhttprequest's如果没有访问服务器/网站的明确授权,就不适合跨域请求,这是我可以想象地重定向/代理来自另一个对等方的请求的唯一方法。Hola VPN如何绕过这个?有人知道吗?

请注意,我不打算打开一个开放式问题,但这个困境只有一两个答案,但如果你这么想的话,让我知道我是否应该编辑以减少问题。


您的P2P连接的远程端也是 VPN服务的实例,因此正确的CORS设置不是问题吗?
Daniel B

Answers:


0

我不确定Hola做了什么,但我认为最好的选择是将您的VPN域添加到扩展权限,然后使用chrome.webRequest和xmlhttprequest在那里发送您的请求。

这允许您发送请求,但由于CORS和权限问题,P2P VPN的另一端将无法以相同的方式执行。Chrome应用程序曾用于支持原始套接字,但已被弃用。

使用当前的浏览器apis,您将创建一个本机应用程序。您可以保留一个浏览器扩展,通过本机消息进行通信,或者完全抛弃扩展,并在应用程序中将这两个部分放在一起(这就是我们为P2P VPN做的事情,PenguinProxy)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.