

{"id":49470,"date":"2026-07-24T14:47:17","date_gmt":"2026-07-24T19:47:17","guid":{"rendered":"https:\/\/rud.is\/b\/?p=49470"},"modified":"2026-07-24T14:47:17","modified_gmt":"2026-07-24T19:47:17","slug":"attackerkb-is-shutting-down-heres-an-archive-tool","status":"publish","type":"post","link":"https:\/\/rud.is\/b\/2026\/07\/24\/attackerkb-is-shutting-down-heres-an-archive-tool\/","title":{"rendered":"AttackerKB Is Shutting Down: Here&#8217;s an Archive Tool"},"content":{"rendered":"<p>Rapid7 is sunsetting AttackerKB, and the public API goes dark on <strong>August 18, 2026<\/strong>. After that, the vulnerability discussions, community assessments, and Rapid7 analysis that accumulated on the platform become a dead link.<\/p>\n<p>I wrote a small Go CLI that pulls it down while the API still responds: <a href=\"https:\/\/git.sr.ht\/~hrbrmstr\/attackerkb-archive\">attackerkb-archive<\/a>.<\/p>\n<h3>What It Does<\/h3>\n<p>The tool hits three endpoints &#8212; topics (with Rapid7 analysis), community assessments, and contributor profiles &#8212; and writes each as NDJSON with checksums and a manifest. The data is yours to query, back up, or re-publish however you want.<\/p>\n<p>The challenge is the rate limit: 100 requests per day, no exceptions. A full archive is roughly 134 requests, meaning two calendar days. The tool manages this with a checkpoint file that records progress after each page, so you can kill it, come back tomorrow, and re-run &#8212; it picks up where it left off. HTTP 429s are handled with Retry-After plus jitter.<\/p>\n<h3>Output Model<\/h3>\n<pre><code>attackerkb-data\/\n  topics.ndjson             # Vulnerability topics with Rapid7 analysis\n  assessments.ndjson         # Community assessments\n  contributors.ndjson        # Contributor profiles\n  MANIFEST.json              # Counts + SHA-256s for all files\n  checkpoint.json            # Resume state (delete to force fresh archive)\n<\/code><\/pre>\n<p>Each <code>.ndjson<\/code> file has a corresponding <code>.sha256<\/code> for verification. The manifest bundles everything into one summary.<\/p>\n<p>There&#8217;s also a <code>-contributor<\/code> mode that fetches all assessments by a specific author (e.g. <code>yourhandle<\/code>), enriched with topic names &#8212; useful for reconstructing someone&#8217;s body of work from the platform.<\/p>\n<h3>Why Archive This?<\/h3>\n<p>The AKB corpus &#8212; particularly the Rapid7 analyses and the community&#8217;s exploitation assessments &#8212; is a reasonable snapshot of how experts in the security industry talked about vulnerabilities. It&#8217;s not a CVE database; it&#8217;s authoritative <em>commentary<\/em>, and once it&#8217;s gone there&#8217;s no way to get it back.<\/p>\n<p>The tool is MIT-licensed, single-file-ish Go, with no dependencies beyond the standard library. If you have an API key and want to preserve your corner of the platform, clone the repo, set <code>ATTACKERKB_API_KEY<\/code>, and let it run across two days.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rapid7 is sunsetting AttackerKB, and the public API goes dark on August 18, 2026. After that, the vulnerability discussions, community assessments, and Rapid7 analysis that accumulated on the platform become a dead link. I wrote a small Go CLI that pulls it down while the API still responds: attackerkb-archive. What It Does The tool hits [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":"","jetpack_post_was_ever_published":false},"categories":[681,3],"tags":[],"class_list":["post-49470","post","type-post","status-publish","format-standard","hentry","category-cybersecurity","category-information-security"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>AttackerKB Is Shutting Down: Here&#039;s an Archive Tool - 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\/2026\/07\/24\/attackerkb-is-shutting-down-heres-an-archive-tool\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AttackerKB Is Shutting Down: Here&#039;s an Archive Tool - rud.is\" \/>\n<meta property=\"og:description\" content=\"Rapid7 is sunsetting AttackerKB, and the public API goes dark on August 18, 2026. After that, the vulnerability discussions, community assessments, and Rapid7 analysis that accumulated on the platform become a dead link. I wrote a small Go CLI that pulls it down while the API still responds: attackerkb-archive. What It Does The tool hits [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rud.is\/b\/2026\/07\/24\/attackerkb-is-shutting-down-heres-an-archive-tool\/\" \/>\n<meta property=\"og:site_name\" content=\"rud.is\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-24T19:47:17+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<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2026\\\/07\\\/24\\\/attackerkb-is-shutting-down-heres-an-archive-tool\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2026\\\/07\\\/24\\\/attackerkb-is-shutting-down-heres-an-archive-tool\\\/\"},\"author\":{\"name\":\"hrbrmstr\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\"},\"headline\":\"AttackerKB Is Shutting Down: Here&#8217;s an Archive Tool\",\"datePublished\":\"2026-07-24T19:47:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2026\\\/07\\\/24\\\/attackerkb-is-shutting-down-heres-an-archive-tool\\\/\"},\"wordCount\":300,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\"},\"articleSection\":[\"Cybersecurity\",\"Information Security\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/rud.is\\\/b\\\/2026\\\/07\\\/24\\\/attackerkb-is-shutting-down-heres-an-archive-tool\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2026\\\/07\\\/24\\\/attackerkb-is-shutting-down-heres-an-archive-tool\\\/\",\"url\":\"https:\\\/\\\/rud.is\\\/b\\\/2026\\\/07\\\/24\\\/attackerkb-is-shutting-down-heres-an-archive-tool\\\/\",\"name\":\"AttackerKB Is Shutting Down: Here's an Archive Tool - rud.is\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#website\"},\"datePublished\":\"2026-07-24T19:47:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2026\\\/07\\\/24\\\/attackerkb-is-shutting-down-heres-an-archive-tool\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/rud.is\\\/b\\\/2026\\\/07\\\/24\\\/attackerkb-is-shutting-down-heres-an-archive-tool\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2026\\\/07\\\/24\\\/attackerkb-is-shutting-down-heres-an-archive-tool\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/rud.is\\\/b\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AttackerKB Is Shutting Down: Here&#8217;s an Archive Tool\"}]},{\"@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":"AttackerKB Is Shutting Down: Here's an Archive Tool - 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\/2026\/07\/24\/attackerkb-is-shutting-down-heres-an-archive-tool\/","og_locale":"en_US","og_type":"article","og_title":"AttackerKB Is Shutting Down: Here's an Archive Tool - rud.is","og_description":"Rapid7 is sunsetting AttackerKB, and the public API goes dark on August 18, 2026. After that, the vulnerability discussions, community assessments, and Rapid7 analysis that accumulated on the platform become a dead link. I wrote a small Go CLI that pulls it down while the API still responds: attackerkb-archive. What It Does The tool hits [&hellip;]","og_url":"https:\/\/rud.is\/b\/2026\/07\/24\/attackerkb-is-shutting-down-heres-an-archive-tool\/","og_site_name":"rud.is","article_published_time":"2026-07-24T19:47:17+00:00","author":"hrbrmstr","twitter_card":"summary_large_image","twitter_misc":{"Written by":"hrbrmstr"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/rud.is\/b\/2026\/07\/24\/attackerkb-is-shutting-down-heres-an-archive-tool\/#article","isPartOf":{"@id":"https:\/\/rud.is\/b\/2026\/07\/24\/attackerkb-is-shutting-down-heres-an-archive-tool\/"},"author":{"name":"hrbrmstr","@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"headline":"AttackerKB Is Shutting Down: Here&#8217;s an Archive Tool","datePublished":"2026-07-24T19:47:17+00:00","mainEntityOfPage":{"@id":"https:\/\/rud.is\/b\/2026\/07\/24\/attackerkb-is-shutting-down-heres-an-archive-tool\/"},"wordCount":300,"commentCount":0,"publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"articleSection":["Cybersecurity","Information Security"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/rud.is\/b\/2026\/07\/24\/attackerkb-is-shutting-down-heres-an-archive-tool\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/rud.is\/b\/2026\/07\/24\/attackerkb-is-shutting-down-heres-an-archive-tool\/","url":"https:\/\/rud.is\/b\/2026\/07\/24\/attackerkb-is-shutting-down-heres-an-archive-tool\/","name":"AttackerKB Is Shutting Down: Here's an Archive Tool - rud.is","isPartOf":{"@id":"https:\/\/rud.is\/b\/#website"},"datePublished":"2026-07-24T19:47:17+00:00","breadcrumb":{"@id":"https:\/\/rud.is\/b\/2026\/07\/24\/attackerkb-is-shutting-down-heres-an-archive-tool\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rud.is\/b\/2026\/07\/24\/attackerkb-is-shutting-down-heres-an-archive-tool\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/rud.is\/b\/2026\/07\/24\/attackerkb-is-shutting-down-heres-an-archive-tool\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rud.is\/b\/"},{"@type":"ListItem","position":2,"name":"AttackerKB Is Shutting Down: Here&#8217;s an Archive Tool"}]},{"@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-cRU","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":11911,"url":"https:\/\/rud.is\/b\/2019\/02\/14\/using-the-ropendata-r-package-to-access-petabytes-of-free-internet-telemetry-data-from-rapid7\/","url_meta":{"origin":49470,"position":0},"title":"Using the ropendata R Package to Access Petabytes of Free Internet Telemetry Data from Rapid7","author":"hrbrmstr","date":"2019-02-14","format":false,"excerpt":"I've got a post up over at $DAYJOB's blog on using the ropendata? package to access the ginormous and ever-increasing amount of internet telemetry (scan) data via the Rapid7 Open Data API. It's super-R-code-heavy but renders surprisingly well in Ghost (the blogging platform we use at work) and covers everything\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":3801,"url":"https:\/\/rud.is\/b\/2015\/11\/23\/moving-the-shield-to-a-new-home\/","url_meta":{"origin":49470,"position":1},"title":"Moving the Shield to a new home","author":"hrbrmstr","date":"2015-11-23","format":false,"excerpt":"This week (Thanksgiving-ish, 2015) I start a new adventure at Rapid7! You can read more about why over at [the official announcement](https:\/\/community.rapid7.com\/community\/rapid7-news\/blog\/2015\/11\/23\/why-i-joined-rapid7). Rapid7 has an amazing amount of data, a world-class team and a determination to deliver cutting-edge solutions that make it possible for organizations detect and deter those that\u2026","rel":"","context":"In &quot;Personal&quot;","block_context":{"text":"Personal","link":"https:\/\/rud.is\/b\/category\/personal\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4417,"url":"https:\/\/rud.is\/b\/2016\/06\/07\/new-viridis-colorbrewer-palettes-for-ipv4-heatmap\/","url_meta":{"origin":49470,"position":2},"title":"New viridis &#038; colorbrewer palettes for ipv4-heatmap","author":"hrbrmstr","date":"2016-06-07","format":false,"excerpt":"It's no seekrit that I :heart: Hilbert curve heatmaps of IPv4 space. Real-world IPv4 maps (i.e. the ones that drop dots on the Earth) have little utility, but with Hilbert curves maps of IPv4 space many different topologies can be superimposed (from ASNs to\u2014if need be\u2014geographic locations). Plus, there's more\u2026","rel":"","context":"In &quot;data driven security&quot;","block_context":{"text":"data driven security","link":"https:\/\/rud.is\/b\/category\/data-driven-security\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/rdbu-inverted.png?fit=512%2C512&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":5946,"url":"https:\/\/rud.is\/b\/2017\/05\/14\/r%e2%81%b6-tracking-wannacry-bitcoin-wallet-payments-with-r\/","url_meta":{"origin":49470,"position":3},"title":"R\u2076 \u2014 Tracking WannaCry Bitcoin Wallet Payments with R","author":"hrbrmstr","date":"2017-05-14","format":false,"excerpt":"If you follow me on Twitter or monitor @Rapid7's Community Blog you know I've been involved a bit in the WannaCry ransomworm triage. One thing I've been doing is making charts of the hourly contribution to the Bitcoin addresses that the current\/main attackers are using to accept ransom payments (which\u2026","rel":"","context":"In &quot;R&quot;","block_context":{"text":"R","link":"https:\/\/rud.is\/b\/category\/r\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/05\/wanna1.png?fit=1200%2C452&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/05\/wanna1.png?fit=1200%2C452&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/05\/wanna1.png?fit=1200%2C452&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/05\/wanna1.png?fit=1200%2C452&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/05\/wanna1.png?fit=1200%2C452&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4429,"url":"https:\/\/rud.is\/b\/2016\/06\/12\/on-whether-y-axis-labels-are-always-necessary\/","url_meta":{"origin":49470,"position":4},"title":"On Whether Y-axis Labels Are Always Necessary","author":"hrbrmstr","date":"2016-06-12","format":false,"excerpt":"The infamous @albertocairo [blogged about](http:\/\/www.thefunctionalart.com\/2016\/06\/propublica-visualizes-seasonality-in.html) a [nice interactive piece on German company tax avoidance](https:\/\/projects.propublica.org\/graphics\/dividend) by @ProPublica. Here's a snapshot of their interactive chart: ![](https:\/\/2.bp.blogspot.com\/-S-8bu1UdYWM\/V1rXibnBxrI\/AAAAAAAAGo0\/L940SpU3DvUPX90JK82jrKQN6fWMyn2IACLcB\/s1600\/1prop.png) Dr. Cairo (his PhD is in the bag as far as I'm concerned :-) posited: >_Isn't it weird that the chart doesn't have a scale on\u2026","rel":"","context":"In &quot;Data Visualization&quot;","block_context":{"text":"Data Visualization","link":"https:\/\/rud.is\/b\/category\/data-visualization\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/Plot_Zoom.png?fit=1200%2C1036&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/Plot_Zoom.png?fit=1200%2C1036&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/Plot_Zoom.png?fit=1200%2C1036&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/Plot_Zoom.png?fit=1200%2C1036&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/Plot_Zoom.png?fit=1200%2C1036&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":12636,"url":"https:\/\/rud.is\/b\/2020\/01\/29\/monitoring-website-ssl-tls-certificate-expiration-times-with-r-openssl-pushoverr-and-dt\/","url_meta":{"origin":49470,"position":5},"title":"Monitoring Website SSL\/TLS Certificate Expiration Times with R, {openssl}, {pushoverr}, and {DT}","author":"hrbrmstr","date":"2020-01-29","format":false,"excerpt":"macOS R users who tend to work on the bleeding edge likely noticed some downtime at <mac.r-project.org> this past weekend. Part of the issue was an SSL\/TLS certificate expiration situation. Moving forward, we can monitor this with R using the super spiffy {openssl} and {pushoverr} packages whilst also generating a\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":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/49470","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=49470"}],"version-history":[{"count":1,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/49470\/revisions"}],"predecessor-version":[{"id":49471,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/49470\/revisions\/49471"}],"wp:attachment":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/media?parent=49470"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/categories?post=49470"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/tags?post=49470"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}