使用脚本来自动续期freenom免费域名还是很有必要的,很多童鞋都有几十个免费域名,手动续期真是个体力活。之前的教程因为作者提供的git actions方式导致仓库被封,所以这个方式已经不能使用,好在作者更新了docker,目前我们可以使用docker来部署这个脚本。
1、简介
项目:https://github.com/luolongfei/next-freenom
docker:https://hub.docker.com/r/luolongfei/freenom
2、准备
1)准备一台vps(本教程搭建于racknerd)
2)宝塔面板
3)安装好docker管理器
4)配置发信邮箱,这里以qq邮箱为例,按图设置,点击开启POP3/SMTP服务后,QQ邮箱会要求你用手机发送一条短信给腾讯!之后点击我也发送即可得到授权码。
得到授权码后,复制好备用!
3、部署
1)使用ssh软件链接到你的服务器,在命令行使用如下命令:
docker run -d --name freenom --restart always -v $(pwd):/conf -v $(pwd)/logs:/app/logs luolongfei/freenom
2)或者,如果你想自定义脚本执行时间,则命令如下
docker run -d --name freenom --restart always -v $(pwd):/conf -v $(pwd)/logs:/app/logs -e RUN_AT="11:24" luolongfei/freenom
3)上面这条命令只比上上条命令多了个 -e RUN_AT="11:24"
,其中11:24
表示在北京时间每天的 11:24 执行续期任务,你可以自定义这个时间。 这里的RUN_AT
参数同时也支持 CRON 命令里的时间形式,比如, -e RUN_AT="9 11 * * *"
,表示每天北京时间 11:09 执行续期任务, 如果你不想每天执行任务,只想隔几天执行,只用修改RUN_AT
的值即可。
注意:不推荐自定义脚本执行时间。因为你可能跟很多人定义的是同一个时间点,这样可能导致所有人都是同一时间向 Freenom 的服务器发起请求, 使得 Freenom 无法稳定提供服务。而如果你不自定义时间,程序会自动指定北京时间 06 ~ 23 点全时段随机的一个时间点作为执行时间, 每次重启容器都会自动重新指定。
4)至此,你的自动续期容器就跑起来了,执行ls -a
后你就可以看到在你的当前目录下,有一个.env
文件和一个logs
目录,logs
目录里面存放的是程序日志, 而.env
则是配置文件,现在直接执行vim .env
将.env
文件里的所有配置项改为你自己的并保存即可。然后重启容器,如果配置正确的话,便很快可以收到相关邮件。
5)如何验证你的配置是否正确呢?
修改并保存.env
文件后,执行docker restart freenom
重启容器,等待 5 秒钟左右,然后执行docker logs freenom
查看输出内容, 观察输出内容中有执行成功
字样,则表示配置无误。如果你还来不及配置送信邮箱等内容,可先停用邮件功能。
6)修改.env文件,具体如下:修改后,参考:【5)如何验证你的配置是否正确呢?】部署
效果如下,当然你也可以使用tg来推送消息,在env都有详细介绍!
5、最后
如果你不想每次执行都收到推送,请将 .env 中 NOTICE_FREQ 的值设为0,使程序只在有续期操作时才推送,其他的也没啥好说的,有需要的童鞋可以折腾起来啦。