|
@@ -1,16 +1,13 @@
|
|
|
-// @ts-check
|
|
|
|
|
-
|
|
|
|
|
-/**
|
|
|
|
|
- * @typedef {Object} StreamService
|
|
|
|
|
- * @property {string} name
|
|
|
|
|
- * @property {Object} [ip]
|
|
|
|
|
- * @property {string[]} ip.v4
|
|
|
|
|
- * @property {string[]} ip.v6
|
|
|
|
|
- * @property {string[]} rules
|
|
|
|
|
- */
|
|
|
|
|
-
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const $4GTV = {
|
|
|
|
|
|
|
+interface StreamService {
|
|
|
|
|
+ name: string,
|
|
|
|
|
+ rules: string[],
|
|
|
|
|
+ ip?: {
|
|
|
|
|
+ v4: string[],
|
|
|
|
|
+ v6: string[]
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+const $4GTV: StreamService = {
|
|
|
name: '4gtv',
|
|
name: '4gtv',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,4gtv.tv',
|
|
'DOMAIN-SUFFIX,4gtv.tv',
|
|
@@ -18,8 +15,7 @@ const $4GTV = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const ALL4 = {
|
|
|
|
|
|
|
+const ALL4: StreamService = {
|
|
|
name: 'All4',
|
|
name: 'All4',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,c4assets.com',
|
|
'DOMAIN-SUFFIX,c4assets.com',
|
|
@@ -29,8 +25,7 @@ const ALL4 = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const AMAZON_PRIME_VIDEO = {
|
|
|
|
|
|
|
+const AMAZON_PRIME_VIDEO: StreamService = {
|
|
|
name: 'Amazon Prime Video',
|
|
name: 'Amazon Prime Video',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN,avodmp4s3ww-a.akamaihd.net',
|
|
'DOMAIN,avodmp4s3ww-a.akamaihd.net',
|
|
@@ -69,8 +64,7 @@ const AMAZON_PRIME_VIDEO = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const ABEMA_TV = {
|
|
|
|
|
|
|
+const ABEMA_TV: StreamService = {
|
|
|
name: 'AbemaTV',
|
|
name: 'AbemaTV',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-KEYWORD,abematv.akamaized.net',
|
|
'DOMAIN-KEYWORD,abematv.akamaized.net',
|
|
@@ -92,8 +86,7 @@ const ABEMA_TV = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const APPLE_TV = {
|
|
|
|
|
|
|
+const APPLE_TV: StreamService = {
|
|
|
name: 'Apple TV',
|
|
name: 'Apple TV',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN,ocvideo.apple.com',
|
|
'DOMAIN,ocvideo.apple.com',
|
|
@@ -110,8 +103,7 @@ const APPLE_TV = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const APPLE_MUSIC_TV = {
|
|
|
|
|
|
|
+const APPLE_MUSIC_TV: StreamService = {
|
|
|
name: 'Apple Music TV',
|
|
name: 'Apple Music TV',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,applemusic.com',
|
|
'DOMAIN-SUFFIX,applemusic.com',
|
|
@@ -119,8 +111,7 @@ const APPLE_MUSIC_TV = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const BAHAMUT = {
|
|
|
|
|
|
|
+const BAHAMUT: StreamService = {
|
|
|
name: 'Bahamut',
|
|
name: 'Bahamut',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN,bahamut.akamaized.net',
|
|
'DOMAIN,bahamut.akamaized.net',
|
|
@@ -136,8 +127,7 @@ const BAHAMUT = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const BBC = {
|
|
|
|
|
|
|
+const BBC: StreamService = {
|
|
|
name: 'BBC',
|
|
name: 'BBC',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-KEYWORD,bbcfmt',
|
|
'DOMAIN-KEYWORD,bbcfmt',
|
|
@@ -150,8 +140,7 @@ const BBC = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const BILIBILI_INTL = {
|
|
|
|
|
|
|
+const BILIBILI_INTL: StreamService = {
|
|
|
name: 'Bilibili International',
|
|
name: 'Bilibili International',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,biliintl.com',
|
|
'DOMAIN-SUFFIX,biliintl.com',
|
|
@@ -165,8 +154,7 @@ const BILIBILI_INTL = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const DAZN = {
|
|
|
|
|
|
|
+const DAZN: StreamService = {
|
|
|
name: 'DAZN',
|
|
name: 'DAZN',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN,d151l6v8er5bdm.cloudfront.net',
|
|
'DOMAIN,d151l6v8er5bdm.cloudfront.net',
|
|
@@ -188,8 +176,7 @@ const DAZN = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const DEEZER = {
|
|
|
|
|
|
|
+const DEEZER: StreamService = {
|
|
|
name: 'Deezer',
|
|
name: 'Deezer',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,deezer.com',
|
|
'DOMAIN-SUFFIX,deezer.com',
|
|
@@ -198,8 +185,7 @@ const DEEZER = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const DISNEY_PLUS = {
|
|
|
|
|
|
|
+const DISNEY_PLUS: StreamService = {
|
|
|
name: 'Disney+',
|
|
name: 'Disney+',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN,cdn.registerdisney.go.com',
|
|
'DOMAIN,cdn.registerdisney.go.com',
|
|
@@ -214,8 +200,7 @@ const DISNEY_PLUS = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const DISCOVERY_PLUS = {
|
|
|
|
|
|
|
+const DISCOVERY_PLUS: StreamService = {
|
|
|
name: 'Discovery+',
|
|
name: 'Discovery+',
|
|
|
rules: [
|
|
rules: [
|
|
|
'USER-AGENT,DPlus*',
|
|
'USER-AGENT,DPlus*',
|
|
@@ -228,8 +213,7 @@ const DISCOVERY_PLUS = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const DMM = {
|
|
|
|
|
|
|
+const DMM: StreamService = {
|
|
|
name: 'DMM',
|
|
name: 'DMM',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,dmm.co.jp',
|
|
'DOMAIN-SUFFIX,dmm.co.jp',
|
|
@@ -238,8 +222,7 @@ const DMM = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const ENCORE_TVB = {
|
|
|
|
|
|
|
+const ENCORE_TVB: StreamService = {
|
|
|
name: 'encoreTVB',
|
|
name: 'encoreTVB',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN,bcbolt446c5271-a.akamaihd.net',
|
|
'DOMAIN,bcbolt446c5271-a.akamaihd.net',
|
|
@@ -255,8 +238,7 @@ const ENCORE_TVB = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const FOX_NOW = {
|
|
|
|
|
|
|
+const FOX_NOW: StreamService = {
|
|
|
name: 'Fox Now',
|
|
name: 'Fox Now',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,fox.com',
|
|
'DOMAIN-SUFFIX,fox.com',
|
|
@@ -267,8 +249,7 @@ const FOX_NOW = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const FOX_PLUS = {
|
|
|
|
|
|
|
+const FOX_PLUS: StreamService = {
|
|
|
name: 'Fox+',
|
|
name: 'Fox+',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN,dashasiafox.akamaized.netflix',
|
|
'DOMAIN,dashasiafox.akamaized.netflix',
|
|
@@ -281,8 +262,7 @@ const FOX_PLUS = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const HBO = {
|
|
|
|
|
|
|
+const HBO: StreamService = {
|
|
|
name: 'HBO Go / HBO Now / HBO Max',
|
|
name: 'HBO Go / HBO Now / HBO Max',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,hbo.com',
|
|
'DOMAIN-SUFFIX,hbo.com',
|
|
@@ -297,8 +277,7 @@ const HBO = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const HBO_ASIA = {
|
|
|
|
|
|
|
+const HBO_ASIA: StreamService = {
|
|
|
name: 'HBO Asia',
|
|
name: 'HBO Asia',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,hboasia.com',
|
|
'DOMAIN-SUFFIX,hboasia.com',
|
|
@@ -329,8 +308,7 @@ const HBO_ASIA = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const HIMALAYA_FM = {
|
|
|
|
|
|
|
+const HIMALAYA_FM: StreamService = {
|
|
|
name: 'Himalaya FM',
|
|
name: 'Himalaya FM',
|
|
|
rules: [
|
|
rules: [
|
|
|
'USER-AGENT,Himalaya*',
|
|
'USER-AGENT,Himalaya*',
|
|
@@ -338,8 +316,7 @@ const HIMALAYA_FM = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const HULU = {
|
|
|
|
|
|
|
+const HULU: StreamService = {
|
|
|
name: 'Hulu',
|
|
name: 'Hulu',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,happyon.jp',
|
|
'DOMAIN-SUFFIX,happyon.jp',
|
|
@@ -356,8 +333,7 @@ const HULU = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const HWTV = {
|
|
|
|
|
|
|
+const HWTV: StreamService = {
|
|
|
name: 'HWTV',
|
|
name: 'HWTV',
|
|
|
rules: [
|
|
rules: [
|
|
|
'USER-AGENT,HWTVMobile*',
|
|
'USER-AGENT,HWTVMobile*',
|
|
@@ -366,8 +342,7 @@ const HWTV = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const ITV = {
|
|
|
|
|
|
|
+const ITV: StreamService = {
|
|
|
name: 'ITV',
|
|
name: 'ITV',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN,itvpnpmobile-a.akamaihd.net',
|
|
'DOMAIN,itvpnpmobile-a.akamaihd.net',
|
|
@@ -379,8 +354,7 @@ const ITV = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const IQIYI_GLOBAL = {
|
|
|
|
|
|
|
+const IQIYI_GLOBAL: StreamService = {
|
|
|
name: 'iQiYi Global',
|
|
name: 'iQiYi Global',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,iq.com',
|
|
'DOMAIN-SUFFIX,iq.com',
|
|
@@ -395,8 +369,7 @@ const IQIYI_GLOBAL = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const JOOX = {
|
|
|
|
|
|
|
+const JOOX: StreamService = {
|
|
|
name: 'JOOX',
|
|
name: 'JOOX',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,joox.com',
|
|
'DOMAIN-SUFFIX,joox.com',
|
|
@@ -408,8 +381,7 @@ const JOOX = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const KKBOX = {
|
|
|
|
|
|
|
+const KKBOX: StreamService = {
|
|
|
name: 'KKBOX',
|
|
name: 'KKBOX',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,kfs.io',
|
|
'DOMAIN-SUFFIX,kfs.io',
|
|
@@ -420,8 +392,7 @@ const KKBOX = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const KKTV = {
|
|
|
|
|
|
|
+const KKTV: StreamService = {
|
|
|
name: 'KKTV',
|
|
name: 'KKTV',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,kk.stream',
|
|
'DOMAIN-SUFFIX,kk.stream',
|
|
@@ -434,8 +405,7 @@ const KKTV = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const LINE_TV = {
|
|
|
|
|
|
|
+const LINE_TV: StreamService = {
|
|
|
name: 'Line TV',
|
|
name: 'Line TV',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN,d3c7rimkq79yfu.cloudfront.net',
|
|
'DOMAIN,d3c7rimkq79yfu.cloudfront.net',
|
|
@@ -445,8 +415,7 @@ const LINE_TV = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const LITV = {
|
|
|
|
|
|
|
+const LITV: StreamService = {
|
|
|
name: 'LiTV',
|
|
name: 'LiTV',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN,litvfreemobile-hichannel.cdn.hinet.net',
|
|
'DOMAIN,litvfreemobile-hichannel.cdn.hinet.net',
|
|
@@ -454,8 +423,7 @@ const LITV = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const MAX = {
|
|
|
|
|
|
|
+const MAX: StreamService = {
|
|
|
name: 'Max',
|
|
name: 'Max',
|
|
|
rules: [
|
|
rules: [
|
|
|
'USER-AGENT,Max*',
|
|
'USER-AGENT,Max*',
|
|
@@ -465,8 +433,7 @@ const MAX = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const MY5 = {
|
|
|
|
|
|
|
+const MY5: StreamService = {
|
|
|
name: 'My5',
|
|
name: 'My5',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN,d349g9zuie06uo.cloudfront.net',
|
|
'DOMAIN,d349g9zuie06uo.cloudfront.net',
|
|
@@ -477,8 +444,7 @@ const MY5 = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const MYTV_SUPER = {
|
|
|
|
|
|
|
+const MYTV_SUPER: StreamService = {
|
|
|
name: 'myTV Super',
|
|
name: 'myTV Super',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,mytvsuper.com',
|
|
'DOMAIN-SUFFIX,mytvsuper.com',
|
|
@@ -491,8 +457,7 @@ const MYTV_SUPER = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const NAVER_TV = {
|
|
|
|
|
|
|
+const NAVER_TV: StreamService = {
|
|
|
name: 'Naver TV',
|
|
name: 'Naver TV',
|
|
|
rules: [
|
|
rules: [
|
|
|
'USER-AGENT,Naver TV*',
|
|
'USER-AGENT,Naver TV*',
|
|
@@ -501,8 +466,7 @@ const NAVER_TV = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const NICONICO = {
|
|
|
|
|
|
|
+const NICONICO: StreamService = {
|
|
|
name: 'niconico',
|
|
name: 'niconico',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,dmc.nico',
|
|
'DOMAIN-SUFFIX,dmc.nico',
|
|
@@ -514,8 +478,7 @@ const NICONICO = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const NETFLIX = {
|
|
|
|
|
|
|
+const NETFLIX: StreamService = {
|
|
|
name: 'Netflix',
|
|
name: 'Netflix',
|
|
|
ip: {
|
|
ip: {
|
|
|
v4: [
|
|
v4: [
|
|
@@ -561,16 +524,14 @@ const NETFLIX = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const NOW_E = {
|
|
|
|
|
|
|
+const NOW_E: StreamService = {
|
|
|
name: 'Now E',
|
|
name: 'Now E',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,nowe.com'
|
|
'DOMAIN-SUFFIX,nowe.com'
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const OVERCAST_FM = {
|
|
|
|
|
|
|
+const OVERCAST_FM: StreamService = {
|
|
|
name: 'Overcast FM',
|
|
name: 'Overcast FM',
|
|
|
rules: [
|
|
rules: [
|
|
|
'USER-AGENT,Overcast*',
|
|
'USER-AGENT,Overcast*',
|
|
@@ -578,8 +539,7 @@ const OVERCAST_FM = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const PARAMOUNT = {
|
|
|
|
|
|
|
+const PARAMOUNT: StreamService = {
|
|
|
name: 'Paramount+',
|
|
name: 'Paramount+',
|
|
|
rules: [
|
|
rules: [
|
|
|
'USER-AGENT,PPlus*',
|
|
'USER-AGENT,PPlus*',
|
|
@@ -594,8 +554,7 @@ const PARAMOUNT = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const PBS = {
|
|
|
|
|
|
|
+const PBS: StreamService = {
|
|
|
name: 'PBS',
|
|
name: 'PBS',
|
|
|
rules: [
|
|
rules: [
|
|
|
'USER-AGENT,PBS*',
|
|
'USER-AGENT,PBS*',
|
|
@@ -603,8 +562,7 @@ const PBS = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const PEACOCK = {
|
|
|
|
|
|
|
+const PEACOCK: StreamService = {
|
|
|
name: 'Peacock',
|
|
name: 'Peacock',
|
|
|
rules: [
|
|
rules: [
|
|
|
'USER-AGENT,PeacockMobile*',
|
|
'USER-AGENT,PeacockMobile*',
|
|
@@ -612,8 +570,7 @@ const PEACOCK = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const PANDORA = {
|
|
|
|
|
|
|
+const PANDORA: StreamService = {
|
|
|
name: 'Pandora',
|
|
name: 'Pandora',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,pandora.com',
|
|
'DOMAIN-SUFFIX,pandora.com',
|
|
@@ -621,8 +578,7 @@ const PANDORA = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const PORNHUB = {
|
|
|
|
|
|
|
+const PORNHUB: StreamService = {
|
|
|
name: 'Pornhub',
|
|
name: 'Pornhub',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,phprcdn.com',
|
|
'DOMAIN-SUFFIX,phprcdn.com',
|
|
@@ -631,8 +587,7 @@ const PORNHUB = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const SOUNDCLOUD = {
|
|
|
|
|
|
|
+const SOUNDCLOUD: StreamService = {
|
|
|
name: 'SoundCloud',
|
|
name: 'SoundCloud',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,sndcdn.com',
|
|
'DOMAIN-SUFFIX,sndcdn.com',
|
|
@@ -642,8 +597,7 @@ const SOUNDCLOUD = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const SPOTIFY = {
|
|
|
|
|
|
|
+const SPOTIFY: StreamService = {
|
|
|
name: 'Spotify',
|
|
name: 'Spotify',
|
|
|
ip: {
|
|
ip: {
|
|
|
v4: ['35.186.224.47/32'],
|
|
v4: ['35.186.224.47/32'],
|
|
@@ -674,16 +628,14 @@ const SPOTIFY = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const TVB_ANYWHERE = {
|
|
|
|
|
|
|
+const TVB_ANYWHERE: StreamService = {
|
|
|
name: 'TVB Anywhere',
|
|
name: 'TVB Anywhere',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-KEYWORD,tvbanywhere'
|
|
'DOMAIN-KEYWORD,tvbanywhere'
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const TAIWAN_GOOD = {
|
|
|
|
|
|
|
+const TAIWAN_GOOD: StreamService = {
|
|
|
name: 'TaiwanGood',
|
|
name: 'TaiwanGood',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN,hamifans.emome.net',
|
|
'DOMAIN,hamifans.emome.net',
|
|
@@ -693,8 +645,7 @@ const TAIWAN_GOOD = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const TIDAL = {
|
|
|
|
|
|
|
+const TIDAL: StreamService = {
|
|
|
name: 'TIDAL',
|
|
name: 'TIDAL',
|
|
|
rules: [
|
|
rules: [
|
|
|
'USER-AGENT,TIDAL*',
|
|
'USER-AGENT,TIDAL*',
|
|
@@ -703,8 +654,7 @@ const TIDAL = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const TIKTOK = {
|
|
|
|
|
|
|
+const TIKTOK: StreamService = {
|
|
|
name: 'TikTok',
|
|
name: 'TikTok',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,byteoversea.com',
|
|
'DOMAIN-SUFFIX,byteoversea.com',
|
|
@@ -724,8 +674,7 @@ const TIKTOK = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const TWITCH = {
|
|
|
|
|
|
|
+const TWITCH: StreamService = {
|
|
|
name: 'Twitch',
|
|
name: 'Twitch',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,jtvnw.net',
|
|
'DOMAIN-SUFFIX,jtvnw.net',
|
|
@@ -738,8 +687,7 @@ const TWITCH = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const VIUTV = {
|
|
|
|
|
|
|
+const VIUTV: StreamService = {
|
|
|
name: 'ViuTV',
|
|
name: 'ViuTV',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN,api.viu.now.com',
|
|
'DOMAIN,api.viu.now.com',
|
|
@@ -758,8 +706,7 @@ const VIUTV = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const YOUTUBE = {
|
|
|
|
|
|
|
+const YOUTUBE: StreamService = {
|
|
|
name: 'YouTube',
|
|
name: 'YouTube',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN,youtubei.googleapis.com',
|
|
'DOMAIN,youtubei.googleapis.com',
|
|
@@ -778,8 +725,7 @@ const YOUTUBE = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const YOUTUBE_MUSIC = {
|
|
|
|
|
|
|
+const YOUTUBE_MUSIC: StreamService = {
|
|
|
name: 'YouTube Music',
|
|
name: 'YouTube Music',
|
|
|
rules: [
|
|
rules: [
|
|
|
'USER-AGENT,com.google.ios.youtubemusic*',
|
|
'USER-AGENT,com.google.ios.youtubemusic*',
|
|
@@ -787,8 +733,7 @@ const YOUTUBE_MUSIC = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const SHOWTIME = {
|
|
|
|
|
|
|
+const SHOWTIME: StreamService = {
|
|
|
name: 'SHOWTIME',
|
|
name: 'SHOWTIME',
|
|
|
rules: [
|
|
rules: [
|
|
|
'DOMAIN-SUFFIX,sho.com',
|
|
'DOMAIN-SUFFIX,sho.com',
|
|
@@ -796,8 +741,7 @@ const SHOWTIME = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService} */
|
|
|
|
|
-const WETV = {
|
|
|
|
|
|
|
+const WETV: StreamService = {
|
|
|
name: 'WeTV',
|
|
name: 'WeTV',
|
|
|
ip: {
|
|
ip: {
|
|
|
v4: ['150.109.28.51/32'],
|
|
v4: ['150.109.28.51/32'],
|
|
@@ -810,8 +754,7 @@ const WETV = {
|
|
|
]
|
|
]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/** @type {StreamService[]} */
|
|
|
|
|
-module.exports.ALL = [
|
|
|
|
|
|
|
+export const ALL = [
|
|
|
$4GTV,
|
|
$4GTV,
|
|
|
ABEMA_TV, AMAZON_PRIME_VIDEO, ALL4, APPLE_TV, APPLE_MUSIC_TV,
|
|
ABEMA_TV, AMAZON_PRIME_VIDEO, ALL4, APPLE_TV, APPLE_MUSIC_TV,
|
|
|
BAHAMUT, BBC, BILIBILI_INTL,
|
|
BAHAMUT, BBC, BILIBILI_INTL,
|
|
@@ -836,8 +779,7 @@ module.exports.ALL = [
|
|
|
SHOWTIME
|
|
SHOWTIME
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
-/** @type {StreamService[]} */
|
|
|
|
|
-module.exports.NORTH_AMERICA = [
|
|
|
|
|
|
|
+export const NORTH_AMERICA = [
|
|
|
FOX_NOW,
|
|
FOX_NOW,
|
|
|
FOX_PLUS,
|
|
FOX_PLUS,
|
|
|
HULU, // Hulu US
|
|
HULU, // Hulu US
|
|
@@ -875,8 +817,7 @@ module.exports.NORTH_AMERICA = [
|
|
|
// Crave
|
|
// Crave
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
-/** @type {StreamService[]} */
|
|
|
|
|
-module.exports.EU = [
|
|
|
|
|
|
|
+export const EU = [
|
|
|
// RakutenTV
|
|
// RakutenTV
|
|
|
// Funimation
|
|
// Funimation
|
|
|
// SkyShowTime
|
|
// SkyShowTime
|
|
@@ -905,8 +846,7 @@ module.exports.EU = [
|
|
|
// Amediateka
|
|
// Amediateka
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
-/** @type {StreamService[]} */
|
|
|
|
|
-module.exports.HK = [
|
|
|
|
|
|
|
+export const HK = [
|
|
|
NOW_E,
|
|
NOW_E,
|
|
|
VIUTV,
|
|
VIUTV,
|
|
|
MYTV_SUPER,
|
|
MYTV_SUPER,
|
|
@@ -914,8 +854,7 @@ module.exports.HK = [
|
|
|
BILIBILI_INTL
|
|
BILIBILI_INTL
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
-/** @type {StreamService[]} */
|
|
|
|
|
-module.exports.TW = [
|
|
|
|
|
|
|
+export const TW = [
|
|
|
KKTV,
|
|
KKTV,
|
|
|
LITV,
|
|
LITV,
|
|
|
// MyVideo
|
|
// MyVideo
|
|
@@ -929,8 +868,7 @@ module.exports.TW = [
|
|
|
BILIBILI_INTL
|
|
BILIBILI_INTL
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
-/** @type {StreamService[]} */
|
|
|
|
|
-module.exports.JP = [
|
|
|
|
|
|
|
+export const JP = [
|
|
|
DMM,
|
|
DMM,
|
|
|
// DMMTV
|
|
// DMMTV
|
|
|
ABEMA_TV,
|
|
ABEMA_TV,
|
|
@@ -953,8 +891,7 @@ module.exports.JP = [
|
|
|
// Konosuba Fantastic Days
|
|
// Konosuba Fantastic Days
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
-/** @type {StreamService[]} */
|
|
|
|
|
-module.exports.AU = [
|
|
|
|
|
|
|
+export const AU = [
|
|
|
// Stan
|
|
// Stan
|
|
|
// Binge
|
|
// Binge
|
|
|
// 7plus
|
|
// 7plus
|
|
@@ -969,8 +906,7 @@ module.exports.AU = [
|
|
|
// MaoriTV
|
|
// MaoriTV
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
-/** @type {StreamService[]} */
|
|
|
|
|
-module.exports.KR = [
|
|
|
|
|
|
|
+export const KR = [
|
|
|
// WAVEE
|
|
// WAVEE
|
|
|
// Tving
|
|
// Tving
|
|
|
// CoupangPlay
|
|
// CoupangPlay
|
|
@@ -980,8 +916,7 @@ module.exports.KR = [
|
|
|
// KOCOWA
|
|
// KOCOWA
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
-/** @type {StreamService[]} */
|
|
|
|
|
-module.exports.SOUTH_EAST_ASIA = [
|
|
|
|
|
|
|
+export const SOUTH_EAST_ASIA = [
|
|
|
// HBO
|
|
// HBO
|
|
|
// B-Global SouthEastAsia
|
|
// B-Global SouthEastAsia
|
|
|
// MeWatch SG
|
|
// MeWatch SG
|