This repository is part of my thesis "Design and Implementation of Context-aware IPv6 Address Hopping". It is further used in the paper "Context-aware IPv6 Address Hopping" by M. Marx, M. Schwarz, M. Blochberger, F. Wille and H. Federrath published in the proceedings of ICICS'19.
To a browser, the proxy behaves similar to the one delivered with Tor and The Tor Browser.
The larger part of this prototype is implemented in a fork of github.com/oov/socks5.
It is tweaked to support above functionality. To Initialize the subrepo run git submodule update --init
or clone the whole repo with git clone --recursive <url>
.
To trigger a build of the go package run make build
.
This yields an executable main
.
On execution the config.yml
is loaded and parsed.
It may contain several prefixes.
Each time a new address is generated by the proxy, a random prefix is picked from the list and a random suffix generated for it.
The host on which the proxy shall run needs to be set up.
First, it needs to be reachable by the prefix configured in config.yml
.
I use a prefix from Hurricane Electric's Tunnelbroker.
My tunnel setup can be seen in the bash script setup_tunnel
.
Then, the prefix has to configured to use AnyIP in the linux system.
The bash script setup_anyip
configures two example prefixes.