Freenom Auto Renew Domains Save

A scraper built with puppeteer that auto renew free domains on Freenom and send discord message using bot

Project README

Auto renew domain

Freenom Auto Renew Domains

Description

This application is a scraper built with puppeteer combined to a discord bot that list your domains, their status and how many days it left before it needs a renew. This application will also auto renew you free domains when it's possible. (auto renewal is deactivated by default for paid domains, but in a future update you'll be able to manage auto renew with discord commands)

It is highly recommended using this app under a process manager like pm2, as it become a background process that will run on your server. If you don't have a dedicated server that is always on, consider using Heroku.

Warning

Due to lack of accessible data on freenom and to avoid unwanted behavior, please be sure at the first start that there is no free domains renewable.

You can take a look here My Freenoms Domains.

If you have free domain that is renewable please renew it before starting this tool. In this way, free domain won't be considered as paid domain and set auto renew to false by default while creating database for the first time. Of course, for the next launches of the tool, you don't mind about having free domains renewable, the tool will automatically renew it if the first start was execute as described before.

Prerequisites

  • node >= 16
  • npm
  • pm2

Quickstart

npm install
make .env
pm2 start npm --name FreenomAutoRenewDomains -- run start

Env file

Before running for the first time, you need to fill your .env file with your own values.

DB_NAME=freenoms-domains
PUPPETEER_HEADLESS=true

DISCORD_BOT_TOKEN=
DISCORD_GUILD_ID=
DISCORD_CHANNEL_ID=

FREENOM_LOGIN=email
FREENOM_PASS=password
FREENOM_CRONJOB="0 9 * * 1"

# Docker exec path
CHROME_PATH=google-chrome-stable
# Linux
CHROME_PATH=/usr/local/bin/chromium
  • DB_NAME: The name of the local sqlite3 db used to saved domain data and preferences (like auto renew)
  • PUPPETEER_HEADLESS: Display the chromium browser or not
  • CHROME_PATH: The path to a chromium browser used by puppeteer
  • DISCORD_BOT_TOKEN: The discord bot token (More info on Discord.js Guide)
  • DISCORD_GUILD_ID: The discord server (see Discord Docs - How to retrieve ID)
  • DISCORD_CHANNEL_ID: The discord channel id (see Discord Docs - How to retrieve ID)
  • FREENOM_LOGIN: Your email of your Freenom account
  • FREENOM_PASS: Your password of your Freenom account
  • FREENOM_CRONJOB: The cronjob rule on you want to schedule auto renew. By default, the cronjob rule is set at 09 AM every Monday. (More info on Crontab.guru)

Examples

Listing domains with infos

Auto renewal

Open Source Agenda is not affiliated with "Freenom Auto Renew Domains" Project. README Source: Sorok-Dva/freenom-auto-renew-domains

Open Source Agenda Badge

Open Source Agenda Rating