You can use the Tor network on macOS without the dedicated browser by installing the
tor package via Homebrew and running it as a background service. This setup creates a local SOCKS proxy on port 9050, allowing any compatible application to route its traffic through the Tor anonymity network. By configuring your system or individual apps to use this proxy, you gain privacy and access to onion services while maintaining full control over your browsing experience and security settings.
Prerequisites and Homebrew Installation
Before proceeding, ensure that Homebrew is installed on your Mac. If you encounter permission errors during installation, particularly on newer Macs with Apple Silicon (M1/M2/M3) running recent macOS versions like Sequoia, refer to our guide on
Fixing 'Operation not permitted' error while installing Homebrew on Mac M3 Sequoia. Once Homebrew is functional, open the Terminal application. You will need administrative privileges to install system-level networking tools.
Run the following command to update your package repository and install the Tor daemon:
brew update
brew install tor
This process downloads the latest stable version of the Tor software from the official repositories. The installation places the executable in your Homebrew bin directory and sets up the necessary configuration files in
/usr/local/etc/tor (on Intel Macs) or
/opt/homebrew/etc/tor (on Apple Silicon Macs). It is crucial to verify that the installation completed successfully before attempting to start the service.
Configuring the Tor Service
By default, Tor runs with minimal configuration, but you may want to customize it for specific needs. The main configuration file is located at
/usr/local/etc/tor/torrc or
/opt/homebrew/etc/tor/torrc depending on your hardware architecture. Open this file in a text editor such as
nano or
vim.
sudo nano /opt/homebrew/etc/tor/torrc
Look for the line that defines the SOCKS port. It should be uncommented and set to 9050 by default:
SocksPort 9050
If you are using applications that require HTTP proxies instead of SOCKS, you can add an
HTTPTunnelPort directive, though most modern tools prefer SOCKS5. Save the file and exit the editor. Ensure that no other application is currently binding to port 9050, as this will prevent Tor from starting. You can check for conflicts using the
lsof command:
lsof -i :9050
If any process is listed, terminate it before proceeding.
Starting and Managing the Tor Daemon
macOS uses
launchd to manage background services. Homebrew provides a convenient way to load Tor into this system. To start the Tor service immediately and have it launch automatically at boot, run:
brew services start tor
To verify that the service is running correctly, check the status:
brew services list | grep tor
The output should show "started" for the Tor service. You can also test the connection by pinging the Tor project's status page or using a tool like
curl with the proxy setting:
curl --socks5-hostname localhost:9050 https://check.torproject.org
If the response indicates that you are connected to the Tor network, the setup is successful. If you need to stop the service temporarily, use
brew services stop tor, and to restart it after changes, use
brew services restart tor.
Configuring Applications to Use Tor
Now that the Tor daemon is running locally, you must configure your applications to route traffic through the SOCKS proxy at
localhost:9050. Most web browsers, email clients, and messaging apps allow manual proxy configuration.
For example, in Firefox, go to Settings > Network Settings > Manual Proxy Configuration. Enter
localhost as the SOCKS Host and
9050 as the Port. Check the box for "SOCKS v5" and ensure "Proxy DNS when using SOCKS v5" is selected to prevent DNS leaks. For other applications, look for similar proxy settings in their preferences. Note that some applications may not support SOCKS proxies directly; in such cases, you might need a wrapper tool or a different approach.
It is also important to consider your overall network security. If you are concerned about IP address tracking or want to block specific ranges, you might find our article on
Blocking Range of IP Addresses on MacOS useful for enhancing your privacy posture.
Troubleshooting Common Issues
If Tor fails to connect, check the logs located in
/usr/local/var/log/tor or
/opt/homebrew/var/log/tor. Look for errors related to port binding or network connectivity. Ensure that your firewall is not blocking outbound connections on port 9050. Additionally, if you experience slow speeds, remember that Tor routes traffic through multiple nodes globally, which inherently introduces latency. Avoid streaming high-bandwidth content, as this can congest the network and degrade performance for all users.
Frequently Asked Questions
Is it safe to use Tor without the Tor Browser?
Yes, it is technically safe, but it requires careful configuration. The Tor Browser includes built-in protections against fingerprinting and script injection that standard browsers lack. When using other applications, you must manually ensure they do not leak your real IP address or DNS queries.
How do I stop the Tor service on my Mac?
You can stop the Tor service by running the command
brew services stop tor in your Terminal. This will gracefully shut down the daemon and free up port 9050. You can restart it later with
brew services start tor.
Can I use Tor with Chrome or Safari?
While you can configure Chrome to use a SOCKS proxy, Safari does not support per-app proxy settings easily. Chrome may still leak WebRTC data unless specifically configured otherwise. For robust privacy, the Tor Browser or Firefox with strict settings is recommended over Chrome.
What happens if another app uses port 9050?
Tor will fail to start if port 9050 is already in use. You will see an error in the logs indicating an address conflict. You must identify and stop the conflicting application or change Tor's configuration to use a different port, such as 9051.
Does using Tor affect my internet speed?
Yes, significantly. Tor routes your traffic through three random relays around the world, adding encryption overhead and latency. Expect slower loading times for websites and reduced bandwidth for large downloads. It is best suited for sensitive browsing rather than high-speed activities.