Background

Some of my company’s internal services, although domestic, still go through the ClashX proxy. I tried to manually modify the subscribed configuration file, but each time the subscription configuration was automatically updated, my added configurations were overwritten.

To avoid repetitive work, I went through a lot of documentation and finally discovered that ClashX supports ignoring specific HOSTs by creating a proxyIgnoreList.plist file in the configuration directory.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
	<string>192.168.0.0/16</string>
	<string>10.0.0.0/8</string>
	<string>172.16.0.0/12</string>
	<string>127.0.0.1</string>
	<string>10.0.10.0/24</string>
	<string>localhost</string>
	<string>*.local</string>
	<string>*.crashlytics.com</string>
	<string>*.it</string>
</array>
</plist>

This ignore list will be written into the system’s network Bypass proxy settings when ClashX is set as the system proxy, as shown in the following image:

macOS Bypass proxy settings

After setting this up, accessing domains with *.it in the browser will no longer go through the proxy!

I hope this is helpful, Happy hacking…