通过NKN客户端建立Mozilla WebThings物联网网关的安全隧道

Mozilla webthings banner
通过使用NKN客户端,我们可以纯分布式的方式透明地隧穿任何基于TCP的应用程序,并且应用程序本身不需要任何修改。 这样的安全隧道不需要任何一方具有公共IP地址或端口映射,并且根本不需要集中式服务器。 以下是Mozilla WebThings物联网网关的说明。

客户端(用户手机或电脑)和服务器(WebThings物联网网关)端都需要运行nkn-tunnel。在WebThings物联网网关(或同一局域网中的任何设备)上,我们以服务器模式启动nkn-tunnel:
./nkn-tunnel -from nkn -to 127.0.0.1:8080 -s

127.0.0.1:8080 是WebThings物联网网关的网络服务器地址, 是用来生成NKN客户端的私钥种子(类似于密钥)。私钥种子是一个64位数长的16进制字符串。如果用户不填写私钥种子的话,系统会缺省产生并使用一个随机的种子。

nkn-tunnel安全隧道启动以后,会打印出以下的监听地址:
Listening at < server-listening-address >
其中< server-listening-address >是安全隧道的NKN地址。

然后在用户端(用户手机或电脑),我们以客户端模式启动nkn-tunnel:
./nkn-tunnel -from 127.0.0.1:8081 -to

现在,用户可以通过访问http://127.0.0.1:8081访问Webthings物联网网关界面。

将nkn-tunnel嵌入iOS / Android应用程序

nkn-tunnel用Go编写,可以使用Go mobile编译为本地iOS / Android库。

下面是一个简单的iOS应用程序,它使用nkn-tunnel + WebView作为最小的WebThings Gateway移动客户端。
ezgif-7-471decb53bfc

使用NKN客户端作为p2p通信层

nkn-tunnel是与现有应用程序集成的最简单方法,但对小白用户而言可能不是最容易操作的方法,因为它还需要客户端同时运行nkn-tunnel。 如果您能够并且愿意修改服务器端应用程序,则可以将NKN客户端用作p2p通信层,并将NKN客户端集成到应用程序的客户端和服务器端。 NKN客户端当前支持Go,JavaScript,Java。

关于Mozilla WebThings

Web of Things物联网将现实世界的对象连接到万维网。

Web of Things物联网标准的想法是通过在网络上提供物联网URL使其可链接和可发现,并定义标准数据模型和API使其可互操作来创建去中心化的物联网

Mozilla WebThings是Mozilla Web of Things物联网的开源实现,包括WebThings 物联网网关和WebThings应用开发框架。

有关更多信息,请查看:https://iot.mozilla.org/

关于NKN

NKN是一个完全去中心化,基于网络传输量工作证明,可支持千万级规模节点共识的区块链系统。由NKN所构建的这样一个有经济模型所驱动,社区共建共享的新型点对点网络,为开发者提供了一个开放、便捷、高效和安全的网络连接传输平台。基于NKN开发的各种应用将给终端用户带来各种全新的网络体验。
zVQKfac_1OQQ5Pr66o1K3QipgiCXFmt-zMFk7YiGi0Rd18hDinNLgqGVyo2fF4tb_vkQVGC5ClpoYYX3-WcrB0QxAEbegHGixEdcXt4EH7a2fwV7M6dcqoGiXkIGZCK7wRsZRZZjs0B5D-Kbqg
主页: https://www.nkn.org/zh
邮箱: [email protected]
论坛: https://forum.nkn.org
Telegram: https://t.me/nknorg
Twitter: https://twitter.com/NKN_ORG
Medium: https://medium.com/nknetwork
Discord: https://discord.gg/yVCWmkC