1
0
mirror of https://github.com/PurpleI2P/i2pd-tools synced 2025-01-11 15:27:59 +00:00
Some useful tools for I2P
Go to file
2019-02-08 13:49:29 -05:00
common correct name for GOST signatures 2017-05-01 09:29:06 -04:00
i2pd@1eb726c9bb bump i2pd. fix build error 2019-02-08 13:49:29 -05:00
scripts i2pdctl: compatibility with Java 2018-11-30 09:20:48 -05:00
websocket-ui add readme for websocket ui directory 2016-11-01 10:56:35 -04:00
websocks-demo fix up exmaples 2017-08-28 12:18:24 -04:00
.gitignore Merge remote-tracking branch 'purple/master' 2018-05-14 07:32:12 -04:00
.gitmodules i2pd sumodule added 2016-09-16 10:47:27 -04:00
famtool.cpp bump i2pd. fix build error 2019-02-08 13:49:29 -05:00
i2pbase64.cpp i2p base64 encode/decode tool 2017-11-03 09:36:25 -04:00
keygen.cpp don't initialize GOST explicitly 2017-03-13 16:16:11 -04:00
keyinfo.cpp pretty print sig key types 2016-10-10 07:59:54 -04:00
LICENSE keygen added 2016-09-16 11:28:01 -04:00
Makefile Fixed makefile to work with Darwin/Mac OS X 2018-09-14 20:30:07 +02:00
README.md implement 3LD authentification string generator for stats.i2p 2018-08-29 21:52:56 +00:00
regaddr_3ld.cpp implement 3LD authentification string generator for stats.i2p 2018-08-29 21:52:56 +00:00
regaddr.cpp don't init GOST explicitly 2017-03-10 11:56:07 -05:00
routerinfo.cpp update git submodule and unbreak update 2017-01-16 08:36:09 -05:00
vanity.hpp regex 2018-06-11 23:53:39 +07:00
vanitygen.cpp Merge pull request #60 from da2x/patch-2 2019-02-04 08:57:24 -05: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

depend="libboost-chrono-dev \
    libboost-date-time-dev \
    libboost-filesystem-dev \
    libboost-program-options-dev \
    libboost-system-dev \
    libboost-thread-dev \
    libssl-dev"
kernel=`uname -a`

case "$kernel" in
*ubuntu*)
	sudo apt install $depend;;
*debian*)
	sudo aptitude install $depend;;
*gentoo*)
	sudo emerge --deep --newuse dev-libs/boost dev-libs/openssl;;

*)
	echo "Just install libboost and libopenssl dev packages on your pc";;
esac

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 DSA-SHA1 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

vain

Vanity generation adress.

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_3ld

Generate authentication string for 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 from step3 to http://stats.i2p/i2p/addkey.html to register subdomain on stats.i2p