Skip to content

Instantly share code, notes, and snippets.

View bradfitz's full-sized avatar

Brad Fitzpatrick bradfitz

View GitHub Profile
@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
}
@bradfitz
bradfitz / hasswrap.go
Created August 17, 2018 04:28
Home Assistant wrapper
package main
import (
"flag"
"fmt"
"log"
"os"
"os/exec"
"path/filepath"
"syscall"
./vendor
./vendor/golang_org
./vendor/golang_org/x
./vendor/golang_org/x/crypto
./vendor/golang_org/x/crypto/internal
./vendor/golang_org/x/crypto/internal/chacha20
./vendor/golang_org/x/crypto/chacha20poly1305
./vendor/golang_org/x/crypto/cryptobyte
./vendor/golang_org/x/crypto/cryptobyte/asn1
./vendor/golang_org/x/crypto/curve25519