Provided by: onionbalance_0.1.8-3_all bug

NAME

       onionbalance - a Tor hidden service load balancer

DESCRIPTION

       You  can  start  the OnionBalance management server once all of your backend onion service
       instances are running.

       You will need to create a configuration file which list the backend  hidden  services  and
       the location of your hidden service keys.

          $ onionbalance -c config.yaml

       or

          $ sudo service onionbalance start

       The  management  server  must  be  left  running to publish new descriptors for your onion
       service.

       NOTE:
          Multiple OnionBalance management servers can be run simultaneously with the same master
          private key and configuration file to provide redundancy.

COMMAND-LINE OPTIONS

   onionbalance
       onionbalance  distributes  the  requests  for  a  Tor  hidden services across multiple Tor
       instances.

       usage: onionbalance [-h] [-i IP] [-p PORT] [-s SOCKET] [-c CONFIG]
                           [-v VERBOSITY] [–version]

       -h, --help
              show this help message and exit

       -i <ip>, --ip <ip>
              Tor controller IP address

       -p <port>, --port <port>
              Tor controller port

       -s <socket>, --socket <socket>
              Tor unix domain control socket location

       -c <config>, --config <config>
              Config file location

       -v <verbosity>, --verbosity <verbosity>
              Minimum verbosity level for logging.  Available in ascending  order:  debug,  info,
              warning, error, critical).  The default is info.

       --version
              show program’s version number and exit

CONFIGURATION FILE FORMAT

       The  OnionBalance  management  server  is  primarily configured using a YAML configuration
       file.

          # Onion Load Balancer Config File
          # ---
          # Each hidden service key line should be followed be followed by a list of 0
          # or more instances which contain the onion address of the load balancing
          # hidden service

          REFRESH_INTERVAL: 600 # How often to poll for updated descriptors
          services:
              - key: /path/to/private_key # 7s4hxwwifcslrus2.onion
                instances:
                  - address: o6ff73vmigi4oxka # web1
                  - address: nkz23ai6qesuwqhc # web2
              - key: /path/to/private_key.enc # dpkdeys3apjtqydk.onion
                instances:
                  - address: htbzowpp5cn7wj2u # irc1
                  - address: huey7aiod8dja8a3 # irc2

       The services section of the configuration file contains a list of  master  onion  services
       that OnionBalance is responsible for.

       Each  key  option  specifies  the  location of the 1024 bit private RSA key for the hidden
       service. This master private key determines the address that users will use to access your
       onion service. This private key must be kept secure.

       The  location  of  the  private  key  is evaluated as an absolute path, or relative to the
       configuration file location.

       You can use existing Tor hidden service private key with OnionBalance to keep  your  onion
       address.

       Each  backend  Tor  onion  service  instance  is listed by its unique onion address in the
       instances list.

       NOTE:
          You can replace backend instance keys if they get lost or compromised.  Simply start  a
          new backend hidden service under a new key and replace the address in the config file.

       If you have used the onionbalance-config tool you can simply use the generated config file
       from master/config.yaml.

       NOTE:
          By default onionbalance will search for a  config.yaml  file  in  the  current  working
          directory.

   Configuration Options
       The  OnionBalance  command  line  options  can  also  be  specified  in  the  OnionBalance
       configuration file. Options specified on the command line take precedence over the related
       configuration file options:

       TOR_CONTROL_SOCKET:
              The  location  of  the Tor unix domain control socket. OnionBalance will attempt to
              connect to this control socket first before falling back to using  a  control  port
              connection.  (default: /var/run/tor/control)

       TOR_ADDRESS:
              The address where the Tor control port is listening. (default: 127.0.0.1)

       TOR_PORT:
              The Tor control port. (default: 9051)

       TOR_CONTROL_PASSWORD:
              The  password  for  authenticating  to  a  Tor  control  port  which  is  using the
              HashedControlPassword authentication method.  This  is  not  needed  when  the  Tor
              control port is using the more common CookieAuthentication method.  (default: None)

       Other options:

       LOG_LOCATION
              The path where OnionBalance should write its log file.

       LOG_LEVEL
              Specify  the minimum verbosity of log messages to output. All log messages equal or
              higher the the specified log level are output. The available  log  levels  are  the
              same as the –verbosity command line option.

       REFRESH_INTERVAL
              How  often  to check for updated backend hidden service descriptors. This value can
              be decreased if your backend instance are under heavy loaded causing them to rotate
              introduction points quickly.  (default: 600 seconds).

       PUBLISH_CHECK_INTERVAL
              How  often  should  to check if new descriptors need to be published for the master
              hidden service (default: 360 seconds).

       INITIAL_DELAY
              How  long  to  wait  between  starting  OnionBalance  and  publishing  the   master
              descriptor.  If you have more than 20 backend instances you may need to wait longer
              for all instance descriptors to download before starting (default: 45 seconds).

       DISTINCT_DESCRIPTORS
              Distinct descriptors are used if you have more than 10 backend instances.   At  the
              cost  of  scalability,  this  can  be disabled to appear more like a standard onion
              service. (default: True)

       STATUS_SOCKET_LOCATION
              The OnionBalance service creates a Unix  domain  socket  which  provides  real-time
              information about the currently loaded service and descriptors.  This option can be
              used   to   change   the   location   of    this    domain    socket.     (default:
              /var/run/onionbalance/control)

       The following options typically do not need to be modified by the end user:

       REPLICAS
              How many set of HSDirs to upload too (default: 2).

       MAX_INTRO_POINTS
              How many introduction points to include in a descriptor (default: 10)

       DESCRIPTOR_VALIDITY_PERIOD
              How long a hidden service descriptor remains valid (default: 86400 seconds)

       DESCRIPTOR_OVERLAP_PERIOD
              How  long  to  overlap  hidden  service  descriptors  when  changing descriptor IDs
              (default: 3600 seconds)

       DESCRIPTOR_UPLOAD_PERIOD
              How often to publish a descriptor, even when the introduction points  don’t  change
              (default: 3600 seconds)

   Environment Variables
       ONIONBALANCE_CONFIG
              Override the location for the OnionBalance configuration file.

       The  loaded configuration file takes precedence over environment variables.  Configuration
       file options will override environment variable which have the same name.

       ONIONBALANCE_LOG_LOCATION
              See the config file option.

       ONIONBALANCE_LOG_LEVEL
              See the config file option

       ONIONBALANCE_STATUS_SOCKET_LOCATION
              See the config file option

       ONIONBALANCE_TOR_CONTROL_SOCKET
              See the config file option

FILES

       /etc/onionbalance/config.yaml
              The configuration file, which contains services entries.

       config.yaml
              Fallback location for torrc, if /etc/onionbalance/config.yaml is not found.

SEE ALSO

       Full    documentation    for    the    OnionBalance    software    is     available     at
       https://onionbalance.readthedocs.org/

AUTHOR

       Donncha O'Cearbhaill <donncha@donncha.is>