Skip to content

Instantly share code, notes, and snippets.

View david415's full-sized avatar
💭
♥️Ⓐλ😼

David Stainton david415

💭
♥️Ⓐλ😼
View GitHub Profile
@david415
david415 / rwlock.pml
Created February 10, 2024 23:09
promela rwmutex with golang blocking semantics
int counter = 0;
typedef RWLock {
chan writeComplete = [0] of {bit};
chan allowWrite = [0] of {bit};
int readers;
bit writing;
int writeWaiters;
int readWaiters
}
@david415
david415 / dirauth.tla
Last active May 15, 2023 18:02
TLA+ spec for Katzenpost dirauth protocol
NOTE that in order to use this you'll have to tell your TLA+ model checker about the
values of DirAuthNodes and Relays, for example:
DirAuthNodes <- {"n1","n2","n3","n4","n5"}
Relays <- {"r1", "r2", "r3", "r4", "r5"}
------------------------------ MODULE dirauth ------------------------------
EXTENDS Naturals, Sequences, TLC, FiniteSets
@david415
david415 / gist:8274711
Created January 5, 2014 22:19
/etc/defaults/ufw
# /etc/default/ufw
#
# Set to yes to apply rules to support IPv6 (no means only IPv6 on loopback
# accepted). You will need to 'disable' and then 'enable' the firewall for
# the changes to take affect.
IPV6=yes
# Set the default input policy to ACCEPT, ACCEPT_NO_TRACK, DROP, or REJECT.
# ACCEPT enables connection tracking for NEW inbound packets on the INPUT
@david415
david415 / gist:8274636
Last active August 31, 2021 09:04
/etc/ufw/before.rules - for use with tor...
#
# rules.before
#
# Rules that should be run before the ufw command line added rules. Custom
# rules should be added to one of these chains:
# ufw-before-input
# ufw-before-output
# ufw-before-forward
#
Rebuttal of "[36C3] The ecosystem is moving"
============================================
abstract
--------
Moxie is wrong about a lot of things in this talk. Here I'll discuss
@david415
david415 / analytics.go
Created December 17, 2019 05:13
analytics.go
package main
import (
"bufio"
"flag"
"fmt"
"io"
"os"
"sort"
"strconv"
@david415
david415 / q1strings.go
Created December 17, 2019 01:03
Q1 Strings
package main
import (
"bytes"
"fmt"
)
func isAlmost(x, y []byte) bool {
skipped := false
[UpstreamProxy]
Type = "socks5"
Network = "tcp"
Address = "127.0.0.1:9050"
[Logging]
Disable = false
Level = "DEBUG"
File = "/home/user/catshadow_testnet/bob/catshadow.log"
@david415
david415 / gist:bb9918f199c009dabdd9e64ce889a63d
Created April 5, 2019 01:44
rust hyperlocal attempt at low level server unix socket listener.. fail not working
extern crate hyper;
extern crate hyperlocal;
use std::os::unix::net::UnixListener;
use hyper::{Response, rt::{Future, Stream}, service::service_fn};
use hyperlocal::server::{Http, Incoming};
fn main () {
if let Err(err) = std::fs::remove_file("hyperlocal_test_echo_server_2.sock") {
@david415
david415 / gist:e3966d18db55c193c418059bca71af5e
Created April 5, 2019 01:41
rust server listen on unix domain socket
use std::thread;
use std::os::unix::net::{UnixStream, UnixListener};
fn handle_client(stream: UnixStream) {
// ...
}