DNS domain expiration monitoring
-
@potemkin_ai Why at cloudron?
my setup :
I get my domain renewal notices from my registrar but for this to work flawlessly,
you can't use a cloudron email to get the alerts, it needs to be an out of cloudron context email (gmail etc..)
in my case it's dedicated to this & billing of domain/vps's, so I know every time there is an email there it's important and need to be taken care of.When everything is smooth, I usually auto-forward these type of emails to my associates, so I'm not the only one getting it or not and since the mailbox getting them is outside cloudron it's very rare to miss something.
On top of that, at my registrar, I set auto-renewal for all my domains, why set manual if you know in advance you need that domain Up for the foreseeable future ?
When the domains is owned by the client, I request a technical access to their registrar and configure auto-renewal and their payment with them so that it's out of the way, if the client insist on doing it on it's own, it's their responsibility to renew and face downtime because of domain expiration.
-
@rmdes because when app hosted on cloudron stops working, cloudron is the first thing I check.
I don't believe e-mail notifications is good, but a kind of red line at the top of the cloudron if domain is about to expire seems like a good thing to do.
Especially, if domain is handled by a customer (like it should) and cloudron and linux stuff is outsourced.
-
@potemkin_ai I understand your point, maybe a temporary fix would be to use something like this https://github.com/nixcraft/domain-check-2 (but you don't want email notif)
I wish I could have something similar but able to send a webhook where I want (N8) -
@rmdes thank you; my ideal case would be for cloudron to monitor this, giving a fix for malformed whois queries - we even made a simple algorithm for that somewhere at the top of the topic.
webhooks (to n8n / integromat / etc) would be just fantastic, indeed!
-
@potemkin_ai in my use case, webhook only would be even better, since I have space tuned in my Matrix server where other alerts end up
might be a cool fork to do on this
https://github.com/nixcraft/domain-check-2 and since it's bash, adding a webhook here would be trivial, maybe a fun exercise for next weekend for me -
@rmdes that's exactly my thought as well - webhooks are really nice, as they let every user to set up things and notifications the way they want and I do use work chat as well (just self-hosted Mattermost), so it would be really convenient.
For the script - I don't like (and don't have now) bare Linux servers running, so script could be Ok, but I would rather use an n8n node for that - easier to configure, update and get notifications from, if that can't be done out of the box on Cloudron - which is always the best thing, as it helps me to keep things on radars without thinking about them.
-
@potemkin_ai How about this free tool (free for 35 domains): https://domain-monitor.io/pricing/ - will let you know when domains are about to expire.
-
@d19dotca thank you, I'm sure there are tons of tools, but my idea was for 1 tool I use to take this monitoring task on itself, which means I don't have to have one more task in my head, which is the goal of every automation, in my understanding.
-
In case Cloudron team decides to implement this, I just noticed that MainWP is creating an extension for this, and they seem to document all their sources for the various WHOIS data for each TLD they support here: https://kb.mainwp.com/docs/mainwp-domain-monitor-extension/
Anyone who has MainWP... feel free to use that extension too in the meantime.
In case the sources go away later, here it is for posterity sake:
"ac" => "whois.nic.ac", // Ascension Island. // ad - Andorra - no whois server assigned. "ae" => "whois.nic.ae", // United Arab Emirates. "aero"=>"whois.aero", "af" => "whois.nic.af", // Afghanistan. "ag" => "whois.nic.ag", // Antigua And Barbuda. "ai" => "whois.ai", // Anguilla. "al" => "whois.ripe.net", // Albania. "am" => "whois.amnic.net", // Armenia. // an - Netherlands Antilles - no whois server assigned. // ao - Angola - no whois server assigned. // aq - Antarctica (New Zealand) - no whois server assigned. // ar - Argentina - no whois server assigned. "arpa" => "whois.iana.org", "as" => "whois.nic.as", // American Samoa. "asia" => "whois.nic.asia", "at" => "whois.nic.at", // Austria. "au" => "whois.aunic.net", // Australia. // aw - Aruba - no whois server assigned. "ax" => "whois.ax", // Aland Islands. "az" => "whois.ripe.net", // Azerbaijan. // ba - Bosnia And Herzegovina - no whois server assigned. // bb - Barbados - no whois server assigned. // bd - Bangladesh - no whois server assigned. "be" => "whois.dns.be", // Belgium. "bg" => "whois.register.bg", // Bulgaria. "bi" => "whois.nic.bi", // Burundi. "biz" => "whois.biz", "bj" => "whois.nic.bj", // Benin. // bm - Bermuda - no whois server assigned. "bn" => "whois.bn", // Brunei Darussalam. "bo" => "whois.nic.bo", // Bolivia. "br" => "whois.registro.br", // Brazil. "bt" => "whois.netnames.net", // Bhutan. // bv - Bouvet Island (Norway) - no whois server assigned. // bw - Botswana - no whois server assigned. "by" => "whois.cctld.by", // Belarus. "bz" => "whois.belizenic.bz", // Belize. "ca" => "whois.cira.ca", // Canada. "cat" => "whois.cat", // Spain. "cc" => "whois.nic.cc", // Cocos (Keeling) Islands. "cd" => "whois.nic.cd", // Congo, The Democratic Republic Of The. // cf - Central African Republic - no whois server assigned. "ch" => "whois.nic.ch", // Switzerland. "ci" => "whois.nic.ci", // Cote d'Ivoire. "ck" => "whois.nic.ck", // Cook Islands. "cl" => "whois.nic.cl", // Chile. // cm - Cameroon - no whois server assigned. "cn" => "whois.cnnic.net.cn", // China. "co" => "whois.nic.co", // Colombia. "com" => "whois.verisign-grs.com", "coop" => "whois.nic.coop", // cr - Costa Rica - no whois server assigned. // cu - Cuba - no whois server assigned. // cv - Cape Verde - no whois server assigned. // cw - Curacao - no whois server assigned. "cx" => "whois.nic.cx", // Christmas Island. // cy - Cyprus - no whois server assigned. "cz" => "whois.nic.cz", // Czech Republic. "de" => "whois.denic.de", // Germany. // dj - Djibouti - no whois server assigned. "dk" => "whois.dk-hostmaster.dk", // Denmark. "dm" => "whois.nic.dm", // Dominica. // do - Dominican Republic - no whois server assigned. "dz" => "whois.nic.dz", // Algeria. "ec" => "whois.nic.ec", // Ecuador. "edu" => "whois.educause.edu", "ee" => "whois.eenet.ee", // Estonia. "eg" => "whois.ripe.net", // Egypt. // er - Eritrea - no whois server assigned. "es" => "whois.nic.es", // Spain. // et - Ethiopia - no whois server assigned. "eu" => "whois.eu", "fi" => "whois.ficora.fi", // Finland. // fj - Fiji - no whois server assigned. // fk - Falkland Islands - no whois server assigned. // fm - Micronesia, Federated States Of - no whois server assigned. "fo" => "whois.nic.fo", // Faroe Islands. "fr" => "whois.nic.fr", // France. // ga - Gabon - no whois server assigned. "gd" => "whois.nic.gd", // Grenada. // ge - Georgia - no whois server assigned. // gf - French Guiana - no whois server assigned. "gg" => "whois.gg", // Guernsey. // gh - Ghana - no whois server assigned. "gi" => "whois2.afilias-grs.net", // Gibraltar. "gl" => "whois.nic.gl", // Greenland (Denmark). // gm - Gambia - no whois server assigned. // gn - Guinea - no whois server assigned. "gov" => "whois.nic.gov", // gr - Greece - no whois server assigned. // gt - Guatemala - no whois server assigned. "gs" => "whois.nic.gs", // South Georgia And The South Sandwich Islands. // gu - Guam - no whois server assigned. // gw - Guinea-bissau - no whois server assigned. "gy" => "whois.registry.gy", // Guyana. "hk" => "whois.hkirc.hk", // Hong Kong. // hm - Heard and McDonald Islands (Australia) - no whois server assigned. "hn" => "whois.nic.hn", // Honduras. "hr" => "whois.dns.hr", // Croatia. "ht" => "whois.nic.ht", // Haiti. "hu" => "whois.nic.hu", // Hungary. // id - Indonesia - no whois server assigned. "ie" => "whois.domainregistry.ie", // Ireland. "il" => "whois.isoc.org.il", // Israel. "im" => "whois.nic.im", // Isle of Man. "in" => "whois.inregistry.net", // India. "info" => "whois.afilias.net", "int" => "whois.iana.org", "io" => "whois.nic.io", // British Indian Ocean Territory. "iq" => "whois.cmc.iq", // Iraq. "ir" => "whois.nic.ir", // Iran, Islamic Republic Of. "is" => "whois.isnic.is", // Iceland. "it" => "whois.nic.it", // Italy. "je" => "whois.je", // Jersey. // jm - Jamaica - no whois server assigned. // jo - Jordan - no whois server assigned. "jobs" => "jobswhois.verisign-grs.com", "jp" => "whois.jprs.jp", // Japan. "ke" => "whois.kenic.or.ke", // Kenya. "kg" => "www.domain.kg", // Kyrgyzstan. // kh - Cambodia - no whois server assigned. "ki" => "whois.nic.ki", // Kiribati. // km - Comoros - no whois server assigned. // kn - Saint Kitts And Nevis - no whois server assigned. // kp - Korea, Democratic People's Republic Of - no whois server assigned. "kr" => "whois.kr", // Korea, Republic Of. // kw - Kuwait - no whois server assigned. // ky - Cayman Islands - no whois server assigned. "kz" => "whois.nic.kz", // Kazakhstan. "la" => "whois.nic.la", // Lao People's Democratic Republic. // lb - Lebanon - no whois server assigned. // lc - Saint Lucia - no whois server assigned. "li" => "whois.nic.li", // Liechtenstein. // lk - Sri Lanka - no whois server assigned. "lt" => "whois.domreg.lt", // Lithuania. "lu" => "whois.dns.lu", // Luxembourg. "lv" => "whois.nic.lv", // Latvia. "ly" => "whois.nic.ly", // Libya. "ma" => "whois.iam.net.ma", // Morocco. // mc - Monaco - no whois server assigned. "md" => "whois.nic.md", // Moldova. "me" => "whois.nic.me", // Montenegro. "mg" => "whois.nic.mg", // Madagascar. // mh - Marshall Islands - no whois server assigned. "mil" => "whois.nic.mil", // mk - Macedonia, The Former Yugoslav Republic Of - no whois server assigned. "ml" => "whois.dot.ml", // Mali. // mm - Myanmar - no whois server assigned. "mn" => "whois.nic.mn", // Mongolia. "mo" => "whois.monic.mo", // Macao. "mobi" => "whois.dotmobiregistry.net", "mp" => "whois.nic.mp", // Northern Mariana Islands. // mq - Martinique (France) - no whois server assigned. // mr - Mauritania - no whois server assigned. "ms" => "whois.nic.ms", // Montserrat. // mt - Malta - no whois server assigned. "mu" => "whois.nic.mu", // Mauritius. "museum" => "whois.museum", // mv - Maldives - no whois server assigned. // mw - Malawi - no whois server assigned. "mx" => "whois.mx", // Mexico. "my" => "whois.domainregistry.my", // Malaysia. // mz - Mozambique - no whois server assigned. "na" => "whois.na-nic.com.na", // Namibia. "name" => "whois.nic.name", "nc" => "whois.nc", // New Caledonia. // ne - Niger - no whois server assigned. "net" => "whois.verisign-grs.net", "nf" => "whois.nic.nf", // Norfolk Island. "ng" => "whois.nic.net.ng", // Nigeria. // ni - Nicaragua - no whois server assigned. "nl" => "whois.domain-registry.nl", // Netherlands. "no" => "whois.norid.no", // Norway. // np - Nepal - no whois server assigned. // nr - Nauru - no whois server assigned. "nu" => "whois.nic.nu", // Niue. "nz" => "whois.srs.net.nz", // New Zealand. "om" => "whois.registry.om", // Oman. "org" => "whois.pir.org", // pa - Panama - no whois server assigned. "pe" => "kero.yachay.pe", // Peru. "pf" => "whois.registry.pf", // French Polynesia. // pg - Papua New Guinea - no whois server assigned. // ph - Philippines - no whois server assigned. // pk - Pakistan - no whois server assigned. "pl" => "whois.dns.pl", // Poland. "pm" => "whois.nic.pm", // Saint Pierre and Miquelon (France). // pn - Pitcairn (New Zealand) - no whois server assigned. "post" => "whois.dotpostregistry.net", "pr" => "whois.nic.pr", // Puerto Rico. "pro" => "whois.dotproregistry.net", // ps - Palestine, State of - no whois server assigned. "pt" => "whois.dns.pt", // Portugal. "pw" => "whois.nic.pw", // Palau. // py - Paraguay - no whois server assigned. "qa" => "whois.registry.qa", // Qatar. "re" => "whois.nic.re", // Reunion (France). "ro" => "whois.rotld.ro", // Romania. "rs" => "whois.rnids.rs", // Serbia. "ru" => "whois.tcinet.ru", // Russian Federation. // rw - Rwanda - no whois server assigned. "sa" => "whois.nic.net.sa", // Saudi Arabia. "sb" => "whois.nic.net.sb", // Solomon Islands. "sc" => "whois2.afilias-grs.net", // Seychelles. // sd - Sudan - no whois server assigned. "se" => "whois.iis.se", // Sweden. "sg" => "whois.sgnic.sg", // Singapore. "sh" => "whois.nic.sh", // Saint Helena. "si" => "whois.arnes.si", // Slovenia. "sk" => "whois.sk-nic.sk", // Slovakia. // sl - Sierra Leone - no whois server assigned. "sm" => "whois.nic.sm", // San Marino. "sn" => "whois.nic.sn", // Senegal. "so" => "whois.nic.so", // Somalia. // sr - Suriname - no whois server assigned. "st" => "whois.nic.st", // Sao Tome And Principe. "su" => "whois.tcinet.ru", // Russian Federation. // sv - El Salvador - no whois server assigned. "sx" => "whois.sx", // Sint Maarten (dutch Part). "sy" => "whois.tld.sy", // Syrian Arab Republic. // sz - Swaziland - no whois server assigned. "tc" => "whois.meridiantld.net", // Turks And Caicos Islands. // td - Chad - no whois server assigned. "tel" => "whois.nic.tel", "tf" => "whois.nic.tf", // French Southern Territories. // tg - Togo - no whois server assigned. "th" => "whois.thnic.co.th", // Thailand. "tj" => "whois.nic.tj", // Tajikistan. "tk" => "whois.dot.tk", // Tokelau. "tl" => "whois.nic.tl", // Timor-leste. "tm" => "whois.nic.tm", // Turkmenistan. "tn" => "whois.ati.tn", // Tunisia. "to" => "whois.tonic.to", // Tonga. "tp" => "whois.nic.tl", // Timor-leste. "tr" => "whois.nic.tr", // Turkey. "travel" => "whois.nic.travel", // tt - Trinidad And Tobago - no whois server assigned. "tv" => "tvwhois.verisign-grs.com", // Tuvalu. "tw" => "whois.twnic.net.tw", // Taiwan. "tz" => "whois.tznic.or.tz", // Tanzania, United Republic Of. "ua" => "whois.ua", // Ukraine. "ug" => "whois.co.ug", // Uganda. "uk" => "whois.nic.uk", // United Kingdom. "us" => "whois.nic.us", // United States. "uy" => "whois.nic.org.uy", // Uruguay. "uz" => "whois.cctld.uz", // Uzbekistan. // va - Holy See (vatican City State) - no whois server assigned. "vc" => "whois2.afilias-grs.net", // Saint Vincent And The Grenadines. "ve" => "whois.nic.ve", // Venezuela. "vg" => "whois.adamsnames.tc", // Virgin Islands, British. // vi - Virgin Islands, US - no whois server assigned. // vn - Viet Nam - no whois server assigned. // vu - Vanuatu - no whois server assigned. "wf" => "whois.nic.wf", // Wallis and Futuna. "ws" => "whois.website.ws", // Samoa. "xxx" => "whois.nic.xxx", // ye - Yemen - no whois server assigned. "yt" => "whois.nic.yt", // Mayotte. "yu" => "whois.ripe.net"