I'm trying to run tor via terminal because I just need the proxy functionality and not all the other stuff TorBrowser offers. I'm on macOS and installed tor using brew install tor

tor is censored on my network. but when I check "use built-in bridges" inside TorBrowser it connects fine.

I located the torrc file of the TorBrowser in ~/Library/Application Support/TorBrowser-Data/Tor and copied the bridge information into my cli torrc file which is located in /usr/local/etc/tor/torrc but when I try to run tor command it gets stuck and fails to connect.

here is my torrc content (there are more than 10 bridge describers, for security reasons I just posted one):

Bridge obfs4 2D82C2E354D531A68469ADF7F878FA6060C6BACA cert=4TLQPJrTSaDffMK7Nbao6LC7G9OW/NHkUwIdjLSS3KYf0Nv4/nQiiI8dY2TcsQx01NniOg iat-mode=0
UseBridges 1

when I run tor it stucks like this:

Apr 28 17:10:08.476 [notice] Tor running on Darwin with Libevent 2.1.11-stable, OpenSSL 1.1.1g, Zlib 1.2.11, Liblzma N/A, and Libzstd N/A.
Apr 28 17:10:08.477 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
Apr 28 17:10:08.477 [notice] Read configuration file "/usr/local/etc/tor/torrc".
Apr 28 17:10:08.480 [notice] Opening Socks listener on
Apr 28 17:10:08.481 [notice] Opened Socks listener on
Apr 28 17:10:08.000 [notice] Parsing GEOIP IPv4 file /usr/local/Cellar/tor/
Apr 28 17:10:08.000 [notice] Parsing GEOIP IPv6 file /usr/local/Cellar/tor/
Apr 28 17:10:08.000 [notice] Bootstrapped 0% (starting): Starting
Apr 28 17:10:08.000 [notice] Starting with guard context "bridges"
Apr 28 17:10:08.000 [notice] Delaying directory fetches: No running bridges

I also tried to add these lines to my torrc but no luck :(

ClientTransportPlugin meek_lite,obfs2,obfs3,obfs4,scramblesuit exec PluggableTransports/obfs4proxy

what I am doing wrong? please help 🙏 thank you


I managed to get it working by setting the tor Data Directory to the same Data Directory of TorBrowser.

I added this to my torrc:

DataDirectory /Users/armin/Library/Application Support/TorBrowser-Data/Tor

I don't know why this works! but I guess its about the cached data which is not present in the cli tor, but its available in the TorBrowser data.

if you know the reason let me know!

| improve this answer | |

Tor doesn't come with obfs4 support out-of-the-box. On Debian-based distributions you can usually apt install obfs4proxy, but this doesn't seem to be supported on brew. Instead you can build the obfs4 proxy manually (it's a Go program) or you could probably go to Browser/TorBrowser/Tor/PluggableTransport in your Tor Browser directory and use the copy from there. In your torrc file, note that you specified the path of this program as PluggableTransports/obfs4proxy in your ClientTransportPlugin line.

| improve this answer | |
  • 1
    I tried this. extracted the obfs4proxy binary and copied it to /usr/local/bin and added ClientTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy in my torrc. but still no luck :( – Armin Kazemi Apr 28 at 17:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.