Skip to content

Instantly share code, notes, and snippets.

@gaoyifan
gaoyifan / uml-on-debian.md
Created November 21, 2016 14:37
User Mode Linux on Debian Jessie

User Mode Linux on Debian Jessie

host kernel version: 3.16.36-1+deb8u2

target kernel version: 4.9-rc5

Build UML kernel

Preparation

@gaoyifan
gaoyifan / chinanet,APNIC-BGP
Created February 26, 2017 11:26
BGP vs APNIC IP list
1.0.1.0/24
1.0.2.0/23
1.0.8.0/21
1.0.32.0/19
1.1.0.0/24
1.1.2.0/23
1.1.4.0/22
1.1.9.0/24
1.1.10.0/23
1.1.12.0/22
@gaoyifan
gaoyifan / # sjk - 2017-05-05_23-32-08.txt
Created May 5, 2017 15:37
sjk on macOS 10.12.4 - Homebrew build logs
Homebrew build logs for sjk on macOS 10.12.4
Build date: 2017-05-05 23:32:08
alicdnkk.miaopai.com 2 1.2 1.2
s3-static.lufaxcdn.com 2 1.2 2.4
ali-ind-cdn.kwai.net 2 1.2 3.6
c3.xinstatic.com 2 1.2 4.8
cdn.scdng.com 2 1.2 6.1
jzsite.cdnpe.com 2 1.2 7.3
qncdnbb.miaopai.com 2 1.2 8.5
aliyuncdn-monitortestp-res.mzres.com 2 1.2 9.7
ottvideogs.hifuntv.com 2 1.2 10.9
wylivetest.cdnpe.com 2 1.2 12.1
#!/usr/bin/env bash
# require: git version > 2.3
# require: `db/letsencrypt` existed in git repo
if [[ -z "$CERTBOT_DOMAIN" ]] || [[ -z "$CERTBOT_VALIDATION" ]]; then
echo '$CERTBOT_DOMAIN and $CERTBOT_VALIDATION environment variables required.'
fi
source /etc/letsencrypt/dns-auth.conf
@gaoyifan
gaoyifan / ramdom-ipv6.sh
Created September 11, 2018 01:52
Generate random IPv6 address
#!/bin/sh
# example: ./ramdom-ipv6.sh 2402:f000:1::/48 166.111.21.1
table_id=436298364
ipv6_cidr=$1
ipv4_addr=$2
ipv6_prefix=$(echo $ipv6_cidr | cut -d / -f 1)
ipv6_sublen=$(echo $ipv6_cidr | cut -d / -f 2)
@gaoyifan
gaoyifan / tc-mark.nft
Created September 24, 2018 10:20
Traffic control mark with nftables
#! /usr/sbin/nft -f
chain tc-wan {
# check default priority
mark & 0xff0 == 0x130 ip dscp set af22 return
# real-time application
## Dota2
udp dport 27000-27200 \
meta mark set mark & 0xfffff00f ^ 0x110 ip dscp set af41 return
#!/usr/bin/env bash
set -xe
apt install -y build-essential git gcc-arm-none-eabi bison flex device-tree-compiler bc debootstrap
BASE=${BASE:-$(mktemp -d)}
cd $BASE
pwd
git clone https://github.com/ARM-software/arm-trusted-firmware.git
@gaoyifan
gaoyifan / gen.py
Last active January 9, 2023 07:56
frame rate testing with opencv
import cv2
import pyqrcode
import numpy as np
import io
# Set the width, height and frame rate of the video
width, height, fps = 512, 512, 10
# Create a video writer object, using FFmpeg
@gaoyifan
gaoyifan / convertor.py
Created June 11, 2023 08:56
dhcp option 121 hex format convertor
import ipaddress
def hex_to_cidr(hex_str):
i = 0
while i < len(hex_str):
# The first byte is the mask
mask = int(hex_str[i:i+2], 16)
i += 2
# Calculate how many bytes the subnet will occupy