Skip to content

Instantly share code, notes, and snippets.

View JonTheNiceGuy's full-sized avatar

Jon "The Nice Guy" Spriggs JonTheNiceGuy

View GitHub Profile
@JonTheNiceGuy
JonTheNiceGuy / AAA_iBeacon_README.md
Last active January 8, 2018 20:57
Use your Debian System as an iBeacon for Home Automation

Use your Debian System as an iBeacon for Home Automation

Introduction

I have been playing with using the https://Home-Assistant.io system at home to play with Home Automation.

One thing I've found is that the Raspberry Pi is perfect for quite a few of the monitoring things that I wanted it to do (see also https://github.com/JonTheNiceGuy/home-assistant-configs for more details of what I'm doing there!).

I'm using the http://OwnTracks.org application to talk to an MQTT server, but I could also do with it knowing where I am in the house, so I looked around for some details on iBeacons.

iBeacon is an Apple standard, but it's very easy to configure on Linux systems. I took some pointers from this article and wrote up this script. When I later went to deploy this on another system, I also needed a pointer from [this PDF](https://cdn-learn.adafruit.com/downloads/pdf/pibeacon-ib

@JonTheNiceGuy
JonTheNiceGuy / group_vars~all
Created January 26, 2017 16:41
How to define multiple NICs on a host in Ansible with K5. Note this is redacted from my own code, so yours may need some tweaking and changes!
---
compute_images:
REDACTED:
name: "REDACTED"
compute_types:
REDACTED:
name: "REDACTED"
az:
@JonTheNiceGuy
JonTheNiceGuy / User commands.yml
Created May 16, 2017 08:09
Some common "create user" commands for Ansible
- name: Create Users on W2012 Server
raw: if (dsquery user -samid "{{item.key}}") {"Not Required"} else { New-ADUser -SamAccountName "{{item.key}}" -UserPrincipalName "{{item.key}}@{{windows_domain}}" -Name "{{item.value.name}}" -DisplayName "{{item.value.name}}" -GivenName "{{item.value.name.split(" ")[1]}}" -Surname "{{item.value.name.split(" ")[-1]}}" -ChangePasswordAtLogon $true -Enabled $true -AccountPassword (ConvertTo-SecureString "{{default_password}}" -AsPlainText -Force) }
- name: Create Users on W2008 Server with Domain Admin
raw: if (dsquery user -samid "{{item.key}}") {"Not Required"} else {dsadd user "CN={{item.key}},CN=Users,{{search_base}}" -samid "{{item.key}}" -upn "{{item.key}}@{{windows_domain}}" -display "{{item.value.name|default("Undefined")}} {{item.value.role|default("")}}" -fn "{{item.value.name.split(" ")[1]|default("Undefined")}}" -ln "{{item.value.name.split(" ")[-1]|default("Undefined")}}" -mustchpwd yes -pwd "{{default_password}}" -memberof "CN=Domain Admins,CN=Users,{{s
@JonTheNiceGuy
JonTheNiceGuy / AAA_runas-README.md
Last active December 5, 2017 23:13
Run GUI commands as other users, without having to SSH to that user account.

runas for Unix-like Systems

Download these two files, and place them in /usr/local/bin. Chmod them to 755, and chown them to root:root.

Then, perform the following command:

runas -u someuser command

or

@JonTheNiceGuy
JonTheNiceGuy / gmm.sh
Created December 5, 2017 23:20
Start a Google MusicManager session in another account
#!/bin/bash
while ! ping -c 1 8.8.8.8 2>/dev/null >/dev/null ; do
echo Waiting for network...
done
ssh -X bloggsf@localhost -i ~/.ssh/gmm.id_rsa /opt/google/musicmanager/google-musicmanager
@JonTheNiceGuy
JonTheNiceGuy / AA_K5_Simple_Scripts.md
Last active June 26, 2018 08:56
The following scripts are tools I use on a regular basis to run simple activities on the K5 platform.

The following scripts are tools I use on a regular basis to run simple activities on the K5 platform. They can fairly easily be modified to work with OpenStack (and, probably in many cases, will work without modifications).

These are all written by me in my spare time, and are released under the WTFPL.

@JonTheNiceGuy
JonTheNiceGuy / AAA_Cachet_on_Docker_with_Ansible.md
Last active August 10, 2020 11:04
A "simple" shared-hosting Ansible setup for Cachet

Cachet on Docker with Ansible

This is not a "best-practice" example of doing any of these tasks. The nginx stuff could probably do with being moved into roles, and I could probably move the variables into a file handling that... however, as a POC, it works.

@JonTheNiceGuy
JonTheNiceGuy / AAA_Redirector_README.md
Created July 27, 2018 08:24
This script is a simple script to redirect you from your site to other locations. It's a very basic short-link generator.

Redirector

This script is a simple script to redirect you from your site to other locations. It's a very basic short-link generator.

@JonTheNiceGuy
JonTheNiceGuy / create_cert.yml
Last active January 9, 2022 18:31
A simple ansible playbook to create a new self-signed certificate
---
- hosts: localhost
vars:
- dnsname: your.dns.name
- tmppath: "./tmp/"
- crtpath: "{{ tmppath }}{{ dnsname }}.crt"
- pempath: "{{ tmppath }}{{ dnsname }}.pem"
- csrpath: "{{ tmppath }}{{ dnsname }}.csr"
- pfxpath: "{{ tmppath }}{{ dnsname }}.pfx"
- private_key_password: "password"