Skip to content

Instantly share code, notes, and snippets.

@jroehl
jroehl / setup_headless_dropbox_1.sh
Last active April 4, 2017 04:46
setup_headless_dropbox
# needs sudo rights
# https://www.digitalocean.com/community/tutorials/how-to-install-dropbox-client-as-a-service-on-ubuntu-14-04
curl -Lo dropbox-linux-x86_64.tar.gz https://www.dropbox.com/download?plat=lnx.x86_64
mkdir -p /opt/dropbox
tar xzfv dropbox-linux-x86_64.tar.gz --strip 1 -C /opt/dropbox
# needs user input
echo ""
echo ""
@jroehl
jroehl / convert_images.sh
Last active October 16, 2017 08:36
Small helper script to resize and guetzlify jpgs via command line
#!/bin/bash
PROGNAME=$0
usage() {
cat << EOF >&2
Usage: $PROGNAME [-q <quality>] [-s <scale_shortest_side>] [-s <scale_largest_side>]
-q <quality>: quality of guetzli process | default [85]
-l <scale>: the scale of the largest side of the image
-s <scale>: the scale of the shortest side of the image
@jroehl
jroehl / RunRemoteMakeFile
Created February 16, 2018 10:26
Run a (remote) make file with arguments (make run [target] ...args)
.PHONY: run
SHELL := /bin/bash
# If the first argument is "run"
ifeq (run,$(firstword $(MAKECMDGOALS)))
# use the rest as arguments for "run"
RUN_ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
# turn them into blank targets
$(eval $(RUN_ARGS):;@:)
@jroehl
jroehl / aws-update-nameservers.sh
Created February 16, 2018 14:41
Update the nameserver of a domain with the nameservers of a specified hostedzone
#!/bin/bash
# Update the nameserver of a domain with the nameservers of a specified hostedzone
# aws-update-nameservers.sh HostedZoneId
HOSTED_ZONE_ID=$1
RESULT=(`aws route53 get-hosted-zone --query '[DelegationSet.NameServers,HostedZone.Name]' --output text --region us-east-1 --id $HOSTED_ZONE_ID `)
NAMESERVERS=("${RESULT[@]:1}")
SANITIZED_NAMESERVERS=${NAMESERVERS[@]/#/Name=}
@jroehl
jroehl / aws-assume-role.sh
Last active March 14, 2021 16:34
An assume-role helper script to update the environment variables with the temporary credentials
#! /bin/bash
# Execute locally
# source ./aws-assume-role.sh AccountId Role Region [LifetimeCredentials]
# Execute from remote
# source <(curl -sL https://gist.github.com/jroehl/c0789a3c4dca94ecf6958a9f4e408b8a/raw/aws-assume-role.sh) AccountId Role Region [SessionName] [LifetimeCredentials]
if (
[[ -n $ZSH_EVAL_CONTEXT && $ZSH_EVAL_CONTEXT =~ :file$ ]] ||
[[ -n $KSH_VERSION && $(cd "$(dirname -- "$0")" &&
@jroehl
jroehl / README.md
Last active April 14, 2024 15:30
Download a github release, specified by version number

Bash script to download release from github

This script is useful if you want to download a release, specified by version number, unpack the tar file and smoke test the executable.

Usage in a script

  export RELEASE=0.0.1
  export REPO_OWNER=jroehl
 export REPO=go-suitesync
@jroehl
jroehl / README.md
Last active June 13, 2018 12:54
Set the circleci environment variables with dynamic variables or default values

Bash script to set environment variables in circleci script

This script is useful if you want to set environment variables dynamically in circleci config.yml file. The environment variables used in this case are used for go-suitesync.

The env variable master_NSCONF_ACCOUNT will overwrite the NSCONF_ACCOUNT variable - if set!

Usage in a script

 curl -sL https://gist.github.com/jroehl/30d8c212babd5414ad921a298bebec87/raw/set-circleci-env.sh | bash

Bash script to update the ddns entry of a namecheap domain

Needs yq (pip install yq) and dig to be installed

Usage

curl -s https://gist.githubusercontent.com/jroehl/25dcd6a35d5cf7809d3274439a1e6783/raw/update-ddns.sh | bash -s "host" "domain" "password"

@jroehl
jroehl / regex.md
Created September 27, 2019 11:32
Some useful regexes.

import to require

import (.*) from (.*)[;]?$
const $1 = require($2);

export to module.exports

export ((?:async )?(?:function)*(?:class)* ([a-zA-Z0-9]+)[ ]?\([\s\S]*?\n}\n)
$1
@jroehl
jroehl / README.md
Last active March 1, 2020 11:10
Bash script to create a billing report task in kanbanflow

Bash script to create a billing report task in kanbanflow

Needs jq >= 1.5

Usage

curl -s https://gist.githubusercontent.com/jroehl/8ba7eb7280278518a52889613dcc02d3/raw/create-billing-report.sh | bash -s "--month=1 --year=2020"