Skip to content

Instantly share code, notes, and snippets.

View sloppycoder's full-sized avatar
🎯
Focusing

Li Lin sloppycoder

🎯
Focusing
  • Bellingham WA
View GitHub Profile
@sloppycoder
sloppycoder / tmuxssh
Created August 30, 2025 09:54
ssh tmux command into GCP VM
#!/bin/bash
VM_NAME=$1
if [ "$VM_NAME" = "" ]; then
echo please specify vm name
exit 0
fi
USER=$2
if [ "$USER" = "" ]; then
@sloppycoder
sloppycoder / 01_install_v2ray_on_debian.md
Last active July 4, 2025 15:50
V2Ray setup, server, client and APT setting, etc

Install V2Ray on Debian Linux, including Raspberry Pi OS

Download V2Ray release from V2Fly Github repo, install it using the following steps

# run all below commands as root
# create v2ray user and config directory
mkdir /usr/local/etc/v2ray
useradd --system --no-create-home --shell /usr/sbin/nologin v2ray
chown v2ray:v2ray /usr/local/etc/v2ray
@sloppycoder
sloppycoder / super6.sh
Created December 18, 2023 08:50
execute command on remote hosts
#!/bin/bash
CMD=$1
run() (
HOST=$1
ssh $HOST "$CMD"
)
@sloppycoder
sloppycoder / sh
Created November 16, 2023 07:17
export and import data from redis
redis-cli --scan --pattern "openai*" | while read key; do redis-cli PERSIST $key; done
redis-cli KEYS 'openai*' | while read key; do
echo "Key: $key" >> redis_data.txt
redis-cli DUMP "$key" | xxd -p >> redis_data.txt
echo "" >> redis_data.txt
done
@sloppycoder
sloppycoder / key2secret.sh
Last active August 11, 2023 05:53
create an k8s secret from a ssh private key
#!/bin/bash
balk() {
echo $1
echo key2secret.sh "<private_key> <namespace> <secret_name> <ssh_host>"
exit 1
}
if [ "$1" = "" ]; then
balk "please specify private key"
@sloppycoder
sloppycoder / batt.py
Last active August 3, 2025 14:28
Raspberry PI Compute Module 4 with Wavesahre CM4-POE-UPS board setup
#! /usr/bin/python3
# sudo apt install -y python3-smbus
import smbus
import time
# Config Register (R/W)
_REG_CONFIG = 0x00
# SHUNT VOLTAGE REGISTER (R)
@sloppycoder
sloppycoder / totp.py
Last active June 7, 2023 03:26
Generate TOTP registration QR and print values, compatible with Google Authenticator
import qrcodeT
import pyotp
import time
def totp_url(secret, issuer, user):
return f"otpauth://totp/{issuer + ':' + user}?secret={secret}&issuer={issuer}&algorithm=SHA1&digits=6&period=30"
secret = pyotp.random_base32()
@sloppycoder
sloppycoder / pg_delay
Last active June 16, 2021 05:47
Delay a query in PostgreSQL
drop table if exists dummy_data;
create table dummy_data (index int, delay decimal, account_name varchar);
insert into dummy_data
values
(1, 0.01, 'ACCOUNT1'),
(2, 0.1, 'ACCOUNT2'),
(3, 0.5, 'ACCOUNT3'),
(4, 1, 'ACCOUNT4'),
docker container prune --filter "until=8h" -f
docker network prune --filter "until=8h" -f
docker image prune --filter "until=8h" -f -a
# docker system prune
@sloppycoder
sloppycoder / gist:8b9b7abfb53921f6e293ece1488451d2
Created January 20, 2020 10:36
extract certifcate and key from openshift installation
# openshift installer by default uses a self-signed certificate for ingress controller
# in order to use the ingress we need to extract the certificate and add it to local
# trusted cert store to avoid warnings
oc get secret router-certs-default -n openshift-ingress -o json > secret.json
jq -r '.data."tls.key"' secret.json | base64 -d > private_key.pem
jq -r '.data."tls.crt"' secret.json | base64 -d > cert.pem
#the cert.pem file contains 2 certificate. the 1st one is used by the ingress controller, 2nd one is signer.