Skip to content

Instantly share code, notes, and snippets.

Stuart lttlrck

Block or report user

Report or block lttlrck

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@lttlrck
lttlrck / bash.sh
Last active Jan 4, 2019
quick SSH using peco, remembers past connections, presents a filterable list. relies on SSH keys for auth.
View bash.sh
sss() {
cat ~/.connections | sort | uniq > ~/.connections_ && mv ~/.connections_ ~/.connections
IFS=$'\n' array=($(cat ~/.connections | cut -d" " -f1 | peco --print-query))
r1=${array[1]}
r2=${array[2]}
addr=""
@lttlrck
lttlrck / bash.rc
Last active Jan 3, 2019
Use peco, jq and bitwarden for SSH login
View bash.rc
# gets user name and password from bitwarden
# keeps a list of all conenctions, and presents them in peco so easy filtering
export BW_SESSION="***************************"
sss() {
cat .connections | sort | uniq > .connections_ && mv .connections_ .connections
IFS=$'\n' array=($(cat .connections | peco --print-query))
@lttlrck
lttlrck / getStaticDns.py
Created Jan 9, 2018
get static DNS from Mikrotik router and output in .ssh/config format with comment as username
View getStaticDns.py
#!/usr/bin/python3
from tikapy import TikapyClient
from pprint import pprint
client = TikapyClient('192.168.74.1', 8728)
client.login('admin', 'banzai74')
res= client.talk(['/ip/dns/static/print'])
View keybase proof
### Keybase proof
I hereby claim:
* I am lttlrck on github.
* I am stuartallen (https://keybase.io/stuartallen) on keybase.
* I have a public key whose fingerprint is 6FEB 4BA5 8827 BE4E 6EEC B462 769A 3C81 4789 1A3A
To claim this, I am signing this object:
View ssh with probing
// e.g. ssh 1.2.3.4, will probe until server is ready, useful when waiting for reboot
sp()
{
echo "Probing..." ; (while ! nc -z -v -w1 $1 22 > /dev/null 2>&1 ; do :; done) ; echo "Connecting..."; ssh -o StrictHostKeyChecking=no "$1"
}
@lttlrck
lttlrck / garageControllerSmartApp.groovy
Last active Apr 3, 2018
SmartThings Garage Controller SmartApp
View garageControllerSmartApp.groovy
/**
* Garage Controller Service Manager (based on SONOS example)
*
* Copyright 2014 Stuart Allen
*
* 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
*
@lttlrck
lttlrck / garageControllerDeviceType.groovy
Last active Aug 29, 2015
SmartThings Garage Controller Device Type
View garageControllerDeviceType.groovy
/**
* Garage Controller
*
* Copyright 2014 Stuart Allen
*
* 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
*
@lttlrck
lttlrck / gist:9628955
Created Mar 18, 2014
rename git branch locally and remotely
View gist:9628955
git branch -m old_branch new_branch # Rename branch locally
git push origin :old_branch # Delete the old branch
git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote
View new_gist_file
Create a directory to mount your source.
mkdir /tmp/bootiso.
Loop mount the source ISO you are modifying. (Download from Red Hat / CentOS.)
mount -o loop /path/to/some.iso /tmp/bootiso
Create a working directory for your customized media.
mkdir /tmp/bootisoks
Copy the source media to the working directory.
cp -r /tmp/bootiso/* /tmp/bootisoks/
Unmount the source ISO and remove the directory.
umount /tmp/bootiso && rmdir /tmp/bootiso.
@lttlrck
lttlrck / Int64.js
Created Nov 22, 2012
64-bit Integer type for Javascript based on Int64.js but NodeJS dependency on buffer removed, plus some other small mods.
View Int64.js
// Int64.js
//
// Copyright (c) 2012 Robert Kieffer
// MIT License - http://opensource.org/licenses/mit-license.php
/**
* Support for handling 64-bit int numbers in Javascript (node.js)
*
* JS Numbers are IEEE-754 binary double-precision floats, which limits the
* range of values that can be represented with integer precision to:
You can’t perform that action at this time.