pac
This commit is contained in:
399
default.js
Normal file
399
default.js
Normal file
@@ -0,0 +1,399 @@
|
||||
// ============================================================
|
||||
// PROXY CONFIGURATION
|
||||
// ============================================================
|
||||
|
||||
var PROXY = "SOCKS5 127.0.0.1:1080";
|
||||
var DIRECT = "DIRECT";
|
||||
|
||||
|
||||
// ============================================================
|
||||
// GOOGLE
|
||||
// ============================================================
|
||||
|
||||
var googleDomains = [
|
||||
// Main
|
||||
"google.com",
|
||||
"google.net",
|
||||
"google.org",
|
||||
"googleapis.com",
|
||||
"googleusercontent.com",
|
||||
"gstatic.com",
|
||||
"googlemail.com",
|
||||
"gmail.com",
|
||||
"googleapps.com",
|
||||
"googledrive.com",
|
||||
"googlephotos.com",
|
||||
"googlemaps.com",
|
||||
"googlestore.com",
|
||||
"googleearth.com",
|
||||
"googlesource.com",
|
||||
"withgoogle.com",
|
||||
"thinkwithgoogle.com",
|
||||
|
||||
// Services / short links
|
||||
"g.co",
|
||||
"goo.gl",
|
||||
"g.page",
|
||||
"g.dev",
|
||||
"web.app",
|
||||
"appspot.com",
|
||||
"run.app",
|
||||
"cloudfunctions.net",
|
||||
"firebaseapp.com",
|
||||
"firebaseio.com",
|
||||
|
||||
// CDN / infrastructure
|
||||
"gvt0.com",
|
||||
"gvt1.com",
|
||||
"gvt2.com",
|
||||
"gvt3.com",
|
||||
"gvt5.com",
|
||||
"gvt6.com",
|
||||
"gvt7.com",
|
||||
"gvt9.com",
|
||||
"ggpht.com",
|
||||
"1e100.net",
|
||||
|
||||
// CAPTCHA
|
||||
"recaptcha.net",
|
||||
|
||||
// Ads / analytics
|
||||
"doubleclick.net",
|
||||
"doubleclick.com",
|
||||
"googleadservices.com",
|
||||
"googlesyndication.com",
|
||||
"googletagmanager.com",
|
||||
"googletagservices.com",
|
||||
"google-analytics.com",
|
||||
"googleanalytics.com",
|
||||
"googleads.com",
|
||||
"googlevads.com",
|
||||
"2mdn.net"
|
||||
];
|
||||
|
||||
|
||||
// ============================================================
|
||||
// YOUTUBE
|
||||
// ============================================================
|
||||
|
||||
var youtubeDomains = [
|
||||
// Main
|
||||
"youtube.com",
|
||||
"youtu.be",
|
||||
"youtube-nocookie.com",
|
||||
|
||||
// Video / CDN / images
|
||||
"googlevideo.com",
|
||||
"ytimg.com",
|
||||
"ggpht.com",
|
||||
|
||||
// APIs
|
||||
"youtube.googleapis.com",
|
||||
"youtubei.googleapis.com",
|
||||
"youtubeembeddedplayer.googleapis.com",
|
||||
|
||||
// Additional
|
||||
"withyoutube.com",
|
||||
"youtubeeducation.com",
|
||||
"youtubefanfest.com",
|
||||
"youtubegaming.com",
|
||||
"youtubekids.com",
|
||||
"youtubemobilesupport.com",
|
||||
"youtube.tv",
|
||||
"youtube.soy",
|
||||
"yt.be",
|
||||
|
||||
// Regional
|
||||
"youtube.ae",
|
||||
"youtube.al",
|
||||
"youtube.am",
|
||||
"youtube.at",
|
||||
"youtube.az",
|
||||
"youtube.ba",
|
||||
"youtube.be",
|
||||
"youtube.bg",
|
||||
"youtube.bh",
|
||||
"youtube.bo",
|
||||
"youtube.by",
|
||||
"youtube.ca",
|
||||
"youtube.cat",
|
||||
"youtube.ch",
|
||||
"youtube.cl",
|
||||
"youtube.co",
|
||||
|
||||
"youtube.co.ae",
|
||||
"youtube.co.at",
|
||||
"youtube.co.cr",
|
||||
"youtube.co.hu",
|
||||
"youtube.co.id",
|
||||
"youtube.co.il",
|
||||
"youtube.co.in",
|
||||
"youtube.co.jp",
|
||||
"youtube.co.ke",
|
||||
"youtube.co.kr",
|
||||
"youtube.co.ma",
|
||||
"youtube.co.nz",
|
||||
"youtube.co.th",
|
||||
"youtube.co.tz",
|
||||
"youtube.co.ug",
|
||||
"youtube.co.uk",
|
||||
"youtube.co.ve",
|
||||
"youtube.co.za",
|
||||
"youtube.co.zw",
|
||||
|
||||
"youtube.com.ar",
|
||||
"youtube.com.au",
|
||||
"youtube.com.az",
|
||||
"youtube.com.bd",
|
||||
"youtube.com.bh",
|
||||
"youtube.com.bo",
|
||||
"youtube.com.br",
|
||||
"youtube.com.by",
|
||||
"youtube.com.co",
|
||||
"youtube.com.do",
|
||||
"youtube.com.ec",
|
||||
"youtube.com.ee",
|
||||
"youtube.com.eg",
|
||||
"youtube.com.es",
|
||||
"youtube.com.gh",
|
||||
"youtube.com.gr",
|
||||
"youtube.com.gt",
|
||||
"youtube.com.hk",
|
||||
"youtube.com.hn",
|
||||
"youtube.com.hr",
|
||||
"youtube.com.jm",
|
||||
"youtube.com.jo",
|
||||
"youtube.com.kw",
|
||||
"youtube.com.lb",
|
||||
"youtube.com.lv",
|
||||
"youtube.com.ly",
|
||||
"youtube.com.mk",
|
||||
"youtube.com.mt",
|
||||
"youtube.com.mx",
|
||||
"youtube.com.my",
|
||||
"youtube.com.ng",
|
||||
"youtube.com.ni",
|
||||
"youtube.com.om",
|
||||
"youtube.com.pa",
|
||||
"youtube.com.pe",
|
||||
"youtube.com.ph",
|
||||
"youtube.com.pk",
|
||||
"youtube.com.pt",
|
||||
"youtube.com.py",
|
||||
"youtube.com.qa",
|
||||
"youtube.com.ro",
|
||||
"youtube.com.sa",
|
||||
"youtube.com.sg",
|
||||
"youtube.com.sv",
|
||||
"youtube.com.tn",
|
||||
"youtube.com.tr",
|
||||
"youtube.com.tw",
|
||||
"youtube.com.ua",
|
||||
"youtube.com.uy",
|
||||
"youtube.com.ve",
|
||||
|
||||
"youtube.cr",
|
||||
"youtube.cz",
|
||||
"youtube.de",
|
||||
"youtube.dk",
|
||||
"youtube.ee",
|
||||
"youtube.es",
|
||||
"youtube.fi",
|
||||
"youtube.fr",
|
||||
"youtube.ge",
|
||||
"youtube.gr",
|
||||
"youtube.gt",
|
||||
"youtube.hk",
|
||||
"youtube.hr",
|
||||
"youtube.hu",
|
||||
"youtube.ie",
|
||||
"youtube.in",
|
||||
"youtube.iq",
|
||||
"youtube.is",
|
||||
"youtube.it",
|
||||
"youtube.jo",
|
||||
"youtube.jp",
|
||||
"youtube.kr",
|
||||
"youtube.kz",
|
||||
"youtube.la",
|
||||
"youtube.lk",
|
||||
"youtube.lt",
|
||||
"youtube.lu",
|
||||
"youtube.lv",
|
||||
"youtube.ly",
|
||||
"youtube.ma",
|
||||
"youtube.md",
|
||||
"youtube.me",
|
||||
"youtube.mk",
|
||||
"youtube.mn",
|
||||
"youtube.mx",
|
||||
"youtube.my",
|
||||
"youtube.ng",
|
||||
"youtube.ni",
|
||||
"youtube.nl",
|
||||
"youtube.no",
|
||||
"youtube.pa",
|
||||
"youtube.pe",
|
||||
"youtube.ph",
|
||||
"youtube.pk",
|
||||
"youtube.pl",
|
||||
"youtube.pr",
|
||||
"youtube.pt",
|
||||
"youtube.qa",
|
||||
"youtube.ro",
|
||||
"youtube.rs",
|
||||
"youtube.ru",
|
||||
"youtube.sa",
|
||||
"youtube.se",
|
||||
"youtube.sg",
|
||||
"youtube.si",
|
||||
"youtube.sk",
|
||||
"youtube.sn",
|
||||
"youtube.sv",
|
||||
"youtube.tn",
|
||||
"youtube.ua",
|
||||
"youtube.ug",
|
||||
"youtube.uy",
|
||||
"youtube.vn"
|
||||
];
|
||||
|
||||
|
||||
// ============================================================
|
||||
// OPENAI / CHATGPT
|
||||
// ============================================================
|
||||
|
||||
var openaiDomains = [
|
||||
// Main
|
||||
"openai.com",
|
||||
"chatgpt.com",
|
||||
"chat.com",
|
||||
"sora.com",
|
||||
"crixet.com",
|
||||
|
||||
// Static / uploads / content
|
||||
"oaistatic.com",
|
||||
"oaiusercontent.com",
|
||||
"oaistatsig.com",
|
||||
"openaimerge.com",
|
||||
|
||||
// CDN / storage
|
||||
"openai.com.cdn.cloudflare.net",
|
||||
"openaiapi-site.azureedge.net",
|
||||
"openaicom-api-bdcpf8c6d2e9atf6.z01.azurefd.net",
|
||||
"openaicom.imgix.net",
|
||||
"openaicomproductionae4b.blob.core.windows.net",
|
||||
"production-openaicom-storage.azureedge.net",
|
||||
|
||||
// Voice / realtime
|
||||
"chatgpt.livekit.cloud",
|
||||
"host.livekit.cloud",
|
||||
"turn.livekit.cloud",
|
||||
|
||||
// Authentication / supporting services
|
||||
// Note: some of these are shared by other websites.
|
||||
"challenges.cloudflare.com",
|
||||
"workos.com",
|
||||
"workoscdn.com",
|
||||
"workos.imgix.net",
|
||||
"intercom.io",
|
||||
"intercomcdn.com",
|
||||
"ct.sendgrid.net"
|
||||
];
|
||||
|
||||
|
||||
// ============================================================
|
||||
// SPOTIFY
|
||||
// ============================================================
|
||||
|
||||
var spotifyDomains = [
|
||||
// Main
|
||||
"spotify.com",
|
||||
"spotifycdn.com",
|
||||
"spotifycdn.net",
|
||||
"scdn.co",
|
||||
"pscdn.co",
|
||||
|
||||
// Links
|
||||
"spoti.fi",
|
||||
"spotify.link",
|
||||
"byspotify.com",
|
||||
"tospotify.com",
|
||||
|
||||
// Services
|
||||
"spotify-everywhere.com",
|
||||
"spotify.design",
|
||||
"spotifycharts.com",
|
||||
"spotifycodes.com",
|
||||
"spotifyforbrands.com",
|
||||
"spotifyforvendors.com",
|
||||
"spotifyjobs.com",
|
||||
"lifeatspotify.com",
|
||||
|
||||
// Audio / CDN
|
||||
"audio-ak-spotify-com.akamaized.net",
|
||||
"audio4-ak-spotify-com.akamaized.net",
|
||||
"heads-ak-spotify-com.akamaized.net",
|
||||
"heads4-ak-spotify-com.akamaized.net",
|
||||
|
||||
"spotify.com.edgesuite.net",
|
||||
"spotify.map.fastly.net",
|
||||
"spotify.map.fastlylb.net",
|
||||
|
||||
// Experiments / telemetry
|
||||
"cdn-spotify-experiments.conductrics.com",
|
||||
"adeventtracker.spotify.com",
|
||||
"adstudio-assets.scdn.co",
|
||||
"bloodhound.spotify.com"
|
||||
];
|
||||
|
||||
|
||||
// ============================================================
|
||||
// DOMAIN MATCHING
|
||||
// ============================================================
|
||||
|
||||
// Matches:
|
||||
// spotify.com
|
||||
// open.spotify.com
|
||||
// accounts.spotify.com
|
||||
// foo.bar.spotify.com
|
||||
//
|
||||
// Does NOT match:
|
||||
// notspotify.com
|
||||
// spotify.com.example.org
|
||||
|
||||
function domainMatches(host, domain) {
|
||||
return host === domain ||
|
||||
(host.length > domain.length &&
|
||||
host.substring(host.length - domain.length - 1) === "." + domain);
|
||||
}
|
||||
|
||||
|
||||
function matchesAnyDomain(host, domains) {
|
||||
for (var i = 0; i < domains.length; i++) {
|
||||
if (domainMatches(host, domains[i])) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// ============================================================
|
||||
// PAC ENTRY POINT
|
||||
// ============================================================
|
||||
|
||||
function FindProxyForURL(url, host) {
|
||||
host = host.toLowerCase();
|
||||
|
||||
if (
|
||||
matchesAnyDomain(host, googleDomains) ||
|
||||
matchesAnyDomain(host, youtubeDomains) ||
|
||||
matchesAnyDomain(host, openaiDomains) ||
|
||||
matchesAnyDomain(host, spotifyDomains)
|
||||
) {
|
||||
return PROXY;
|
||||
}
|
||||
|
||||
return DIRECT;
|
||||
}
|
||||
Reference in New Issue
Block a user