废旧手机+ngrok内网穿透服务免费版远程唤醒并使用无公网IP电脑

前面讲过废旧手机远程唤醒并使用无公网IP( https://www.learndiary.com/2021/07/wakeup-and-use-computer-without-public-ip/ )并已作视频演示( https://space.bilibili.com/1744354915/channel/seriesdetail?sid=417246 ),这个方案的远程唤醒必须要有一个公网IP,那么有没有一种不需要自己拥有公网IP电脑的免费内网穿透服务来实现这个功能呢?有的,还不少,这里就使用一种废旧手机+ngrok 内网穿透免费版方案。演示视频地址: https://www.bilibili.com/video/BV15h411n7u4?share_source=copy_web

使用的基本要求和环境如前面提的使用公网IP电脑的方案类似,这里就不详述了。只不过,中转的电脑由前面的公网ip电脑换成了 ngrok 服务器。

ngrok 实际上是一个内网穿透的开源软件,任何人都可以用来搭建内网穿透服务。于是,就有商家提供搭建好的内网穿透服务出售,并提供免费的体验版本。

今天我使用国内一家叫 Sunny-Ngrok 的品牌免费版来实现。网址:https://ngrok.cc/ 。

Sunny-Ngrok 的使用比较简单,注册帐号,登录后看下左侧的“教程”就懂了。在“隧道管理”里面创建一个免费的tcp类型隧道,选择一个远程端口如:10123,映射到手机 Termux 终端里启动的 sshd 服务端口 8022。

完成创建隧道后,记下“隧道id”、“赠送域名”,如这里分别是:“12345abcde”、“tcp://test.ngrok.test:10123”。

如前面所讲的方法在手机安装 Termux 和 python 等相关软件,下载解压相应 python 版本 ngrok 客户端到 Termux 终端里。把手机放在与被唤醒和使用远程桌面电脑的同一局域网下。在 Termux 终端里执行下列3条命令:

termux-wake-lock
sshd
python sunny.py --clientid=12345abcde

就行了。

以 Linux 端的 ssh 客户端为例,在任一电脑执行:
ssh -p 10123 -L 5000:10.0.2.9:4000 user@test.ngrok.test
就登入手机里的 Termux 终端里,执行上次视频中的远程唤醒命令就可以唤醒局域网中的电脑了。

因为我们在用 ssh 客户端登入手机的同时,使用了 ssh 的正向转发功能 -L,把执行 ssh 客户端的本机的 5000 端口,转发到了远程局域网中被唤醒电脑(IP:10.0.2.9)的 nomachine 远程桌面 4000 端口。所以,我在本机上用 nomachine 远程桌面客户端连接本机的 5000 端口就连接上被唤醒电脑的远程桌面了。

当然,因为是免费版,远程连接可能比较容易掉线。但是只是 ssh 连接上后远程唤醒一下电脑还是应该没问题的。

Windows 下可以使用 putty 这款 ssh 客户端执行上述类似的操作。

废旧手机+ngrok内网穿透服务免费版远程唤醒并使用无公网IP电脑就讲到这里。欢迎交流批评与指正。谢谢。

发表评论

电子邮件地址不会被公开。 必填项已用*标注