5

On Localhost I can access and connect to port 9150, but on another devices on the network it cannot see the port and cannot connect to it. I've checked and there is no firewall on the network preventing the connection.

If it matters I have a proxy server running on that port that I need other devices to be able to connect to.

I am running macOS High Sierra 10.13.1 on a MacBook Pro Early 2015.

  • @Allan No, there is no firewall enabled that I know of on the computer. – Matthew N Nov 23 '17 at 19:05
  • @Allan Yeah, I can ping my device. – Matthew N Nov 23 '17 at 19:15
  • Open "Network Utility" either with Spotlight, with open -a "Network Utility" in Terminal or as app in /Sys*/Lib*/CoreS*/Appl*/ on the proxy host > Port Scan with the IP address (the IP of en0/en1?) of the MBP, enter a port range (9145-9155) and hit Scan. Add the ressult to your q! – klanomath Nov 23 '17 at 19:20
  • @user3439894 sorry, I meant to say the other devices can ping my Mac – Matthew N Nov 23 '17 at 19:22
  • 1
    To your question. – user3439894 Nov 23 '17 at 19:26
7

By default, your Tor client only listens for applications that connect from localhost (i.e. lo0 - 127.0.0.1). So the proxy is not bound to other interfaces like en0 or en1.

To set up a Tor proxy for apps on other hosts in the network you should follow the how-to:

I want to run my Tor client on a different computer than my applications. By default, your Tor client only listens for applications that connect from localhost. Connections from other computers are refused. If you want to torify applications on different computers than the Tor client, you should edit your torrc to define SocksListenAddress 0.0.0.0 and then restart (or hup) Tor. If you want to get more advanced, you can configure your Tor client on a firewall to bind to your internal IP but not your external IP.

Can I install Tor on a central server, and have my clients connect to it? Yes. Tor can be configured as a client or a relay on another machine, and allow other machines to be able to connect to it for anonymity. This is most useful in an environment where many computers want a gateway of anonymity to the rest of the world. However, be forwarned that with this configuration, anyone within your private network (existing between you and the Tor client/relay) can see what traffic you are sending in clear text. The anonymity doesn't start until you get to the Tor relay. Because of this, if you are the controller of your domain and you know everything's locked down, you will be OK, but this configuration may not be suitable for large private networks where security is key all around.

Configuration is simple, editing your torrc file's SocksListenAddress according to the following examples:

SocksListenAddress 127.0.0.1

SocksListenAddress 192.168.x.x:9100

SocksListenAddress 0.0.0.0:9100

You can state multiple listen addresses, in the case that you are part of several networks or subnets.

SocksListenAddress 192.168.x.x:9100 #eth0
SocksListenAddress 10.x.x.x:9100 #eth1

After this, your clients on their respective networks/subnets would specify a socks proxy with the address and port you specified SocksListenAddress to be.

Please note that the SocksPort configuration option gives the port ONLY for localhost (127.0.0.1). When setting up your SocksListenAddress(es), you need to give the port with the address, as shown above.

If you are interested in forcing all outgoing data through the central Tor client/relay, instead of the server only being an optional proxy, you may find the program iptables (for *nix) useful.

Source: Tor FAQ
Location of the torcc file: ~/Library/Application Support/TorBrowser-Data/Tor


I didn't get this to work properly!

  • I added the line "SocksListenAddress 0.0.0.0" as you suggested to the torrc file and then restarted Tor. I then used port scan on another computer, but the port was showed as closed. – Matthew N Nov 23 '17 at 22:16
  • 1
    I believe what klanomath and the instructions mean is that you need to add a line with the proper IP address of the network interface on the desired network you wish. In other words, open the System / control panel thingie, go to network, pick the appropriate interface, and note i it’s IP address. Edit the torrc file accordingly. Example, if you want all hosts on your wireless to have access, and your wireless interface - usually en1 - has the IP address of 10.10.10.10, then add a line similar to SocksListenAddress 10.10.10.10:9150 – Francis from ResponseBase Nov 24 '17 at 8:17
  • @FrancisfromResponseBase I tried it with a Tor proxy "server" and some proxy "clients" in a (virtual) network and in my opinion it's not working (even after several restarts and reconfigs)... – klanomath Nov 24 '17 at 8:23
  • @FrancisfromResponseBase I also tried it with some other IPs and it still isn't working yet. – Matthew N Dec 7 '17 at 22:15

You must log in to answer this question.

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