Skip to content

Instantly share code, notes, and snippets.

@withakay
withakay / source-env.sh
Created Sep 8, 2022
Source from .env (dotenv) file
View source-env.sh
# if you want to export a .env file
# with a list of key values like
#
# `FOO=BAR`
#
# without prefixing them with `export` e.g.
#
# `export FOO=BAR`
#
# Do the following:
@withakay
withakay / deprecated_checker.py
Last active Mar 16, 2022
pylint deprecation checker
View deprecated_checker.py
from astroid.nodes import Call, ClassDef, FunctionDef, Name, node_classes
from pylint.checkers import BaseChecker
from pylint.interfaces import IAstroidChecker
def register(linter) -> None:
linter.register_checker(DeprecatedChecker(linter))
class DeprecatedChecker(BaseChecker):
@withakay
withakay / commit-msg
Created Dec 21, 2021
prepend Jira ticket numbers to commit messages
View commit-msg
#!/bin/bash
#
# .git/hooks/commit-msg is run when the -m flag is used
#
# Will extract Jira style ticket numbers from branch names e.g.
# 'AB-123-my-cool-branch' --> '[AB-123]'
# 'feature/XZ-321-my-cool-branch' --> '[XZ-321]'
#
TICKET=[$(git rev-parse --abbrev-ref HEAD | grep -Eo '^(\w+/)?(\w+[-_])?[0-9]+' | grep -Eo '(\w+[-])?[0-9]+' | tr "[:lower:]" "[:upper:]")]
if [[ $TICKET == "[]";then
@withakay
withakay / UnlockScheduledTask.ps1
Created Feb 19, 2021
This Powershell script updates the security descriptor for scheduled tasks so that any user can run the task.
View UnlockScheduledTask.ps1
<#
.SYNOPSIS
This Powershell script updates the security descriptor for scheduled tasks so that any user can run the task.
Version 1.0 of this script only displays tasks in the root folder. I want to make sure that works first.
.DESCRIPTION
Earlier versions of Windows apparently used file permissions on C:\Windows\System32\Tasks files to manage security.
Windows now uses the SD value on tasks under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree to accomplish that.
@withakay
withakay / install-latest-docker-compose.sh
Created Feb 8, 2021
Install the latest docker-compose
View install-latest-docker-compose.sh
#!/bin/bash
# A script that will always install the latest docker-compose.
# Execute as root.
#
# See official docs for more
# https://docs.docker.com/compose/install/
#
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
@withakay
withakay / resize.sh
Last active Feb 4, 2021
Extend/Resize a partition and logic volume on Ubuntu Linux that was installed with LVM enabled
View resize.sh
#!/usr/bin/env bash
# This script will extend the logical volume
# To use all the free space.
# Run this after increasing the size of the virtual disk.
# NOTE, run as sudo.
# Run `pvdisplay` to check your device numbers match up
# /dev/sda3 & ubuntu-vg & ubuntu-lv are the defaults
# if you chose LVM when installing Ubuntu
@withakay
withakay / dhcpd.conf
Created Dec 2, 2020
Update Route53 from ISC DHCP Server when a new lease is created via python and boto3
View dhcpd.conf
# add to dhcpd.conf
# make sure the dhcpd user has permission to execute the script
on commit {
set ClientName = pick-first-value(option fqdn.hostname, option host-name, "unknown-hostname");
set ClientIp = binary-to-ascii(10, 8, ".", leased-address);
set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
execute("/opt/dhcpd-hooks/dhcp_event_hook.py", "commit", ClientName, ClientIp, ClientMac);
}
@withakay
withakay / sigred_temp_fix.bat
Created Jul 17, 2020
SigRed temp registry fix
View sigred_temp_fix.bat
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters" /v "TcpReceivePacketSize" /t REG_DWORD /d 0xFF00 /f && net stop DNS && net start DNS
@withakay
withakay / doing.sh
Created Jan 7, 2020
Doing. Log what you are doing to a text file with a timestamp in a markdown friendly manner
View doing.sh
#!/usr/bin/env bash
# path to the 'doing' file, if this doesn't exist one will be created (see below)
DOING_FILE="~/Documents/doing.txt"
# the entry prefix, a tab and hyphen, so markdown parsers can render it
PREFIX=" -"
# date now as yyyy-MM-dd HH:mm - e.g. 2019-05-25 21:56
now=`date '+%F %H:%M'`
task="$@"
View windows-vpn.ps1
# Path for the public phonebook. Used as this is an all users connection.
# Change $env:PROGRAMDATA to $env:APPDATA if not creating an AllUserConnection.
$PbkPath = Join-Path $env:PROGRAMDATA 'Microsoft\Network\Connections\Pbk\rasphone.Pbk'
# Update these variables with the actual VPN name, address, and PSK.
$ConnectionName = 'ArrayString0',"ArrayString1", "ArracyString3","ArracyString4"
$ServerAddress = 'meraki-dynamic-ip-address-dynamic-m.com','meraki-dynamic-ip-address-dynamic-m.com','meraki-dynamic-ip-address-dynamic-m.com','meraki-dynamic-ip-address-dynamic-m.com'
$PresharedKey = 'PreSharedKeySecret'
# If no VPNs, rasphone.Pbk may not already exist