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:
introSetModified
is the intro set last modified timestamp.introPointsNum
is the number of introduction points on the descriptor.publishAttemptFirstDescriptor
andpublishAttemptSecondDescriptor
are the last publish attempt timestamps for first and second descriptors.descriptorReceived
is 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