Some useful tools for I2P
Find a file
Ill5.com Softworks 06eab112fc
scan entire string when using regex
len variable would only scan the length of the regex string. this means if you were to use the regex expression .*i2p$ it would generate btbi2pxm5xi4zh32ye5emeq5koqbdd2gywxmpzjpaivpf744bcka instead of btbckaxm5xi4zh32ye5emeq5koqbdd2gywxmpzjpaivpf744bi2p
2022-10-29 15:29:33 -07:00
common fix make, drop unsupported websocks tools 2020-11-17 14:35:13 +03:00
i2pd@3c07665479 fixed #74 2021-06-25 12:11:33 -04:00
scripts i2pdctl: compatibility with Java 2018-11-30 09:20:48 -05:00
.gitignore gitignore updated 2021-06-02 13:42:38 -04:00
.gitmodules i2pd sumodule added 2016-09-16 10:47:27 -04:00
b33address.cpp clean code 2020-11-17 15:06:13 +03:00
dependencies.sh depend script (Debian fixed, MinGW added) 2021-06-02 14:07:10 -04:00
famtool.cpp clean code 2020-11-17 15:06:13 +03:00
i2pbase64.cpp clean code 2020-11-17 15:06:13 +03:00
keygen.cpp keygen in user friendly mode 2021-06-03 00:56:35 -04:00
keyinfo.cpp add b33 support in keyinfo 2021-05-17 20:39:36 +03:00
LICENSE keygen added 2016-09-16 11:28:01 -04:00
Makefile add verifyhost tool 2021-05-17 20:39:24 +03:00
offlinekeys.cpp user friendly mode 2021-05-17 01:33:41 -04:00
README.md i2p -> I2P 2021-06-03 03:54:28 -04:00
regaddr.cpp clean code 2020-11-17 15:06:13 +03:00
regaddr_3ld.cpp fixed build with recent libi2pd 2020-11-14 19:58:40 -05:00
regaddralias.cpp clean code 2020-11-17 15:06:13 +03:00
routerinfo.cpp fixed build error 2021-03-20 10:09:37 -04:00
vanity.hpp Improve vain output format and instructions 2021-10-18 03:20:07 -04:00
vanitygen.cpp scan entire string when using regex 2022-10-29 15:29:33 -07:00
verifyhost.cpp add verifyhost tool 2021-05-17 20:39:24 +03:00
x25519.cpp fixed #74 2021-06-25 12:11:33 -04:00

i2pd-tools

This repository contains tools that supplement i2pd.

Notice: git submodules are used so make sure to clone this repository recursively

git clone --recursive https://github.com/purplei2p/i2pd-tools

Building

Dependencies

  • boost chrono

  • boost date-time

  • boost filesystem

  • boost program-options

  • libssl

  • zlib1g

    (run dependencies.sh)

Building

make

Tools included

routerinfo

print information about a router info file

usage

print ip and port for router info excluding ipv6

./routerinfo -p ~/.i2pd/netDb/r6/routerInfo-blah.dat

print iptables firewall rules to allow 1 nodes in netdb through firewall including ipv6 addresses

./routerinfo -6 -f ~/.i2pd/netDb/r6/routerInfo-blah.dat

keygen

Generate an I2P private key

Usage

Make a EDDSA-SHA512-ED25519 destination key

./keygen privkey.dat

Make an destination key with a certain key type

./keygen privkey.dat <number>

or

./keygen privkey.dat <key name>
key name number
DSA-SHA1 0
ECDSA-SHA256-P256 1
ECDSA-SHA384-P384 2
ECDSA-SHA512-P521 3
RSA-SHA256-2048 4
RSA-SHA384-3072 5
RSA-SHA512-4096 6
EDDSA-SHA512-ED25519 7
GOSTR3410_CRYPTO_PRO_A-GOSTR3411-256 9
GOSTR3410_TC26_A_512-GOSTR3411-512 10
RED25519-SHA512 11

For more information on the types of signatures, see the documentation.

vain

Vanity generation address.

Usage

./vain --usage

Time to Generate on a 2.70GHz Processor

characters time to generate (approx.)
1 ~0.082s
2 ~0.075s
3 ~0.100s
4 ~0.394s
5 ~6.343s
6 ~1m-5m
7 ~30m

keyinfo

Prints information about an I2P private key

Usage

Print just the b32 address for this key

 ./keyinfo privatekey.dat

... just the base64 address

./keyinfo -d privatekey.dat

Print all info about the public key

./keyinfo -v privatekey.dat

regaddr

Generate authentication string to register a domain on reg.i2p and stats.i2p

./regaddr domain.dat domain.i2p > auth_string.txt
cat auth_string.txt

Send output of auth_string to http://reg.i2p/add and http://stats.i2p/i2p/addkey.html

To register a subdomain, use regaddr_3ld

regaddr_3ld

Generate authentication string to register a subdomain on reg.i2p and stats.i2p in 3 steps

./regaddr_3ld step1 sub_domain.dat sub.domain.i2p > step1.txt
./regaddr_3ld step2 step1.txt domain.dat domain.i2p > step2.txt
./regaddr_3ld step3 step2.txt sub_domain.dat > step3.txt
cat step3.txt

Send output of auth_string to http://reg.i2p/add and http://stats.i2p/i2p/addkey.html

regaddralias

Generate authentication string to register an alias address for existing domain on reg.i2p and stats.i2p

./regaddralias domain-oldkeys.dat domain-newkeys.i2p domain > auth_string.txt
cat auth_string.txt

Send output of auth_string to http://reg.i2p/add and http://stats.i2p/i2p/addkey.html

x25519

Generate key pair with output in base64 encoding. Now the x25519 keys are used for authentication with an encrypted LeaseSet.