Skip to content

Instantly share code, notes, and snippets.

View dotysan's full-sized avatar

Curtis Doty dotysan

View GitHub Profile
@dotysan
dotysan / get-github-user-info.js
Created March 29, 2014 22:05
newbie exercise with PhantomJS and web scraping
#! /bin/env phantomjs
/*
Teaching myself:
- [hopefully] clean/readable JavaScript coding
- PhantomJS to render a page from command-line
- using CSS selector to scrape an element value from DOM
*/
var SYS= require('system');
if(SYS.args.length <2) {
#! /bin/bash -ex
#
# crib notes on how to bootstrap midnight commander single-user
#
lf=libffi-3.1
gl=glib-2.43.0
sl=slang-2.3.0
mc=mc-4.8.13
@dotysan
dotysan / lacp.tcl
Created June 30, 2015 20:36
snippet to lean LACP members
# also fill an array with port-channel members so we can exclude them
set LACP [list]
if {$showLACP =="" && $tcl_platform(machine) =="Switch"} {
foreach word [split [exec "show etherc summ | begin ^\[0-9]"]] {
if [string is integer -strict $word] {
set portchannel $word
}
if [regexp {(.*)\(P\)$} $word -> lacp] {
lappend LACP $lacp
} } }
#! /bin/bash -ex
#
# reminder/notes on how to remotely install NX over ssh
#
#there=${1-bonehead@192.0.2.1}
#ssh $there
cd ~/Downloads
# assuming this the latest version?
@dotysan
dotysan / mkcrypt.sh
Created June 17, 2016 20:25
Cheap attempt to generate a random password and its crypt-pw using mostly bash.
#! /bin/bash -e
#
# Cheap attempt to generate a random password and its crypt-pw using mostly bash.
#
SALT="./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
mkapass() {
local len=${1-8}
while [ ${n:=1} -le $len ]
#! /usr/bin/env bash
#! /bin/bash
set -e
# associative arrays requre bash v4; here's cute way to find it
if [ ${BASH_VERSINFO[0]} -lt 4 ]
# BEWARE! exec in a subshell doesn't. So we must use `for shell in
# $(which -a bash)` instead of `which -a bash |while read shell`.
then for shell in $(which -a bash)
do if [ $("$shell" -c 'echo ${BASH_VERSINFO[0]}') -ge 4 ]
@dotysan
dotysan / nsec3prober.py
Last active October 12, 2016 22:27
Probe DNS TLDs for NSEC3 usage.
#!/usr/bin/env python3
# Copyright (C) 2012 Internet Systems Consortium.
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SYSTEMS CONSORTIUM
# DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
#! /usr/bin/env bash
#
# purpose: fork an already-cloned github repository from shell
#
# itch: You've made changes to someone else's repo that you've already
# cloned. Now you want to share them to github; but without all the
# silly gyrations.
#
# bug: it assumes you use ssh not https; and it creates/caches an api key
#
@dotysan
dotysan / remote-headless-brew.md
Last active April 18, 2017 00:26
Remotely install Homebrew over ssh.
@dotysan
dotysan / arin-rpki-roagen.sh
Last active May 24, 2018 16:23
How to create your keypair and ROAs.
#! /bin/bash -e
#
# notes on setting up RPKI hosted on ARIN
#
umask u=rwx,g=rx,o=
keys=ARIN-RPKI-keypair.pem
pubkey=ARIN-RPKI-pubkey.pem
hash openssl