在公司里,RD 们不免会使用一些代理服务来进行抓包操作。那么就需要获取代理服务器(一般为自己的电脑)的内网 IP。然而,这个内网 IP 并不是固定不变的。所以,每次配置代理 IP 时就略显麻烦。那么,下面就来聊聊如何解决这个尴尬,提升效率。
方案
将非固定 IP 实时解析到域名中。利用阿里云的域名解析开发者 API 进行定时的更新。其中的定时用本机(Mac)的 Launchd 实现(类似 Linux 下的 Crontab)。
原材料
- Mac(或者 Windows 但本文仅谈及 Mac 配置方法)
- 域名(如 ihuxu.com)
- 如果没有域名可以到 freenom.com 中注册一个免费域名,然后将其 DNS 切到阿里云免费的 DNS 云解析服务中即可。
- 阿里云账号
- 利用阿里云提供开发者的 DNS 管理相关的 API
步骤
下载阿里云 SDK & 编写更新脚本
代码库:https://github.com/aliyun/aliyun-openapi-php-sdk.git
官方的接口文档:https://help.aliyun.com/document_detail/29774.html?spm=5176.doc29740.6.615.ADurH2
其中有个简要的文档,确实文档比较“简陋”,还会看到 github 中 issues 骂娘的。
在调用使用 SDK 编写脚本的过程中,会用到一个秘钥。这个秘钥可以到阿里云的管理控制台中获取。如下图:
配置 Mac 的 Timed Job
打开 Mac 终端,进入目录 /System/Library/LaunchDaemons 下。会看到很多 plist 为后缀的文件。每一个文件都是一个定时任务。具体的定时任务的写法,请参见苹果开发中中心文档:Scheduling Timed Jobs
结束语
这样一来,在任何情况下配置代理时填入一个固定的域名就搞定了。其实,除此之外还可以把一些有变动的或者不好记的IP都解析成域名,这样在使用时会顺手些。比如登陆一些开发机:
ssh root@s.ihuxu.com
文章来源:工作效率之动态IP域名化篇