Skip to content

Instantly share code, notes, and snippets.

View srhopkins's full-sized avatar

Steven Hopkins srhopkins

View GitHub Profile
@srhopkins
srhopkins / cherry.tools.session_auth.py
Last active December 19, 2015 07:49
cherrypy.tools.session_auth.check_username_and_password
# Roll your own check_user, pretty_login, logout, and Root functions accordingly.
_cp_config={'/':{'tools.sessions.on':True,
'tools.sessions.storage_type':'file',
'tools.sessions.storage_path':'./',
'tools.sessions.timeout':60,
'tools.session_auth.on':True,
'tools.session_auth.login_screen':pretty_login,
'tools.session_auth.check_username_and_password':check_user,
}
@srhopkins
srhopkins / is_prime.py
Last active August 29, 2015 14:18
Is number prime?
# I often need a simple method to determine prime numbers. Returns True or False.
is_prime = lambda num: all((num % i > 0 for i in xrange(2,num)))
@srhopkins
srhopkins / wget_oracle_jdk.sh
Last active August 29, 2015 14:21
wget oracle jdk
wget --no-cookies \
--no-check-certificate \
--header "Cookie: oraclelicense=accept-securebackup-cookie" \
"http://download.oracle.com/otn-pub/java/jdk/7u72-b14/jdk-7u72-linux-x64.rpm" \
-O jdk.rpm
@srhopkins
srhopkins / tunnel.sh
Last active October 14, 2016 22:14
Tunnel/proxy through gateway/jumphost using ssh
# /etc/hosts would have something like this
# 127.0.0.2 a.firewalled-app.tld
# On Mac you need to `sudo ifconfig lo0 alias 127.0.0.3 up`
# Then run a command/script like this.
ssh -L 127.0.0.2:80:a.firewalled-app.tld:80 \
-L 127.0.0.2:443:a.firewalled-app.tld:443 \
[email protected]
@srhopkins
srhopkins / wireshark_remote.sh
Last active August 29, 2015 14:22
Remote wireshark
# /etc/sudoers on target may require "Defaults:username !requiretty" e.g. RHEL/CentOS <= 5
#set -x
[ -n "${2}" ] && TCPDUMP_FILTER="${2}" || TCPDUMP_FILTER="not port 22"
ssh ${1} sudo /usr/sbin/tcpdump -U -s0 -w - "${TCPDUMP_FILTER}" \
| wireshark -k -i -
@srhopkins
srhopkins / create_repo.sh
Created May 27, 2015 21:53
Create git repo with github api
#!/usr/bin/env bash
USER=${1}
REPO=${2}
curl -u "${USER}" https://api.github.com/user/repos -d '{"name":"'${REPO}'"}'
@srhopkins
srhopkins / euler_18.py
Last active March 13, 2016 06:36
Euler - Maximum path sum I - Problem 18
def dig_numbers(table, row=0, index=0):
checks = []
for n in (index, index+1):
try:
checks.append(table[row][n] + dig_numbers(table, row=row+1, index=n))
except:
checks.append(0)
return max(checks)
@srhopkins
srhopkins / govim.sh
Created December 3, 2016 14:44
govim - relative path aware
#!/bin/bash
# This allows use of govim container with relative paths
# e.g.
# vim ../this.file
# vim ~/.bashrc
function govim(){
RDIR=`pwd | awk -F/ '{print "/"$2}'`
docker run -it --rm -v ${RDIR}:${RDIR} -w `pwd` srhopkins/govim vim "$@"
}

Keybase proof

I hereby claim:

  • I am srhopkins on github.
  • I am srhopkins (https://keybase.io/srhopkins) on keybase.
  • I have a public key ASCUPKAbmZp5I9bf6KNDLPZmuGstq95hgEnVW9J8V0grdAo

To claim this, I am signing this object:

@srhopkins
srhopkins / get_k8s_token
Created February 6, 2018 19:48
Get kubernetes token for api one-liner access
~ kubectl get secrets --namespace=int # check secrets for namespace
NAME TYPE DATA AGE
default-token-skzsj kubernetes.io/service-account-token 3 6d
example-app-int kubernetes.io/tls 2 6d
~ export TOKEN=`kubectl get secret default-token-skzsj --namespace=int -o jsonpath={.data.token} | base64 -D` # `-D` for mac `-d` for linux
~ docker run --rm lachlanevenson/k8s-kubectl:v1.9.2 --namespace=int --server=https://api.example.com --token=${TOKEN} --insecure-skip-tls-verify=true get pods
NAME READY STATUS RESTARTS AGE
example-app-5866987b76-n2phz 1/1 Running 0 5d
example-app-5866987b76-tqtw2 1/1 Running 0 5d