Skip to content

Instantly share code, notes, and snippets.


Ryan radiofrequency

View GitHub Profile
radiofrequency /
Created Jan 3, 2018
Import lets encrypt cert to aws certificate manager in renew hook
#place in /etc/letsencrypt/renewal-hooks/post
#certs must be in us-east-1 to use with cloudfront
export AWS_DEFAULT_REGION=us-east-1
#run without --certificate-arn first time then specify arn for updates
aws acm import-certificate --certificate file:///etc/letsencrypt/live/ --private-key file:///etc/letsencrypt/live/ --certificate-chain file:///etc/letsencrypt/live/ --certificate-arn specifyarnforupdate
radiofrequency /
Created Oct 12, 2020
delete expired lets encrypt certificates
unix_todate=$(date -d "${todate}" "+%s")
getDomainName() {
echo $1 | cut -d'/' -f 5
for pem in /etc/letsencrypt/live/*/cert.pem; do
if [ $(date --date="$(openssl x509 -enddate -noout -in "$pem"|cut -d= -f 2)" "+%s") -le $unix_todate ];
domain=$(getDomainName $pem)
printf 'deleting cert %s expired: %s\n' \
"$domain" \
radiofrequency /
Created Oct 12, 2020
show lets encrypt certificates that are expired
unix_todate=$(date -d "${todate}" "+%s")
for pem in /etc/letsencrypt/live/*/cert.pem; do
if [ $(date --date="$(openssl x509 -enddate -noout -in "$pem"|cut -d= -f 2)" "+%s") -le $unix_todate ];
printf '%s: %s\n' \
"$(date --date="$(openssl x509 -enddate -noout -in "$pem"|cut -d= -f 2)" --iso-8601)" \
done | sort
radiofrequency / gist:557d2b50e9c9612bf7c7e40cedd05e52
Last active Sep 13, 2020
delete node_modules in projects not used over a year
View gist:557d2b50e9c9612bf7c7e40cedd05e52
find . -name "node_modules" -type d -prune -mtime +365 | xargs du -chs
#find . -name "node_modules" -type d -prune -mtime +365 -exec rm -rf '{}' +
radiofrequency / test.js
Last active Apr 25, 2018
Puppeteer waitForBackboneEvent()
View test.js
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch({
ignoreHTTPSErrors: true,
slowMo: 100,
headless: false,
args: ["--disable-notifications", "--ash-host-window-bounds 100+200-300x400"]
radiofrequency / nginx_config_cloudfront_real_ips.js
Created Feb 5, 2018
list cloufront ip ranges for nginx real ip module
View nginx_config_cloudfront_real_ips.js
var request = require("request");
var fs = require("fs");
var output = "#cloudfront ip ranges\n";
request("", function(err, res, body) {
if (err) {
console.error("error", err);
var j = JSON.parse(body);
j.prefixes.forEach(function(item) {
if (item.service ==='CLOUDFRONT') {
radiofrequency / stopoverspend.txt
Created Feb 13, 2018
Adwords Campaign Budget Overspend Monitoring
View stopoverspend.txt
* Campaign Budget Overspend Monitoring
* This script labels campaigns whose spend today is more than their daily
* budgets. Optionally, it also pauses campaigns whose spend exceeds the
* budget by too much. An email is then sent, listing the newly labelled
* and paused campaigns.
* When spend no longer exceeds budget, the campaigns are reactivated and
* labels are removed.
radiofrequency / shamessages.js
Created Jan 30, 2018
hashmessages handling collisions
View shamessages.js
let getMessageHash = function(hash, fn) {
dm.settings.log("getmessage hash", hash);
dm.rcmsg.get("m:"+ hash, function(err, data) {
if (err) {
dm.settings.log('message hash error', err);
if (!data) {
dm.settings.log("message hash not found?!", hash)
View text.php
$all_links = file_get_contents("/home/fizz/Downloads/export-links.json");
$post_id = rand(1, 1500);
$spin_text = ['Funny', 'Awesome', 'New', 'Cute']
$spin = $post_id % $spin_text.length;
$json_puke = json_decode($all_links, true);
echo ucwords(strtolower($json_puke[$post_id][0]['title'])) . $spin_text[$spin] .' Chat Stickers' ; //[$post_id]; //[0]['url'];
echo '</br>';
radiofrequency / gist:7509899
Created Nov 17, 2013
bootstrap media query breakpoints
View gist:7509899
// Media queries breakpoints
// --------------------------------------------------
// Extra small screen / phone
// Note: Deprecated @screen-xs and @screen-phone as of v3.0.1
@screen-xs: 480px;
@screen-xs-min: @screen-xs;
@screen-phone: @screen-xs-min;
// Small screen / tablet