通过WebRTC在设备之间直接文件传输



新的WebWormHole服务用作门户,通过该门户将文件从计算机传输到另一台计算机。按下按钮New Wormhole-并输入密码。另一方面,一个人输入相同的代码或URL-并在您之间建立了一个临时通道,通过该通道直接传输文件。非常简单高效。Github源代码

要在设备之间安装门户,无需打开浏览器。Go上的客户端从命令行启动,并在控制台中生成一次性代码。

安装:

$ go get -u webwormhole.io/cmd/ww

广播:

$ cat hello.txt
hello, world
$ ww send hello.txt
8-enlist-decadence

临时隧道另一侧的接收者将一次性代码输入控制台-并接收文件。

$ ww receive 8-enlist-decadence
$ cat hello.txt
hello, world

该程序的作者Salman Aljammaz警告说,客户端处于早期开发阶段,它使用实验性的加密库,因此,它可能无法在所有浏览器中正常工作。该程序还没有通过安全审核,因此它可能无法正常运行且不安全。

作者从Magic Wormhole程序借用了这个想法和名称,该程序还建立了对等连接并在计算机之间传输文件。


Magic Wormhole

的不同之处在于WebWormHole使用WebRTC,它使您可以突破防火墙和NAT,以及从浏览器开始传输。

每个隧道均受一次性密码和PAKE保护这是用于建立加密连接的带有密码身份验证的特定密钥交换。但是,密码本身不会以任何形式通过网络传输。

验证大致与公开为零证明一样进行,接收者可以在其中验证任何声明的可靠性,而不会从发送者那里获得任何其他信息。


SPAKE2

在WebWormHole中,为了生成公共加密密钥,会话描述与WebRTC用于加密连接的DTLS证书的指纹进行交换。

通过点对点隧道传输文件比通过邮件,FTP或其他方法更快,更安全。为了方便和安全起见,在以下表格中对这些方法进行了比较:魔术虫洞演示

按发件人输入收件人输入物理接近度窃听
电子邮件〜30个字符提供商,证书颁发机构,互联网
上载到FTP / HTTP〜60个字符服务器,提供商,证书颁发机构,Internet
投寄箱〜60个字符Dropbox认证机构
+链接减少服务〜20个字符链接减少服务,随机搜索,Dropbox,证书颁发机构
USB记忆棒X
SSH / SCP〜740个字符 公钥没有
魔术虫洞〜20个字符没有
注意自2016年编译此表以来,便启动了便捷的服务来传输文件,例如Firefox Send(有一个控制台客户端)和File.pizza

。除了Python中的Python Wormhole,还有其他一些客户端可以在计算机之间建立直接WebRTC连接:


作为奖励:

  • rtc-ssh:用于SSH连接的WebRTC包装器

通过WebRTC,您可以在设备之间建立视频通信,传输语音,文件等。

至于PAKE密钥交换机制,它在不同领域中很有用。例如,它允许在站点上进行身份验证,而无需向服务器发送密码。

All Articles