  The Tor anonymous network has become quite popular with regular users on the
Internet. In the Tor network, an anonymous path is created by selecting three
relays through which the connection is redirected. Nevertheless, as the number
of Tor users has increased substantially in recent years, the algorithm with
which the relays are selected affects the performance provided by the Tor
network. More importantly as the performance suffers, users will leave the
network, resulting in a lower anonymity set and in turn lower security provided
by Tor network.
  In this paper, we proposed an algorithm for improving performance and
security of the Tor network, by employing a combination of different metrics in
the process of the path selection between the source and destination node.
These metrics are bandwidth and uptime of relays as node conditions and delays
between the relays as a path condition. Through a number of experiments we show
that we could double the performance observed by end users when using the
proposed technique as opposed to the current Tor path selection algorithm. More
importantly, the proposed technique only requires a software upgrade on the
client side, and other Tor nodes do not need to be modified.
