Skip to content

Instantly share code, notes, and snippets.

@tomdavidson
tomdavidson / userinit.sh
Created April 15, 2015 03:46
Android route hotspot traffic over vpn
##!/system/bin/sh
iptables -t filter -F FORWARD
iptables -t nat -F POSTROUTING
iptables -t filter -I FORWARD -j ACCEPT
iptables -t nat -I POSTROUTING -j MASQUERADE
ip rule add from 192.168.43.0/24 lookup 61
ip route add default dev tun0 scope link table 61
ip route add 192.168.43.0/24 dev wlan0 scope link table 61
ip route add broadcast 255.255.255.255 dev wlan0 scope link table 61
@tomdavidson
tomdavidson / install-virtualbox-osx.sh
Created June 16, 2015 16:46
Install VirtualBox on OSX
#!/bin/bash
# install lastest virtualbox and extenion pack releases
VBOX_LATEST_VERSION=$(curl http://download.virtualbox.org/virtualbox/LATEST.TXT)
VBOX_LATEST_FILE_OSX=$(wget -q http://download.virtualbox.org/virtualbox/${VBOX_LATEST_VERSION}/MD5SUMS -O- | grep -i "OSX.dmg" | cut -d"*" -f2)
wget -c http://download.virtualbox.org/virtualbox/${VBOX_LATEST_VERSION}/${VBOX_LATEST_FILE_OSX} -O /tmp/${VBOX_LATEST_FILE_OSX}
hdiutil mount /tmp/${VBOX_LATEST_FILE_OSX}
sudo installer -pkg /Volumes/VirtualBox/VirtualBox.pkg -target /
hdiutil unmount /Volumes/VirtualBox
@tomdavidson
tomdavidson / init-db.sh
Created June 16, 2015 20:52
database load script to use with docker, waits for db server to reply to ping.
#!/bin/bash
tar -xvf /tmp/build-data/sandbox_sql.tar.gz -C /tmp/build-data
while ! ping -c1 expressionengine &>/dev/null; do sleep 2; echo "waiting on expressionengine"; done
mysql -hexpressionengine -uroot -proot sandbox_expressionengine < /tmp/build-data/sandbox_expressionengine.sql
while ! ping -c1 wowzalicensing &>/dev/null; do sleep 2; echo "waiting on wowzalicensing"; done
mysql -hwowzalicensing -uroot -proot sandbox_wowzalicensing < /tmp/build-data/sandbox_wowzalicensing.sql
while ! ping -c1 wowzamedia &>/dev/null; do sleep 2; echo "waiting on wowzamedia"; done
@tomdavidson
tomdavidson / install_gnucmd_osx.sh
Created July 19, 2015 19:11
Installs GNU Command Line Tools & then some.
#!/usr/bin/env bash
# Installs GNU Command Line Tools & then some. Requires homebrew.
# Most are newer and more powerful that than OSX’s but also solves most OS compatibility issues
echo "Installing GNU coreutils and various."
export PATH="$(brew --prefix coreutils)/libexec/gnubin:/usr/local/bin:$PATH"
brew install coreutils
brew install binutils
brew install diffutils
brew install ed --with-default-names
brew install findutils --with-default-names
@tomdavidson
tomdavidson / geoip-ut-to-ut.js
Created December 31, 2015 06:17
redirects utah ip addresses to the utah home page
<script>
(function() {
var geoIpServiceUrl = 'https://freegeoip.net/json/';
var redirectUrl = 'http://youturn.org/ut';
var isBotSpider = Boolean(navigator.userAgent.match(/bot|spider/i));
var alreadyUtRedirected = Boolean(document.cookie.replace(/(?:(?:^|.*;\s*)utRedirected\s*\=\s*([^;]*).*$)|^.*$/, '$1'));
var atRoot = window.location.pathname === '/';
var shouldRedirect = atRoot && !alreadyUtRedirected && !isBotSpider;
function redirect(response) {
@tomdavidson
tomdavidson / install_digicert_on_aws.sh
Last active May 16, 2016 18:21
install ssl cert on aws, including creating intermediate for a complete chain
#!/bin/bash
# unofficial bash strict mode
set -euo pipefail
IFS=$'\n\t'
# Run script from dir with both certificate files and the private key
# certificate name on AWS
@tomdavidson
tomdavidson / example-aws-assume-role-wrapper.sh
Created June 17, 2016 19:40
wrapper scirpt that assumes aws role
#! /usr/bin/env bash
# Wrapper scirpt that assumes aws role and then runs your script that needs the creds.
# Im not remembering where I got it, but it was at least inspired by another if not verbarium.
account_id=$1
role=$2
CMD="$@"
ACCOUNT_ID=11111111111
{
"Version": "2012-10-17",
"Statement":[
{
"Sid": "AllowAllUsersToListAccounts",
"Effect": "Allow",
"Action":[
"iam:ListAccountAliases",
"iam:ListUsers",
"iam:GetAccountSummary"
@tomdavidson
tomdavidson / main.tf
Created September 1, 2019 08:56
the find file sub mod
variable "filter" {
type = string
default = "*.yaml"
description = "The pattern used to filter files, i.e. '*.yaml'."
}
variable "search_dir" {
type = string
default = "."
description = "The the directory to search from. Default is '.'."
@tomdavidson
tomdavidson / ghteams.tf
Last active September 3, 2019 21:31
tf to create children teams after looking up parent ids
## Existing list of teams with members list:
"0" = {
"description" = "No one cared enough to add a description to this team"
"members" = [
{
"role" = "maintainer"
"username" = "bob"
},
{