freenom 自动续期脚本
仓库地址:
https://github.com/luolongfei/freenom/
编辑自:
https://github.com/luolongfei/freenom/wiki/直接拉取源码部署
https://github.com/luolongfei/freenom/wiki/Telegram-Bot
安装依赖
apt install php php-curl -y |
获取源码
创建文件夹
mkdir -p /data/wwwroot/freenom && cd /data/wwwroot/freenom |
clone 仓库源码
git clone https://github.com/luolongfei/freenom.git ./ |
修改配置
复制配置文件模板
cp .env.example .env |
编辑配置文件
vim .env |
注意事项:
.env 文件里每个项目都有详细的说明,这里不再赘述,简言之,你需要把里面所有项都改成你自己的。需要注意的是多账户配置的格式:
e.g. MULTIPLE_ACCOUNTS='<账户1>@<密码1>|<账户2>@<密码2>|<账户3>@<密码3>'
(注意不要省略“<>”符号,否则无法正确匹配)
当然,若你只有单个账户,只配置 FREENOM_USERNAME
和 FREENOM_PASSWORD
就够了,单账户和多账户的配置会被合并在一起读取并去重。
编辑完成后,按 “Esc” 回到命令模式,输入 :wq
回车即保存并退出,不会用 vim 编辑器的可以谷歌一下:)
配置计划任务
安装 crontab
apt -y install cron |
编辑任务表单
crontab -e |
任务内容如下
00 09 */1 * * cd /data/wwwroot/freenom/ && php run > freenom_crontab.log 2>&1 |
此任务的含义是在隔天早上 9点 执行 /data/wwwroot/freenom/
路径下的 run
文件,最佳实践是将这个时间修改为一个非整点的时间,防止与很多人在同一时间进行续期操作导致 freenom
无法稳定提供服务
注意:某些情况下,crontab
可能找不到你的 php 路径,下面的命令执行后会在 freenom_crontab.log
文件输出错误信息,你应该指定 php
路径:把下面的 php
替换为 /usr/local/php/bin/php
(根据实际情况,执行 whereis php
即可看到 php
执行文件的真实路径)
配置 telegram bot
1、将 .env
文件中的 TELEGRAM_BOT_ENABLE
的值改为 1
,即可启用 Telegram Bot 送信功能
2、在 Telegram 客户端中搜索 @userinfobot,并打开聊天窗口
3、发送 /start
给 @userinfobot 即可以获取自己的 Id,将 .env
文件中的 TELEGRAM_CHAT_ID
的值改为前面获取到的 Id
4、在 Telegram 客户端中搜索 @BotFather,并打开聊天窗口
5、发送 /newbot
给 @BotFather,然后根据提示创建,创建完成后根据图示操作获取 token
6、将 .env
文件中的 TELEGRAM_BOT_TOKEN
的值改为上一步获取的 token
值
7、在 Telegram 客户端中搜索你创建的机器人的账户,上面示例中机器人账户为@fat_tiger_bot,请替换为你自己的。找到机器人账户并打开聊天对话框,点击聊天输入框中的 /start
按钮或者直接给机器人发送 /start
,以启用机器人
8、(可选)为 Telegram Bot 设置代理。针对国内网络环境,可将 .env
文件中的 TELEGRAM_PROXY
的值改为代理值,具体参考 .env
文件中的注释
验证
你可以先将.env
中的NOTICE_FREQ
的值改为1(即每次执行都推送通知),然后执行
cd /data/wwwroot/freenom/ && php run |
不出意外的话,你将收到一封关于域名情况的消息。
更新脚本
cd 到安装目录直接拉取代码
cd /data/wwwroot/freenom && git clone https://github.com/luolongfei/freenom.git ./ |