From f57fa617523730795aac92f8bc5e844cda8ad070 Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Thu, 11 Jun 2020 17:07:59 +0000 Subject: [PATCH] Created MuWire HostCache (markdown) --- MuWire-HostCache.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 MuWire-HostCache.md diff --git a/MuWire-HostCache.md b/MuWire-HostCache.md new file mode 100644 index 0000000..10e8c8d --- /dev/null +++ b/MuWire-HostCache.md @@ -0,0 +1,27 @@ +### Building from source + +1. Clone the latest MuWire source code either from github or from gitlab +2. Build using `./gradlew clean assemble`. You need to have JDK 11 installed on the build box. +3. Look inside `host-cache/build/distributions`. Untar `host-cache-x.y.z.tar` +4. The hostcache requires an I2P router with I2CP interface enabled to run. Edit `$HOME/.MuWireHostCache/i2p.properties` and set the appropriate i2cp options there. Example options: + * `i2cp.tcp.host` - host of the i2p router i2cp interface + * `i2cp.tcp.port` - port of the i2p router i2cp interface + * `inbound.length` and `outbound.length` - what length tunnels to create + * `inbound.quantity` and `outbound.quantity` - how many tunnels to create + * `i2cp.leaseSetEncType` - encryption type for the tunnels. Recommended value is "4,0" for dual ECIES + ELGAMAL keys. +5. It is a good idea to enable logging to observe what the host cache is doing. Copy the file from `host-cache/logging/logging.properties` to PWD before starting the host cache. + +### Running hostcache +The first time you start the MW hostcache it will create a new destination and print it out on stdout. Copy-paste that b64 destination and give it to me so I can include it in the source code. The private key for the destination is stored in `$HOME/.MuWireHostCache/key.dat`. Naturally you want to backup that key. + +If you have enabled logging from step 5 above, you should be able to see what the hostcache is doing. The log file will be `$PWD/hostcache.log`. The first line that gets printed usually looks like: + +``` +2020-06-11 17:51:08.354 INFO java_util_logging_Logger$info$0 call connected, going to sleep +``` + +That indicates the hostcache has successfully connected to your I2P router. + +The hostcache creates two directories - `$PWD/verified` and `$PWD/unverified`. Every hour it will "dump" the hosts that it knows about in a file with name formatted as yyyyMMdd-HH (for example "20200427-01"). I will be adding scripts in `host-cache/scripts` to analyze those dumps and to produce useful statistics. For now the only script there counts how many total unique hosts are on the MuWire network. + +**Important** For some reason my hostcache dies mysteriously after 1 month of uptime. So I recommend you set up a cronjob that kills and restarts the hostcache weekly.