I know that in a Tor circuit, there are typically 3 relays: Guard, Middle, and Exit. If I want to run a Tor relay, can I configure it so that I can only serve as Exit node, or Guard node, but not Middle node?

2 Answers 2


No, and it will never be implemented: it would break the whole relay idea of Tor. Every relay - regardless of it's further roles - is a "regular node", i.e. the middle one. If it's allowed to go outside - then it also/additionally receives an Exit flag. If it's stable and not flapping - it receives a Stable flag, if it's stable-flagged and has a decent bandwidth and reacability - it receives a Guard flag. That's how it works! Every node is evaluated - and to be able actually evaluated - it must be present in network, actually do some work - and basing on the results and metrics of the working process it's additionally flagged.


Currently, no. If I remember correctly, exit relays are hard-coded to be used only as exits, and Tor will prefer to not use guard relays for a middle node.

  • As the real life stats of my relay shows the truth: as soon as middle point relay with properly open DirPort and ORPort receives Guard flag - nothing actually changes in it's work...
    – Alexey Vesnin
    Commented Sep 23, 2016 at 23:26
  • That's strange: my relay is sometimes guard and sometimes not, and whenever it's guard, its "middle probability" drops by about the same amount as its "guard probability" is increased
    – user14764
    Commented Nov 24, 2016 at 13:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .