Skip to content

Instantly share code, notes, and snippets.

@zhangyoufu
zhangyoufu / Makefile
Created April 28, 2026 05:04
log argv/envp/stdin/stdout/stderr to pcap
main: main.c
cc -O2 -Wall -std=c11 -DTARGET_BINARY='"'/usr/lib/apt/methods/sqv.real'"' -o $@ $<
@zhangyoufu
zhangyoufu / apt_install.py
Last active April 26, 2026 02:17
apt/apt-get install solution, including all dependency, shell version make use of --print-uris argument, python version is more versatile (Note: snapshot.debian.org requires https, either install ca-certificates or put one at /usr/lib/ssl/cert.pem)
import apt
import apt_pkg
import os
import tempfile
SNAPSHOT = '20260421T000000Z'
ARCH = 'arm64'
PACKAGES = [
'binutils',
'gcc-x86-64-linux-gnu',
@zhangyoufu
zhangyoufu / gist:eb429891f07d593a956476cf483e3944
Created January 28, 2026 07:18
generate random subnet from fc00::/7 ULA prefix
import ipaddress
import random
def generate_random_ula_prefix(prefix_length: int, L: int = 1) -> ipaddress.IPv6Network:
return ipaddress.IPv6Network((((0xfc|L)<<120)|(random.getrandbits(prefix_length-8)<<(128-prefix_length)), prefix_length))
for prefix_length in range(8, 129):
print(generate_random_ula_prefix(prefix_length))
@zhangyoufu
zhangyoufu / pppd-lcp-rtt-log-parser.py
Created January 25, 2026 06:30
A Python script to parse and monitor Round-Trip Time (RTT) log files produced by pppd's `lcp-rtt-file` configuration directive.
#!/usr/bin/env python3
from typing import Optional
import argparse
import ctypes
import datetime
import mmap
import sys
import time
@zhangyoufu
zhangyoufu / ctypes_from_readonly_buffer.py
Created January 24, 2026 16:37
CPython: fake readwrite buffer from readonly buffer
import ctypes
import mmap
# https://stackoverflow.com/a/34096544
def fake_readwrite_buffer(obj: object) -> memoryview:
address = ctypes.c_void_p()
length = ctypes.c_ssize_t()
ctypes.pythonapi.PyObject_AsReadBuffer(ctypes.py_object(obj), ctypes.byref(address), ctypes.byref(length))
return ctypes.memoryview_at(address.value, length, readonly=False)
@zhangyoufu
zhangyoufu / itertools.go
Created January 5, 2026 03:26
itertools-like Cycle and Take in Go
package main
import "iter"
func Cycle[T any](items []T) func(func(T) bool) {
return func(yield func(T) bool) {
for {
for _, item := range items {
if !yield(item) {
return
@zhangyoufu
zhangyoufu / find_wifi_channel.py
Created December 28, 2025 02:48
find country code in regdb-wireless
#!/usr/bin/env python3
from typing import Optional, TypeAlias
import dbparse
import enum
class Flags(enum.IntFlag):
NO_OFDM = 1<<0
NO_CCK = 1<<1
NO_INDOOR = 1<<2
NO_OUTDOOR = 1<<3
@zhangyoufu
zhangyoufu / detect-x86-64-abi-version.sh
Created December 12, 2025 02:05
detect x86-64 ABI version on Linux, using /proc/cpuinfo
#!/bin/bash
# Note on hybrid CPUs (P-cores/E-cores):
# Linux /proc/cpuinfo reports only features common to ALL cores.
# This script will correctly detect the lowest ISA level supported
# across all core types, which matches glibc's behavior.
get_x86_64_abi_version() {
local FLAGS
local DETECTED_LEVEL
@zhangyoufu
zhangyoufu / log_init.go
Created November 12, 2025 09:54
if stdout is tty: log text to stderr; else: log json to stdout
import "github.com/mattn/go-isatty"
func init() {
if isatty.IsTerminal(os.Stdout.Fd()) {
slog.SetDefault(slog.New(slog.NewJSONHandler(os.Stdout, nil)))
}
}
#!/bin/bash
shopt -s nullglob
cd /sys/class/nvme
for CTRL in *; do
echo "removing ${CTRL}"
echo 1 >"${CTRL}/device/remove"
done