宝塔面板docker安装next-freenom – 为freenom免费域名自动续期

长风化羽 2023-1-30

1047 0

使用脚本来自动续期freenom免费域名还是很有必要的,很多童鞋都有几十个免费域名,手动续期真是个体力活。之前的教程因为作者提供的git actions方式导致仓库被封,所以这个方式已经不能使用,好在作者更新了docker,目前我们可以使用docker来部署这个脚本。

这篇文章就来说说如何用docker的方式来为freenom免费域名自动续期。

 

1、简介

项目:https://github.com/luolongfei/next-freenom

docker:https://hub.docker.com/r/luolongfei/freenom

2、准备

1)准备一台vps

2)宝塔面板

3)安装好docker管理器

4)配置发信邮箱,这里就不多讲解了,各位根据自己使用的邮箱服务器进行配置即可。

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)如何验证你的配置是否正确呢?】部署

#####################################################################
# 注意事项
#
# - 环境变量的格式为“键=值”,顶格写,注意等号两边不能有空格,值可以用单引号或者双引号引起来,不引也行(下面的特殊情况必须引起来)
# - 因为环境变量中“#”代表注释,若密码中存在“#”字符的,一定要使用单引号将整个密码引起来,否则解析会在“#”字符前截止,如果密码中存在单双引号的,
# 需要在单双引号前加“\”转义
# - 配置多账户不可省略单引号,且多个账户和密码的格式必须是“<账户1>@<密码1>|<账户2>@<密码2>|<账户3>@<密码3>”,不要有空格,就算有程序也会给你干掉
# e.g. MULTIPLE_ACCOUNTS='<账户1>@<密码1>|<账户2>@<密码2>|<账户3>@<密码3>'
# 注意不要省略“<>”符号,否则无法正确匹配
# - 若你只有单个账户,只配置 FREENOM_USERNAME 和FREENOM_PASSWORD 就够了
# - 单账户和多账户的配置会被合并在一起读取并去重
#####################################################################

# .env 文件版本
ENV_FILE_VERSION='v2.6'

###################### 账户配置 Account config #########################
# Freenom 账户 Freenom Account
FREENOM_USERNAME=''

# Freenom 密码 Freenom password
FREENOM_PASSWORD=''

# 多账户支持 Support for multiple accounts
MULTIPLE_ACCOUNTS=''

# 【可选】 Freenom 代理 [Optional] Freenom proxy e.g. http://127.0.0.1:1081 or socks5://127.0.0.1:1080
FREENOM_PROXY=''
###################### end 账户配置 #########################

###################### 通知邮件配置 Email config #########################
# 机器人邮箱账户 Email of robot
MAIL_USERNAME=''

# 机器人邮箱密码(Gmail 填应用专用密码,QQ 邮箱或 163 邮箱填授权码) Password of the robot email
MAIL_PASSWORD=''

# 用于接收通知的邮箱 Email address used to receive notifications
TO=''

# 是否启用邮件推送功能 1:启用 0:不启用 Whether to enable email push features 1: enabled 0: not enabled
MAIL_ENABLE=0

# 【可选】 自定义邮箱配置 [Optional] Custom email config
# 如果你想使用除“QQ邮箱、163邮箱、Gmail、Outlook邮箱”以外的邮箱或者自建邮箱服务作为机器人邮箱,可以自定义邮箱配置,否则请不要配置这些项
# If you want to use mailboxes other than "QQ mailbox, 163 mailbox, Gmail, Outlook mailbox" or self-built mailbox service as robot mailbox, you can customize mailbox configuration, otherwise, please don't configure these items.

# 【可选】 SMTP 服务器 [Optional] SMTP server e.g. smtp.gmail.com
MAIL_HOST=''

# 【可选】 SMTP 端口号,一般是 587 或者 465 [Optional] SMTP port number, usually 587 or 465
MAIL_PORT=''

# 【可选】 邮件加密方式,一般是 tls 或者 ssl 或者 starttls [Optional] Mail encryption method, usually tls or ssl or starttls
MAIL_ENCRYPTION=''

# end 自定义邮箱配置 end of custom email config

###################### end 通知邮件配置 #########################

###################### Telegram bot #########################
# 通过 Telegram bot 发送通知消息 Send messages via Telegram bot

# 你的 chat_id,通过发送“/start”给 @userinfobot 可以获取自己的 id Your chat_id, you can get your own id by sending "/start" to @userinfobot
TELEGRAM_CHAT_ID=''

# 你的 Telegram bot 的 token Token for your Telegram bot
TELEGRAM_BOT_TOKEN=''

# 【可选】 Telegram 代理 [Optional] Telegram proxy e.g. http://127.0.0.1:1081 or socks5://127.0.0.1:1080
TELEGRAM_PROXY=''

# 【可选】 自建 Telegram 反向代理地址,不明白则请忽略此配置项,保持默认即可 [Optional] Please do not modify this item
# 参考:https://web.archive.org/web/20220221035315/https://hostloc.com/thread-805441-1-1.html
# 只要是一个合法的网址即可,程式会自动提取网址的主机部分。例如 https://xxx.xx.workers.dev/ or xxx.xx.xx
CUSTOM_TELEGRAM_HOST='api.telegram.org'

# 是否启用 Telegram Bot 功能 1:启用 0:不启用 Whether to enable Telegram Bot features 1: enabled 0: not enabled
TELEGRAM_BOT_ENABLE=0
###################### end Telegram bot #########################

###################### 企业微信 #########################
# 企业 ID Corporate ID
WECHAT_CORP_ID=''

# 应用的凭证密钥 Credential keys for enterprise WeChat applications
WECHAT_CORP_SECRET=''

# 应用 ID
WECHAT_AGENT_ID=''

# 是否启用企业微信送信功能 1:启用 0:不启用 Whether to enable the enterprise WeChat message push function 1: Enable 0: Do not enable
WECHAT_ENABLE=0
###################### end 企业微信 #########################

###################### Server 酱 #########################
# Server 酱的 SendKey
SCT_SEND_KEY=''

# 是否启用 Server 酱 送信功能 1:启用 0:不启用 Whether to enable the ServerChan message function 1: enabled 0: not enabled
SCT_ENABLE=0
###################### end Server 酱 #########################

###################### Bark 送信 #########################
# Bark key 打开 Bark App,注册设备后看到的 key Open the Bark App, register the device and see the key
# 支持直接粘贴 “https://api.day.app/xxx/这里改成你自己的推送内容” 这类文本,程序会自动从中提取有效的 Bark key Support direct paste "https://api.day.app/xxx/这里改成你自己的推送内容" type of text, the program will automatically extract the valid Bark key from it
BARK_KEY=''

# Bark 域名 默认是 Bark 作者提供的服务,建议自建 The Bark URL defaults to the server provided by the Bark author, and it is recommended to build your own
BARK_URL='https://api.day.app'

# Bark 其它相关参数(保持默认即可)
BARK_IS_ARCHIVE=''
BARK_GROUP='FreeNom'
BARK_LEVEL='active'
BARK_ICON='https://q2.qlogo.cn/headimg_dl?dst_uin=593198779&spec=100'
BARK_JUMP_URL=''
BARK_SOUND='gotosleep'

# 是否启用 Bark 推送消息 1:启用 0:不启用 Whether to enable Bark push messaging 1: Enable 0: Do not enable
BARK_ENABLE=0
###################### end Bark 送信 #########################

###################### Pushplus #########################
# Pushplus的 token
PUSHPLUS_KEY=''

# 是否启用 Pushplus 送信功能 1:启用 0:不启用 Whether to enable the Pushplus message function 1: enabled 0: not enabled
PUSHPLUS_ENABLE=0
###################### end Pushplus #########################

# 通知频率 0:仅当有续期操作的时候 1:每次执行 Notification frequency 0: Only when there is a renewal operation 1: Each execution
NOTICE_FREQ=1

# 是否验证服务器证书 1:验证 0:不验证 Whether to verify the server certificate 1: verify 0: no verification
VERIFY_SSL=0

# 是否开启 Debug 模式 1:开启 0:关闭 Whether to turn on Debug mode 1: On 0: Off
DEBUG=0

# 检测是否有新版本可用,发现新版本时推送消息通知 1:开启 0:关闭 Automatically detects if a new version is available and pushes a message notification when a new version is found 1: On 0: Off
NEW_VERSION_DETECTION=1

# 应用语言配置 Application language configuration, the supported values are zh or en, zh means Chinese, en means English
CUSTOM_LANGUAGE=zh

# 送信时是否显示服务器信息 1:显示 0:不显示 Whether to display server information when sending messages 1: Display 0: Do not display
SHOW_SERVER_INFO=0

# 是否给敏感信息打码 1:启用 0:不启用 Whether to enable the obfuscation of sensitive information 1: Enabled 0: Not enabled
MOSAIC_SENSITIVE_INFO=0

4、效果

效果如下,当然你也可以使用tg来推送消息,在env都有详细介绍!

 

5、最后

如果你不想每次执行都收到推送,请将 .env 中 NOTICE_FREQ 的值设为0,使程序只在有续期操作时才推送,其他的也没啥好说的,有需要的童鞋可以折腾起来啦。

 

文章出处:CNBoy 四海部落,刀云转载
签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回