simplify the life

内网 穿透是个好东西

前言

注:很奇怪,标题如果带 【内网穿透】会触发莫名的规则,然后文章 404 掉。。

今天接触了一个新的名词「内网穿透」,感觉还是蛮有意思的,记录一二

起因是自己想做一个微信上的提醒工具,比如我现在一天时不时要提醒老婆喝水 via 微信,如果有了这个工具,理想情况下,我设定好时间,到了时间点会自动在微信上发消息给老婆

首先想到的是利用自己个人的微信号,模拟登录,然后模拟定时发送消息。确实是可行的,Python 有个库 ItChat 专门用来做这个,启动程序后扫码登录,便可以运行程序。但是有个 致命缺点,无法同时保证程序和 PC 客户端同时登录,这就非常蛋疼了,所以只能用来做一个个人机器人这样一个角色

接下来往公众号/小程序方向去考虑。小程序我不清楚能不能发消息给用户,暂时好像没有体验过这个功能,公众号的话后台确实是可以发消息给用户的,但是如果要开发,腾讯并没有对个人用户提供这个接口,需要企业认证,如果有认证的话,itchatmp 可以很好地解决问题,但是没有。还有一个服务号,似乎是可以的,个人认证好像要交 300 块钱,感觉服务号的通知还更好点,毕竟公众号收到的消息,还要点两步,而服务号似乎就在一级菜单下。这部分之后会继续研究

在看 itchatmp 文档过程中,接触了一个新名词「内网穿透」,也就是本文重点

内网穿透有啥用?比方说我本地写了个简单的 demo,起个本地 server,比如我可以用 localhost:8081 这样去访问,同一个局域网内我们可以用 ip+端口 访问,但是外网呢?这个时候就需要内网穿透。一句话概括就是说 让外网能访问你本地的应用

NATAPP

首先得有一个本地能访问的应用,随便写了个前端 demo,然后用 http-server -p 8001 的命令启动之,这个时候访问 localhost:8081 就能得到内容

NATAPP1 分钟快速新手图文教程 已经足够详细,如果这个工具依然可用的话,我觉得这个链接应该是不会失效的

简单说几句吧,首先当然是注册(手机号),然后需要实名认证下

然后选择【购买隧道】->【免费隧道】,输入端口的时候要注意下,这个端口号跟你本地应用的端口号要一致(8001),注意下这个 authtoken 参数,后面要用到

然后下载客户端,比如我下载了 Mac OS X 64位,下载后解压,是一个没有后缀名的文件 【natapp】,进入到文件存放到目录下(修改 authtoken 参数为自己的):

chmod a+x natapp
./natapp -authtoken=9ab6b9040a624f40

这个时候访问 http://6wq9xq.natappfree.cc 就会得到访问 localhost:8081 一样的内容,而这个内容外网也是可以访问到的

如果你手头没有其他的机器,不确定该网址能不能访问,可以用 http://www.isitdownrightnow.com 或者 http://downforeveryoneorjustme.com 测试下

NGROK

这个更简单,如果只需要基础的功能,甚至都不需要注册

这里 https://dashboard.ngrok.com/get-started 下载,解压后,运行如下命令:

./ngrok http 8001

posted on 2018-07-04 21:40 韩子迟 阅读(...) 评论(...) 编辑 收藏

导航

统计信息

News