A complete solution for No-IP users. This repository serves two purposes:
- 📘 Documentation: A step-by-step guide to connecting No-IP domains to GitHub Pages.
- 🤖 Automation: A "smart bot" that renews your free domain and alerts you on Telegram if the session expires.
Follow these steps to use your free
ddns.netdomain as a custom URL for your GitHub site.
- Create a new repository (or use this one).
- Go to Settings > Pages.
- Select the branch you want to publish (e.g.,
main) and click Save.
- Log in to No-IP.com.
- Go to My Services > DNS Records.
- Create a CNAME Record for your domain (e.g.,
your-name.ddns.net) pointing toyour-username.github.io.
- Create a file named
CNAME(all caps, no extension) in your repository root. - Inside, write only your domain name:
your-name.ddns.net - Go back to Settings > Pages.
- In the Custom domain box, enter your domain and click Save.
- Check the Enforce HTTPS box once it becomes available (can take up to 24h).
Free No-IP domains expire every 30 days. This bot checks them every 15 days and sends you a Telegram message if you need to update your cookie.
Ensure your repository contains the latest versions of:
renew.py(The script with Telegram logic)requirements.txt(Dependencies includingrequests).github/workflows/schedule.yml(The schedule)
Since No-IP checks for bots, we use a session cookie to bypass the login screen.
- Log in to No-IP.com on your browser and check "Keep me logged in".
- Open Developer Tools (
F12) > Application tab > Cookies. - Find the cookie named
laravel_session. - Copy its Value (a long string of random characters).
We need these to send you alerts if the cookie expires.
- Open Telegram and message
@BotFather.- Send
/newbot, name it, and get your HTTP API Token.
- Send
- Message
@userinfobot.- Copy your Id (a number).
To keep your credentials safe, do not save them in code.
- Go to Settings > Secrets and variables > Actions.
- Click New repository secret.
- Create these 3 Secrets:
NOIP_COOKIE-> Paste yourlaravel_sessionvalue.TELEGRAM_TOKEN-> Paste your Bot Token.TELEGRAM_CHAT_ID-> Paste your User ID number.
- Go to the Actions tab.
- Select No-IP Auto Renew on the left.
- Click Run workflow to test it immediately.
| File | Description |
|---|---|
index.html |
The landing page tutorial website. |
renew.py |
The Python script that performs the renewal. |
.github/workflows/ |
Contains the automation schedule. |
CNAME |
Config file linking the custom domain. |
This project is for educational purposes. Please use responsibly and ensure you comply with No-IP's Terms of Service.