Skip to content

Instantly share code, notes, and snippets.

View mastier's full-sized avatar
🤯
exploding ideas

Bartosz "mastier" Woronicz mastier

🤯
exploding ideas
View GitHub Profile
#!/bin/bash
# Fetch machines
echo "=== Fetching machines (excluding vms) ==="
ALL_MACHINES=$(maas root machines read | jq -r '.[] | select(.virtualmachine_id==null) | .system_id')
echo "====================================="
# Check what is the current default route
echo "=== Printing the current gateways before change ==="
maas root machines read | jq -r '.[] | select(.virtualmachine_id==null) | [.hostname,.default_gateways.ipv4.gateway_ip] | join(" ")';
echo "====================================="
@mastier
mastier / cisco-webauth-login.sh
Last active December 15, 2025 15:10
Script for Cisco WebAuth transparent proxy login
#!/usr/bin/env bash
set -Eeuo pipefail
AUTH_SERVER_URL=""
RSAUSER=""
usage() {
echo "Usage: $0 -s <auth_server_url> -u <username>"
echo
echo "Options:"
# add to /var/snap/maas/current/preseeds/curtin_userdata
late_commands:
00_maas: [wget, '--no-proxy', {{node_disable_pxe_url|escape.json}}, '--post-data', {{node_disable_pxe_data|escape.json}}, '-O', '/dev/null']
10_adduser: ["curtin", "in-target", "--", "sh", "-c", "adduser --disabled-password --gecos '' maas"]
20_addpwd: ["curtin", "in-target", "--", "sh", "-c", "echo 'maas:maas' | chpasswd"]
30_addsudo: ["curtin", "in-target", "--", "sh", "-c", "usermod -aG sudo maas"]
@mastier
mastier / ldapsearchbind.sh
Created September 29, 2023 11:07
ldapsearchbind.sh
ldapsearch -x -y ldap-password.txt -H ldaps://<server>:636 -D 'CN=....' -E 'pr=10000/noprompt' -b 'OU=....' -W '(&(objectClass=User)(memberOf=CN=))' sAMAccountName
# Remember that ldap-password.txt cannot have newline in the end, so use echo -n 'password' > ldap-password.txt
@mastier
mastier / lxc-create-windows-vm.sh
Last active July 18, 2023 12:04
lxc-create-windows-vm.sh
#!/bin/bash
if [[ "$#" != "1" ]]; then
echo "Provide the original image ISO"
exit 1
fi
sudo snap install distrobuilder --classic
sudo apt install -y libguestfs-tools wimtools genisoimage
@mastier
mastier / Simple script for embedding OpenVPN certificates
Last active May 26, 2023 20:50
openvpn-embed-certificates.sh
#!/bin/bash
set +e
backup() {
if [[ -e "$1.backup" ]]; then
echo "Backup file already exists! Remove if necessary."
exit 10
fi
echo "Creating backup of $1 in $1.backup" >&2
if ! type vault >/dev/null 2>&1; then "Please install vault. $ snap install vault"; exit 1; fi
export VAULT_KEYS_PATH="vault-keys.txt"
vault_init() {
VAULT_UNIT_IP=$(juju run --unit vault/leader "network-get access --ingress-address=true");
export VAULT_ADDR="http://$VAULT_UNIT_IP:8200"
echo "=== Initializing Vault by $VAULT_UNIT_IP ==="
vault operator init -key-shares=5 -key-threshold=3 > ${VAULT_KEYS_PATH}
}
# create damn simple TFTP dasemon
IFACE='ens0p25'
sudo dnsmasq -i $IFACE --dhcp-range=192.168.69.100,192.168.69.150 --enable-tftp --tftp-root=/home/$USER/tftdir -d -u $USER -p0 -K --log-dhcp --bootp-dynamic
import argparse
def f(x):
print(x)
class Fusion:
"""
@mastier
mastier / land_register_pl.py
Created June 13, 2019 13:58
Generates land register codes in Poland for given court symbol
#!/usr/bin/env python3
"""
Generates land register codes in Poland for given court symbol
"""
from itertools import starmap
import operatortype command to continue
import argparse