{"id":24817,"date":"2024-06-06T22:28:28","date_gmt":"2024-06-06T20:28:28","guid":{"rendered":"https:\/\/daniel.haxx.se\/blog\/?p=24817"},"modified":"2024-06-06T22:28:28","modified_gmt":"2024-06-06T20:28:28","slug":"bye-bye-hosting-c-ares-web","status":"publish","type":"post","link":"https:\/\/daniel.haxx.se\/blog\/2024\/06\/06\/bye-bye-hosting-c-ares-web\/","title":{"rendered":"bye bye hosting c-ares web"},"content":{"rendered":"\n<p>At some point during 2003, my friend Bj\u00f8rn Reese (from <a href=\"https:\/\/un.curl.dev\/mine\/dancer\">Dancer<\/a>) and I were discussing back and forth and planning to maybe create our own asynchronous DNS\/name resolver library. We felt that the synchronous APIs provided by <code>gethostname()<\/code> and <code>getaddrinfo()<\/code> were too limiting in for example curl. We could really use something that would not block the caller.<\/p>\n\n\n\n<p>While thinking about this and researching what was already out there, I found the <strong>ares<\/strong> library written by Greg Hudson. It was an effort that was almost exactly what we had been looking for. I decided I would not make a new library but rather join the ares project and help polish that further to perfect it &#8211; for curl and for whoever else who wants such functionality.<\/p>\n\n\n\n<p>It was soon made clear to me that the original author of this library did not want the patches I deemed were necessary, including changes to make it more portable to Windows and beyond. I felt I had no choice but to fork the project and instead I created <strong>c-ares<\/strong>. It would show its roots but not be the same. The <code>c<\/code> could be for curl, but it also made it into an English word like &#8220;cares&#8221; which was enough for me.<\/p>\n\n\n\n<p>The first c-ares release I did was called version 1.0.0, published in February 2004.<\/p>\n\n\n\n<p>The ares project did not have a website, but I am of the opinion that a proper open source project needs one, to provide downloads and not the least its documentation etc. A home. I created a basic c-ares website and since then I have hosted it on my server on the behalf of the c-ares project.<\/p>\n\n\n\n<p>The  was available as <strong>c-ares.haxx.se<\/strong> for many years but was recently moved over to <strong><a href=\"https:\/\/c-ares.org\/\">c-ares.org<\/a><\/strong>. It has never been a traffic magnet so quite easy to manage.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">In the backseat<\/h2>\n\n\n\n<p>In recent years, I have not participated much in the c-ares development. I have had my hands full with curl while the c-ares project has been in a pretty good shape and has been cared for in an excellent manner by Brad House and others.<\/p>\n\n\n\n<p>I have mostly just done the occasional website admin stuff and releases.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Transition<\/h2>\n\n\n\n<p>Starting <em>now<\/em>, the c-ares website is no longer hosted by me. A twenty years streak is over and the website is now instead hosted on GitHub. I own the domain name and I run the DNS for it, but that is all.<\/p>\n\n\n\n<p>The plan is that Brad is also going to take over the release duty. Brad is awesome.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/c-ares.org\/\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"142\" src=\"https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2024\/06\/cares-new.png\" alt=\"\" class=\"wp-image-24916\"\/><\/a><\/figure>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>At some point during 2003, my friend Bj\u00f8rn Reese (from Dancer) and I were discussing back and forth and planning to maybe create our own asynchronous DNS\/name resolver library. We felt that the synchronous APIs provided by gethostname() and getaddrinfo() were too limiting in for example curl. We could really use something that would not &hellip; <a href=\"https:\/\/daniel.haxx.se\/blog\/2024\/06\/06\/bye-bye-hosting-c-ares-web\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">bye bye hosting c-ares web<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[239],"tags":[213,275,19],"class_list":["post-24817","post","type-post","status-publish","format-standard","hentry","category-c-ares-floss","tag-c-ares","tag-hosting","tag-open-source"],"_links":{"self":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/24817","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/comments?post=24817"}],"version-history":[{"count":12,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/24817\/revisions"}],"predecessor-version":[{"id":24917,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/24817\/revisions\/24917"}],"wp:attachment":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media?parent=24817"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/categories?post=24817"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/tags?post=24817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}