Skip to content

Instantly share code, notes, and snippets.

View iandrewt's full-sized avatar

Andrew Titmuss iandrewt

  • ubank
  • Sydney, Australia
  • 03:46 (UTC +11:00)
View GitHub Profile
@dgraziotin
dgraziotin / timecapsule-handler
Last active September 22, 2022 23:33
Script to automatically look for Apple TimeCapsule devices and mount/umount them under GNU/Linux. See http://task3.cc/418/how-to-automatically-mount-and-umount-apple-time-capsule-on-linu for info and explanations.
#!/bin/bash
#
# This program is free software. It comes without any warranty, to
# the extent permitted by applicable law. You can redistribute it
# and/or modify it under the terms of the Do What The Fuck You Want
# To Public License, Version 2, as published by Sam Hocevar. See
# http://sam.zoy.org/wtfpl/COPYING for more details.
#
# Version 3, enhanced for Ubuntu 13.X+, Fedora 19+, and similar distros.
@0chroma
0chroma / VFIO Setup Guide.md
Last active February 19, 2025 19:42
Windows 10 VFIO QEMU Setup

VFIO Setup Guide

I play games regularly, and the sad reality is that it forces me to use Windows on my desktop. There's a Linux installation on there, but rebooting into it is such a massive interruption that I usually just move over to my laptop for programming. Working on a laptop leads to all sorts of ergonomic issues, and it felt like a massive waste to not develop on the desktop hardware I invested so much in. So after extensively researching what the VFIO community has been doing, I've deleted my Windows installation and moved all my gaming into a virtual machine on a Linux host.

Normally VMs are too slow for gaming, but thanks to a feature called VFIO you can run games at near-native performance by passing graphics cards and USB controllers directly to a virtual machine. The only requirement is that your board supports IOMMU, which most modern systems have. In this guide I'll wal

@tavinus
tavinus / acme-proxmox-dynu.md
Last active March 18, 2025 20:49
Using acme.sh on the proxmox host (with Dynu DNS)

Proxmox + acme.sh

Using acme.sh on the proxmox host to generate Letsencrypt certificates

With this we show how to use acme.sh instead of the original Letsencrypt interface.

Acme.sh is just a Bash script that can run on pretty much any *nix environment.
It is quite simple but also quite powerfull.

In this guide I will use the cheap and good Dynu service to configure a domain.

@maratori
maratori / .golangci.yml
Last active October 25, 2025 17:47
Golden config for golangci-lint
# This file is licensed under the terms of the MIT license https://opensource.org/license/mit
# Copyright (c) 2021-2025 Marat Reymers
## Golden config for golangci-lint v2.5.0
#
# This is the best config for golangci-lint based on my experience and opinion.
# It is very strict, but not extremely strict.
# Feel free to adapt it to suit your needs.
# If this config helps you, please consider keeping a link to this file (see the next comment).
@lukeplausin
lukeplausin / transfer_ssm_file.sh
Last active October 22, 2025 04:14
Transfer a file to EC2 SSM instance without using S3 (SSM only)
# This script will explain how to transfer a file to EC2 using SSM ONLY!
# You will need to have permission to run SSM commands on the target machine and have sudo access as well
# Infos
INSTANCE_ID=i-1234567890
FILE_NAME=the_file.tar.gz
# Step 1: Run command on machine to install netcat and dump from port to filename
# < Start session
@ciis0
ciis0 / fou-about.md
Last active September 19, 2024 07:25
setup fou (foo-over-udp) ipip tunnel on ubuntu

Some networks, e.g. Azure VNets, are quite restrictive about the supported procotols. Azure for example only supports TCP and UDP. Fortunately there is the Foo-Over-UDP ("FOU"), tunneling over UDP and thus bypassing the Azure limitation.

  1. You need a Linux distribution that supports FOU, for example Ubuntu.
    RHEL for example does not support FOU (so Fedora and CentOS probably neither).
  2. the fou module must be configured to be loaded automatically. (modprobe fou, /etc/modules.conf)
  3. choose your "foo": e.g. IPIP.
    Check your OS docs what other protocols are supported, for example via man systemd.netdev.
  4. sending and receving FOU is separated, you will need to create on device for each:
    1. create one device for sending/encapsulation (fou-tx, fou-tx.netdev)
    2. create one device for receiving/decapsulation (fou-rx, fou-rx.netdev)
  5. attach networ