Skip to content

Instantly share code, notes, and snippets.

@lttlrck
lttlrck / bash.sh
Last active January 4, 2019 18:53
quick SSH using peco, remembers past connections, presents a filterable list. relies on SSH keys for auth.
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 January 3, 2019 20:10
Use peco, jq and bitwarden for SSH login
# 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 January 9, 2018 20:08
get static DNS from Mikrotik router and output in .ssh/config format with comment as username
#!/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'])
### 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:
// 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 April 3, 2018 19:06
SmartThings Garage Controller SmartApp
/**
* 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 August 29, 2015 14:04
SmartThings Garage Controller Device Type
/**
* 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 March 18, 2014 20:34
rename git branch locally and remotely
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
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 November 22, 2012 03:04
64-bit Integer type for Javascript based on Int64.js but NodeJS dependency on buffer removed, plus some other small mods.
// 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: