The Tor Project (The onion routing) is an open source implementation of onion routing that provides free access to an anonymous proxy network. Its primary goal is to enable online anonymity by protecting against traffic analysis attacks.
Users of the Tor network run an onion proxy software on their machines, which presents a SOCKS interface to its clients. This software connects out to Tor, periodically negotiating a virtual circuit through the Tor network. Tor employs cryptography in a layered manner (hence the 'onion' analogy), ensuring forward secrecy between routers.
The proxy supports remote DNS resolution: use `socks5**h**://localhost:9050` for DNS resolution from the exit node (instead of `socks5` for a local DNS resolution).
Tor reads its configurations from the file `/etc/tor/torrc` by default, or if the latter is not found, from `$HOME/.torrc`. The configuration options are explained on the [Tor website](https://torproject.org/docs/tor-manual.html.en). The default configuration should work fine for most Tor users.