Provided by: onionbalance_0.1.8-6_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>