i2p
notes
- server blinded keys are 56 chars instead of 52 and not viewable without the b33 address in flood fill routers
- java and c++ implementations
- both have apps on fdroid
- browser bundle or proxy port
- https://github.com/PurpleI2P/i2pd-tools/
- generate blinded master signing key
keygen KeyName 11
- sign server temp key
offlinekeys TempKeyName OfflineKey 11 365
- output b33 for clients
keyinfo -b KeyName
x25519
util for base64 DH key for lease set auth
- generate blinded master signing key
- by default keys with i2pd-tool keygen are 679 bytes: 256 bytes of public elgammal key, 96 bytes of 'random' padding, 32 bytes of ed pubkey, 3 bytes of cert information, 4 bytes of keytype information, 256 bytes of private elgammal key, 32 bytes of private ed signature key
router
## Default: ~/.i2pd/ #tunconf = /var/lib/i2pd/tunnels.conf #tunnelsdir = /var/lib/i2pd/tunnels.d #certsdir = /var/lib/i2pd/certificates ## Logs: stdout, file, syslog. stdout by default #log = file #logfile = /var/log/i2pd/i2pd.log #pidfile = /run/i2pd.pid #port = 4567 daemon = false ## Enable SSU (UDP) transport ssu = true ## Bandwidth configuration ## L limit bandwidth to 32KBs/sec, O - to 256KBs/sec, P - to 2048KBs/sec, X - unlimited bandwidth = O ## Max % of bandwidth limit for transit. 0-100. 100 by default share = 50 ## Enable communication through ipv4/6 ipv4 = true ipv6 = true [ssu2] ## Enable SSU2 transport enabled = true [sam] ## disable SAM Bridge (app control for bitcoin) enabled = false [socksproxy] ## disable SOCKS Proxy enabled = false [httpproxy] ## Enable HTTP Proxy for eep sites (4444) enabled = true [http] ## Enable Web Console (7070) enabled = true [ntcp2] ## Enable NTCP2 transport (TCP) (default = true) enabled = true [upnp] ## disable UPnP (enabled by default in WINDOWS, ANDROID) enabled = false [i2cp] ## Enable I2CP protocol for torrent clients (7654) enabled = true [addressbook] ## Default: reg.i2p at "mainline" I2P Network. ex http://tracker2.postman.i2p http://tube.i2p http://get-monero.i2p #defaulturl = http://shx5vqsw7usdaunyzr2qmes2fq37oumybpudrd4jjj4e4vk4uusa.b32.i2p/hosts.txt #subscriptions = http://reg.i2p/hosts.txt,http://identiguy.i2p/hosts.txt,http://stats.i2p/cgi-bin/newhosts.txt,http://rus.i2p/hosts.txt
tunnel configs
- wireguard server
[wg-simple-server] type = udpserver # server keys = wg.dat host = 127.0.0.1 port = 1337 gzip = false # save cpu not trying to compress encypted wg data #accesslist = ClientB32Address.b32.i2p,ClientB32Addr.b32.i2p signaturetype = 11 # blinded i2cp.leaseSetType = 5 # encypted lease set #i2cp.leaseSetAuthType = 1 # DH Auth #i2cp.leaseSetClient.dh.111 = phone:PublicKeyBase64Enc #i2cp.leaseSetClient.dh.112 = laptop:PublicKeyBase64Enc #i2cp.leaseSetClient.dh.113 = netbook:PublicKeyBase64Enc #outbound.quantity = 5 # 16 max #inbound.quantity = 5 outbound.length = 1 # 8 max inbound.length = 1
[wg-simple-client] type = udpclient destination = ServerB33Address.b32.i2p port = 1337 gzip = false # save cpu not trying to compress encypted wg data matchtunnels = true # align tunnels for latency i2cp.dontPublishLeaseSet = true #i2cp.leaseSetPrivKey = PrivateBase64Enc outbound.length = 1 # lower privacy with better speed inbound.length = 1
dread.i2p=http://dreadtoobigdsrxg4yfspcyjr3k6675vftyco5pyb7wg4pr4dwjq.b32.i2p z-lib.i2p=http://kkd7tiqf5lv3olqfdnkw4znmmmmnjo2xqlxrp5ntthp6juowaiha.b32.i2p