Freenom免费域名自动续期及报告到期情况

By | 2020年7月13日

一、说明

  • 本项目https://github.com/Lancenas/FREENOM-automatic-renewal是应用luolongfei/freenom源码使用’GitHub Action’进行云续期;
  • 默认每天10点自动运行,域名到期情况邮件或Telegram通知;
  • ‘Secrets’变量设置后,点击右上 ‘star’ 运行测试是否无误。
  • 建议使用QQ或163邮箱授权码登陆。Gmail每次登陆会报错。
  • Telegram新建bot参见官方文档介绍获取’TELEGRAM_BOT_TOKEN’,Telegram 账户发送/start给@userinfobot即可以获取自己的’chatID’对应’TELEGRAM_CHAT_ID’,环境变量设置有用。

二、效果
邮件示例

三、如何使用
1、’Fork’ 本仓库
2、在你 ‘Fork’ 的本仓库下的 ‘Settings’ -> ‘Secrets’ 页面追加以下几个secret秘密环境变量,仅自己能见,’Fork’ 也不可见。

 变量名含义默认值是否必须备注 
FREENOM_USERNAMEfreenom 账户-只支持邮箱账户,不支持也不打算支持第三方社交账户登录
FREENOM_PASSWORDfreenom 密码-某些特殊字符可能需要转义,具体参考`.env.example`文件内的注释,应该没人会设置那么变态的密码吧
MULTIPLE_ACCOUNTS多账户支持-多个账户和密码的格式必须是“`<账户1>@<密码1>\<账户2>@<密码2>\<账户3>@<密码3>`”,如果设置了多账户,上面的`FREENOM_USERNAME`和`FREENOM_PASSWORD`可不设置
MAIL_USERNAME机器人邮箱账户-支持`Gmail`、`QQ邮箱`以及`163邮箱`,尽可能使用`163邮箱`或者`QQ邮箱`,而非之前推荐的`Gmail`。因为谷歌的安全机制,每次在新设备登录 `Gmail` 都会先被限制,需要手动解除限制才行,而`Github Actions`每次创建的虚拟环境都会分配一个新的设备`IP`,相当于每次都是从新设备登录`Gmail`,而我们不可能每次都去手动为`Gmail`解除登录限制,所以这种机制会导致无法发出通知邮件。具体的配置方法参考「 [配置发信邮箱](#--配置发信邮箱) 」
MAIL_PASSWORD机器人邮箱密码-`Gmail`填密码,`QQ邮箱`或`163邮箱`填授权码
TO接收通知的邮箱-你自己最常用的邮箱,推荐使用`QQ邮箱`,用来接收机器人邮箱发出的域名相关邮件
MAIL_ENABLE是否启用邮件推送功能true`true`:启用
`false`:不启用
默认启用,如果设为`false`,不启用邮件推送功能,则上面的`MAIL_USERNAME`、`MAIL_PASSWORD`、`TO`变量变为非必须,可不设置
TELEGRAM_CHAT_ID你的`chat_id`-通过发送`/start`给`@userinfobot`可以获取自己的`id`
TELEGRAM_BOT_TOKEN你的`Telegram bot`的`token`-
TELEGRAM_BOT_ENABLE是否启用`Telegram Bot`推送功能false`true`:启用
`false`:不启用
默认不启用,如果设为`true`,则必须设置上面的`TELEGRAM_CHAT_ID`和`TELEGRAM_BOT_TOKEN`变量
NOTICE_FREQ通知频率1`0`:仅当有续期操作的时候
`1`:每次执行

Secret设置-1
secret设置-2
secret设置-3

3、同意启用 Actions
启动Actions

4、开始运行 -点击右上角“star”

5、查看过往执行详情和再次运行操作
查看过往执行详情和再次运行操作

0