Software #
Most of my free software is available on my GitHub profile. The list below contains select software projects that I consider particularly interesting and useful.
Nitriding #
Nitriding is a Go tool kit that makes it possible to run your application inside an AWS Nitro Enclave. Let’s assume that you built a Web service in Rust. You can now use nitriding to move your Rust code into a secure enclave, making it possible for your users to remotely verify that you are in fact running the code that you claim to run.
Tokenizer #
Tokenizer receives sensitive input from somewhere, tokenizes it, and sends the output somewhere else. This summary is deliberately vague because tokenizer’s input, output, and tokenization are pluggable: Input can come from an HTTP API or stdin. Tokenization can be done by HMAC-SHA-256 or CryptoPAn. The output can be a Kafka broker or stdout. Tokenizer further supports pluggable aggregation, which dictates how input is processed.
ZeroTrace #
The ZeroTrace Go package
implements the
0trace traceroute technique.
The API is straightforward:
Instantiate a new ZeroTrace object and call its CalcRTT
method
by providing the net.Conn
object of an already-established TCP connection.
The method returns the round-trip time to the client
(or the hop that’s closest) or an error.
Exitmap #
Exitmap
is a fast and modular Python-based scanner for Tor exit relays.
Exitmap modules implement tasks that are run over (a subset of) all exit relays.
If you have a background in functional programming,
think of exitmap as a map()
interface for Tor exit relays:
Modules can perform any TCP-based networking task like fetching a web page,
uploading a file, connecting to an SSH server, or joining an IRC channel.
Bridgestrap #
Bridgestrap implements an API (for machines) and a Web interface (for people) to test Tor bridge lines by making a Tor instance fetch the bridges’ descriptor.