可以参考 Charles 官方的解释:
使用以下的 PAC 地址进行自动代理配置:
https://chls.pro/X.X.X.X:XXXX.socks.pac
注意:iPhone 不支持 socks5,这一点非常重要。
以下代码示例用于获取 PAC JavaScript 文件:
<?php
$proxy = isset($_GET['ip']) && $_GET['ip'] != '' ? trim($_GET['ip']) : '';
//file_put_contents('/tmp/1.log', $proxy);
$ip_port = explode(":", $proxy);
if(count($ip_port) > 1){
$ip_arr = explode(".", $ip_port[0]);
}else{
$ip_arr = explode(".", $proxy);
}
if(count($ip_arr) == 4){
$index = $ip_arr[3] % 40;
}else{
$index = rand(0, 40);
}
#$index = 100 + $index;
#$proxy = "192.168.144.{$index}:28888";
?>
function FindProxyForURL(url, host)
{
if (isInNet(host, "192.168.0.0", "255.255.0.0") || isInNet(host, "127.0.0.0", "255.0.0.0") || (shExpMatch(host, "*.lakatv.com")) || (shExpMatch(host, "*.yundama.com")) || (shExpMatch(host, "ipserver.lakatv.com")) || (shExpMatch(host, "upload.chaojiying.net")) )
return "DIRECT";
<?php
if ($proxy != ''){
//echo "return 'PROXY {$proxy}; DIRECT';";
echo "return 'PROXY {$proxy}; DIRECT';";
}else{
echo 'return "DIRECT";';
}
echo "\r\n";
?>
}