v2 codebase now uses Cryptodome instead of the deprecated PyCrypto library.
v3 codebase is now more flexible when it comes to requiring a live consensus.
This should increase the reachability of Onionbalance in scenarios where the
network is having trouble establishing a new consensus.
v3 support for connecting to the control port through a Unix socket. Patch
by Peter Tripp.
Introduce status socket support for v3 onions. Patch by vporton.
Sending a SIGHUP signal now reloads the v3 config. Patch by Peter Chung.
Allow migration from Tor to Onionbalance by reading tor private keys directly
using the key directive in the YAML config file. Also update
onionbalance-config to support that.
Improve onionbalance-config for v3 onions. Simplify the output
directory (and change docs to reflect so) and the wizard suggestions.
Add functionality to reconnect to the Tor control port while Onionbalance is
running. Thank you to Ceysun Sucu for the patch (#45).
Fix bug where instance descriptors were not updated correctly when an
instance address was listed under multiple master service (#49).
Improve performance by only requesting each unique instance descriptor once
per round, rather once for each time it was listed in the config file (#51).
Fix bug where an exception was raised when the status socket location did not
exist.
Improve the installation documentation for Debian and Fedora/EPEL
installations.
Replace the python-schedule dependency with a custom scheduler.
Add a Unix domain socket which outputs the status of the Onionbalance service
when a client connects. By default this socket is created at
/var/run/onionbalance/control. Thank you to Federico Ceratto
for the original socket implementation.
Add support for handling the SIGINT and SIGTERM
signals. Thank you to Federico Ceratto for this feature.
Upgrade tests to use the stable Tor 0.2.7.x release.
Fix bug when validating the modulus length of a provided RSA private key.
Upload distinct service descriptors to each hidden service directory by
default. The distinct descriptors allows up to 60 introduction points or
backend instances to be reachable by external clients. Thank you to Ceysun
Sucu for describing this technique in his Masters thesis.
Add INITIAL_DELAY option to wait longer before initial
descriptor publication. This is useful when there are many backend instance
descriptors which need to be downloaded.
Add configuration option to allow connecting to a Tor control port on a
different host.
Remove external image assets when documentation is generated locally instead
of on ReadTheDocs.
Remove dependency on the schedule package to prepare for packaging
Onionbalance in Debian. The schedule code is now included directly in
onionbalance/schedule.py.
Fix the executable path in the help messages for onionbalance and
onionbalance-config.