π Freenom API - Promise and auto renew expiring domains v2023.10.129
Bugs are evidentβ’ - MATRIXοΈ
NodeJS LTS is supported
Built on NodeJs version
v20.5.0
Description
To be able to register and renew FREE DOMAINS
Before, we were able to register and renew with free domains, but by now, these functions are allowed and working ONLY with PAID domains.
Some links
http://www.freenom.com/en/resellers.html
http://www.freenom.com/en/termsandconditions.html
API
http://www.freenom.com/en/freenom-api.html
I am using these only right now. So no other functions but very easy to add in and Promise based.
const Freenom = require('p3x-freenom');
const freenom = await Freenom({
email: 'p3x@corifeus',
password: 'password',
});
await freenom.service.ping();
await freenom.domain.search({
domainname: 'patrikx3.com',
domaintype: 'FREE'
})
await freenom.domain.delete({ domainname: 'random.tk'));
await freenom.domain.register({
domainname: [
'random.tk',
'random1.tk',
'random2.tk',
],
domaintype: 'FREE',
period: '1Y',
nameserver: [
'ns1.ns.tk',
'ns2.ns.tk',
]
})
await freenom.domain.delete, { domainname: domains })
// if you have no domain in the list, instead of
// giving an empty list, it shows and error!!!
// so make sure you have one in the domain list
// because freenom.domain.expiringRenew will of course
// throw an error as well!!!
await freenom.domain.list()
The good extra functions
It automatically renew the free domains (it checks if it is within 14 days expiry and then does it).
// just a helper, you don't relly need it
const renewable = await freenom.domain.expiring({
expiry: '60 days',
});
// the magic
await freenom.domain.expiringRenew({
period: '12M',
})
π This is an open-source project. Star this repository, if you like it, or even donate to maintain the servers and the development. Thank you so much!
Possible, this server, rarely, is down, please, hang on for 15-30 minutes and the server will be back up.
All my domains (patrikx3.com and corifeus.com) could have minor errors, since I am developing in my free time. However, it is usually stable.
Note about versioning: Versions are cut in Major.Minor.Patch schema. Major is always the current year. Minor is either 4 (January - June) or 10 (July - December). Patch is incremental by every build. If there is a breaking change, it should be noted in the readme.
P3X-FREENOM Build v2023.10.129