proxy.pac - Lafeng/deblocus GitHub Wiki

// Your deblocus client listen address
var myProxy = 'SOCKS5 127.0.0.1:9009; SOCKS 127.0.0.1:9009; PROXY 127.0.0.1:9009';

// domain=1 for proxy
// domain=0 for direct
var domains = {
    'android.com' : 1,
    'appspot.com' : 1,
    'blogspot.com' : 1,
    'chrome.com' : 1,
    'chromium.org' : 1,
    'ggpht.com' : 1,
    'gmail.com' : 1,
    'golang.org' : 1,
    'googleapis.com' : 1,
    'fonts.googleapis.com' : 0,
    'googlecode.com' : 1,
    'google.com' : 1,
    'googleblog.com' : 1,
    'googlegroups.com' : 1,
    'googlesource.com' : 1,
    'googleusercontent.com' : 1,
    'googlevideo.com' : 1,
    'gstatic.com' : 1,
    'fonts.gstatic.com' : 0,
    'gvt1.com' : 1,
    'youtube.com' : 1,
    'youtu.be' : 1,
    'youtube-nocookie.com' : 1,
    'ytimg.com' : 1,
    'goo.gl' : 1,
    'g.co' : 1,
    'twitter.com' : 1,
    'twimg.com' : 1,
    't.co' : 1,
    'facebook.com' : 1,
    'fbcdn.net' : 1,
    'fb.me' : 1,
    'dropbox.com' : 1,
    's3.amazonaws.com' : 1,
    'sourceforge.net' : 1,
    'fsdn.com' : 1,
};

function FindProxyForURL(url, host) {
    if (domains.hasOwnProperty(host)) {
        return domains[host] ? myProxy : 'DIRECT';
    }
    var suffix;
    for (var pos = host.indexOf('.') + 1; pos; pos = host.indexOf('.', pos) + 1) {
        suffix = host.substring(pos);
        if (domains.hasOwnProperty(suffix)) {
            return domains[suffix] ? myProxy : 'DIRECT';
        }
    }
    return 'DIRECT';
}