Skip to content

Instantly share code, notes, and snippets.

View willpower232's full-sized avatar
🤓
Hey there! I am using GitHub.

Will Power willpower232

🤓
Hey there! I am using GitHub.
View GitHub Profile
@willpower232
willpower232 / etc_nginx_sites-enabled_test
Last active May 20, 2023 15:23
Run Nginx on WSL (Ubuntu on Windows) with automatic domain names and environment for local development
server {
listen 80;
listen 443 ssl http2;
# make yourself an SSL certificate for *.test.test (and your dhparam file if you're so inclined)
ssl_certificate /etc/nginx/ssl/test.cert;
ssl_certificate_key /etc/nginx/ssl/test.key;
# your other favourite SSL settings go here
@willpower232
willpower232 / passmenu.sh
Last active November 17, 2022 09:35
dmenu script for pass
#!/usr/bin/env bash
# 1 - source copy from https://geluk.io/p/passmenu.sh (https://github.com/Baggykiin/pass-winmenu)
# 2 - make dmenu case insensitive
# 3 - correct include_username variable
# 4 - only pick out usernames if they are the start of the sentence, i.e. ignore non-primary usernames listed in the file (mostly for bitbucket)
# 5 - dependency test and install
# 6 - error output on bad argument
shopt -s nullglob globstar
@willpower232
willpower232 / bash.bashrc
Last active November 14, 2022 13:54
I am making my .bashrc portable as inspired by this https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html
#### Set prompt basics ####
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
@willpower232
willpower232 / tailscaleToHostCtl.sh
Created August 6, 2022 11:06
add your tailscale IPs to your hosts file when you're scared of messing up your DNS
#!/bin/bash
tailscale status | while IFS= read -r aHost; do
hostname=$(echo "$aHost" | awk '{print $2}' | cut -d '-' -f 1)
ip=$(echo "$aHost" | awk '{print $1}')
hostctl add domains tailscale "$hostname.ts" --ip "$ip"
done
@willpower232
willpower232 / gogocertbot.sh
Created January 22, 2018 10:35
Certbot with DNS verification and AWS route53 plugin
#!/bin/bash
# run these first to install certbot globally with the route53 plugin
# $ sudo apt install python-setuptools
# $ sudo easy_install pip
# $ sudo -H pip install certbot-dns-route53
# verify the route53 plugin is present
# $ certbot plugins
@willpower232
willpower232 / postal_database_size.sql
Last active February 3, 2020 14:27
get the Postal database size for each mail server
SELECT sizes.dbname, orgs.`name` AS org, servers.`name` AS `server`, sizes.size
FROM (
SELECT substring(sizes.table_schema, 15) AS fakeid, sizes.table_schema AS dbname, ROUND(SUM(sizes.data_length + sizes.index_length) / 1024 / 1024, 1) AS size
FROM information_schema.`TABLES` AS sizes
GROUP BY sizes.table_schema
) AS sizes, postal.servers AS servers, postal.organizations AS orgs
WHERE servers.id = sizes.fakeid
AND servers.organization_id = orgs.id
ORDER BY org, `server`
@willpower232
willpower232 / downloadgithubasset.sh
Created January 27, 2020 16:47
Interactive terminal menu to download an asset from a known github repo release
#!/bin/bash
# usage
# downloadgithubasset.sh mozilla/sops
# downloadgithubasset.sh mozilla/sops 3.4.0
if ! [ -x "$(command -v jq)" ]; then
echo 'Error: jq is not installed.' >&2
exit 1
fi
@willpower232
willpower232 / create_delegated_dns_zone.sh
Created December 13, 2019 11:10
Create an AWS Route53 zone in a delegation set and change the NS record to match your vanity nameservers
#!/bin/bash
if [ -z "$1" ]; then
echo "Please specify domain name"
exit 1
fi
initials="WH"
delegationsetid="YOUR-DELEGATED-SET-ID"
@willpower232
willpower232 / download_interactively_from_s3.sh
Created December 13, 2019 10:06
How to loop through folders in AWS S3, select a file, and download it
#!/bin/bash
target="s3://your-AWS-bucket-here/"
file=""
# if you're looking for a specific file extension
# you can do something like this instead
# while [[ "$target" != *.tgz ]]; do
# while there is a slash at the end of the path
@willpower232
willpower232 / my.vimrc
Last active June 19, 2019 14:29
Guess I have to get into vim one day
" syntax highlighting
syntax on
" todo: experiment with colour schemes
"colorscheme elflord
" might help vim cope with random terminals and colours
" by reminding it that the background is dark
set background=dark