Repolode
luolongfei

luolongfei/freenom

Automatically renews free Freenom domains each year and sends notifications through email, Telegram, WeCom and other channels.

Stars
3,329
Forks
1,543
Open issues
81
Last commit
16 days ago

What is it?

Freenom offers free top-level domains, but each one must be renewed manually, one year at a time. This project automates that renewal for one or more Freenom accounts, so domains registered at different times do not need to be tracked by hand.

After each run, the script sends a notification whether renewal succeeds, fails, or crashes, including how many days remain before an unrenewed domain expires. Supported channels are email (Gmail, QQ Mail, 163 Mail, Outlook), Telegram Bot, WeCom, ServerChan, Bark and Pushplus. Configuration is done through a .env file.

The recommended deployment is Docker, with images for several CPU architectures. It can also be deployed through Docker Compose, on Koyeb, or from source with PHP 8.1 or newer. Heroku, Mogenius and cloud-function deployments are marked as no longer viable or no longer actively supported.

Key features

  • 01Automatic yearly renewal for multiple Freenom accounts
  • 02Notifications for success, failure and crashes, including days until expiry
  • 03Email, Telegram Bot, WeCom, ServerChan, Bark and Pushplus channels
  • 04Docker image for amd64, arm64 and other architectures
  • 05Configuration through a .env file with a configurable run time

Use cases

  • Keeping a collection of free Freenom domains renewed without manual effort
  • Running a small always-on renewal job on a VPS, NAS or Raspberry Pi with Docker
  • Receiving renewal status alerts on a phone via Telegram or Bark

Quick start

  1. 1

    Install Docker on your server (Debian/Ubuntu)

  2. 2

    Run the container with the basic command

    docker run -d --name freenom --restart always -v $(pwd):/conf -v $(pwd)/logs:/app/logs luolongfei/freenom
  3. 3

    Configure notification channels and account settings in .env (see .env.example)

Things to know

  • Freenom domains are free only for one year at a time and must be renewed annually.
  • Telegram, WeCom, ServerChan, Bark and Pushplus are supported alongside email, so you must configure at least one channel.
  • Several deployment options (Mogenius, Cloud Function) are no longer viable or supported.

Topics

FAQ

What is freenom?
Automatically renews free Freenom domains each year and sends notifications through email, Telegram, WeCom and other channels. Freenom offers free top-level domains, but each one must be renewed manually, one year at a time. This project automates that renewal for one or more Freenom accounts, so domains registered at different times do not need to be tracked by hand.
Is freenom free to use? What license does it have?
freenom is open source under the MIT license. Check the license terms before using it in commercial products.
Is freenom still maintained?
Actively maintained. The last commit to freenom was on Oct 22, 2026.
What can I use freenom for?
Keeping a collection of free Freenom domains renewed without manual effort Running a small always-on renewal job on a VPS, NAS or Raspberry Pi with Docker Receiving renewal status alerts on a phone via Telegram or Bark
How do I install freenom?
Install Docker on your server (Debian/Ubuntu) Run the container with the basic command: docker run -d --name freenom --restart always -v $(pwd):/conf -v $(pwd)/logs:/app/logs luolongfei/freenom Configure notification channels and account settings in .env (see .env.example)
Where can I get freenom?
The source code and installation instructions are on GitHub: https://github.com/luolongfei/freenom

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects