Skip to content

Instantly share code, notes, and snippets.

@thomasnorris
thomasnorris / lwp-cloudflare-dyndns.sh
Last active January 18, 2023 17:45 — forked from Firsh/lwp-cloudflare-dyndns.sh
Cloudflare as Dynamic DNS
#!/bin/bash
# Cloudflare as Dynamic DNS
# From: https://letswp.justifiedgrid.com/cloudflare-as-dynamic-dns-raspberry-pi/
# Based on: https://gist.github.com/benkulbertis/fff10759c2391b6618dd/
# Original non-RPi article: https://phillymesh.net/2016/02/23/setting-up-dynamic-dns-for-your-registered-domain-through-cloudflare/
# Update these with real values
auth_email="email@example.com"
auth_key="global_api_key_goes_here"
zone_name="example.com"
// returns grouping of arr by key
let groupBy = function(arr, key) {
return arr.reduce(function(rv, x) {
(rv[x[key]] = rv[x[key]] || []).push(x);
return rv;
}, {});
};
# This is a blocklist to block samsung smart tv's sending meta data at home.
# Please help to collect domains!
# It could be that the TV does not receive any more updates or other services no longer work. Please report such an incident.
device-metrics-us.amazon.com
samsungacr.com
samsungcloudsolution.com
samsungcloudsolution.net
pavv.co.kr
samsungotn.net
@thomasnorris
thomasnorris / Raspberry Pi Kiosk Setup.md
Last active October 22, 2023 03:36
Instructions for installing a fresh image of Raspbian and turning the Pi into a kiosk (for google slides, google photos, etc)

Raspberry Pi Kiosk Setup

  • Install a fresh image of Raspbian and boot the Pi
  • Go through the prompts to finish initial setup
  • Open a Termial window
    • Type sudo apt-get install unclutter
    • Type sudo raspi-config
      • Select Boot Options with Enter
        • Select Wait for Network at Boot with Enter
        • Select Yes with Enter
@thomasnorris
thomasnorris / local-modules.js
Last active August 13, 2018 16:59
Automatically import local .js files into other files, similar to importing npm packages
// --Place in project's node_modules folder
// --Set this at the top of the main program.js
// global.requireLocal = require('local-modules.js').GetModule;
// --Call with requireLocal('file-to-get') to automatically get the right file
var _paths;
// --Add a root dir to scan through, or leave as '' to scan all folders (including node_modules)
var _rootDirName = '';
module.exports = {
@thomasnorris
thomasnorris / git_aliases.lua
Last active February 4, 2019 19:10 — forked from bhank/git_checkout.lua
A clink script for supporting tab-completion of git branches when using git aliases
-- git commands which will autocomplete branch names after them:
local git_commands = {"co", "merge", "del"}
-- "g" is an alias I have for "git" so both of them are triggers
local git_triggers = {"g", "git"}
function git_checkout_match_generator(text, first, last)
local commandLine = rl_state.line_buffer
local matchedCommand = false
local matchedBranches = false
@thomasnorris
thomasnorris / rpod.js
Last active July 31, 2018 15:32
Delete local branches that have been deleted from the remote via git prune
// --Uses execSync to call a remote prune origin, and then deletes any local branches that were pruned from the remote
(function() {
var exec = require('child_process').execSync;
var remoteBranchesBeforePrune = GetRemoteBranches();
exec('git remote prune origin');
var remoteBranchesAfterPrune = GetRemoteBranches();
var prunedBranches = [];