

{"id":13239,"date":"2021-11-16T11:08:16","date_gmt":"2021-11-16T16:08:16","guid":{"rendered":"https:\/\/rud.is\/b\/?p=13239"},"modified":"2021-11-16T11:08:16","modified_gmt":"2021-11-16T16:08:16","slug":"creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges","status":"publish","type":"post","link":"https:\/\/rud.is\/b\/2021\/11\/16\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\/","title":{"rendered":"Creating A Custom MaxMind mmdb File For Cloud Provider Ranges"},"content":{"rendered":"<p>I&#8217;ve been wanting to create a custom MaxMind mmdb file for alternate IPv4 range classifications for a while, and finally had an opportunity to do so for the $DAYJOB. MaxMind mmdb files are small and easy to work with and provide lightning fast lookups.<\/p>\n<p>This repo \u2014 https:\/\/github.com\/hrbrmstr\/clouds2mmdb \u2014 has an R script for pulling cloud provider info (I already had some boilerplate code for it and detest reinventing the wheel in another language just to keep a project in a single language) and a Python script for the custom mmdb writing.<\/p>\n<p>Current providers supported are:<\/p>\n<ul>\n<li>AWS<\/li>\n<li>Azure<\/li>\n<li>DigitalOcean<\/li>\n<li>Google (GCP)<\/li>\n<li>Oracle Cloud<\/li>\n<li>Rackspace (see <code>clouds2csv.r<\/code> for the details)<\/li>\n<\/ul>\n<p>and, PRs are welcome for other cloud providers.<\/p>\n<p>The provider info is stored in the <code>isp<\/code> field:<\/p>\n<pre><code class=\"language-shell\">mmdblookup --file clouds.mmdb  --ip 167.99.224.0 isp \n## \n##   \"DigitalOcean\" &lt;utf8_string&gt;\n##\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been wanting to create a custom MaxMind mmdb file for alternate IPv4 range classifications for a while, and finally had an opportunity to do so for the $DAYJOB. MaxMind mmdb files are small and easy to work with and provide lightning fast lookups. This repo \u2014 https:\/\/github.com\/hrbrmstr\/clouds2mmdb \u2014 has an R script for pulling [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[848,847,640,91],"tags":[],"class_list":["post-13239","post","type-post","status-publish","format-standard","hentry","category-cloud","category-maxmind","category-python-2","category-r"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Creating A Custom MaxMind mmdb File For Cloud Provider Ranges - rud.is<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/rud.is\/b\/2021\/11\/16\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Creating A Custom MaxMind mmdb File For Cloud Provider Ranges - rud.is\" \/>\n<meta property=\"og:description\" content=\"I&#8217;ve been wanting to create a custom MaxMind mmdb file for alternate IPv4 range classifications for a while, and finally had an opportunity to do so for the $DAYJOB. MaxMind mmdb files are small and easy to work with and provide lightning fast lookups. This repo \u2014 https:\/\/github.com\/hrbrmstr\/clouds2mmdb \u2014 has an R script for pulling [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rud.is\/b\/2021\/11\/16\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\/\" \/>\n<meta property=\"og:site_name\" content=\"rud.is\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-16T16:08:16+00:00\" \/>\n<meta name=\"author\" content=\"hrbrmstr\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"hrbrmstr\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2021\\\/11\\\/16\\\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2021\\\/11\\\/16\\\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\\\/\"},\"author\":{\"name\":\"hrbrmstr\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\"},\"headline\":\"Creating A Custom MaxMind mmdb File For Cloud Provider Ranges\",\"datePublished\":\"2021-11-16T16:08:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2021\\\/11\\\/16\\\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\\\/\"},\"wordCount\":138,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\"},\"articleSection\":[\"cloud\",\"MaxMind\",\"Python\",\"R\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/rud.is\\\/b\\\/2021\\\/11\\\/16\\\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2021\\\/11\\\/16\\\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\\\/\",\"url\":\"https:\\\/\\\/rud.is\\\/b\\\/2021\\\/11\\\/16\\\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\\\/\",\"name\":\"Creating A Custom MaxMind mmdb File For Cloud Provider Ranges - rud.is\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#website\"},\"datePublished\":\"2021-11-16T16:08:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2021\\\/11\\\/16\\\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/rud.is\\\/b\\\/2021\\\/11\\\/16\\\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2021\\\/11\\\/16\\\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/rud.is\\\/b\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Creating A Custom MaxMind mmdb File For Cloud Provider Ranges\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#website\",\"url\":\"https:\\\/\\\/rud.is\\\/b\\\/\",\"name\":\"rud.is\",\"description\":\"&quot;In God we trust. All others must bring data&quot;\",\"publisher\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/rud.is\\\/b\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\",\"name\":\"hrbrmstr\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/ukr-shield.png?fit=460%2C460&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/ukr-shield.png?fit=460%2C460&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/ukr-shield.png?fit=460%2C460&ssl=1\",\"width\":460,\"height\":460,\"caption\":\"hrbrmstr\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/ukr-shield.png?fit=460%2C460&ssl=1\"},\"description\":\"Don't look at me\u2026I do what he does \u2014 just slower. #rstats avuncular \u2022 ?Resistance Fighter \u2022 Cook \u2022 Christian \u2022 [Master] Chef des Donn\u00e9es de S\u00e9curit\u00e9 @ @rapid7\",\"sameAs\":[\"http:\\\/\\\/rud.is\"],\"url\":\"https:\\\/\\\/rud.is\\\/b\\\/author\\\/hrbrmstr\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Creating A Custom MaxMind mmdb File For Cloud Provider Ranges - rud.is","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/rud.is\/b\/2021\/11\/16\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\/","og_locale":"en_US","og_type":"article","og_title":"Creating A Custom MaxMind mmdb File For Cloud Provider Ranges - rud.is","og_description":"I&#8217;ve been wanting to create a custom MaxMind mmdb file for alternate IPv4 range classifications for a while, and finally had an opportunity to do so for the $DAYJOB. MaxMind mmdb files are small and easy to work with and provide lightning fast lookups. This repo \u2014 https:\/\/github.com\/hrbrmstr\/clouds2mmdb \u2014 has an R script for pulling [&hellip;]","og_url":"https:\/\/rud.is\/b\/2021\/11\/16\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\/","og_site_name":"rud.is","article_published_time":"2021-11-16T16:08:16+00:00","author":"hrbrmstr","twitter_card":"summary_large_image","twitter_misc":{"Written by":"hrbrmstr","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/rud.is\/b\/2021\/11\/16\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\/#article","isPartOf":{"@id":"https:\/\/rud.is\/b\/2021\/11\/16\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\/"},"author":{"name":"hrbrmstr","@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"headline":"Creating A Custom MaxMind mmdb File For Cloud Provider Ranges","datePublished":"2021-11-16T16:08:16+00:00","mainEntityOfPage":{"@id":"https:\/\/rud.is\/b\/2021\/11\/16\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\/"},"wordCount":138,"commentCount":2,"publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"articleSection":["cloud","MaxMind","Python","R"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/rud.is\/b\/2021\/11\/16\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/rud.is\/b\/2021\/11\/16\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\/","url":"https:\/\/rud.is\/b\/2021\/11\/16\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\/","name":"Creating A Custom MaxMind mmdb File For Cloud Provider Ranges - rud.is","isPartOf":{"@id":"https:\/\/rud.is\/b\/#website"},"datePublished":"2021-11-16T16:08:16+00:00","breadcrumb":{"@id":"https:\/\/rud.is\/b\/2021\/11\/16\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rud.is\/b\/2021\/11\/16\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/rud.is\/b\/2021\/11\/16\/creating-a-custom-maxmind-mmdb-file-for-cloud-provider-ranges\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rud.is\/b\/"},{"@type":"ListItem","position":2,"name":"Creating A Custom MaxMind mmdb File For Cloud Provider Ranges"}]},{"@type":"WebSite","@id":"https:\/\/rud.is\/b\/#website","url":"https:\/\/rud.is\/b\/","name":"rud.is","description":"&quot;In God we trust. All others must bring data&quot;","publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rud.is\/b\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886","name":"hrbrmstr","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","contentUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","width":460,"height":460,"caption":"hrbrmstr"},"logo":{"@id":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1"},"description":"Don't look at me\u2026I do what he does \u2014 just slower. #rstats avuncular \u2022 ?Resistance Fighter \u2022 Cook \u2022 Christian \u2022 [Master] Chef des Donn\u00e9es de S\u00e9curit\u00e9 @ @rapid7","sameAs":["http:\/\/rud.is"],"url":"https:\/\/rud.is\/b\/author\/hrbrmstr\/"}]}},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p23idr-3rx","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":3770,"url":"https:\/\/rud.is\/b\/2015\/11\/02\/an-ephemeral-update-to-daylight\/","url_meta":{"origin":13239,"position":0},"title":"An Ephemeral Update to daylight()","author":"hrbrmstr","date":"2015-11-02","format":false,"excerpt":"This occurrence of the bi-annual corruption of the space-time continuum (i.e. changing to\/from standard\/daylight time) in the U.S. caused me to make a slight change to the code [from an older post](https:\/\/rud.is\/b\/2014\/09\/23\/seeing-the-daylight-with-r\/). The `daylight()` function now auto-discovers the date and location information (via [telize](http:\/\/www.telize.com\/)) from the caller, which means all\u2026","rel":"","context":"In &quot;Charts &amp; Graphs&quot;","block_context":{"text":"Charts &amp; Graphs","link":"https:\/\/rud.is\/b\/category\/charts-graphs\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/11\/RStudio.png?fit=1200%2C1088&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/11\/RStudio.png?fit=1200%2C1088&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/11\/RStudio.png?fit=1200%2C1088&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/11\/RStudio.png?fit=1200%2C1088&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/11\/RStudio.png?fit=1200%2C1088&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4236,"url":"https:\/\/rud.is\/b\/2016\/04\/04\/iptools-0-4-0-released-into-the-wild-i-e-is-hitting-the-cran-mirrors-today\/","url_meta":{"origin":13239,"position":1},"title":"iptools 0.4.0 released into the wild (i.e. is hitting the CRAN mirrors today)","author":"hrbrmstr","date":"2016-04-04","format":false,"excerpt":"The [`iptools` package](https:\/\/github.com\/hrbrmstr\/iptools)\u2014a toolkit for manipulating, validating and testing IP addresses and ranges, along with datasets relating to IP addresses\u2014is flying through the internets and hitting a CRAN mirror near you, soon. ### What's fixed? [Tim Smith](https:\/\/github.com\/tdsmith) fixed [a bug](https:\/\/github.com\/hrbrmstr\/iptools\/issues\/26) in `ip_in_range()` that occurred when the netmask was `\/32` (thanks,\u2026","rel":"","context":"In &quot;Cybersecurity&quot;","block_context":{"text":"Cybersecurity","link":"https:\/\/rud.is\/b\/category\/cybersecurity\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":485,"url":"https:\/\/rud.is\/b\/2011\/04\/16\/dbclone-hack-for-os-x\/","url_meta":{"origin":13239,"position":2},"title":"dbClone &#8220;hack&#8221; for OS X","author":"hrbrmstr","date":"2011-04-16","format":false,"excerpt":"UPDATE: Check out the newer post on additional features. There has been much ado of late about Dropbox security with one of the most egregious issues being how easy it is to surreptitiously \"clone\" someone else's Dropbox by obtaining just one piece of data - the host id - from\u2026","rel":"","context":"In &quot;Development&quot;","block_context":{"text":"Development","link":"https:\/\/rud.is\/b\/category\/development\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4867,"url":"https:\/\/rud.is\/b\/2017\/01\/10\/knit-directly-to-jupyter-notebooks-from-rstudio\/","url_meta":{"origin":13239,"position":3},"title":"Knit directly to jupyter notebooks from RStudio","author":"hrbrmstr","date":"2017-01-10","format":false,"excerpt":"Did you know that you can completely replace the \"knitting\" engine in R Markdown documents? Well, you can! Why would you want to do this? Well, in the case of this post, to commit the unpardonable sin of creating a clunky jupyter notebook from a pristine Rmd file. I'm definitely\u2026","rel":"","context":"In &quot;Python&quot;","block_context":{"text":"Python","link":"https:\/\/rud.is\/b\/category\/python-2\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":833,"url":"https:\/\/rud.is\/b\/2012\/03\/04\/thinkstats-in-r-including-example-1-2\/","url_meta":{"origin":13239,"position":4},"title":"ThinkStats \u2026 in R (including Example 1.2)","author":"hrbrmstr","date":"2012-03-04","format":false,"excerpt":"ThinkStats (by Allen B. Downey) is a good book to get you familiar with statistics (and even Python, if you've done some scripting in other languages). I thought it would be interesting to present some of the examples & exercises in the book in R. Why? Well, once you've gone\u2026","rel":"","context":"In &quot;R&quot;","block_context":{"text":"R","link":"https:\/\/rud.is\/b\/category\/r\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3386,"url":"https:\/\/rud.is\/b\/2015\/05\/09\/quotebox-an-npr-like-embedded-twitter-quote-generator\/","url_meta":{"origin":13239,"position":5},"title":"quotebox &#8211; An NPR-like Embedded Twitter Quote Generator","author":"hrbrmstr","date":"2015-05-09","format":false,"excerpt":"I'm an avid NPR listener also follow a number of their programs and people on Twitter. I really dig their [quotable](https:\/\/github.com\/nprapps\/quotable) tweets. Here's a sample of a recent one: Minn. state senators cannot look other senators in the eye during floor debate. @ailsachang http:\/\/t.co\/SfQBq4yyHQ pic.twitter.com\/DNHGEiVA9j\u2014 NPR News (@nprnews) May 8,\u2026","rel":"","context":"In &quot;phantomjs&quot;","block_context":{"text":"phantomjs","link":"https:\/\/rud.is\/b\/category\/phantomjs\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/13239","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/comments?post=13239"}],"version-history":[{"count":0,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/13239\/revisions"}],"wp:attachment":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/media?parent=13239"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/categories?post=13239"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/tags?post=13239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}