A self-hosted support bot that turns Telegram or Signal messages into tickets in a staff group, with optional LLM auto-replies.
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
Install Docker on your server (Debian/Ubuntu)
- 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
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
A PHP SDK for building Telegram bots on the Telegram Bot API, with built-in Laravel support.
Laravel package that adds a Telegram channel so notifications can be sent through the Telegram Bot API.
An asynchronous Python framework for building chatbots that connect to multiple chat platforms through pluggable protocol adapters.
A single-file Telegram bot that runs ChatGPT and other AI providers on Cloudflare Workers, serverless with no local setup.
Watches container images on Docker registries and sends notifications when a new tag or digest appears.