Misc Options
[General]
ipv6 = false
loglevel = notify
skip-proxy = 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10, localhost, *.local
tun-excluded-routes = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12
tun-included-routes = 192.168.1.12/32
Common Options
Enable full IPv6 support (Default: false)
ipv6 = false
loglevel (Default: notify)
loglevel = notify
One of verbose, info, notify or warning. It's not recommended to enable verbose in daily use because this will slow down the performance significantly.
skip-proxy
skip-proxy = 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10, localhost, *.local
In iOS version, this option forces connections to these domain/IP ranges to be handled by Chute TUN, instead of Chute proxy. In macOS version, these settings will be applied to system when "Set as System Proxy" is enabled. This option is used to fix compatibility problems with some apps.
- To specify a single domain, enter the domain name - for example, apple.com.
- To specify all websites on a domain, use an asterisk before the domain name - for example, *apple.com.
- To specify a specific part of a domain, specify each part - for example, store.apple.com.
- To specify hosts or networks by IP addresses, enter a specific IP address such as 192.168.2.11 or an address range, such as 192.168.2.* or 192.168.2.0/24.
Notice: If you enter an IP address or address range, you will only be able to bypass the proxy when you connect to that host using that address, not when you connect to the host by a domain name that resolves to that address.
Hijack Other DNS Servers
hijack-dns = 8.8.8.8:53
By default, Chute only returns fake IP addresses for DNS queries sent to Chute DNS address (198.18.0.2). Queries which are sent to standard DNS will be simply forwarded.
Some devices or softwares always use a hardcode DNS server. (For example, Google Speakers always use 8.8.8.8). You may use this option to hijack the query to get a fake address.
You may usehijack-dns = *:53to hijack all DNS queries.
Excluded Routes
tun-excluded-routes = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12
Chute VIF can only process TCP and UDP protocols. Use this option to bypass specific IP ranges to allow all traffic to pass through.
Notice: This option only works for Chute VIF. Requests handled by Chute Proxy Server will not be affected. Combine 'skip-proxy' and 'tun-excluded-routes' to make sure that certain HTTP traffic bypasses Chute.
This option might cause a system error ENOMEM (Cannot allocate memory). It seems a bug in iOS system. Please do not use this option if possible.
Included Routes
tun-included-routes = 192.168.1.12/32
By default, Chute VIF interface will declare itself as the default route. But since the Wi-Fi interface has a smaller route. Some traffic may not go through Chute VIF interface. Use this option to add a smaller route.
Protocol Sniffing
sniffing-enabled = true
sniffing-timeout = 100
Chute can detect the actual protocol of a connection by inspecting the initial bytes. This enables rules like PROTOCOL,HTTPS,Proxy to work correctly even for non-HTTP inbound connections.
sniffing-enabled (Default: false)
sniffing-enabled = true
Enable protocol detection for TCP connections.
sniffing-timeout (Default: 100ms)
sniffing-timeout = 200
Maximum time in milliseconds to wait for the initial data to determine the protocol. Increase this value if protocol detection fails on slow connections.
Bypass TUN
bypass-tun = 192.168.0.0/16, 10.0.0.0/8
Similar to skip-proxy, but works at the TUN/VIF routing level. Connections to these IP ranges will bypass the TUN interface entirely and go through the system network stack directly.
Note: This option only works for Chute VIF (Enhanced Mode).
Show Error Page for Reject
show-error-page-for-reject = true
When enabled, Chute returns a user-friendly error page for rejected requests instead of simply dropping the connection.
Optimistic DNS
optimistic-dns = true
When enabled, Chute returns the cached DNS result immediately while refreshing the record in the background. This reduces connection latency at the cost of possibly returning stale DNS records.
Allow Wi-Fi Access
allow-wifi-access = true
When enabled in a cellular/metered context, Chute will continue to function over Wi-Fi connections. This is macOS-specific.