Skip to content

Instantly share code, notes, and snippets.

View bradfitz's full-sized avatar

Brad Fitzpatrick bradfitz

View GitHub Profile
@bradfitz
bradfitz / pcfilesizes.txt
Created April 30, 2020 20:29
Finding functions with the largest pcfile tables
Got: {Magic:4277009103 Cpu:CpuArm64 SubCpu:0 Type:Exec Ncmd:29 Cmdsz:4528 Flags:2097285}
38 sections:
[0] {Name:__text Seg:__TEXT Addr:4294989976 Size:2401076 Offset:22680 Align:3 Reloff:0 Nreloc:0 Flags:2147484672}
[1] {Name:__gopclntab Seg:__DATA Addr:4298890048 Size:1821374 Offset:3922752 Align:5 Reloff:0 Nreloc:0 Flags:0}
[2] {Name:__rodata Seg:__DATA Addr:4297462176 Size:1417021 Offset:2494880 Align:5 Reloff:0 Nreloc:0 Flags:0}
[3] {Name:__noptrdata Seg:__DATA Addr:4300711456 Size:131552 Offset:5744160 Align:5 Reloff:0 Nreloc:0 Flags:0}
[4] {Name:__bss Seg:__DATA Addr:4300843008 Size:120184 Offset:0 Align:5 Reloff:0 Nreloc:0 Flags:1}
[5] {Name:__data Seg:__DATA Addr:4297414624 Size:47341 Offset:2447328 Align:5 Reloff:0 Nreloc:0 Flags:0}
[6] {Name:__noptrbss Seg:__DATA Addr:4300963200 Size:12520 Offset:0 Align:5 Reloff:0 Nreloc:0 Flags:1}
[7] {Name:__typelink Seg:__DATA Addr:4298879200 Size:8624 Offset:3911904 Align:5 Reloff:0 Nreloc:0 Flags:0}
@bradfitz
bradfitz / udp-off.sh
Created March 6, 2020 17:03
hacky scripts to toggle UDP access on a machine
#!/bin/sh
set -e
set -x
./udp-on.sh
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p udp -j DROP
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
@bradfitz
bradfitz / lj.tcl
Last active February 9, 2020 21:58
My original LiveJournal Tcl/Tk client
#!/bin/sh
# restart wish \
exec wish "$0" "$@"
#
# LiveJournal -- TCL/Tk client
# http://www.livejournal.com/
#
# Brad Fitzpatrick
# [email protected]
package main
import (
"flag"
"fmt"
"runtime"
)
func main() {
var cpus = flag.Int("cpus", runtime.NumCPU()*2, "number of threads to spin")
package main
import (
"bytes"
"io/ioutil"
"log"
"net/http"
"time"
)
root@kc1b:~# iptables-legacy-save
# Generated by iptables-save v1.8.2 on Sun Sep 8 09:23:15 2019
*raw
:PREROUTING ACCEPT [88168023:13613243271]
:OUTPUT ACCEPT [86121993:13224156217]
:CILIUM_OUTPUT_raw - [0:0]
:CILIUM_PRE_raw - [0:0]
-A PREROUTING -m comment --comment "cilium-feeder: CILIUM_PRE_raw" -j CILIUM_PRE_raw
-A OUTPUT -m comment --comment "cilium-feeder: CILIUM_OUTPUT_raw" -j CILIUM_OUTPUT_raw
-A CILIUM_OUTPUT_raw ! -s 10.217.0.29/32 -m mark --mark 0xa00/0xfffffeff -m comment --comment "cilium: NOTRACK for proxy return traffic" -j NOTRACK
bradfitz@gdev:~/go/src$ git rev-parse HEAD
b44cd15464a87be57446a7573f76846088826606
bradfitz@gdev:~/go/src$ git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
bradfitz@gdev:~/go/src$ git clean -n
root@gw:/etc/ppp/peers# systemctl status centurylink
● centurylink.service - PPPoE to Centurylink
Loaded: loaded (/etc/systemd/system/centurylink.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2018-11-19 11:41:02 PST; 2min 14s ago
Process: 1136 ExecStartPre=/usr/local/bin/setup-ipv6.sh (code=exited, status=0/SUCCESS)
Main PID: 1157 (pppd)
Tasks: 1 (limit: 4720)
CGroup: /system.slice/centurylink.service
└─1157 /usr/sbin/pppd call centurylink nodetach logfd 1
FROM debian:stretch
RUN apt-get update
RUN apt-get install --yes subversion autoconf automake gcc
RUN apt-get install --yes libgmp-dev libmpfr-dev libmpc-dev
RUN apt-get install --yes make
RUN apt-get install --yes file cpp
RUN mkdir /opt/gccgo
RUN mkdir /src
@bradfitz
bradfitz / ws.go
Created November 5, 2018 17:06
pre-Go1.12 websocket hijack+proxy
httpsServer := &http.Server{
Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
hj, isHJ := w.(http.Hijacker)
if r.Header.Get("Upgrade") == "websocket" && isHJ {
c, br, err := hj.Hijack()
if err != nil {
log.Printf("websocket websocket hijack: %v", err)
http.Error(w, err.Error(), 500)
return
}