From 4ca4fb8a113dda47336038ced905fa87a9fa380f Mon Sep 17 00:00:00 2001
From: mHatsune <63988538+mHatsune@users.noreply.github.com>
Date: Mon, 6 Jul 2020 09:01:15 +0900
Subject: [PATCH] Update blocked_services.go

---
 dnsfilter/blocked_services.go | 243 +++++++++++++++++++---------------
 1 file changed, 135 insertions(+), 108 deletions(-)

diff --git a/dnsfilter/blocked_services.go b/dnsfilter/blocked_services.go
index 14a3959e..c86a26c7 100644
--- a/dnsfilter/blocked_services.go
+++ b/dnsfilter/blocked_services.go
@@ -18,148 +18,175 @@ type svc struct {
 // Keep in sync with:
 // client/src/helpers/constants.js
 // client/src/components/ui/Icons.js
+// Do not use ||example.TLD^ rule unless particular name is unique or many extensions belong to it
 var serviceRulesArray = []svc{
-	{"whatsapp", []string{"||whatsapp.net^", "||whatsapp.com^"}},
+	{"whatsapp", []string{"||whatsapp.TLD^"}},
 	{"facebook", []string{
-		"||facebook.com^",
-		"||facebook.net^",
-		"||fbcdn.net^",
-		"||accountkit.com^",
-		"||fb.me^",
-		"||fb.com^",
-		"||fbsbx.com^",
-		"||messenger.com^",
-		"||facebookcorewwwi.onion^",
-		"||fbcdn.com^",
+		"||facebook.TLD^",
+		"||fbcdn.TLD^",
+		"||accountkit.TLD^",
+		"||fb.TLD^",
+		"||fbsbx.TLD^",
+		"||discoverapp.TLD^",
+		"||freebasics.TLD^",
+		"||freebasic.TLD^",
+		"||internet.org^",
+		"||messenger.TLD^",
+		"||m.me^",
+		"||i.org^",
+		"||f8.TLD^",
+		"||tfbnw.TLD^",
+		"||fburl.TLD^",
+		"||hob.bi^",
+		"||workplace.TLD^",
+		"||novi.TLD^",
+		"||libra.org^",
+		"||f8.TLD^",
+		"||oculus.TLD^",
+		"||acebook.TLD^",
+		"||forecastapp.net^",
+		"||adversarialnli.TLD^",
+		"||facebookblueprint.TLD^",
+		"||facebookrecruiting.TLD^",
+		"||boostwithfacebook.TLD^",
+		"||facebooksuppliers.TLD^",
+		"||facebookbrand.TLD^",
+		"||accessfacebookfromschool.TLD^",
+		"||facebookcorewwwi.TLD^",
 	}},
-	{"twitter", []string{"||twitter.com^", "||twttr.com^", "||t.co^", "||twimg.com^"}},
+	{"twitter", []string{"||twitter.TLD^", "||twttr.TLD^", "||t.co^", "||twimg.TLD^", "||ads-twitter.TLD^"}},
 	{"youtube", []string{
-		"||youtube.com^",
+		"||youtube.TLD^",
 		"||ytimg.com^",
-		"||youtu.be^",
-		"||googlevideo.com^",
-		"||youtubei.googleapis.com^",
-		"||youtube-nocookie.com^",
+		"||youtu.TLD^",
+		"||googlevideo.TLD^",
+		"||youtubei.googleapis.TLD^",
+		"||youtube-nocookie.TLD^",
 		"||youtube",
 	}},
-	{"twitch", []string{"||twitch.tv^", "||ttvnw.net^", "||jtvnw.net^", "||twitchcdn.net^"}},
-	{"netflix", []string{"||nflxext.com^", "||netflix.com^", "||nflximg.net^", "||nflxvideo.net^"}},
-	{"instagram", []string{"||instagram.com^", "||cdninstagram.com^"}},
+	{"twitch", []string{"||twitch.tv^", "||ttvnw.TLD^", "||jtvnw.TLD^", "||twitchcdn.TLD^"}},
+	{"netflix", []string{"||nflxext.TLD^", "||netflix.TLD^", "||nflximg.TLD^", "||nflxvideo.TLD^"}},
+	{"instagram", []string{"||instagram.TLD^", "||cdninstagram.TLD^", "||instagram-brand.TLD^"}},
 	{"snapchat", []string{
-		"||snapchat.com^",
-		"||sc-cdn.net^",
-		"||snap-dev.net^",
+		"||snapchat.TLD^",
+		"||sc-cdn.TLD^",
+		"||snap-dev.TLD^",
 		"||snapkit.co",
-		"||snapads.com^",
-		"||impala-media-production.s3.amazonaws.com^",
+		"||snapads.TLD^",
+		"||impala-media-production.s3.amazonaws.TLD^",
 	}},
-	{"discord", []string{"||discord.gg^", "||discordapp.net^", "||discordapp.com^", "||discord.com^", "||discord.media^"}},
+	{"discord", []string{"||discordapp.TLD^", "||discord.TLD^"}},
 	{"ok", []string{"||ok.ru^"}},
-	{"skype", []string{"||skype.com^", "||skypeassets.com^"}},
-	{"vk", []string{"||vk.com^", "||userapi.com^", "||vk-cdn.net^", "||vkuservideo.net^"}},
+	{"skype", []string{"||skype.TLD^", "||skypeassets.TLD^"}},
+	{"vk", []string{"||vk.TLD^", "||userapi.TLD^", "||vk-cdn.TLD^", "||vkuservideo.TLD^"}},
 	{"origin", []string{"||origin.com^", "||signin.ea.com^", "||accounts.ea.com^"}},
 	{"steam", []string{
 		"||steam.com^",
-		"||steampowered.com^",
-		"||steamcommunity.com^",
-		"||steamstatic.com^",
+		"||steampowered.TLD^",
+		"||steamcommunity.TLD^",
+		"||steamstatic.TLD^",
 		"||steamstore-a.akamaihd.net^",
 		"||steamcdn-a.akamaihd.net^",
 	}},
-	{"epic_games", []string{"||epicgames.com^", "||easyanticheat.net^", "||easy.ac^", "||eac-cdn.com^"}},
-	{"reddit", []string{"||reddit.com^", "||redditstatic.com^", "||redditmedia.com^", "||redd.it^"}},
+	{"epic_games", []string{"||epicgames.TLD^", "||easyanticheat.TLD^", "||easy.ac^", "||eac-cdn.TLD^"}},
+	{"reddit", []string{"||reddit.TLD^", "||redditstatic.TLD^", "||redditmedia.TLD^", "||redd.it^"}},
 	{"mail_ru", []string{"||mail.ru^"}},
 	{"cloudflare", []string{
-		"||cloudflare.com^",
-		"||cloudflare-dns.com^",
-		"||cloudflare.net^",
-		"||cloudflareinsights.com^",
-		"||cloudflarestream.com^",
-		"||cloudflareresolve.com^",
-		"||cloudflareclient.com^",
-		"||cloudflarebolt.com^",
-		"||cloudflarestatus.com^",
-		"||cloudflare.cn^",
+		"||cloudflare.TLD^",
+		"||cloudflare-dns.TLD^",
+		"||cloudflareinsights.TLD^",
+		"||cloudflarestream.TLD^",
+		"||cloudflareresolve.TLD^",
+		"||cloudflareclient.TLD^",
+		"||cloudflare-quic.TLD^",
+		"||cloudflareapi.TLD^",
+		"||cloudflareapps.TLD^",
+		"||cloudflarechallenge.TLD^",
+		"||cloudflarepreview.TLD^",
+		"||cloudflarepreviews.TLD^",
+		"||cloudflarebolt.TLD^",
+		"||cloudflare-free.TLD^",
+		"||cloudflare-ipfs.TLD",
+		"||cloudflareworkers.TLD^",
+		"||cloudflarestatus.TLD^",
+		"||cloudflareaccess.TLD^",
+		"||cloudflareenterprise.TLD^",
+		"||cloudflarespeedtest.TLD^",
+		"||cloudflaressl.TLD^",
+		"||encryptedsni.TLD^",
+		"||mycloudflare.TLD^",
+		"||workers.dev^",
 		"||one.one^",
 		"||warp.plus^",
 		"||1.1.1.1^",
-		"||dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion^",
+		"||dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.TLD^",
 	}},
 	{"amazon", []string{
-		"||amazon.com^",
-		"||media-amazon.com^",
-		"||primevideo.com^",
-		"||amazontrust.com^",
-		"||images-amazon.com^",
-		"||ssl-images-amazon.com^",
-		"||amazonpay.com^",
-		"||amazonpay.in^",
-		"||amazon-adsystem.com^",
-		"||a2z.com^",
-		"||amazon.ae^",
-		"||amazon.ca^",
-		"||amazon.cn^",
-		"||amazon.de^",
-		"||amazon.es^",
-		"||amazon.fr^",
-		"||amazon.in^",
-		"||amazon.it^",
-		"||amazon.nl^",
-		"||amazon.com.au^",
-		"||amazon.com.br^",
-		"||amazon.co.jp^",
-		"||amazon.com.mx^",
-		"||amazon.co.uk^",
-		"||createspace.com^",
+		"||amazon.TLD^",
+		"||media-amazon.TLD^",
+		"||primevideo.TLD^",
+		"||amazontrust.TLD^",
+		"||images-amazon.TLD^",
+		"||amazonvideo.TLD^",
+		"||assoc-amazon.TLD^",
+		"||ssl-images-amazon.TLD^",
+		"||amazonpay.TLD^",
+		"||amazon-adsystem.TLD^",
+		"||amazonaws.TLD^",
+		"||aboutamazon.TLD^",
+		"||awsdns-cn-00.TLD^",
+		"||awsdns-00.TLD^",
+		"||awsstatic.TLD^",
+		"||comixology.TLD^",
+		"||boxofficemojo.TLD^",
+		"||aiv-delivery.TLD^",
+		"||jtvnw.TLD^",
+		"||awscloud.TLD^",
+		"||goodreads.TLD^",
+		"||shopbop.TLD^",
+		"||fabric.TLD^",
+		"||zappos.TLD^",
+		"||6pm.TLD^",
+		"||psdops.TLD^",
+		"||woot.TLD^",
+		"||mturk.TLD^",
+		"||aiv-cdn.TLD^",
+		"||a2z.TLD^",
+		"||createspace.TLD^",
 		"||aws",
 	}},
 	{"ebay", []string{
-		"||ebay.com^",
-		"||ebayimg.com^",
-		"||ebaystatic.com^",
-		"||ebaycdn.net^",
-		"||ebayinc.com^",
-		"||ebay.at^",
-		"||ebay.be^",
-		"||ebay.ca^",
-		"||ebay.ch^",
-		"||ebay.cn^",
-		"||ebay.de^",
-		"||ebay.es^",
-		"||ebay.fr^",
-		"||ebay.ie^",
-		"||ebay.in^",
-		"||ebay.it^",
-		"||ebay.ph^",
-		"||ebay.pl^",
-		"||ebay.nl^",
-		"||ebay.com.au^",
-		"||ebay.com.cn^",
-		"||ebay.com.hk^",
-		"||ebay.com.my^",
-		"||ebay.com.sg^",
-		"||ebay.co.uk^",
+		"||ebay.TLD^",
+		"||ebayimg.TLD^",
+		"||ebaystatic.TLD^",
+		"||ebaycdn.TLD^",
+		"||appforebay.TLD^",
+		"||ebayinc.TLD^",
+		"||terapeak.TLD^",
+		"||e-bay.TLD^",
+		"||ebaydts.TLD^",
+		"||shopping.TLD^",
+		"||ebaystores.TLD^",
+		"||ebayglobalshipping.TLD^",
 	}},
 	{"tiktok", []string{
-		"||tiktok.com^",
-		"||tiktokcdn.com^",
+		"||tiktok.TLD^",
+		"||tiktokcdn.TLD^",
 		"||musical.ly^",
-		"||snssdk.com^",
-		"||amemv.com^",
+		"||snssdk.TLD^",
+		"||amemv.TLD^",
 		"||toutiao.com^",
 		"||ixigua.com^",
 		"||pstatp.com^",
-		"||ixiguavideo.com^",
-		"||toutiaocloud.com^",
-		"||toutiaocloud.net^",
-		"||bdurl.com^",
-		"||bytecdn.cn^",
-		"||byteimg.com^",
-		"||ixigua.com^",
-		"||muscdn.com^",
+		"||ixiguavideo.TLD^",
+		"||toutiaocloud.TLD^",
+		"||bdurl.TLD^",
+		"||byteimg.TLD^",
+		"||muscdn.TLD^",
 		"||bytedance.map.fastly.net^",
-		"||douyin.com^",
-		"||tiktokv.com^",
+		"||douyin.TLD^",
+		"||iesdouyin.TLD^",
+		"||tiktokv.TLD^",
 	}},
 }