Instantly share code, notes, and snippets.

View darkify_slack.sh
#!/bin/sh
# Darkify Slack on Mac OS:
# curl https://gist.githubusercontent.com/ryanpcmcquen/8a7ddc72460eca0dc1f2dc389674dde1/raw/darkify_slack.sh | sh
SLACK_INTEROP_JS="/Applications/Slack.app/Contents/Resources/app.asar.unpacked/src/static/ssb-interop.js"
# Thanks to: https://gist.github.com/DrewML/0acd2e389492e7d9d6be63386d75dd99#gistcomment-2358430
if [ -z "`grep tt__customCss ${SLACK_INTEROP_JS}`" ]; then
# Backup original CSS for reverts:
View jellyfin.md

Jellyfin setup on Raspberry Pi 3 Debian 9(stretch)

Jellyfin is the open source version of Emby.

install docker

wget -nv -O- https://get.docker.com/ | sh
View certbot.md
View bootable-usb-drive.md

I created a bootable usb drive in disk utility

then ran diskutil list to find the identifier

/dev/disk2s1 in my case

make sure to unmount the drive

then dd

View raspberry-pi-usb-hdd.md

raspberry pi auto mount usb drive

my drive is hfsplus usb 2TB

get the usb UUID from blkid

pretty print drive locations lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL

followed this, with special attention to the order. Drive must be unmounted before running fsck.

View emby.md
View ufw.md

Foward requests to one port to another on the same server

I wanted to forward requests comming to a server on port 2222 to the same server port 22.

I'm using ufw for the firewall on the server.

  1. allow port 22 and 2222 on the server.
$ sudo ufw allow 22
View dns-troubleshooting.md

Local DNS dnsmasq

Use case

I wanted to have an outside domain name resolve to a computer inside my local private network. I am tyring out duckdns.org to handle the resolution. The DNS resolves fine outside of my local network, yet locally the fqdn will not resolve. To enable this, a local dns needs to handle the request, routing to the local server.

This is where the raspberry pi dns comes in. I'm running Raspbian GNU/Linux 9 (stretch), a Debian variant. http://www.raspbian.org/

NOTE

I have been unable to get dnsmasq to start correctly on reboot. Nothing stands out in daemon.log. sudo service dnsmasq status shows one particular line that is different from the status of a reboot vs a manual service restart:

View install.sh
# modified version of:
# wget https://gist.githubusercontent.com/samatjain/4dda24e14a5b73481e2a/raw/5d9bac8ec40b94833b4e9938121945be252fdee1/Slim-Raspbian.sh -O Slim-Raspbian.sh
# GUI-related packages
# none right now...
# Edu-related packages
pkgs="
oracle-java8-jdk
minecraft-pi
python-minecraftpi
View index.js
var Aws = require('aws-sdk');
var sinon = require('sinon');
// Only works for 'createBucket', 'update' and a few others since most API methods are generated dynamically
// upon instantiation. Very counterintuitive, thanks Amazon!
var createBucket = sinon.stub(Aws.S3.prototype, 'createBucket');
createBucket.yields(null, 'Me create bucket');
// For other methods, we can 'assign' the stubs to the proto, already defined function won't be overridden
var listBuckets = Aws.S3.prototype.listBuckets = sinon.stub();