[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

External Relay Control [maintaining 'uptime' perception]

Tor currently has an accounting system for allowing data quota limitations to be applied. This allows a relay to enter 'hibernation', maintaining it's 'up' status, and directory-perceived uptime, without actually relaying traffic. However, it is feasible that an operator might want to control Tor for bandwidth reasons, but not use the built-in accounting system. The relay might share a connection with other applications, and have to change it connection profile relative to them.

Possible actions that might be desired include:
- changing bandwidth limits,
- changing between an exit and a relay,
- switching the relay on or off, or
- suspending dirport operation.

Possible conditions giving rise to such needs include:
- a periodic quota is reached (since other applications are sharing the connection, Tor can't be aware of when this limit might be reached), or
- another application requires a greater share of the connection temporarily.

Most of these behaviors are scriptable without difficulty by editing the torrc and sending Tor a sighup. In most cases, this is not a problem. However, when relaying must be suspended - and this suspension is not conducted via the built-in accounting system - the relay is unlisted from directories. Since uptime is used as an index for many of the classifications applied to relays (naming &c), this has a notable effect on the relay's 'profile' in the network, and the way that clients perceive it. Presumably, this is not a desirable situation.

Is there a good workaround for this?