Onionbalance Status Socket¶
Basic information about running Onionbalance can be obtained by querying so called status socket.
Status socket is a Unix socket file created by Onionbalance. It is automatically closed by Onionbalance after reading it to the end.
Example:
socat - unix-connect:/var/run/onionbalance/control | json_pp -json_opt pretty
{
"services" : [
{
"instances" : [
{
"descriptorReceived" : "2020-06-16 19:59:28",
"introPointsNum" : 3,
"introSetModified" : "2020-06-16 19:59:28",
"onionAddress" : "vkmiy6biqcyphtx5exswxl5sjus2vn2b6pzir7lz5akudhwbqk5muead.onion"
}
],
"onionAddress" : "bvy46sg2b5dokczabwv2pabqlrps3lppweyrebhat6gjieo2avojdvad.onion.onion",
"publishAttemptFirstDescriptor" : "2020-06-16 20:00:12",
"publishAttemptSecondDescriptor" : "2020-06-16 20:00:12"
}
]
}
The overall format of the status socket output is clear from the above example.
Note that introPointsNum : 3, and introModified for an instance is
optional, uploaded* and publishAttempt* for a service may be null.
Meaning of non-self-explanatory fields:
introSetModifiedis the intro set last modified timestamp.introPointsNumis the number of introduction points on the descriptor.publishAttemptFirstDescriptorandpublishAttemptSecondDescriptorare the last publish attempt timestamps for first and second descriptors.descriptorReceivedis the received descriptor timestamp.
Configuration¶
Status socket filesystem location can be configured either by
status-socket-location in the YAML config file or by
ONIONBALANCE_STATUS_SOCKET_LOCATION environment variable
(environment takes precedence).
If neither is given, the socket file is not opened.
Example config file:
# Onionbalance Config File
status-socket-location: /home/user/test.sock
services:
- instances:
- address: vkmiy6biqcyphtx5exswxl5sjus2vn2b6pzir7lz5akudhwbqk5muead.onion
name: node1
key: bvy46sg2b5dokczabwv2pabqlrps3lppweyrebhat6gjieo2avojdvad.key