Skip to content

Instantly share code, notes, and snippets.

View brianredbeard's full-sized avatar

redbeard brianredbeard

View GitHub Profile
@brianredbeard
brianredbeard / upgrade_unifi.sh
Last active September 21, 2016 02:17 — forked from stevejenkins/upgrade_unifi.sh
Easy UniFi Controller Upgrade Script for Unix/Linux Systems
#!/bin/sh
# upgrade_unifi.sh
# Easy UniFi Controller Upgrade Script for Unix/Linux Systems
# by Steve Jenkins (stevejenkins.com)
# Version 2.0
# Last Updated July 2, 2016
# REQUIREMENTS
# 1) Assumes you already have any version of UniFi Controller installed
@brianredbeard
brianredbeard / ifcfg-br0
Last active April 23, 2017 19:26
network configs for a vm-bridge on fedora
# /etc/sysconfig/network-scripts/ifcfg-br0
UUID=1d0ce809-703f-452b-910a-50267d8da44f
TYPE=Bridge
NM_CONTROLLED=yes
BOOTPROTO=none
NAME=br0
DEVICE=br0
ONBOOT=yes
TYPE=Ethernet
STP=no
@brianredbeard
brianredbeard / get_token.md
Last active October 3, 2022 02:18
aws, sts, and bash

About

AWS provides a mechanism for temporarily assuming another role within their API system. While it is not a technically hard process it can be convoluted and hard to understand. This document aims to both make it easier to follow along with as well as give an in depth explanation of some of the underpinnings of the Bourne Again Shell (aka BASH) which can make this easier to utilize on a day to day basis.

Explanation

Below is an overexplained version of the following process:

  1. Using credentials stored in ~/.aws/credentials as a "profile" which are then understood by the AWS command line tools
  2. Using those AWS credentials, temporarily assume a role using the AWS Security Token Service (STS) to get temporary
@brianredbeard
brianredbeard / delete_vpc.py
Created August 28, 2017 18:03
Trying out something to delete annoying VPCs
#!/usr/bin/env python
import boto3
import logging
import sys
from pprint import pprint
from time import sleep
import botocore.exceptions
@brianredbeard
brianredbeard / README.md
Last active July 19, 2023 19:25
fedora public bridge configs

Container / VM Bridging

About

Traditionally virtual machines and containers are exposed on a bridge which is solely available behind a single IP address exposed behind network/port address translation (NAT/PAT). This is, in general an acceptable practice but leads to some configuration challenges when testing out technologies like network booting of hosts, firewalling, equal cost multipath, etc.

This configuration will allow a user to move the IP address of the host to an internal bridge

@brianredbeard
brianredbeard / Dockerfile-OSSEC-HIDS
Created December 1, 2017 16:57
Minimal Dockerfile for the OSSEC host based intrusion detection system
####
#
# BUILD CONTAINER
#
####
FROM alpine:latest as build
# Setup a work environment and retrieve the sources
@brianredbeard
brianredbeard / denoun.py
Created December 5, 2017 18:56
Tool for fixing up CC output from The Noun Project
#!/usr/bin/env python3
# Brian 'redbeard' Harrington
# License: GPLv3
# For my presentations, I'm a huge fan of visual consistency and attribution
# This strips ugliness from assets from the noun projevct and outputs the things
# i need to attribute for my slides
`
import pathlib
import sys
@brianredbeard
brianredbeard / oshprice.ulp
Created December 20, 2017 16:34 — forked from itavero/oshprice.ulp
Eagle CAD ULP script to calculate the price of a PCB when you order it at OSHPark.Currently only works for 2-layer boards.
#usage "en: <b>Calculate the price of a dual-layer PCB if you order them at OSH Park.</b>"
"<p>Usage: run oshprice</p>"
"<p>Author: <author>Arno Moonen &lt;info@arnom.nl&gt;</author><br />"
"Version: <em>201405042026</em></p>"
// THIS PROGRAM IS PROVIDED AS IS AND WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED
void main() {
if(!board) {
// No board
@brianredbeard
brianredbeard / ldap.awk
Created April 11, 2018 00:10
An awk script for LDIF processing
# Set the following values before any processing occurs:
# RS (record separator) to an empty line
# FS (field separator) to a newline
# OFS (output field separator) to a comma
BEGIN { RS = "" ; FS = "\n" ; OFS=","}
{ for (i=1;i<=NF;i++) {
# Add a line for each field to be extracted, replacing the field name in
# all three spots:
if ($i ~ "^cn: ") { cn=gensub("^cn: ","","g",$i) }
if ($i ~ "^title: ") { title=gensub("^title: ","","g",$i) }
@brianredbeard
brianredbeard / doorauth.py
Created September 21, 2018 16:20
A simple door script for use with github.com/google/makerspace-auth
#!/usr/bin/python
#
# Copyright 2017 Google Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#