function FindProxyForURL(url, host) { var strClientIP = myIPAddress(); // if (strClientIP == "10.5.5.100"){ ...} var ibsrcip = "71.30.34.212"; var ibcountry = "US"; // (41.372192,-82.1087)"; // Version stamp pacver = "Rushworth PAC v1.4, February 01, 2022"; // Convert everything to lower case. var strLCHost = host.toLowerCase(); var resolve_ip = dnsResolve(strLCHost); if (shExpMatch(url,"*.rushworth.us") || dnsDomainIs(strLCHost,"rushworth.us")){ return "DIRECT"; } // Microsoft Tenant Restrictions Support if (shExpMatch(strLCHost, "login.microsoftonline.com") || shExpMatch(strLCHost, "login.microsoft.com") || shExpMatch(strLCHost, "login.live.com") || shExpMatch(strLCHost, "login.windows.net")) { return "DIRECT"; } /* */ if ((shExpMatch(strLCHost, "pearsonconnexus.com") || shExpMatch(strLCHost, "*.pearsonconnexus.com")) || (shExpMatch(strLCHost, "connexus.com") || shExpMatch(strLCHost, "*.connexus.com")) || (shExpMatch(strLCHost, "connectionsacademy.com") || shExpMatch(strLCHost, "*.connectionsacademy.com")) || (shExpMatch(strLCHost, "connectionsacademy.org") || shExpMatch(strLCHost, "*.connectionsacademy.org")) || (shExpMatch(strLCHost, "connectionseducation.com") || shExpMatch(strLCHost, "*.connectionseducation.com")) || (shExpMatch(strLCHost, "namequery.com") || shExpMatch(strLCHost, "*.namequery.com")) || (shExpMatch(strLCHost, "absolute.com") || shExpMatch(strLCHost, "*.absolute.com")) || (shExpMatch(strLCHost, "ww1.livelesson.com") || shExpMatch(strLCHost, "*.ww1.livelesson.com")) || (shExpMatch(strLCHost, "ww2.livelesson.com") || shExpMatch(strLCHost, "*.ww2.livelesson.com")) || (shExpMatch(strLCHost, "ww3.livelesson.com") || shExpMatch(strLCHost, "*.ww3.livelesson.com")) || (shExpMatch(strLCHost, "ww4.livelesson.com") || shExpMatch(strLCHost, "*.ww4.livelesson.com"))) { return "DIRECT"; } /* */ if (shExpMatch(strLCHost, "209.53.113.223") || shExpMatch(strLCHost, "209.53.113.23") || shExpMatch(strLCHost, "209.53.113.225")) { return "DIRECT"; } /* */ /* Microsoft Domains */ if(shExpMatch(strLCHost, "*download.microsoft.com") || shExpMatch(strLCHost, "*ntservicepack.microsoft.com") || shExpMatch(strLCHost, "*windowsupdate.microsoft.com") || shExpMatch(strLCHost, "*update.microsoft.com") || shExpMatch(strLCHost, "*cdm.microsoft.com") || shExpMatch(strLCHost, "*wustat.windows.com") || shExpMatch(strLCHost, "*login.microsoftonline.com") || shExpMatch(strLCHost, "*.windowsupdate.com") || shExpMatch(strLCHost, "*windowsupdate.microsoft.com") || shExpMatch(strLCHost, "*mp.microsoft.com") || shExpMatch(strLCHost, "*api.cortana.ai") ){ return"DIRECT"; } /* */ if (shExpMatch(strLCHost, "unity3d.com") || shExpMatch(strLCHost, "*.unity3d.com")) { return "DIRECT"; } /* */ if (shExpMatch(strLCHost, "unity.com") || shExpMatch(strLCHost, "*.unity.com")) { return "DIRECT"; } /* Site for MEM */ if ((shExpMatch(strLCHost, "login.microsoftonline.com") || shExpMatch(strLCHost, "*.login.microsoftonline.com")) || (shExpMatch(strLCHost, "*.officeconfig.msocdn.com") || shExpMatch(strLCHost, "*.*.officeconfig.msocdn.com")) || (shExpMatch(strLCHost, "config.office.com") || shExpMatch(strLCHost, "*.config.office.com")) || (shExpMatch(strLCHost, "graph.windows.net") || shExpMatch(strLCHost, "*.graph.windows.net")) || (shExpMatch(strLCHost, "enterpriseregistration.windows.net") || shExpMatch(strLCHost, "*.enterpriseregistration.windows.net")) || (shExpMatch(strLCHost, "portal.manage.microsoft.com") || shExpMatch(strLCHost, "*.portal.manage.microsoft.com")) || (shExpMatch(strLCHost, "m.manage.microsoft.com") || shExpMatch(strLCHost, "*.m.manage.microsoft.com")) || (shExpMatch(strLCHost, "fef.msuc03.manage.microsoft.com") || shExpMatch(strLCHost, "*.fef.msuc03.manage.microsoft.com")) || (shExpMatch(strLCHost, "wip.mam.manage.microsoft.com") || shExpMatch(strLCHost, "*.wip.mam.manage.microsoft.com")) || (shExpMatch(strLCHost, "mam.manage.microsoft.com") || shExpMatch(strLCHost, "*.mam.manage.microsoft.com")) || (shExpMatch(strLCHost, "*.manage.microsoft.com") || shExpMatch(strLCHost, "*.*.manage.microsoft.com"))) { return "DIRECT"; } /* LiveLesson */ if ((shExpMatch(strLCHost, "ue1prdo01.livelesson.com") || shExpMatch(strLCHost, "*.ue1prdo01.livelesson.com")) || (shExpMatch(strLCHost, "ue1prdo02.livelesson.com") || shExpMatch(strLCHost, "*.ue1prdo02.livelesson.com")) || (shExpMatch(strLCHost, "ue1prod03.livelesson.com") || shExpMatch(strLCHost, "*.ue1prod03.livelesson.com")) || (shExpMatch(strLCHost, "ue2prod01.livelesson.com") || shExpMatch(strLCHost, "*.ue2prod01.livelesson.com")) || (shExpMatch(strLCHost, "uw2prod01.livelesson.com") || shExpMatch(strLCHost, "*.uw2prod01.livelesson.com")) || (shExpMatch(strLCHost, "test.connectionslivelesson.com") || shExpMatch(strLCHost, "*.test.connectionslivelesson.com")) || (shExpMatch(strLCHost, "ue2test.connectionslivelesson.com") || shExpMatch(strLCHost, "*.ue2test.connectionslivelesson.com")) || (shExpMatch(strLCHost, "uw2test.connectionslivelesson.com") || shExpMatch(strLCHost, "*.uw2test.connectionslivelesson.com"))) { return "DIRECT"; } // ZTNA Routing // Bypass iboss Domains if (shExpMatch(strLCHost, "iboss.com") || shExpMatch(strLCHost, "ibosscloud.com") || shExpMatch(strLCHost, "*.iboss.com") || shExpMatch(strLCHost, "*.ibosscloud.com") || shExpMatch(strLCHost, "msftncsi.com") || shExpMatch(strLCHost, "*.msftncsi.com")) { return "DIRECT"; } // Bypass Meeting Apps if ((shExpMatch(strLCHost, "webex.com") || shExpMatch(strLCHost, "*.webex.com")) || (shExpMatch(strLCHost, "skype.com") || shExpMatch(strLCHost, "*.skype.com")) || (shExpMatch(strLCHost, "gotomeeting.com") || shExpMatch(strLCHost, "*.gotomeeting.com")) || (shExpMatch(strLCHost, "lync.com") || shExpMatch(strLCHost, "*.lync.com")) || (shExpMatch(strLCHost, "teamviewer.com") || shExpMatch(strLCHost, "*.teamviewer.com")) || (shExpMatch(strLCHost, "ringcentral.com") || shExpMatch(strLCHost, "*.ringcentral.com")) || (shExpMatch(strLCHost, "zoom.com") || shExpMatch(strLCHost, "*.zoom.com")) || (shExpMatch(strLCHost, "zoom.us") || shExpMatch(strLCHost, "*.zoom.us"))) { return "DIRECT"; } // Bypass Apple Domains if (isInNet(strLCHost, "17.0.0.0", "255.0.0.0") || (shExpMatch(strLCHost, "apple.com") || shExpMatch(strLCHost, "*.apple.com")) || (shExpMatch(strLCHost, "itunes.com") || shExpMatch(strLCHost, "*.itunes.com")) || (shExpMatch(strLCHost, "icloud.com") || shExpMatch(strLCHost, "*.icloud.com")) || (shExpMatch(strLCHost, "omtrdc.net") || shExpMatch(strLCHost, "*.omtrdc.net")) || (shExpMatch(strLCHost, "apple.imap.mail.yahoo.com") || shExpMatch(strLCHost, "*.apple.imap.mail.yahoo.com")) || (shExpMatch(strLCHost, "imap.gmail.com") || shExpMatch(strLCHost, "*.imap.gmail.com")) || (shExpMatch(strLCHost, "imap.aol.com") || shExpMatch(strLCHost, "*.imap.aol.com")) || (shExpMatch(strLCHost, "mzstatic.com") || shExpMatch(strLCHost, "*.mzstatic.com"))) { return "DIRECT"; } // Bypass Office 365 Domains if (shExpMatch(strLCHost, "account.activedirectory.windowsazure.com") || shExpMatch(strLCHost, "*.svc.ms") || shExpMatch(strLCHost, "*.msecnd.net") || shExpMatch(strLCHost, "technet.microsoft.com") || shExpMatch(strLCHost, "*.flow.microsoft.com") || shExpMatch(strLCHost, "management.azure.com") || shExpMatch(strLCHost, "informationprotection.hosting.portal.azure.net") || shExpMatch(strLCHost, "smtp.office365.com") || shExpMatch(strLCHost, "*.o365weve.com") || shExpMatch(strLCHost, "ocsp.msocsp.com") || shExpMatch(strLCHost, "attachments.office.net") || shExpMatch(strLCHost, "prod.msocdn.com") || shExpMatch(strLCHost, "policykeyservice.dc.ad.msft.net") || shExpMatch(strLCHost, "suite.office.net") || shExpMatch(strLCHost, "becws.microsoftonline.com") || shExpMatch(strLCHost, "myanalytics.microsoft.com") || shExpMatch(strLCHost, "mlccdnprod.azureedge.net") || shExpMatch(strLCHost, "*.azurerms.com") || shExpMatch(strLCHost, "login.microsoftonline-p.com") || shExpMatch(strLCHost, "officecdn.microsoft.com") || shExpMatch(strLCHost, "*.msftidentity.com") || shExpMatch(strLCHost, "mlccdn.blob.core.windows.net") || shExpMatch(strLCHost, "*.verisign.net") || shExpMatch(strLCHost, "videoplayercdn.osi.office.net") || shExpMatch(strLCHost, "ecn.dev.virtualearth.net") || shExpMatch(strLCHost, "apps.identrust.com") || shExpMatch(strLCHost, "ocsp.int-x3.letsencrypt.org") || shExpMatch(strLCHost, "*.wns.windows.com") || shExpMatch(strLCHost, "*.omniroot.com") || shExpMatch(strLCHost, "r1.res.office365.com") || shExpMatch(strLCHost, "crl.identrust.com") || shExpMatch(strLCHost, "autodiscover.*.onmicrosoft.com") || shExpMatch(strLCHost, "compass-ssl.microsoft.com") || shExpMatch(strLCHost, "*.microsoftonline.com") || shExpMatch(strLCHost, "*.portal.cloudappsecurity.com") || shExpMatch(strLCHost, "*.mail.protection.outlook.com") || shExpMatch(strLCHost, "cdnprod.myanalytics.microsoft.com") || shExpMatch(strLCHost, "broadcast.skype.com") || shExpMatch(strLCHost, "enterpriseregistration.windows.net") || shExpMatch(strLCHost, "cert.int-x3.letsencrypt.org") || shExpMatch(strLCHost, "amp.azure.net") || shExpMatch(strLCHost, "crl.microsoft.com") || shExpMatch(strLCHost, "*.config.office.net") || shExpMatch(strLCHost, "officeapps.live.com") || shExpMatch(strLCHost, "appsforoffice.microsoft.com") || shExpMatch(strLCHost, "msdn.microsoft.com") || shExpMatch(strLCHost, "clientconfig.microsoftonline-p.net") || shExpMatch(strLCHost, "*.aria.microsoft.com") || shExpMatch(strLCHost, "*.phonefactor.net") || shExpMatch(strLCHost, "dgps.support.microsoft.com") || shExpMatch(strLCHost, "support.microsoft.com") || shExpMatch(strLCHost, "*.symcd.com") || shExpMatch(strLCHost, "outlook.office.com") || shExpMatch(strLCHost, "*.teams.microsoft.com") || shExpMatch(strLCHost, "www.onedrive.com") || shExpMatch(strLCHost, "assets.onestore.ms") || shExpMatch(strLCHost, "graph.microsoft.com") || shExpMatch(strLCHost, "*.aadrm.com") || shExpMatch(strLCHost, "*.geotrust.com") || shExpMatch(strLCHost, "passwordreset.microsoftonline.com") || shExpMatch(strLCHost, "account.office.net") || shExpMatch(strLCHost, "go.microsoft.com") || shExpMatch(strLCHost, "*.officeapps.live.com") || shExpMatch(strLCHost, "mscrl.microsoft.com") || shExpMatch(strLCHost, "*.msauthimages.net") || shExpMatch(strLCHost, "*.msidentity.com") || shExpMatch(strLCHost, "protection.office.com") || shExpMatch(strLCHost, "platform.linkedin.com") || shExpMatch(strLCHost, "*.online.office.com") || shExpMatch(strLCHost, "*.cortana.ai") || shExpMatch(strLCHost, "*.events.data.microsoft.com") || shExpMatch(strLCHost, "g.live.com") || shExpMatch(strLCHost, "*.outlook.com") || shExpMatch(strLCHost, "contentstorage.osi.office.net") || shExpMatch(strLCHost, "*.symcb.com") || shExpMatch(strLCHost, "r4.res.office365.com") || shExpMatch(strLCHost, "*.onenote.com") || shExpMatch(strLCHost, "*.msftauthimages.net") || shExpMatch(strLCHost, "*-myfiles.sharepoint.com") || shExpMatch(strLCHost, "shellprod.msocdn.com") || shExpMatch(strLCHost, "videocontent.osi.office.net") || shExpMatch(strLCHost, "*.msftauth.net") || shExpMatch(strLCHost, "activation.sls.microsoft.com") || shExpMatch(strLCHost, "logincert.microsoftonline.com") || shExpMatch(strLCHost, "*.sfbassets.com") || shExpMatch(strLCHost, "*.verisign.com") || shExpMatch(strLCHost, "*.keydelivery.mediaservices.windows.net") || shExpMatch(strLCHost, "security.microsoft.com") || shExpMatch(strLCHost, "*.protection.outlook.com") || shExpMatch(strLCHost, "r.office.microsoft.com") || shExpMatch(strLCHost, "office15client.microsoft.com") || shExpMatch(strLCHost, "crl3.digicert.com") || shExpMatch(strLCHost, "spoprod-a.akamaihd.net") || shExpMatch(strLCHost, "docs.microsoft.com") || shExpMatch(strLCHost, "*.hip.live.com") || shExpMatch(strLCHost, "officeredir.microsoft.com") || shExpMatch(strLCHost, "*.cdn.office.net") || shExpMatch(strLCHost, "login-us.microsoftonline.com") || shExpMatch(strLCHost, "*.office.com") || shExpMatch(strLCHost, "insertmedia.bing.office.net") || shExpMatch(strLCHost, "crl.globalsign.net") || shExpMatch(strLCHost, "*.skype.com") || shExpMatch(strLCHost, "accounts.accesscontrol.windows.net") || shExpMatch(strLCHost, "ocsp.digicert.com") || shExpMatch(strLCHost, "officecdn.microsoft.com.edgesuite.net") || shExpMatch(strLCHost, "mp.microsoft.com") || shExpMatch(strLCHost, "officeclient.microsoft.com") || shExpMatch(strLCHost, "companymanager.microsoftonline.com") || shExpMatch(strLCHost, "activity.windows.com") || shExpMatch(strLCHost, "api.passwordreset.microsoftonline.com") || shExpMatch(strLCHost, "*-admin.sharepoint.com") || shExpMatch(strLCHost, "loginex.microsoftonline.com") || shExpMatch(strLCHost, "*.informationprotection.azure.com") || shExpMatch(strLCHost, "cacerts.digicert.com") || shExpMatch(strLCHost, "graph.windows.net") || shExpMatch(strLCHost, "*.azure-apim.net") || shExpMatch(strLCHost, "autologon.microsoftazuread-sso.com") || shExpMatch(strLCHost, "*.lync.com") || shExpMatch(strLCHost, "cdn.optimizely.com") || shExpMatch(strLCHost, "apis.live.net") || shExpMatch(strLCHost, "officepreviewredir.microsoft.com") || shExpMatch(strLCHost, "ocspx.digicert.com") || shExpMatch(strLCHost, "workplaceanalytics.cdn.office.net") || shExpMatch(strLCHost, "*.msedge.net") || shExpMatch(strLCHost, "o15.officeredir.microsoft.com") || shExpMatch(strLCHost, "*.compliance.microsoft.com") || shExpMatch(strLCHost, "adminwebservice.microsoftonline.com") || shExpMatch(strLCHost, "*.microsoftonline-p.com") || shExpMatch(strLCHost, "oneclient.sfx.ms") || shExpMatch(strLCHost, "*.broadcast.skype.com") || shExpMatch(strLCHost, "provisioningapi.microsoftonline.com") || shExpMatch(strLCHost, "*.security.microsoft.com") || shExpMatch(strLCHost, "*.office365.com") || shExpMatch(strLCHost, "*.protection.office.com") || shExpMatch(strLCHost, "office.live.com") || shExpMatch(strLCHost, "ocm.outlookapps.com") || shExpMatch(strLCHost, "ajax.aspnetcdn.com") || shExpMatch(strLCHost, "*.msauth.net") || shExpMatch(strLCHost, "ocsp.globalsign.com") || shExpMatch(strLCHost, "*.powerapps.com") || shExpMatch(strLCHost, "secure.globalsign.com") || shExpMatch(strLCHost, "*.sharepointonline.com") || shExpMatch(strLCHost, "*.entrust.net") || shExpMatch(strLCHost, "*cdn.onenote.net") || shExpMatch(strLCHost, "isrg.trustid.ocsp.identrust.com") || shExpMatch(strLCHost, "cdn.uci.officeapps.live.com") || shExpMatch(strLCHost, "*.mp.microsoft.com") || shExpMatch(strLCHost, "compliance.microsoft.com") || shExpMatch(strLCHost, "*-files.sharepoint.com") || shExpMatch(strLCHost, "*.sharepoint.com") || shExpMatch(strLCHost, "*.public-trust.com") || shExpMatch(strLCHost, "teams.microsoft.com") || shExpMatch(strLCHost, "nexus.microsoftonline-p.com") || shExpMatch(strLCHost, "settings-win.data.microsoft.com") || shExpMatch(strLCHost, "auth.gfx.ms") || shExpMatch(strLCHost, "aka.ms") || shExpMatch(strLCHost, "admin.microsoft.com") || shExpMatch(strLCHost, "outlook.office365.com") || shExpMatch(strLCHost, "*.streaming.mediaservices.windows.net") || shExpMatch(strLCHost, "crl.globalsign.com") || shExpMatch(strLCHost, "r3.res.office365.com") || shExpMatch(strLCHost, "*.secure.skypeassets.com") || shExpMatch(strLCHost, "support.content.office.net") || shExpMatch(strLCHost, "ocsp2.globalsign.com") || shExpMatch(strLCHost, "*.manage.microsoft.com") || shExpMatch(strLCHost, "cdn.odc.officeapps.live.com") || shExpMatch(strLCHost, "crl4.digicert.com") || shExpMatch(strLCHost, "*.mstea.ms") || shExpMatch(strLCHost, "c1.microsoft.com") || shExpMatch(strLCHost, "www.microsoft.com") || shExpMatch(strLCHost, "myanalytics-gcc.microsoft.com") || shExpMatch(strLCHost, "www.digicert.com") || shExpMatch(strLCHost, "admin.onedrive.com")) { return "DIRECT"; } // Bypass Office 365 Domains if (isInNet(resolve_ip, "132.245.0.0", "255.255.0.0") || isInNet(resolve_ip, "52.244.203.72", "255.255.255.255") || isInNet(resolve_ip, "52.100.0.0", "255.252.0.0") || isInNet(resolve_ip, "104.47.0.0", "255.255.128.0") || isInNet(resolve_ip, "52.120.0.0", "255.252.0.0") || isInNet(resolve_ip, "52.96.0.0", "255.252.0.0") || isInNet(resolve_ip, "13.107.18.15", "255.255.255.255") || isInNet(resolve_ip, "52.238.119.141", "255.255.255.255") || isInNet(resolve_ip, "131.253.33.215", "255.255.255.255") || isInNet(resolve_ip, "13.107.64.0", "255.255.192.0") || isInNet(resolve_ip, "52.108.0.0", "255.252.0.0") || isInNet(resolve_ip, "52.244.160.207", "255.255.255.255") || isInNet(resolve_ip, "13.107.6.152", "255.255.255.254") || isInNet(resolve_ip, "40.96.0.0", "255.248.0.0") || isInNet(resolve_ip, "104.146.128.0", "255.255.128.0") || isInNet(resolve_ip, "13.107.6.171", "255.255.255.255") || isInNet(resolve_ip, "52.238.106.116", "255.255.255.255") || isInNet(resolve_ip, "52.104.0.0", "255.252.0.0") || isInNet(resolve_ip, "52.244.207.172", "255.255.255.255") || isInNet(resolve_ip, "52.112.0.0", "255.252.0.0") || isInNet(resolve_ip, "40.92.0.0", "255.254.0.0") || isInNet(resolve_ip, "150.171.40.0", "255.255.252.0") || isInNet(resolve_ip, "13.107.18.10", "255.255.255.254") || isInNet(resolve_ip, "40.107.0.0", "255.255.0.0") || isInNet(resolve_ip, "40.104.0.0", "255.254.0.0") || isInNet(resolve_ip, "20.190.128.0", "255.255.192.0") || isInNet(resolve_ip, "204.79.197.215", "255.255.255.255") || isInNet(resolve_ip, "13.107.140.6", "255.255.255.255") || isInNet(resolve_ip, "23.103.160.0", "255.255.240.0") || isInNet(resolve_ip, "13.107.136.0", "255.255.252.0") || isInNet(resolve_ip, "40.108.128.0", "255.255.128.0") || isInNet(resolve_ip, "52.244.37.168", "255.255.255.255") || isInNet(resolve_ip, "13.107.128.0", "255.255.252.0") || isInNet(resolve_ip, "40.126.0.0", "255.255.192.0") || isInNet(resolve_ip, "52.238.78.88", "255.255.255.255") || isInNet(resolve_ip, "150.171.32.0", "255.255.252.0") || isInNet(resolve_ip, "52.244.223.198", "255.255.255.255") || isInNet(resolve_ip, "52.247.150.191", "255.255.255.255")) { return "DIRECT"; } // Bypass Private Space if (shExpMatch(strLCHost, "*.local") || shExpMatch(strLCHost, "127.0.0.1") || isInNet(resolve_ip, "10.0.0.0", "255.0.0.0") || isInNet(resolve_ip, "172.16.0.0", "255.240.0.0") || isInNet(resolve_ip, "192.168.0.0", "255.255.0.0") || isPlainHostName(strLCHost)) { return "DIRECT"; } return "PROXY fedora01.rushworth.us:5128"; }