Kameleo with Proxies on macOS

  • Created

Using Proxies with Kameleo on macOS

We've seen many customers struggle with getting Kameleo to work properly behind corporate proxies, especially on macOS. This guide will help you configure both the CLI and GUI versions without disrupting your other applications.

The Proxy Challenge

If you're trying to use Kameleo in an environment where direct internet access is restricted, you'll likely face these issues:

  1. The CLI and GUI handle proxies differently
  2. Setting macOS system-wide proxies affects all your other apps (not ideal!)
  3. Getting the syntax right for authenticated proxies can be tricky

We've just recently had a customer who faced these exact problems, and here's what worked:

Basic Proxy Configuration

The Kameleo CLI makes this fairly straightforward. You can pass proxy parameters directly in the command:

/Applications/Kameleo.app/Contents/Resources/CLI/Kameleo.CLI email=EMAIL password=PASSWORD httpProxy=http://proxy:port httpsProxy=http://proxy:port socksProxy=socks5://proxy:port

If your proxy requires authentication (as most corporate ones do), use this format instead:

/Applications/Kameleo.app/Contents/Resources/CLI/Kameleo.CLI email=EMAIL password=PASSWORD httpProxy=http://username:password@proxy:port httpsProxy=http://username:password@proxy:port

We found that specifying both httpProxy and httpsProxy works best, even if they point to the same server.

The GUI Solution

Here is what we've also discovered, and it's quite interesting:

  • The GUI ignores environment variables like HTTP_PROXY set in Terminal
  • By default, it only uses the system-wide proxy settings (which affects all apps)

You can launch the GUI with specific proxy settings using the macOS open command:

open /Applications/Kameleo.app --args "httpProxy=http://proxy:port httpsProxy=http://proxy:port socksProxy=socks5h://proxy:port"

For authenticated proxies:

open /Applications/Kameleo.app --args "httpProxy=http://username:password@proxy:port httpsProxy=http://username:password@proxy:port"

Troubleshooting Tips

Enable Detailed Logging

When things aren't working, verbose logging can save hours of frustration:

# For CLI
/Applications/Kameleo.app/Contents/Resources/CLI/Kameleo.CLI email=EMAIL password=PASSWORD httpProxy=http://proxy:port verbose=2

# For GUI
open /Applications/Kameleo.app --args "httpProxy=http://proxy:port verbose=2"

By default the value is set to h verbose=1, yet we do recommend changing it to verbose=2, but you can try these other levels:

  • 0: Minimal logging (the default)
  • 1: Basic info - not usually detailed enough for proxy issues
  • 2: Detailed logs - my go-to setting for troubleshooting
  • 3: Everything including network traffic - use when you're really stuck

Understanding How Traffic Flows

Kameleo handles proxies at two different levels:

  1. The command-line/launch arguments proxies are only used for Kameleo to communicate with its licensing servers
  2. The proxies you configure inside each profile control where the actual browser traffic goes

This distinction is crucial - you might need different proxies for each!

For Windows Users

If you're on Windows, the equivalent commands are:

"C:\Users\{username}\AppData\Local\Programs\Kameleo\Kameleo.CLI.exe" email=EMAIL password=PASSWORD httpProxy=http://username:password@proxy:port httpsProxy=http://username:password@proxy:port

Or with PowerShell:

Start-Process -FilePath "C:\Users\{username}\AppData\Local\Programs\Kameleo\Kameleo.CLI.exe" -ArgumentList "email=EMAIL password=PASSWORD httpProxy=http://username:password@proxy:port httpsProxy=http://username:password@proxy:port"

The Windows version seems to handle proxies more consistently in my testing, but these commands should work in either case.

Need More Help?

Was this article helpful?

0 out of 0 found this helpful