Skip to content

Instantly share code, notes, and snippets.

@russelldavies
russelldavies / init.sh
Last active May 7, 2024 14:09
IPv6 bootstrap EC2 instance
#!/bin/sh
# nat64.net NAT64 DNS resolvers
# This can be removed once AWS adds IPv6 DNS records for various services, e.g. SSM
echo 'DNS=2a00:1098:2c::1 2a01:4f9:c010:3f02::1 2a01:4f8:c2c:123f::1\nDomains=~.' >> /etc/systemd/resolved.conf
systemctl restart systemd-resolved.service
snap switch --channel=candidate amazon-ssm-agent
snap refresh amazon-ssm-agent
@russelldavies
russelldavies / daemon.json
Created February 6, 2024 15:46
Docker IPv6
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8::/64",
"experimental": true,
"ip6tables": true,
"default-address-pools":[
{"base": "172.17.0.0/16", "size": 24 },
{"base": "2001:db8:1::/64", "size": 80 }
],
"dns": [
@russelldavies
russelldavies / permutations.rs
Created November 8, 2023 20:38
Permutations
fn main() {
let mut items: Vec<&str> = vec!["a", "b", "c"];
let mut c = vec![0; items.len()];
println!("{:?}", items);
let mut i = 0;
while i < items.len() {
if c[i] < i {
if i % 2 == 0 {
@russelldavies
russelldavies / satshunter.py
Created October 19, 2023 19:37
Sats Hunter
import argparse
import multiprocessing
import itertools
from bip_utils import Bip39SeedGenerator, Bip44Changes, Bip84, Bip84Coins
from bip_utils.utils.mnemonic import MnemonicChecksumError
def validate_mnemonic(perm):
mnemonic = " ".join(perm)
return False
@russelldavies
russelldavies / intercept.js
Created August 5, 2023 11:26
Intercept unauthorized requests for Elm
XMLHttpRequest = class extends XMLHttpRequest {
send() {
const onreadystatechange = this.onreadystatechange;
this.onreadystatechange = () => {
console.log(this.readyState);
if (typeof onreadystatechange === 'function') {
this._onreadystatechange();
}
};
super.send();
#!/bin/sh
snap switch --channel=candidate amazon-ssm-agent
snap refresh amazon-ssm-agent
@russelldavies
russelldavies / mount.sh
Created June 4, 2023 14:51
Mount disk image in MacOS
#!/bin/sh
hdiutil attach -readonly -imagekey diskimage-class=CRawDiskImage disk.img
@russelldavies
russelldavies / android_vm.sh
Last active January 10, 2023 13:58
Android VM
platform=android-33
export ANDROID_SDK_ROOT=/tmp/android/sdk
export ANDROID_EMULATOR_HOME=/tmp/android/emulator
PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$ANDROID_SDK_ROOT/emulator
# At https://developer.android.com/studio/index.html#downloads
curl https://dl.google.com/android/repository/commandlinetools-mac-9123335_latest.zip > /tmp/android_sdk.zip
unzip -d /tmp /tmp/android_sdk.zip
mkdir -p $ANDROID_SDK_ROOT/cmdline-tools/latest
@russelldavies
russelldavies / README.md
Last active January 10, 2023 02:28
Matrix homeserver setup with Docker and Traefik

This guide assumes that example.com is your server name, so user IDs will in the format @user:example.com, and that matrix.example.com is the domain name of your actual server.

Requirements

At least 512 MB memory. Approximate memory usage of services:

  • Traefik: 20 MB
  • Postgres: 70 MB
  • Synapse: 150 MB
@russelldavies
russelldavies / build.sh
Created November 24, 2016 16:53
AWS Lambda Weasyprint
#!/bin/sh
mkdir task
cp build_weasyprint.sh task
docker run --rm -it -v $PWD/task:/var/task \
-e LD_LIBRARY_PATH='/lib64:/usr/lib64:/var/runtime:/var/runtime/lib:/var/task:/var/task/lib' \
lambdalinux/baseimage-amzn build_weasyprint.sh