Menu Close

自动续期freenom免费域名,并添加tg机器人通知

前言

freenom是一家提供免费域名的厂商,应该都有账号吧,没有自己去申请,很简单,可域名到期后又不想重新注册域名,所以自动续期就来了

准备

·一个能使用github actions的账号,一个freenom域名,一台能上网的设备,telegram账号

续期

配置 github actions

先fork仓库https://github.com/luolongfei/freenom,点击actions,再随便点击configure

image-20220207211302141

把下面这一串代码全选粘贴

name: Run it on actions

on:

  push:

    branches:

      - master

  schedule:

    - cron: 00 02 * * *

jobs:

  run-it:

    runs-on: ubuntu-20.04

    name: Run it on action

    steps:

      - name: Checkout master

        uses: actions/checkout@v2

      - name: Setup PHP

        uses: shivammathur/setup-php@v2

        with:

          php-version: '7.3'

      - name: Setting

        run: |

          echo 'Renew freenom domain name automatically.'

          echo '@Author of yml configuration file: RouRouX <https://github.com/RouRouX> & mybsdc <mybsdc@gmail.com>'

          echo '@Url: https://github.com/luolongfei/freenom'

          cp .env.example .env

          if [[ ('${{ secrets.FREENOM_USERNAME }}' == '' || '${{ secrets.FREENOM_PASSWORD }}' == '') && '${{ secrets.MULTIPLE_ACCOUNTS }}' == '' ]]; then echo '你在 Github 的当前项目的 Settings > Secrets 画面没有设置任何与账户信息相关的 secret 值,无法正常运行,请添加新的 secret 值,设置 FREENOM_USERNAME 与 FREENOM_PASSWORD,或者设置 MULTIPLE_ACCOUNTS,以及 .env 文件中其它必要项,各项的具体含义与格式参考本项目 .env 文件中的说明。'; fi

          if [ '${{ secrets.FREENOM_USERNAME }}' != '' ]; then sed -i "s/^FREENOM_USERNAME=.*$/FREENOM_USERNAME='${{ secrets.FREENOM_USERNAME }}'/" .env; fi

          if [ '${{ secrets.FREENOM_PASSWORD }}' != '' ]; then sed -i "s/^FREENOM_PASSWORD=.*$/FREENOM_PASSWORD='${{ secrets.FREENOM_PASSWORD }}'/" .env; fi

          if [ '${{ secrets.MULTIPLE_ACCOUNTS }}' != '' ]; then sed -i "s/^MULTIPLE_ACCOUNTS=.*$/MULTIPLE_ACCOUNTS='${{ secrets.MULTIPLE_ACCOUNTS }}'/" .env; fi

          if [ '${{ secrets.MAIL_USERNAME }}' != '' ]; then sed -i "s/^MAIL_USERNAME=.*$/MAIL_USERNAME='${{ secrets.MAIL_USERNAME }}'/" .env; fi

          if [ '${{ secrets.MAIL_PASSWORD }}' != '' ]; then sed -i "s/^MAIL_PASSWORD=.*$/MAIL_PASSWORD='${{ secrets.MAIL_PASSWORD }}'/" .env; fi

          if [ '${{ secrets.TO }}' != '' ]; then sed -i "s/^TO=.*$/TO='${{ secrets.TO }}'/" .env; fi

          if [ '${{ secrets.MAIL_ENABLE }}' != '' ]; then sed -i "s/^MAIL_ENABLE=.*$/MAIL_ENABLE='${{ secrets.MAIL_ENABLE }}'/" .env; fi

          if [ '${{ secrets.TELEGRAM_CHAT_ID }}' != '' ]; then sed -i "s/^TELEGRAM_CHAT_ID=.*$/TELEGRAM_CHAT_ID='${{ secrets.TELEGRAM_CHAT_ID }}'/" .env; fi

          if [ '${{ secrets.TELEGRAM_BOT_TOKEN }}' != '' ]; then sed -i "s/^TELEGRAM_BOT_TOKEN=.*$/TELEGRAM_BOT_TOKEN='${{ secrets.TELEGRAM_BOT_TOKEN }}'/" .env; fi

          if [ '${{ secrets.TELEGRAM_BOT_ENABLE }}' != '' ]; then sed -i "s/^TELEGRAM_BOT_ENABLE=.*$/TELEGRAM_BOT_ENABLE='${{ secrets.TELEGRAM_BOT_ENABLE }}'/" .env; fi

          if [ '${{ secrets.NOTICE_FREQ }}' != '' ]; then sed -i "s/^NOTICE_FREQ=.*$/NOTICE_FREQ='${{ secrets.NOTICE_FREQ }}'/" .env; fi

          sed -i "s/^ON_GITHUB_ACTIONS=.*$/ON_GITHUB_ACTIONS=true/" .env

      - name: Run

        run: |

          php run

如图,保存即可image-20220207211622849

配置TG机器人

打开TG,搜索botfatherimage-20220207212252009

然后输入/mybots点击你需要用的机器人,再点击API TOKEN,点击这一长串蓝色字体就复制好了,记得保存下来

image-20220207212456352

配置github actions secrets

进入freenom域名续期的项目,我懒自己看image-20220207212739683

分别新建一下几个配置image-20220207213046653

具体如下表所示

name value
FREENOM_USERNAME freenom账号
FREENOM_PASSWORD freenom账号密码
MAIL_ENABLE false(是否启用邮箱推送
TELEGRAM_CHAT_ID TG chat_id 给@userinfobot发送/start获取
TELEGRAM_BOT_TOKEN 刚才复制的机器人token
TELEGRAM_BOT_ENABLE true(启用机器人推送

这样就行了,这个脚本会在每天0:0UTC时间2点自动启动

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注