ProxymanApp / Proxyman

Modern. Native. Delightful Web Debugging Proxy for macOS, iOS, and Android ⚡️
https://proxyman.io
5.6k stars 188 forks source link

Can't disable proxy #211

Open iandundas opened 5 years ago

iandundas commented 5 years ago

Proxyman version? (Ex. Proxyman 1.4.3)

1.4.4.1 (Setapp)

macOS Version? (Ex. mac 10.14)

10.14.6 (beta)

Problem: Proxyman is permanently enabled for my vpn connection. I have to keep Proxyman open in order to use the web. Quitting or force-quitting Proxyman does not remove the proxy settings, and unfortunately in MacOS (at least for the VPN I use, not sure it's for all) you can't change the Proxy settings in Network.prefpane, - there's no way to get to those settings.

System Preferences 2019-07-09 at 09 49 51@2x

I looked into changing it at the CLI, here's how the settings stand currently for that interface:

networksetup -getinfo "VPN VA Amsterdam"
IPv6: Automatic
IPv6 IP address: none
IPv6 Router: none
networksetup -getwebproxy "VPN VA Amsterdam"
Enabled: No
Server: off
Port: 0
Authenticated Proxy Enabled: 0
networksetup -getsocksfirewallproxy "VPN VA Amsterdam"
Enabled: No
Server:
Port: 0
Authenticated Proxy Enabled: 0

which looks like it's all disabled, but still I must have Proxyman open to access the web.

Please could you point me in the right direction? 👍🏻

iandundas commented 5 years ago

Note: for the other network services in the screenshot I can use the web without Proxyman being open

NghiaTranUIT commented 5 years ago

Hey @iandundas, thank for the report.

That's strange that Proxyman doesn't revert the Proxy in VPN.

Can you run this networksetup -getsecurewebproxy "VPN VA Amsterdam" whether it's on or off.

In bad scenario, you could try remove VPN and re-add it later and I will check this bug on my machine.

iandundas commented 5 years ago

Ahh, another flag that I didn't try 👀

networksetup -getsecurewebproxy "VPN VA Amsterdam"
Enabled: Yes
Server: 127.0.0.1
Port: 9090
Authenticated Proxy Enabled: 0

followed by: networksetup -setsecurewebproxystate "VPN VA Amsterdam" off

and again:

networksetup -getsecurewebproxy "VPN VA Amsterdam"
Enabled: No
Server: off
Port: 0
Authenticated Proxy Enabled: 0

But unfortunately I still can't access the web.

Dump of all states I can think of: networksetup -getsecurewebproxy "VPN VA Amsterdam" && echo "\n\n" && networksetup -getsocksfirewallproxy "VPN VA Amsterdam" && echo "\n\n" && networksetup -getwebproxy "VPN VA Amsterdam" && echo "\n\n" && networksetup -getinfo "VPN VA Amsterdam" && echo "\n\n" && networksetup -getproxyautodiscovery "VPN VA Amsterdam"

Enabled: No
Server: off
Port: 0
Authenticated Proxy Enabled: 0

Enabled: No
Server:
Port: 0
Authenticated Proxy Enabled: 0

Enabled: No
Server: off
Port: 0
Authenticated Proxy Enabled: 0

IPv6: Automatic
IPv6 IP address: none
IPv6 Router: none

Auto Proxy Discovery: Off

And for "Ethernet":

Enabled: No
Server: 127.0.0.1
Port: 9090
Authenticated Proxy Enabled: 0

Enabled: No
Server:
Port: 0
Authenticated Proxy Enabled: 0

Enabled: No
Server: 127.0.0.1
Port: 9090
Authenticated Proxy Enabled: 0

Manually Using DHCP Router Configuration
IP address: 192.168.192.31
Subnet mask: 255.255.255.0
Router: 192.168.192.1
IPv6: Automatic
IPv6 IP address: none
IPv6 Router: none
Ethernet Address: a8:60:b6:39:0e:96

Auto Proxy Discovery: Off
NghiaTranUIT commented 5 years ago

Thank for detail reports!

I'm not sure why your VPN couldn't connect the Internet even all configs are off. (Proxyman only overrides HTTP & HTTPS config, and from what I see, they're off).

Here is few solution we can by-pass this issue:

  1. If you've installed the Proxy helper Tool in Proxyman -> Preference... -> Advanced => Please Uninstall it. It means that Proxyman will use networksetup to override the proxy => Could fix this bug
  2. If you haven't installed -> Try installing Proxy Tool and hope it works 🥺
  3. Reset Proxy config at: Help menu -> Reset -> Revert Proxy Config
  4. Bad case: Re-install VPN config in Network.

P/S: I'm in macOS 10.14.5 and I'm able to see the Advance button in Network.prefpane with VPN config. Not sure the 10.14.6 beta doesn't have it.

iandundas commented 5 years ago

P/S: I'm in macOS 10.14.5 and I'm able to see the Advance button in Network.prefpane with VPN config. Not sure the 10.14.6 beta doesn't have it.

Maybe it's disabled by my specific corporate VPN, because for another VPN (ExpressVPN) it is still enabled

Thanks for the super fast replies :)

NghiaTranUIT commented 5 years ago

Thank you for decent bug report. I will check it today 👍

iandundas commented 5 years ago

Tried the suggestions above, they didn't work immediately, but doing step #4 (delete & re-add) means it now works. Which is strange, because I already tried that yesterday and it didn't work then. But anyway, sorted now 👌🏻 not sure what the cause was though!

iandundas commented 5 years ago

FYI this is the corporate VPN I have to use: https://apps.apple.com/us/app/sonicwall-mobile-connect/id822514576?mt=12 (2 stars ;))

rakheshster commented 5 years ago

Thanks @iandundas for reporting this and for the networksetup commands (macOS newbie here, wasn't aware of this). I use WireGuard for VPN and came across the same issue when I tried out Proxyman today. After stopping Proxyman my Internet stopped working over VPN unless the app was on and proxying active. I am using the official WireGuard client.

For anyone else encountering this I was able to reset my VPN proxy config via the following commands (my VPN entries start with the words vpnac or mullvad, so I filter on them and disable proxy and remove the localhost proxy entry, for both secure and regular).

for vpn in `networksetup -listallnetworkservices | grep -E 'vpnac|mullvad'`; do 
    networksetup -setsecurewebproxy $vpn "" "" 
    networksetup -setsecurewebproxystate $vpn off
    networksetup -setwebproxy $vpn "" "" 
    networksetup -setwebproxystate $vpn off
done

Before running these commands this is how an example entry looked like with even with the proxy helper uninstalled:

$ networksetup -getwebproxy "mullvad-us15"
Enabled: Yes
Server: 127.0.0.1
Port: 9090
Authenticated Proxy Enabled: 0

Afterwards:

$ networksetup -getwebproxy "mullvad-us15"
Enabled: No
Server: 
Port: 0
Authenticated Proxy Enabled: 0
NghiaTranUIT commented 5 years ago

Huge credit for @rakheshster, it's valuable insight for me, and Good news that I'm able to reproduce it 🎉

I'm fixing it and send you a hot-fix build today 👍

NghiaTranUIT commented 5 years ago

I've fixed this issue in this Hotfix Proxyman 1.4.5.51 (https://www.dropbox.com/s/3k3z60mv4f5fjhk/Proxyman_1.4.5.1.dmg?dl=0)

Technically, at the first launch, networksetup will override all network devices (including VPN). However, after installing the Helper Tool, it doesn't revert the VPN, which is a bug 🐞

This fix including new version of Helper Tool 1.0.1. It will override/revert all available network devices.

Screen Shot 2019-07-17 at 12 25 45

Let give it a try @rakheshster @iandundas, if it works, I will officially roll out it in next version 🎉

JonathanEsposito commented 3 years ago

Hmm.. I seem to have a similar issue with proxyman v2.13.0 (helpertool v1.2.0) in combination with Cisco AnyConnect Secure Mobility Client.. When the Cisco vpn is disabled, opening and closing proxyman doesn't interrupt my internet connection, but when I enable the Cisco vpn and close proxyman, browsers and services (like dropbox or adobe creative cloud, etc..) are not able to reach the internet anymore.. pinging in terminal still seems to work though.. :s As soon as I disconnect the Cisco vpn, everything works again. When I connect it again, everything keeps working.. Not sure if it is fixable, but it took me a bit to figure it out

NghiaTranUIT commented 3 years ago

Thanks for the input @JonathanEsposito

Basically, when you open Proxyman, Proxyman will try to override the system HTTP Proxy in Network.prefpane -> Wifi -> Advanced -> Proxies Tab to 127.0.0.1 at port 9090, where is a local proxy Proxyman server.

When Proxyman is closed, it will revert the change.

... but when I enable the Cisco vpn and close proxyman, browsers and services (like dropbox or adobe creative cloud, etc..) are not able to reach the internet anymore.

@JonathanEsposito When it happens, can you check the Proxies Tab, let see if the HTTP/HTTPS proxy is OFF or not?

Screen Shot 2020-11-25 at 19 11 50
JonathanEsposito commented 3 years ago

Hi @NghiaTranUIT, thanks for the quick feedback! It seems the proxy is correctly disabled:

Screenshot 2020-11-25 at 13 21 55

(Note how dropbox is greyed out, indicating it is unable to connect to its backend..)

NghiaTranUIT commented 3 years ago

so Proxyman is working properly. All setting is reverted when Proxyman is closed.

Your problem might cause by Cisco VPN I believe 👀 😄

NghiaTranUIT commented 3 years ago

I will keep an eye on this issue, Proxyman and Cisco VPN, let see if we have any workaround to fix it 👍

JonathanEsposito commented 3 years ago

I compared with Charles proxy and it has the same issue so it could very well be a Cisco issue 😅 Thanks for looking into it! 🤗

NghiaTranUIT commented 3 years ago

Glad to know that it's not the bug from Proxyman 😄

srinivas-m-a commented 3 years ago

Hi @NghiaTranUIT I started using ProxyMan yesterday. It is a very nice and easy helpful tool. Thank you. I am on macOS BigSur Version 11.4 (20F71). We use this VPN https://www.paloaltonetworks.com/products/globalprotect I still see the issue with this VPN. For now I can keep the App open, when being on VPN. But would like to know, what is the safe set of steps, I can do to access internet without the ProxyMan App needing to be running all the time.

NghiaTranUIT commented 3 years ago

Hi @srebalaji, unfortunately, there are no reliable steps to make Proxyman work with VPN apps like GlobalProject. Each VPN apps has different steps to make it works, or it doesn't work at all.

In general, if you could find a HTTP/HTTPS Proxy Config in GlobalProtect's Preference, you can override it to 127.0.0.1 port 9090. It might work 👍

I also collect these VPN issues and how to fix them (for certain VPN apps) at https://docs.proxyman.io/troubleshooting/proxyman-does-not-work-with-vpn-apps. Please check it out 😄

lordcheeto commented 1 month ago

I had a similar issue with GlobalProtect. I was able to close out of Proxyman, and then disconnect from the VPN and reconnect with it no longer trying to go through the proxy.