Implement Base32 Hash hostnames, via the naming service.
Names are of the form [52-characters].i2p, where
the 52 characters are the Base32 representation of our
256-byte hash. The client requests a lookup of the hash
via a brief I2CP session using new I2CP request/reply
messages. The router looks up the leaseset for the hash
to convert the hash to a dest. Convert the I2PTunnel
'preview' links to use Base32 hostnames as a
demonstration.
- Fixes and cleanups when NTCP and/or UDP transports disabled
- More TCP removal cleanup
- Clean up bandwidth limiting, centralize defaults
- Force burst to be >= limit
- Increase default bw to 48/24, burst 64/32
* Delay shitlist cleaner at startup
* Strip wrapper properties from client config
* Define multiple cert type
* Prohibit negative maxSends in streaming
* HTML fixup on configtunnels.jsp
* Increase wrapper exit timeout from default 15s to 30s
- Don't create SnarkManager instance until first call,
so it doesn't create the i2psnark dir, read the config,
etc., for single Snark instances.
- Don't read i2psnark.config twice; fix setting
i2psnark.dir
- More Snark constructor changes for calling from router
- Make max connections per torrent configurable
- Remove static instances of I2PSnarkUtil, ConnectionAcceptor,
and PeerCoordinatorSet
- Convert static classes in Snark to listeners
- Fix Snark to work in single torrent mode again
- Should now work with multiple single Snarks
- Refactor to allow running a single Snark without a SnarkManager again,
by moving some things from SnarkManager to I2PSnarkUtil,
having Snark call completeListener callbacks,
and having Storage call storageListener callbacks.
This is in preparation for using Snark for router updates.
Step 2 is to allow multiple I2PSnarkUtil instances.
- Big rewrite of Storage to open file descriptors on demand, and
close them when unused, so we can support large numbers of torrents.
- Add more info to Connection.toString() for debugging
- Fix lifetimeMessages{Sent,Received} stats
- Reduce RTT damping to 0.875 (was 0.9)
- Add a stream.con.initialRTT.{in,out} stats