Skip to content

Instantly share code, notes, and snippets.

@gaoyifan
gaoyifan / tc-mark.nft
Created Sep 24, 2018
Traffic control mark with nftables
View tc-mark.nft
#! /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
@gaoyifan
gaoyifan / ramdom-ipv6.sh
Created Sep 11, 2018
Generate random IPv6 address
View ramdom-ipv6.sh
#!/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)
View certbot-auth-hook.sh
#!/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
View gist:bcaebe9798f09a5b330006b026f9c402
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
@gaoyifan
gaoyifan / # sjk - 2017-05-05_23-32-08.txt
Created May 5, 2017
sjk on macOS 10.12.4 - Homebrew build logs
View # sjk - 2017-05-05_23-32-08.txt
Homebrew build logs for sjk on macOS 10.12.4
Build date: 2017-05-05 23:32:08
View chinanet,APNIC-BGP
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 / uml-on-debian.md
Created Nov 21, 2016
User Mode Linux on Debian Jessie
View uml-on-debian.md

User Mode Linux on Debian Jessie

host kernel version: 3.16.36-1+deb8u2

target kernel version: 4.9-rc5

Build UML kernel

Preparation

View dmesg-mirrors-Wed Sep 28 02:22:43 CST 2016
[ 0.573915] pci 0000:00:1a.0: reg 0x20: [io 0x9e80-0x9e9f]
[ 0.574011] pci 0000:00:1a.0: System wakeup disabled by ACPI
[ 0.574059] pci 0000:00:1a.1: [8086:3a38] type 00 class 0x0c0300
[ 0.574098] pci 0000:00:1a.1: reg 0x20: [io 0x9e20-0x9e3f]
[ 0.574194] pci 0000:00:1a.1: System wakeup disabled by ACPI
[ 0.574240] pci 0000:00:1a.2: [8086:3a39] type 00 class 0x0c0300
[ 0.574280] pci 0000:00:1a.2: reg 0x20: [io 0x9dc0-0x9ddf]
[ 0.574373] pci 0000:00:1a.2: System wakeup disabled by ACPI
[ 0.574429] pci 0000:00:1a.7: [8086:3a3c] type 00 class 0x0c0320
[ 0.574449] pci 0000:00:1a.7: reg 0x10: [mem 0xfaaf6000-0xfaaf63ff]
View keybase.md

Keybase proof

I hereby claim:

  • I am gaoyifan on github.
  • I am ylgaoyifan (https://keybase.io/ylgaoyifan) on keybase.
  • I have a public key whose fingerprint is 9729 B528 F023 EBA7 C4FE 8318 50E3 DB81 7CCE F878

To claim this, I am signing this object:

View png2bin.go
package main
import (
"bytes"
"encoding/binary"
"fmt"
"image/png"
"os"
)
You can’t perform that action at this time.