{"id":173,"date":"2023-09-10T23:15:22","date_gmt":"2023-09-11T06:15:22","guid":{"rendered":"https:\/\/pronoiac.org\/misc\/?p=173"},"modified":"2023-09-11T01:27:07","modified_gmt":"2023-09-11T08:27:07","slug":"domain-expiration-monitoring","status":"publish","type":"post","link":"https:\/\/pronoiac.org\/misc\/2023\/09\/domain-expiration-monitoring\/","title":{"rendered":"Domain expiration monitoring"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">why<\/h2>\n\n\n\n<p>I want to keep an eye on domains and their expiration dates without signaling that, avoiding middlemen who would like a signal of interest, to <a href=\"https:\/\/en.wikipedia.org\/wiki\/Domain_name_front_running\">front run<\/a> the purchase, and auction it off.<\/p>\n\n\n\n<p>This is, to me, surprisingly hard to do.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">previously<\/h2>\n\n\n\n<p>I kept an eye on various domains I\u2019d like to register, if and when they expire. I set reminders on my calendar to check. With grace periods, it gets more complicated: I\u2019ve seen expiration dates over a month ago, but still blocking a registration.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">tips<\/h2>\n\n\n\n<p>Don&#8217;t go to the domain from your browser. If it works, it could signal interest. If it doesn&#8217;t work, it&#8217;s not definitive; it might not be registered, the webserver could be down, or it&#8217;s being used for email, so the webserver was never connected. Going to the <a href=\"https:\/\/www.whois.com\">whois.com<\/a> site is better about getting info like an expiration date.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">stages<\/h2>\n\n\n\n<p>In a handwaving way, the three stages:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Before their expirations:<br>Monitor a list of domains for expiration dates. This can be somewhat automated, to check weekly or monthly. As that date nears, watch more closely.<\/li>\n\n\n\n<li>After their expirations:<br>Watching the domains as they lapse.<\/li>\n\n\n\n<li>Once they&#8217;re available:<br>Buy them. (To be perfectly honest, I haven&#8217;t gotten this far.)<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">before the expiration dates<\/h2>\n\n\n\n<p>Happily, there&#8217;s a solution built for this. <a href=\"https:\/\/github.com\/click0\/domain-check-2\">domain-check-2<\/a> is a shell script that can read a list of domains from a text file, check their expiration dates, and send email if there&#8217;s under a certain number of days remaining. It checks using <code>whois<\/code>, and I think that this method is safe from would-be domain squatters. I give it a list that looks like this, only my domains:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># 2023\npronoiac.org # #me, exp 2023-10-23\nmefi.social # #mefi, exp 2023-11-11\n\n# 2027\nmefiwiki.com # #mefi, exp 2027-07-05<\/code><\/pre>\n\n\n\n<p>I&#8217;m running it manually, on a weekly basis; I haven\u2019t used the email notification, but looked at the output. The comments, ordering, and exact expiration dates aren&#8217;t <em>necessary,<\/em> but they help me fact-check that it&#8217;s working, and they might help my imperfect understanding of the domain lifecycle.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">around and after the expiration date<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>this is much fuzzier<\/p>\n<\/blockquote>\n\n\n\n<p>I checked <code>whois<\/code> (not whois.com) from the command line, and grepped for status or date. If you want to register a domain the <em>day<\/em> it becomes available, I&#8217;d suggest checking the status daily. Knowing when it switches to &#8220;pending delete&#8221; is important, as that starts a five day timer. Finding that it&#8217;s been renewed is another possibility, in which case, update the expiration date in the text file, and go back to step 1.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>status<\/th><th>days after expiration<\/th><th>renewable?<\/th><th>website could work<\/th><\/tr><\/thead><tbody><tr><td>ok<\/td><td>before<\/td><td>yes<\/td><td>yes<\/td><\/tr><tr><td>renewal grace period<\/td><td>0 to 30* days<\/td><td>yes<\/td><td>maybe<\/td><\/tr><tr><td>redemption period \/ restoration grace period<\/td><td>30 to 60 days<\/td><td>yes<\/td><td>no<\/td><\/tr><tr><td>pending delete<\/td><td>5 day duration<\/td><td>?<\/td><td>no<\/td><\/tr><tr><td>available<\/td><td>35 to 75, or up to 120 days???<\/td><td><\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Notes:<\/p>\n\n\n\n<p><em>Grace period:<\/em><br><em>probably<\/em> 0 to 30 days.<br>It could be lengthened, to 40 or 90 days, or shortened.<\/p>\n\n\n\n<p><em>Redemption period:<\/em><br>A recovery fee required to renew: $100 to 150. The registrar could put the domain up for auction during this.<\/p>\n\n\n\n<p><em>Available:<\/em><br>Apparently, usually opens sometime between 11am and 2pm Pacific.<\/p>\n\n\n\n<p><em>Add grace period:<\/em><br>People and registries can cancel a domain purchase within five days of purchase. This can be used for <a href=\"https:\/\/en.wikipedia.org\/wiki\/Domain_tasting\">domain tasting<\/a> and domain kiting. This means, if the domain of interest was picked up by someone else, watch it for the next week. Maybe they&#8217;ll change their mind and return it.<\/p>\n\n\n\n<p>This timeline can vary by TLD, registrar, and registry.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">for further research<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.namecheap.com\/support\/knowledgebase\/article.aspx\/9916\/2207\/tlds-grace-periods\/\">Namecheap has an informational page<\/a> with many TLDs and their grace periods; among other things, it notes that .cm domains &#8211; not .com &#8211; are sent for deletion upon the expiration date.<\/li>\n\n\n\n<li><a href=\"https:\/\/support.google.com\/domains\/topic\/6282397\">Google Domains, their registrar product<\/a>, has a lengthy list of domains, and their lifecycles.\n<ul class=\"wp-block-list\">\n<li>2023-06-15 &#8211; Alphabet is selling \/ has sold these assets to Squarespace, I don&#8217;t know how long these pages will stay up<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Rather than dig into this &#8211; <a href=\"https:\/\/en.wikipedia.org\/wiki\/List_of_Internet_top-level_domains\">there are <em>hundreds<\/em> of TLDs now!<\/a> &#8211; I&#8217;ll punt and say that you should investigate the relevant TLD.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">caveats<\/h3>\n\n\n\n<p>Don&#8217;t rely upon whois.com after the expiration date; aggressive caching could show out-of-date information. Such as, &#8220;pending delete&#8221; when other sources show it&#8217;s been registered for days.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">it&#8217;s lapsed, buy it!<\/h2>\n\n\n\n<p>Apparently, domains usually open sometime between 11am and 2pm Pacific. Logging into your domain registrar of choice, and having funds available, is a good idea, if you want to act quickly.<\/p>\n\n\n\n<p>Honestly, I haven&#8217;t gotten as far as &#8220;registering a lapsed domain&#8221;. The whois.com caching surprised me. This blog post is partially me gathering context and notes, so as and when the next domain of interest nears expiration, I can make exciting <em>new<\/em> mistakes, rather than repeat old ones.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Keywords<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Domain expiration<\/li>\n\n\n\n<li>Domain sniping<\/li>\n\n\n\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Domain_drop_catching\">Domain drop catching<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>why I want to keep an eye on domains and their expiration dates without signaling that, avoiding middlemen who would like a signal of interest, to front run the purchase, and auction it off. This is, to me, surprisingly hard to do.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[16,14,15,13],"class_list":["post-173","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-domain-drop-catching","tag-domain-expiration","tag-domain-sniping","tag-domains"],"_links":{"self":[{"href":"https:\/\/pronoiac.org\/misc\/wp-json\/wp\/v2\/posts\/173"}],"collection":[{"href":"https:\/\/pronoiac.org\/misc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pronoiac.org\/misc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pronoiac.org\/misc\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pronoiac.org\/misc\/wp-json\/wp\/v2\/comments?post=173"}],"version-history":[{"count":4,"href":"https:\/\/pronoiac.org\/misc\/wp-json\/wp\/v2\/posts\/173\/revisions"}],"predecessor-version":[{"id":178,"href":"https:\/\/pronoiac.org\/misc\/wp-json\/wp\/v2\/posts\/173\/revisions\/178"}],"wp:attachment":[{"href":"https:\/\/pronoiac.org\/misc\/wp-json\/wp\/v2\/media?parent=173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pronoiac.org\/misc\/wp-json\/wp\/v2\/categories?post=173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pronoiac.org\/misc\/wp-json\/wp\/v2\/tags?post=173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}