Skip to content

Instantly share code, notes, and snippets.

@simonbru
simonbru / log-extracts.txt
Created August 21, 2015 21:27
owncloud-config
## uwsgi log ##
[pid: 22084|app: -1|req: -1/347] 2001:xxxx::x () {30 vars in 412 bytes} [Tue Aug 18 22:38:06 2015] GET /status.php => generated 95 bytes in 107 msecs (HTTP/1.1 200) 10 headers in 560 bytes (0 switches on core 0)
[pid: 22084|app: -1|req: -1/348] 2001:xxxx::x () {30 vars in 429 bytes} [Tue Aug 18 22:38:06 2015] HEAD /remote.php/webdav/ => generated 0 bytes in 155 msecs (HTTP/1.1 401) 11 headers in 626 bytes (0 switches on core 0)
[pid: 22084|app: -1|req: -1/349] 2001:xxxx::x () {32 vars in 477 bytes} [Tue Aug 18 22:38:21 2015] HEAD /remote.php/webdav/ => generated 0 bytes in 452 msecs (HTTP/1.1 500) 0 headers in 0 bytes (0 switches on core 0)
## nginx error logs ##
2015/08/18 22:38:22 [error] 10647#0: *178914 upstream prematurely closed connection while reading response header from upstream, client: 2001:xxxx::x, server: domain.com, request: "HEAD /remote.php/webdav/ HTTP/1.1", upstream: "uwsgi://unix:/var/run/uwsgi/app/owncloud/socket:", host: "domain.com"
## nginx access logs ##
2001:xxxx::x
@simonbru
simonbru / dkms
Created February 23, 2016 09:19
ALPM (pacman) hook compiling dkms modules when necessary
#!/bin/bash
list_installed_kernels() {
for i in /usr/lib/modules/*/build/Kconfig; do
sed -rn 's#/usr/lib/modules/(.*)/build/Kconfig#\1#p' <<< "$i"
done
}
build_all_modules() {
while read kernel; do
@simonbru
simonbru / README.md
Created June 6, 2016 09:29 — forked from cdhowie/README.md
DNS proxy to fix Netflix stupidity

fix-netflix-dns

This is a DNS server that intentionally returns an empty result set for any AAAA query for netflix.com or any subdomain thereof. The intent is to force Netflix to use IPv4 in cases where Netflix has blocked IPv6 access -- specifically, for Hurricane Electric users who find Netflix giving them the error:

You seem to be using an unblocker or proxy. Please turn off any of these services and try again. For more help, visit netflix.com/proxy.

@simonbru
simonbru / redditbackup.sh
Last active July 7, 2016 14:47
Script using curl and jq to backup reddit saved links/comments
#!/bin/bash -eu
# This script requires curl and jq>=1.5
export LC_ALL=C
curl='curl --user-agent RedditBackup -L'
fetch_saved() {
# Try to load credentials.conf if FEED_URL is not set
@simonbru
simonbru / webremote.py
Last active October 4, 2017 14:32
mpd-web-remote
#!/usr/bin/env python3
import re
from subprocess import check_call, check_output
from bottle import get, post, run, redirect, request
def retrieve_volume():
output = check_output(['mpc', 'volume'])
@simonbru
simonbru / README.md
Last active March 31, 2018 09:55
GNOME: Use alternative notification service

GNOME: Use alternative notification service

The GNOME-Shell process hosts its own notification service, which makes it a bit tricky to use a different one. The following hacks worked fine for GNOME 3.26.

Instructions

Find and install a notification daemon that is able to steal the notification bus name from GNOME-Shell, and make it start with the session. I used the daemon from the notification-daemon package with the --replace parameter. I start the daemon from an infinite loop because it exits after a few minutes of inactivity. To use the same setup as mine, copy notification-daemon.desktop into ~/.config/autostart/.

If your notifications daemon only implements the org.freedesktop.Notifications D-BUS interface, you need to prevent GNOME-Shell to own the org.gtk.Notifications bus name.

@simonbru
simonbru / picklestream.py
Created April 26, 2018 19:02
Stream pickled python objects through TCP (unsafe)
#!/usr/bin/env python3
import pickle
import socket
import sys
def server():
serversocket = socket.socket(
socket.AF_INET, socket.SOCK_STREAM
@simonbru
simonbru / README.md
Created January 24, 2019 17:25
Set a different default browser for every workspace

Custom browser launcher

Usage

  • Install xdotool
  • Modify launch_browser.sh to use the right browser for the right workspace
  • Change the path to launch_browser.sh in launch-browser.desktop
  • Copy launch-browser.desktop into ~/.local/share/applications/
  • Set this script as the default browser: xdg-settings set default-web-browser launch-browser.desktop

Keybase proof

I hereby claim:

  • I am simonbru on github.
  • I am simonbru (https://keybase.io/simonbru) on keybase.
  • I have a public key whose fingerprint is D671 15C4 621A 5826 0F3C 181B 4151 AA35 EEEE 1E46

To claim this, I am signing this object:

@simonbru
simonbru / wireguard-nat-redirect.md
Last active January 2, 2020 06:35
Redirect TCP traffic to a box behind NAT with Wireguard

Redirect TCP traffic to a box behind NAT with Wireguard

We have a web server on a box without direct access from the internet (e.g. behind a CGNAT). We want to use a box with a public IP address (such as a cheap VPS) as a gateway that will redirect HTTP traffic to the web server. We will setup a Wireguard VPN to enable bidirectional traffic between both boxes, as well as a few routing/NAT rules to redirect HTTP traffic.

Setup

Install Wireguard and wg-quick on both boxes: https://www.wireguard.com/install/