goptlib is a library for writing Tor pluggable transports in Go. https://spec.torproject.org/pt-spec https://gitweb.torproject.org/torspec.git/tree/proposals/196-transport-control-ports.txt https://gitweb.torproject.org/torspec.git/tree/proposals/217-ext-orport-auth.txt https://gitweb.torproject.org/torspec.git/tree/proposals/232-pluggable-transports-through-proxy.txt To download a copy of the library into $GOPATH: go get github.com/OperatorFoundation/shapeshifter-ipc See the included example programs for examples of how to use the library. To build them, enter their directory and run "go build". examples/dummy-client/dummy-client.go examples/dummy-server/dummy-server.go The recommended way to start writing a new transport plugin is to copy dummy-client or dummy-server and make changes to it. There is browseable documentation here: https://godoc.org/github.com/OperatorFoundation/shapeshifter-ipc Report bugs to the tor-dev@lists.torproject.org mailing list or to the bug tracker at https://trac.torproject.org/projects/tor. To the extent possible under law, the authors have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty. See COPYING.