群晖可以访问公网当然很方便,但很多时候并不需要这样做,只是临时的访问资料,所以一直在琢磨怎么可以实现有选择性的对特定 IP 开放访问.
最初使用的方案是梅林固件+entware,安装了 knockd 敲门插件,指定若干个端口开门,开门程序是用 IOS 自己写的,这个方案还不错,只是互动性很差.
后来了解到阿里云有物联网协议,可以一直在线,1 元 100 万分钟应该可以跑一年多了,于是全部重写了路由器端代码用 Python+aliyun iot SDK,实现响应.而客户端则是 IOS+aliyun iot SDK,这样一个操作逻辑.
后来添加了一些小功能,比如路由器问题,启动时间什么的,全当是增加点色彩.
核心的思路是:
所以本质就是,路由器在看守,给必要访问的 IP 放行一些时间,这样应该不管哪方面都不算是开放 Web 服务器对外访问了...
手机端界面:
V2EX 不能插入图片,我贴在知乎吧:
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.