Skip to content

Instantly share code, notes, and snippets.

View moycat's full-sized avatar
💮
明日晴

Qing Deng moycat

💮
明日晴
View GitHub Profile
@moycat
moycat / id.pub
Last active November 8, 2022 18:39
My SSH public keys.
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBXSf5mcUsV8ipFuz6qVfiw+0nSxzUzSvvzcwMjXXsgh moycat@home
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjurLUQPZmDWO5iRh0pa0gw6gRAwbKWbPPpXszm8iwzWNAUNXSNOZAhqrlA5Gc+8nbSjO4emryoVgUtinl63CffuxwLzuKk0kShMsm2MFd2RWXCEwfi3keufmFcydYPzOPC2XdwHtaV/gMnmIMdxtCQdKHIk1Mi/U1tl81sZPlJnw8PC9MuVzIxPIfnBH1L9VK8l1VeuN2PxGg0JQXR4cobpYbQEx9KBgJgDCa8fbD9Bh7nPZza33XGW6VRM9sDa9NqlHJpw6tGZmR6FGW3ci6iGVbBtRbOT5JsYMBYcv0h0js9nChnqOm4TVkfXWkCdcINrDrEZtdphnJ1N4S/t8p moycat@work
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC2Kdh8rYLdtGSGakWMLub0uH4PnigGTLbpo2GyVYYztEC7WkFn4kVh66+t+AaWs1BZMFa0W+KiqGLwcYYkFvgx/CMcZYYJfcGyM3VvAxY/Y4n7oprW28h6FCghEbd/DpXDVYPAbg2ryVQPaC0xvLTVZvl9qLIhiYC0uqf8afwZzuTXNIs4trp/USrOGGHQbGj7dvwbZAIeg5OAQ0fgIQLRTkY1dUB/emGocIXhZjWSe0T/ipncQ4WvBe5E9E/5NMei4iCeG3EeiWGfAPJ4Eihpytr4DxSWFHy+G/Xkg53sVFCILHdxYG8OdKcbi+TnPnSBs/gyxidz+T1Y5JipZgD/Nbq7prilHRZW/Z1iExBys92CWQdkwgagwGCo4eX666w/K10/9cXYpdLDjhfK1rL+ewM2XtwIj2E9Bi++kXbfB5Plamxt2kf1pBs5vk8xOuL+/cBicLMClCIeGyKdR03yBZiF6ea8OdFzQVPZXqq5GrKakkrr/i
@moycat
moycat / i@moy.cat#local.pub
Last active November 8, 2022 18:39
My PGP public keys.
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEYYAM8hYJKwYBBAHaRw8BAQdAwIvnhAN9OyVN9n3kfng1+99B4Xph6H4FRsYD
fa0Pbri0Em1veWNhdCA8aUBtb3kuY2F0PoiUBBMWCgA8FiEEHJ3A2hruXld0VnVi
B9jOg0Uu+BoFAmGADPICGwMFCwkIBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJ
EAfYzoNFLvgaPz4BALUKds08/3F0jqPhobF4lcPpPN0VOW417zlAvn28j49jAPwK
1oUiB2MvWkchru4aUezE5N7TGXP1mmkr0vQkccMECrg4BGGADPISCisGAQQBl1UB
BQEBB0ClTFYudI8r+SCONwwYK3zucnA8PaZbSDjrS11ezq2mawMBCAeIeAQYFgoA
IBYhBBydwNoa7l5XdFZ1YgfYzoNFLvgaBQJhgAzyAhsMAAoJEAfYzoNFLvga03oA
/2uBcAfn79/7YlBNfUhpuvqSqeCM32VTHPMJpj/faJmWAQD5B5FQSo8+LZsEH9Ml
@moycat
moycat / add-port-forwarding.py
Created March 6, 2020 03:29
Utils for port forwarding using iptables on a single NIC Proxmox VE machine. Suppose your intranet subnet is 192.168.0.0/24, the public IP is 1.2.3.4 & the NIC is vmbr0.
#!/usr/bin/env python3
import argparse
import ipaddress
import os
INTERNAL_SUBNET = "192.168.0.0/24"
INTERNET_ADDRESS = "1.2.3.4"
INTERFACE = "vmbr0"
@moycat
moycat / icmp.go
Created March 15, 2020 05:37
Spoof ICMP package from any source IP.
package main
import (
"golang.org/x/net/ipv4"
"log"
"net"
"os"
"strconv"
"strings"
"syscall"
@moycat
moycat / redirect-to-https-non-www.js
Created March 15, 2020 07:58
Why occupy a PAGE RULE when you can do it with a WORKER? For CloudFlare users.
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
/**
* Respond to the request
* @param {Request} request
*/
async function handleRequest(request) {
url = new URL(request.url)
@moycat
moycat / field_migration.go
Created April 13, 2020 15:14
Copy contents to same-name fields of another kind of struct, with auto marshaling & unmarshaling.
package main
import (
"encoding/json"
"errors"
"fmt"
"reflect"
)
type N struct {
@moycat
moycat / unionfs-sandbox.sh
Created November 11, 2020 04:53
UnionFS Sandbox
# run as root
# create
mkdir -p /tmp/union/root /tmp/union/tmp
unionfs-fuse -o cow,dev,suid,allow_other /tmp/union/tmp=RW:/=RO /tmp/union/root
mount --bind /dev /tmp/union/root/dev
mount --bind /sys /tmp/union/root/sys
mount --bind /proc /tmp/union/root/proc
# enter
@moycat
moycat / install_k8s.sh
Created January 23, 2022 10:34
A script to install Kubernetes with continerd.
#!/bin/bash -e
VERSION=1.23.2
PROXY=""
cat <<EOF > /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF
modprobe overlay
#!/bin/bash -e
PROXY=""
export http_proxy="${PROXY}" https_proxy="${PROXY}"
apt-get update
apt-get install -y \
apt-transport-https \
ca-certificates \
@moycat
moycat / walk.go
Created September 14, 2022 12:45
Ultra-fast walk in Golang.
package walk
import (
"errors"
"fmt"
"os"
"path/filepath"
"sort"
"sync"
"time"