Chore: maintainance
Some checks are pending
Build / Build (push) Waiting to run
Build / Diff output (push) Blocked by required conditions
Build / Deploy to Cloudflare Pages (push) Blocked by required conditions
Build / Deploy to GitHub and GitLab (push) Blocked by required conditions

This commit is contained in:
SukkaW
2025-02-07 17:52:36 +08:00
parent 6a7f7cc5e8
commit d354c5e988
252 changed files with 21086 additions and 124 deletions

View File

@@ -0,0 +1,50 @@
'use strict';Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});const badboy_asn=require('../../_virtual/badboy_asn.cjs');var hasRequiredBadboy_asn;
function requireBadboy_asn () {
if (hasRequiredBadboy_asn) return badboy_asn.__exports;
hasRequiredBadboy_asn = 1;
(function (exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
AUGUST_ASN: function() {
return AUGUST_ASN;
},
HUIZE_ASN: function() {
return HUIZE_ASN;
}
});
const AUGUST_ASN = [
'1012',
'945',
'401111',
'62853',
'27523',
'7719',
'54625',
'7257',
'18044',
'62489',
'5111',
'14651',
'7480' // Friend of August, stealing others' XC at STUIX
];
const HUIZE_ASN = [
'61302',
'44324',
'53808',
'60539',
'60842',
'140915',
'40115' // MoeDove
];
} (badboy_asn.__exports));
return badboy_asn.__exports;
}exports.__require=requireBadboy_asn;

View File

@@ -0,0 +1,39 @@
'use strict';Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});const cloudmounter=require('../../_virtual/cloudmounter.cjs');var hasRequiredCloudmounter;
function requireCloudmounter () {
if (hasRequiredCloudmounter) return cloudmounter.__exports;
hasRequiredCloudmounter = 1;
(function (exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
DOMAINS: function() {
return DOMAINS;
},
PROCESS_NAMES: function() {
return PROCESS_NAMES;
}
});
const DOMAINS = [
'DOMAIN-SUFFIX,sharepoint.com',
'DOMAIN-SUFFIX,graph.microsoft.com',
'DOMAIN,www.googleapis.com',
'DOMAIN,api.onedrive.com',
'DOMAIN-SUFFIX,storage.live.com',
'DOMAIN-SUFFIX,files.1drv.com',
'DOMAIN-SUFFIX,my.microsoftpersonalcontent.com',
'DOMAIN-WILDCARD,*-medi*.svc.ms'
];
const PROCESS_NAMES = [
'*CloudMounter'
];
} (cloudmounter.__exports));
return cloudmounter.__exports;
}exports.__require=requireCloudmounter;

View File

@@ -0,0 +1,147 @@
'use strict';Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});const direct=require('../../_virtual/direct.cjs');var hasRequiredDirect;
function requireDirect () {
if (hasRequiredDirect) return direct.__exports;
hasRequiredDirect = 1;
(function (exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
DIRECTS: function() {
return DIRECTS;
},
LAN: function() {
return LAN;
}
});
const DIRECTS = {
HOTSPOT_CAPTIVE_PORTAL: {
dns: 'system',
hosts: {},
realip: false,
ruleset: false,
domains: [
'securelogin.com.cn',
'$captive.apple.com',
'$hotspot.cslwifi.com'
]
},
SYSTEM: {
dns: 'system',
hosts: {},
realip: true,
ruleset: false,
domains: [
'+m2m',
// '+ts.net', // TailScale Magic DNS
// AdGuard
'$injections.adguard.org',
'$local.adguard.org',
// Auto Discovery
'+bogon'
]
}
};
const LAN = {
ROUTER: {
dns: 'system',
hosts: {},
realip: false,
ruleset: true,
domains: [
'+home',
// 'zte.home', // ZTE CPE
// 'airbox.home',
// 'bthub.home',
// 'bthomehub.home',
// 'hitronhub.home',
// 'web.setup.home'
// Aruba Router
'$instant.arubanetworks.com',
'$setmeup.arubanetworks.com',
// ASUS router
'$router.asus.com',
'$repeater.asus.com',
'asusrouter.com',
// NetGear
'routerlogin.net',
'routerlogin.com',
// Tenda WiFi
// 'tendawifi.com',
// TP-Link Router
'tplinkwifi.net',
'tplogin.cn',
'tplinkap.net',
'tplinkmodem.net',
'tplinkplclogin.net',
'tplinkrepeater.net',
// UniFi
'+ui.direct',
'$unifi',
// Other Router
// '$router.com',
'+huaweimobilewifi.com',
'+router',
// 'my.router',
// 'samsung.router',
// '$easy.box', // Vodafone EasyBox
'$aterm.me',
'$console.gl-inet.com',
// '$fritz.box',
// '$fritz.repeater',
// '$myfritz.box',
// '$speedport.ip', // Telekom
// '$giga.cube', // Vodafone GigaCube
'$homerouter.cpe',
'$mobile.hotspot',
'$ntt.setup',
'$pi.hole',
'+plex.direct'
]
},
LAN: {
dns: 'system',
hosts: {
},
realip: true,
ruleset: true,
domains: [
'+lan',
// 'amplifi.lan',
// '$localhost',
'+localdomain',
'home.arpa',
// AS112
'10.in-addr.arpa',
'16.172.in-addr.arpa',
'17.172.in-addr.arpa',
'18.172.in-addr.arpa',
'19.172.in-addr.arpa',
// '2?.172.in-addr.arpa',
'20.172.in-addr.arpa',
'21.172.in-addr.arpa',
'22.172.in-addr.arpa',
'23.172.in-addr.arpa',
'24.172.in-addr.arpa',
'25.172.in-addr.arpa',
'26.172.in-addr.arpa',
'27.172.in-addr.arpa',
'28.172.in-addr.arpa',
'29.172.in-addr.arpa',
'30.172.in-addr.arpa',
'31.172.in-addr.arpa',
'168.192.in-addr.arpa',
'254.169.in-addr.arpa'
]
}
};
} (direct.__exports));
return direct.__exports;
}exports.__require=requireDirect;

View File

@@ -0,0 +1,437 @@
'use strict';Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});const domestic=require('../../_virtual/domestic.cjs');var hasRequiredDomestic;
function requireDomestic () {
if (hasRequiredDomestic) return domestic.__exports;
hasRequiredDomestic = 1;
(function (exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
AdGuardHomeDNSMapping: function() {
return AdGuardHomeDNSMapping;
},
DOH_BOOTSTRAP: function() {
return DOH_BOOTSTRAP;
},
DOMESTICS: function() {
return DOMESTICS;
}
});
const DOMESTICS = {
ALIBABA: {
hosts: {},
dns: 'quic://dns.alidns.com:853',
realip: false,
ruleset: true,
domains: [
'uc.cn',
// 'ucweb.com', // UC International
'alibaba.com',
'+alicdn.com',
'+ialicdn.com',
'+myalicdn.com',
'+alidns.com',
'+aliimg.com',
'aliyun.com',
'+aliyuncs.com',
'+alikunlun.com',
'+alikunlun.net',
'+cdngslb.com',
'alipay.com',
'alipay.cn',
'alipay.com.cn',
'+alipayobjects.com',
'alibaba-inc.com',
'+alibabausercontent.com',
'+alibabadns.com',
'alibabachengdun.com',
'alicloudccp.com',
'alipan.com',
'aliyundrive.com',
'aliyundrive.net',
'cainiao.com',
'cainiao.com.cn',
'cainiaoyizhan.com',
'guoguo-app.com',
'etao.com',
'yitao.com',
'1688.com',
'amap.com',
'gaode.com',
'autonavi.com',
'dingtalk.com',
'mxhichina.com',
'soku.com',
'tb.cn',
'taobao.com',
'+taobaocdn.com',
'+tbcache.com',
'tmall.com',
// 'tmall.hk',
'goofish.com',
'xiami.com',
'xiami.net',
'+ykimg.com',
'youku.com',
'tudou.com',
'+cibntv.net',
'ele.me',
'+elemecdn.com',
'feizhu.com',
'taopiaopiao.com',
'fliggy.com',
'koubei.com',
'mybank.cn',
'mmstat.com',
'uczzd.cn',
'iconfont.cn',
'freshhema.com',
'hemamax.com',
'hemaos.com',
'hemashare.cn',
'shyhhema.com',
'sm.cn',
'npmmirror.com',
'alios.cn',
'wandoujia.com',
'aligames.com',
'25pp.com',
'+aliapp.org',
'tanx.com',
'hellobike.com',
'+hichina.com',
'+yunos.com',
// Bilibili Aliyun CDN
'$upos-sz-mirrorali.bilivideo.com',
'$upos-sz-estgoss.bilivideo.com'
]
},
TENCENT: {
hosts: {},
dns: 'https://doh.pub/dns-query',
realip: false,
ruleset: true,
domains: [
// 'dns.pub',
// 'doh.pub',
// 'dot.pub',
'+qcloud.com',
'+gtimg.cn',
'+gtimg.com',
'+gtimg.com.cn',
'+gdtimg.com',
'+idqqimg.com',
'+udqqimg.com',
'+igamecj.com',
'myapp.com',
'+myqcloud.com',
'dnspod.com',
'+qpic.cn',
'+qlogo.cn',
'qq.com',
'qq.com.cn',
// 'qq.wang',
// 'qqmail.cn', // not owned by QQ, is sold on hichina.com
'+qqmail.com',
'qzone.com',
'+tencent-cloud.net',
'+tencent-cloud.com',
'tencent.com',
'tencent.com.cn',
'tencentmusic.com',
'weixinbridge.com',
'weixin.com',
// 'wechat.com', exclude `sgshort.wechat.com`
'weiyun.com',
'soso.com',
'sogo.com',
'sogou.com',
'+sogoucdn.com',
'+roblox.cn',
'robloxdev.cn',
'wegame.com',
'wegame.com.cn',
'wegameplus.com',
'cdn-go.cn',
'+tencentcs.cn',
'+qcloudimg.com',
'dnspod.cn',
'anticheatexpert.com',
'$url.cn',
'+qlivecdn.com',
'+tcdnlive.com',
'+dnsv1.com',
'+smtcdns.net',
'coding.net',
'+codehub.cn'
]
},
BILIBILI: {
dns: 'https://doh.pub/dns-query',
hosts: {},
realip: false,
ruleset: true,
domains: [
// '$upos-sz-mirrorcoso1.bilivideo.com', // already included in bilivideo.com
// '$upos-sz-estgcos.bilivideo.com', // already included in bilivideo.com, tencent cloud cdn
'$acg.tv',
'$b23.tv',
'bilibili.cn',
'bilibili.com',
// 'bilibili.tv',
'+acgvideo.com',
'+bilivideo.com',
'+bilivideo.cn',
'+bilivideo.net',
'+hdslb.com',
'+biliimg.com',
'+biliapi.com',
'+biliapi.net',
// 'biligame.cn', // not owned by bilibili, was put on sale by ename
'biligame.com',
'+biligame.net',
'bilicomic.com',
'bilicomics.com',
// 'bilibilipay.cn', // not owned by bilibili
// 'bilibilipay.com', // not owned by bilibili
'+bilicdn1.com'
]
},
XIAOMI: {
dns: 'https://doh.pub/dns-query',
hosts: {},
realip: false,
ruleset: true,
domains: [
'mi.com',
'duokan.com',
'+mi-img.com',
'+mi-idc.com',
'+xiaoaisound.com',
'+xiaomixiaoai.com',
'+mi-fds.com',
'+mifile.cn',
'+mijia.tech',
'miui.com',
'xiaomi.com',
'xiaomi.cn',
'xiaomi.net',
'xiaomiev.com',
'xiaomiyoupin.com'
]
},
BYTEDANCE: {
dns: '180.184.2.2',
hosts: {},
realip: false,
ruleset: true,
domains: [
'bytedance.com',
'+bytecdn.cn',
'+volccdn.com',
'+toutiaoimg.com',
'+toutiaoimg.cn',
'+toutiaostatic.com',
'+toutiaovod.com',
'+toutiaocloud.com',
'toutiaopage.com',
'feiliao.com',
'iesdouyin.com',
'+pstatp.com',
'snssdk.com',
'+bytegoofy.com',
'toutiao.com',
'feishu.cn',
'feishu.net',
'+feishucdn.com',
'+feishupkg.com',
'douyin.com',
'+douyinpic.com',
'+douyinstatic.com',
'+douyincdn.com',
'+douyinliving.com',
'+douyinvod.com',
'huoshan.com',
'+huoshanstatic.com',
'huoshanzhibo.com',
'ixigua.com',
'+ixiguavideo.com',
'+ixgvideo.com',
'+volccdn.com',
'+byted-static.com',
'volces.com',
'baike.com',
'+zjcdn.com',
'+zijieapi.com',
'feelgood.cn',
'+bytetcc.com',
'+bytednsdoc.com',
'+byteimg.com',
'+byteacctimg.com',
'+ibytedapm.com',
'oceanengine.com',
'+edge-byted.com',
'+volcvideo.com'
]
},
BAIDU: {
dns: '180.76.76.76',
hosts: {},
realip: false,
ruleset: true,
domains: [
'91.com',
'hao123.com',
'baidu.cn',
'baidu.com',
'iqiyi.com',
'+iqiyipic.com',
'+baidubce.com',
'+bcelive.com',
'+baiducontent.com',
'+baidustatic.com',
'+bdstatic.com',
'+bdimg.com',
'+bcebos.com',
'+baidupcs.com',
'+baidubcr.com',
'+yunjiasu-cdn.net',
'tieba.com',
'xiaodutv.com',
'+shifen.com',
'+jomodns.com',
'+bdydns.com',
'+jomoxc.com',
'+duapp.com',
'+antpcdn.com',
// Bilibili Baidu CDN
'$upos-sz-mirrorbd.bilivideo.com',
'$upos-sz-mirrorbos.bilivideo.com'
]
},
QIHOO360: {
hosts: {},
dns: 'https://doh.360.cn/dns-query',
realip: false,
ruleset: true,
domains: [
'+qhimg.com',
'+qhimgs.com',
'+qhimgs?.com',
// '+qhimgs0.com',
// '+qhimgs1.com',
// '+qhimgs2.com',
// '+qhimgs3.com',
// '+qhimgs4.com',
// '+qhimgs5.com',
// '+qhimgs6.com',
'+qhres.com',
'+qhres2.com',
'+qhmsg.com',
'+qhstatic.com',
'+qhupdate.com',
'+qihucdn.com',
'360.com',
'360.cn',
'360.net',
'360safe.com',
'+360tpcdn.com',
'360os.com',
'+360webcache.com',
'360kuai.com',
'so.com',
'haosou.com',
'yunpan.cn',
'yunpan.com',
'yunpan.com.cn',
'+qh-cdn.com',
'baomitu.com',
'qiku.com'
]
}
};
const DOH_BOOTSTRAP = {
ALIBABA: {
hosts: {
'dns.alidns.com': [
'223.5.5.5',
'223.6.6.6',
'2400:3200:baba::1',
'2400:3200::1'
]
},
realip: false,
ruleset: false,
dns: 'quic://223.5.5.5:853',
domains: [
'$dns.alidns.com'
]
},
DNSPOD: {
hosts: {
// 'dot.pub': ['120.53.53.53', '1.12.12.12'],
'doh.pub': [
'120.53.53.53',
'1.12.12.12'
]
},
realip: false,
ruleset: false,
dns: 'https://1.12.12.12/dns-query',
domains: [
// '$dot.pub',
'$doh.pub'
]
},
QIHOO360: {
hosts: {
},
realip: false,
ruleset: false,
// Surge only supports UDP 53 or Hosts as the bootstrap server of domain DoH
dns: '101.198.198.198',
domains: [
// '$dns.360.cn',
// '$dot.360.cn',
'$doh.360.cn'
]
}
};
const AdGuardHomeDNSMapping = {
system: [
'udp://10.10.1.1:53'
],
'https://doh.pub/dns-query': [
'tls://1.12.12.12',
'tls://120.53.53.53',
'https://1.12.12.12/dns-query',
'https://120.53.53.53/dns-query'
],
'quic://dns.alidns.com:853': [
'quic://223.5.5.5',
'quic://223.6.6.6',
'h3://223.5.5.5/dns-query',
'h3://223.6.6.6/dns-query'
],
'https://doh.360.cn/dns-query': [
'https://doh.360.cn/dns-query',
'tls://dot.360.cn'
],
'180.76.76.76': [
'udp://180.76.76.76'
],
'180.184.2.2': [
'udp://180.184.2.2',
'udp://180.184.1.1'
]
};
} (domestic.__exports));
return domestic.__exports;
}exports.__require=requireDomestic;

858
Dist/Source/stream.cjs Normal file
View File

@@ -0,0 +1,858 @@
'use strict';Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});const stream=require('../_virtual/stream.cjs');var hasRequiredStream;
function requireStream () {
if (hasRequiredStream) return stream.__exports;
hasRequiredStream = 1;
(function (exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
ALL: function() {
return ALL;
},
AU: function() {
return AU;
},
EU: function() {
return EU;
},
HK: function() {
return HK;
},
JP: function() {
return JP;
},
KR: function() {
return KR;
},
NORTH_AMERICA: function() {
return NORTH_AMERICA;
},
SOUTH_EAST_ASIA: function() {
return SOUTH_EAST_ASIA;
},
TW: function() {
return TW;
}
});
const $4GTV = {
name: '4gtv',
rules: [
'DOMAIN-SUFFIX,4gtv.tv',
'DOMAIN,4gtvfreepcvod-cds.cdn.hinet.net'
]
};
const ALL4 = {
name: 'All4',
rules: [
'DOMAIN-SUFFIX,c4assets.com',
'DOMAIN-SUFFIX,channel4.com',
'USER-AGENT,All4*'
]
};
const AMAZON_PRIME_VIDEO = {
name: 'Amazon Prime Video',
rules: [
'DOMAIN,avodmp4s3ww-a.akamaihd.net',
'DOMAIN,d1v5ir2lpwr8os.cloudfront.net',
'DOMAIN,d22qjgkvxw22r6.cloudfront.net',
'DOMAIN,d25xi40x97liuc.cloudfront.net',
'DOMAIN,dmqdd6hw24ucf.cloudfront.net',
'DOMAIN,d27xxe7juh1us6.cloudfront.net',
'DOMAIN,d184dfn36gombl.cloudfront.net',
'DOMAIN,d1xfray82862hr.cloudfront.net',
'DOMAIN,d3196yreox78o9.cloudfront.net',
'DOMAIN-KEYWORD,avoddashs',
'DOMAIN-SUFFIX,aiv-cdn.net',
'DOMAIN-SUFFIX,aiv-delivery.net',
'DOMAIN-SUFFIX,amazonvideo.com',
'DOMAIN-SUFFIX,amazonvideo.cc',
'DOMAIN-SUFFIX,media-amazon.com',
'DOMAIN-SUFFIX,primevideo.com',
'DOMAIN-SUFFIX,prime-video.com',
'DOMAIN-SUFFIX,primevideo.cc',
'DOMAIN-SUFFIX,primevideo.info',
'DOMAIN-SUFFIX,primevideo.org',
'DOMAIN-SUFFIX,primevideo.tv',
'DOMAIN-SUFFIX,amazonvideodirect.cc',
'DOMAIN-SUFFIX,amazonprimevideos.com',
'DOMAIN-SUFFIX,atv-ps.amazon.com',
'DOMAIN-SUFFIX,avodmp4s3ww-a.akamaihd.net',
'DOMAIN-SUFFIX,fls-na.amazon.com',
'USER-AGENT,InstantVideo.US*',
'USER-AGENT,Prime Video*',
'PROCESS-NAME,com.amazon.avod.thirdpartyclient'
]
};
const ABEMA_TV = {
name: 'AbemaTV',
rules: [
// Pure Front-End detection https://ds-linear-abematv.akamaized.net/region check HTTP 200
'DOMAIN,ds-linear-abematv.akamaized.net',
'DOMAIN-SUFFIX,abema.io',
'DOMAIN-SUFFIX,abema.tv',
'DOMAIN-SUFFIX,ameba.jp',
'DOMAIN-SUFFIX,abema-tv.com',
'DOMAIN-SUFFIX,hayabusa.dev',
'DOMAIN-SUFFIX,hayabusa.io',
'DOMAIN-SUFFIX,hayabusa.media',
'DOMAIN-SUFFIX,amebame.com',
'DOMAIN-SUFFIX,amebaownd.com',
'DOMAIN-SUFFIX,amebaowndme.com',
'DOMAIN-SUFFIX,ameblo.jp',
'DOMAIN-SUFFIX,dokusho-ojikan.jp',
'DOMAIN-SUFFIX,winticket.jp',
'USER-AGENT,AbemaTV*'
]
};
const APPLE_TV = {
name: 'Apple TV',
rules: [
'DOMAIN,ocvideo.apple.com',
'DOMAIN,linear.tv.apple.com',
'DOMAIN,play-edge.itunes.apple.com',
'DOMAIN,np-edge.itunes.apple.com',
'DOMAIN,uts-api.itunes.apple.com',
'DOMAIN,hls-amt.itunes.apple.com',
'DOMAIN,hls.itunes.apple.com',
'USER-AGENT,AppleTV*',
'USER-AGENT,com.apple.tv*',
'PROCESS-NAME,tv'
]
};
const APPLE_MUSIC_TV = {
name: 'Apple Music TV',
rules: [
'DOMAIN-SUFFIX,applemusic.com',
'PROCESS-NAME,music'
]
};
const BAHAMUT = {
name: 'Bahamut',
rules: [
// 'DOMAIN,bahamut.akamaized.net', // Akamai based CDN, no geoblock at all
'DOMAIN,gamer-cds.cdn.hinet.net',
'DOMAIN,gamer2-cds.cdn.hinet.net',
'DOMAIN-SUFFIX,viblast.com',
'DOMAIN-SUFFIX,bahamut.com.tw',
'DOMAIN-SUFFIX,ani.gamer.com.tw',
'USER-AGENT,Anime*'
]
};
const BBC = {
name: 'BBC',
rules: [
'DOMAIN-SUFFIX,tvlicensing.co.uk',
'DOMAIN-KEYWORD,bbcfmt',
'DOMAIN-KEYWORD,uk-live',
'DOMAIN-SUFFIX,bbc.co.uk',
'DOMAIN-SUFFIX,bbci.co.uk',
'USER-AGENT,BBCiPlayer*'
]
};
const BILIBILI_INTL = {
name: 'Bilibili International',
rules: [
'DOMAIN-SUFFIX,biliintl.com',
'DOMAIN,apm-misaka.biliapi.net',
'DOMAIN,upos-bstar-mirrorakam.akamaized.net',
'DOMAIN,upos-bstar1-mirrorakam.akamaized.net',
// upos-sz-mirroralibstar1.bilivideo.com, from domain bilivideo.com and without geoblocking
'DOMAIN-SUFFIX,bilibili.tv',
'PROCESS-NAME,com.bstar.intl'
]
};
const DAZN = {
name: 'DAZN',
rules: [
'DOMAIN,d151l6v8er5bdm.cloudfront.net',
'DOMAIN,d1sgwhnao7452x.cloudfront.net',
'DOMAIN-KEYWORD,voddazn',
'DOMAIN-SUFFIX,dazn-api.com',
'DOMAIN-SUFFIX,dazn.com',
'DOMAIN-SUFFIX,dazndn.com',
'DOMAIN-SUFFIX,indazn.com',
'DOMAIN-SUFFIX,indaznlab.com',
'DOMAIN-SUFFIX,dca-ll-livedazn-dznlivejp.s.llnwi.net',
'DOMAIN-SUFFIX,dcalivedazn.akamaized.net',
'DOMAIN-SUFFIX,dcblivedazn.akamaized.net',
'USER-AGENT,DAZN*'
]
};
const DEEZER = {
name: 'Deezer',
rules: [
'DOMAIN-SUFFIX,deezer.com',
'DOMAIN-SUFFIX,dzcdn.net',
'USER-AGENT,Deezer*'
]
};
const DISNEY_PLUS = {
name: 'Disney+',
rules: [
'DOMAIN,cdn.registerdisney.go.com',
'DOMAIN-SUFFIX,bamgrid.com',
'DOMAIN-SUFFIX,disney-plus.net',
'DOMAIN-SUFFIX,disneyplus.com',
'DOMAIN-SUFFIX,dssott.com',
'DOMAIN-SUFFIX,disneystreaming.com',
'USER-AGENT,Disney+*'
]
};
const DISCOVERY_PLUS = {
name: 'Discovery+',
rules: [
'USER-AGENT,DPlus*',
'USER-AGENT,discovery+*',
'DOMAIN-SUFFIX,disco-api.com',
'DOMAIN-SUFFIX,discoveryplus.co.uk',
'DOMAIN-SUFFIX,discoveryplus.com',
'DOMAIN-SUFFIX,discoveryplus.in',
'DOMAIN-SUFFIX,dnitv.com'
]
};
const DMM = {
name: 'DMM',
rules: [
'DOMAIN-SUFFIX,dmm.co.jp',
'DOMAIN-SUFFIX,dmm.com',
'DOMAIN-SUFFIX,dmm-extension.com'
]
};
const ENCORE_TVB = {
name: 'encoreTVB',
rules: [
'DOMAIN,bcbolt446c5271-a.akamaihd.net',
'DOMAIN,edge.api.brightcove.com',
'DOMAIN-SUFFIX,encoretvb.com',
'USER-AGENT,encoreTVB*',
'USER-AGENT,TVer-Release*'
]
};
const ENCORE_TVB_JP_TVER = {
name: 'encoreTVB JP',
rules: [
'DOMAIN-SUFFIX,tver.jp'
]
};
const FOX_NOW = {
name: 'Fox Now',
rules: [
'DOMAIN-SUFFIX,fox.com',
'DOMAIN-SUFFIX,foxdcg.com',
'DOMAIN-SUFFIX,uplynk.com',
'USER-AGENT,FOX NOW*'
]
};
const FOX_PLUS = {
name: 'Fox+',
rules: [
'DOMAIN,dashasiafox.akamaized.net',
'DOMAIN,staticasiafox.akamaized.net',
'DOMAIN-SUFFIX,foxplus.com',
'DOMAIN-SUFFIX,theplatform.com',
'USER-AGENT,FOXPlus*'
]
};
const HBO = {
name: 'HBO Go / HBO Now / HBO Max / Max',
rules: [
'DOMAIN-SUFFIX,hbo.com',
'DOMAIN-SUFFIX,hbogo.com',
'DOMAIN-SUFFIX,hbonow.com',
'USER-AGENT,HBO NOW*',
'USER-AGENT,HBOMAX*',
'DOMAIN-SUFFIX,hbomax.com',
'DOMAIN-SUFFIX,hbomaxcdn.com',
// 'USER-AGENT,Max',
// 'PROCESS-NAME,com.wbd.stream',
'DOMAIN-SUFFIX,max.com',
'DOMAIN-SUFFIX,discomax.com'
]
};
const HBO_ASIA = {
name: 'HBO Asia',
rules: [
'DOMAIN-SUFFIX,hboasia.com',
'DOMAIN-SUFFIX,hbogoasia.com',
'DOMAIN-SUFFIX,hbogoasia.hk',
'DOMAIN-KEYWORD,.hbogoasia.',
'DOMAIN,44wilhpljf.execute-api.ap-southeast-1.amazonaws.com',
// 'DOMAIN,bcbolthboa-a.akamaihd.net',
// 'DOMAIN,cf-images.ap-southeast-1.prod.boltdns.net',
// 'DOMAIN,dai3fd1oh325y.cloudfront.net',
// 'DOMAIN,hboasia1-i.akamaihd.net',
// 'DOMAIN,hboasia2-i.akamaihd.net',
// 'DOMAIN,hboasia3-i.akamaihd.net',
// 'DOMAIN,hboasia4-i.akamaihd.net',
// 'DOMAIN,hboasia5-i.akamaihd.net',
// 'DOMAIN,hbogoprod-vod.akamaized.net',
'DOMAIN,manifest.prod.boltdns.net',
'DOMAIN,players.brightcove.net',
// 'DOMAIN,hboasialive.akamaized.net',
'DOMAIN,hbounify-prod.evergent.com',
'DOMAIN,hbolb.onwardsmg.com'
]
};
const HIMALAYA_FM = {
name: 'Himalaya FM',
rules: [
'USER-AGENT,Himalaya*',
'DOMAIN-SUFFIX,himalaya.com'
]
};
const HULU = {
name: 'Hulu',
rules: [
'DOMAIN-SUFFIX,hulu.com',
'DOMAIN-SUFFIX,hulu.tv',
'DOMAIN-SUFFIX,hulu.us',
'DOMAIN-SUFFIX,huluim.com',
'DOMAIN-SUFFIX,hulustream.com',
'USER-AGENT,Hulu*',
'PROCESS-NAME,com.hulu.plus'
]
};
const HULU_JP = {
name: 'Hulu Japan',
rules: [
'DOMAIN-SUFFIX,happyon.jp',
'DOMAIN-SUFFIX,hjholdings.jp',
'DOMAIN-SUFFIX,hulu.jp'
]
};
const HWTV = {
name: 'HWTV',
rules: [
'USER-AGENT,HWTVMobile*',
'DOMAIN-SUFFIX,5itv.tv',
'DOMAIN-SUFFIX,ocnttv.com'
]
};
const ITV = {
name: 'ITV',
rules: [
'DOMAIN,itvpnpmobile-a.akamaihd.net',
'DOMAIN-SUFFIX,itv.com',
'USER-AGENT,ITV_Player*'
]
};
const IQIYI_GLOBAL = {
name: 'iQiYi Global',
rules: [
'DOMAIN-SUFFIX,iq.com',
'DOMAIN,cache.video.iqiyi.com',
'DOMAIN,cache-video.iq.com',
'DOMAIN,akmcdnoversea-tw.inter.ptqy.gitv.tv',
'DOMAIN,chuangcachecdnoversea-tw.inter.ptqy.gitv.tv',
'DOMAIN-SUFFIX,inter.iqiyi.com',
'DOMAIN-SUFFIX,intl-rcd.iqiyi.com',
'DOMAIN-SUFFIX,intl-subscription.iqiyi.com',
'DOMAIN-SUFFIX,intl.iqiyi.com'
]
};
const JOOX = {
name: 'JOOX',
rules: [
'DOMAIN-SUFFIX,joox.com',
'DOMAIN-KEYWORD,jooxweb-api',
'USER-AGENT,JOOX*',
'USER-AGENT,WeMusic*',
'PROCESS-NAME,com.tencent.ibg.joox'
]
};
const KKBOX = {
name: 'KKBOX',
rules: [
'DOMAIN-SUFFIX,kfs.io',
'DOMAIN-SUFFIX,kkbox.com',
'DOMAIN-SUFFIX,kkbox.com.tw',
'DOMAIN-SUFFIX,kkbox-prime.com',
'DOMAIN-SUFFIX,kktix.com'
]
};
const KKTV = {
name: 'KKTV',
rules: [
'DOMAIN-SUFFIX,kk.stream',
'DOMAIN-SUFFIX,kktv.com.tw',
'DOMAIN-SUFFIX,kktv.me',
'USER-AGENT,com.kktv.ios.kktv*',
'USER-AGENT,KKTV*'
]
};
const LINE_TV = {
name: 'Line TV',
rules: [
'DOMAIN,d3c7rimkq79yfu.cloudfront.net',
'DOMAIN-SUFFIX,linetv.tw',
'USER-AGENT,LINE TV*',
'PROCESS-NAME,com.linecorp.linetv'
]
};
const LITV = {
name: 'LiTV',
rules: [
'DOMAIN,litvfreemobile-hichannel.cdn.hinet.net',
'DOMAIN-SUFFIX,litv.tv'
]
};
const MY5 = {
name: 'My5',
rules: [
'DOMAIN,d349g9zuie06uo.cloudfront.net',
'DOMAIN-SUFFIX,channel5.com',
'DOMAIN-SUFFIX,my5.tv',
'USER-AGENT,My5*'
]
};
const MYTV_SUPER = {
name: 'myTV Super',
rules: [
'DOMAIN-SUFFIX,mytvsuper.com',
'DOMAIN-SUFFIX,tvb.com',
'DOMAIN-SUFFIX,psg.cdn.hgc.com.hk',
'USER-AGENT,mytv*',
'DOMAIN-KEYWORD,nowtv100',
'DOMAIN-KEYWORD,rthklive'
]
};
const NAVER_TV = {
name: 'Naver TV',
rules: [
'USER-AGENT,Naver TV*',
'DOMAIN-SUFFIX,tv.naver.com',
'DOMAIN-SUFFIX,smartmediarep.com'
]
};
const NICONICO = {
name: 'niconico',
rules: [
'DOMAIN-SUFFIX,dmc.nico',
'DOMAIN-SUFFIX,nicovideo.jp',
'DOMAIN-SUFFIX,asset.domand.nicovideo.jp',
// 'DOMAIN-SUFFIX,nimg.jp',
'DOMAIN-SUFFIX,socdm.com',
'USER-AGENT,Niconico*'
]
};
const NETFLIX = {
name: 'Netflix',
ip: {
v4: [
'23.246.18.0/23',
'37.77.184.0/21',
'45.57.0.0/17',
'64.120.128.0/17',
'66.197.128.0/17',
'69.53.224.0/19',
'108.175.32.0/20',
'185.2.220.0/22',
'185.9.188.0/22',
'192.173.64.0/18',
'198.38.96.0/19',
'198.45.48.0/20',
'208.75.76.0/22'
],
v6: [
'2607:fb10::/32',
'2620:10c:7000::/44',
'2a00:86c0::/32',
'2a03:5640::/32'
]
},
rules: [
'DOMAIN-SUFFIX,netflix.ca',
'DOMAIN-SUFFIX,netflix.com',
'DOMAIN-SUFFIX,netflix.net',
'DOMAIN-SUFFIX,nflxext.com',
'DOMAIN-SUFFIX,nflximg.com',
'DOMAIN-SUFFIX,nflximg.net',
'DOMAIN-SUFFIX,nflxso.net',
'DOMAIN-SUFFIX,nflxvideo.net',
'DOMAIN-SUFFIX,nflxsearch.net',
'DOMAIN-SUFFIX,netflix.com.edgesuite.net',
'DOMAIN-KEYWORD,netflixdnstest',
'DOMAIN-KEYWORD,dualstack.apiproxy-',
'DOMAIN-KEYWORD,dualstack.ichnaea-web-',
'DOMAIN-KEYWORD,apiproxy-device-prod-nlb-',
'USER-AGENT,Argo*',
'PROCESS-NAME,com.netflix.mediaclient'
]
};
const NHK_PLUS = {
name: 'NHK Plus',
rules: [
// Pure Front-End detection just like AbemaTV: https://location-plus.nhk.jp/geoip/area.json
'DOMAIN-SUFFIX,location-plus.nhk.jp'
]
};
const NOW_E = {
name: 'Now E',
rules: [
'DOMAIN-SUFFIX,nowe.com'
]
};
const OVERCAST_FM = {
name: 'Overcast FM',
rules: [
'USER-AGENT,Overcast*',
'DOMAIN-SUFFIX,overcast.fm'
]
};
const PARAMOUNT = {
name: 'Paramount+',
rules: [
'USER-AGENT,PPlus*',
'DOMAIN-SUFFIX,pluto.tv',
'DOMAIN-SUFFIX,cbsi.com',
'DOMAIN-SUFFIX,cbsaavideo.com',
'DOMAIN-SUFFIX,cbsivideo.com',
'DOMAIN-SUFFIX,paramountplus.com',
'DOMAIN,cbsi.live.ott.irdeto.com',
'DOMAIN,cbsplaylistserver.aws.syncbak.com',
'DOMAIN,cbsservice.aws.syncbak.com',
'DOMAIN,link.theplatform.com'
]
};
const PBS = {
name: 'PBS',
rules: [
'USER-AGENT,PBS*',
'DOMAIN-SUFFIX,pbs.org'
]
};
const PEACOCK = {
name: 'Peacock',
rules: [
'USER-AGENT,PeacockMobile*',
'DOMAIN-SUFFIX,peacocktv.com'
]
};
const PANDORA = {
name: 'Pandora',
rules: [
'DOMAIN-SUFFIX,pandora.com',
'USER-AGENT,Pandora*'
]
};
const PORNHUB = {
name: 'Pornhub',
rules: [
'DOMAIN-SUFFIX,phprcdn.com',
'DOMAIN-SUFFIX,pornhub.com',
'DOMAIN-SUFFIX,pornhubpremium.com'
]
};
const SOUNDCLOUD = {
name: 'SoundCloud',
rules: [
// 'DOMAIN-SUFFIX,sndcdn.com',
'DOMAIN-SUFFIX,soundcloud.com',
'USER-AGENT,SoundCloud*'
]
};
const SPOTIFY = {
name: 'Spotify',
ip: {
v4: [
'35.186.224.47/32'
],
v6: []
},
rules: [
'DOMAIN-KEYWORD,-spotify-com',
'DOMAIN-SUFFIX,pscdn.co',
'DOMAIN-SUFFIX,scdn.co',
'DOMAIN-SUFFIX,spoti.fi',
'DOMAIN-SUFFIX,spotify.com',
'DOMAIN-SUFFIX,byspotify.com',
'DOMAIN-SUFFIX,spotify-everywhere.com',
'DOMAIN-SUFFIX,spotify.design',
'DOMAIN-SUFFIX,spotifycdn.com',
'DOMAIN-SUFFIX,spotifycdn.net',
'DOMAIN-SUFFIX,spotifycharts.com',
'DOMAIN-SUFFIX,spotifycodes.com',
'DOMAIN-SUFFIX,spotifyforbrands.com',
'DOMAIN-SUFFIX,spotifyjobs.com',
'DOMAIN-SUFFIX,spotify-com.akamaized.net',
'DOMAIN-SUFFIX,spotifynewsroom.jp',
'DOMAIN-SUFFIX,spotilocal.com',
'DOMAIN-SUFFIX,tospotify.com',
'USER-AGENT,*Spotify*'
]
};
const TVB_ANYWHERE = {
name: 'TVB Anywhere',
rules: [
'DOMAIN-KEYWORD,tvbanywhere'
]
};
const TAIWAN_GOOD = {
name: 'TaiwanGood',
rules: [
'DOMAIN,hamifans.emome.net',
'DOMAIN-SUFFIX,skyking.com.tw',
'USER-AGENT,TaiwanGood*',
'PROCESS-NAME,com.twgood.android'
]
};
const TIDAL = {
name: 'TIDAL',
rules: [
'USER-AGENT,TIDAL*',
'DOMAIN-SUFFIX,tidal.com',
'DOMAIN-SUFFIX,tidalhifi.com'
]
};
const TIKTOK = {
name: 'TikTok',
rules: [
'DOMAIN-SUFFIX,byteoversea.com',
'DOMAIN-SUFFIX,ibytedtos.com',
// 'DOMAIN-SUFFIX,ibyteimg.com', // We confirm that tiktokcdn DOES NOT have ANY geoblock
'DOMAIN-SUFFIX,ipstatp.com',
'DOMAIN-SUFFIX,isnssdk.com',
'DOMAIN-SUFFIX,muscdn.com',
'DOMAIN-SUFFIX,musical.ly',
'DOMAIN-SUFFIX,tiktok.com',
'DOMAIN-SUFFIX,tiktok.us',
'DOMAIN-SUFFIX,tiktokv.us',
'DOMAIN-SUFFIX,tik-tokapi.com',
// 'DOMAIN-SUFFIX,tiktokcdn.com', // We confirm that tiktokcdn DOES NOT have ANY geoblock
'DOMAIN-SUFFIX,tiktokv.com',
'DOMAIN-SUFFIX,tiktokw.com',
'DOMAIN-KEYWORD,-tiktokcdn-com',
'USER-AGENT,TikTok*'
]
};
const TWITCH = {
name: 'Twitch',
rules: [
'DOMAIN-SUFFIX,jtvnw.net',
'DOMAIN-SUFFIX,ttvnw.net',
'DOMAIN-SUFFIX,twitch.tv',
'DOMAIN-SUFFIX,twitchcdn.net',
'DOMAIN-SUFFIX,twitchsvc.net',
'DOMAIN-SUFFIX,ext-twitch.tv',
'PROCESS-NAME,tv.twitch.android.app'
]
};
const VIUTV = {
name: 'ViuTV',
rules: [
'DOMAIN,api.viu.now.com',
'DOMAIN,d1k2us671qcoau.cloudfront.net',
'DOMAIN,d2anahhhmp1ffz.cloudfront.net',
'DOMAIN,dfp6rglgjqszk.cloudfront.net',
'DOMAIN-SUFFIX,viu.com',
'DOMAIN-SUFFIX,viu.now.com',
'DOMAIN-SUFFIX,viu.tv',
'PROCESS-NAME,com.viu.pad',
'PROCESS-NAME,com.viu.phone',
'PROCESS-NAME,com.vuclip.viu',
'PROCESS-NAME,com.hktve.viutv',
'USER-AGENT,Viu*'
]
};
const YOUTUBE = {
name: 'YouTube',
rules: [
'DOMAIN,youtubei.googleapis.com',
'DOMAIN,youtube.googleapis.com',
'DOMAIN-SUFFIX,googlevideo.com',
'DOMAIN-SUFFIX,youtube.com',
'DOMAIN-SUFFIX,withyoutube.com',
'DOMAIN-SUFFIX,youtubeeducation.com',
'DOMAIN-SUFFIX,youtubegaming.com',
'DOMAIN-SUFFIX,youtubekids.com',
'DOMAIN-SUFFIX,youtube-nocookie.com',
'USER-AGENT,com.google.ios.youtube*',
'USER-AGENT,YouTube*'
]
};
const YOUTUBE_MUSIC = {
name: 'YouTube Music',
rules: [
'USER-AGENT,com.google.ios.youtubemusic*',
'USER-AGENT,YouTubeMusic*'
]
};
const SHOWTIME = {
name: 'SHOWTIME',
rules: [
'DOMAIN-SUFFIX,sho.com',
'DOMAIN-SUFFIX,showtime.com'
]
};
const WETV = {
name: 'WeTV',
ip: {
v4: [
'150.109.28.51/32'
],
v6: []
},
rules: [
'USER-AGENT,WeTV*',
'DOMAIN-SUFFIX,wetv.vip',
'DOMAIN-SUFFIX,wetvinfo.com'
]
};
const VUDU = {
name: 'Vudu',
rules: [
'DOMAIN-SUFFIX,vudu.com'
]
};
const ALL = [
$4GTV,
ABEMA_TV,
AMAZON_PRIME_VIDEO,
ALL4,
APPLE_TV,
APPLE_MUSIC_TV,
BAHAMUT,
BBC,
BILIBILI_INTL,
DAZN,
DEEZER,
DISNEY_PLUS,
DISCOVERY_PLUS,
DMM,
ENCORE_TVB,
ENCORE_TVB_JP_TVER,
FOX_NOW,
FOX_PLUS,
HBO,
HBO_ASIA,
HIMALAYA_FM,
HULU,
HWTV,
IQIYI_GLOBAL,
ITV,
JOOX,
KKBOX,
KKTV,
LINE_TV,
LITV,
MY5,
MYTV_SUPER,
NETFLIX,
NAVER_TV,
NICONICO,
NHK_PLUS,
NOW_E,
OVERCAST_FM,
PARAMOUNT,
PBS,
PEACOCK,
PANDORA,
PORNHUB,
SOUNDCLOUD,
SHOWTIME,
SPOTIFY,
TAIWAN_GOOD,
TIDAL,
TIKTOK,
TVB_ANYWHERE,
TWITCH,
VIUTV,
VUDU,
WETV,
YOUTUBE,
YOUTUBE_MUSIC
];
const NORTH_AMERICA = [
FOX_NOW,
FOX_PLUS,
HULU,
HULU_JP,
VUDU,
// HBO,
// www.nfl.com
// epix.com
// starz.com
// www.philo.com
// https://www.shudder.com/
// https://www.britbox.com
// crackle.com
// www.cwtv.com
// www.aetv.com
// https://www.nba.com/watch/
// fubo.tv
// mola.tv
// https://setantasports.com/
// tubitv.com
// SlingTV
// PlutoTV
// AcornTV
SHOWTIME,
ENCORE_TVB,
// Funimation
DISCOVERY_PLUS,
PARAMOUNT,
PEACOCK
];
const EU = [
// RakutenTV
// Funimation
// SkyShowTime
// HBO,
// MathSpot
// SkyGo
// BritBox
ITV,
// BBC Channel 4
// BBC Channel 5
BBC
];
const HK = [
NOW_E,
VIUTV,
MYTV_SUPER,
HBO_ASIA,
BILIBILI_INTL
];
const TW = [
KKTV,
LITV,
// MyVideo
$4GTV,
LINE_TV,
// HamiVideo
// CatchPlay
HBO_ASIA,
BAHAMUT
];
const JP = [
DMM,
// DMMTV
ABEMA_TV,
NICONICO,
// music.jp
// Telasa
// Paravi
// unext
HULU_JP,
ENCORE_TVB_JP_TVER,
NHK_PLUS
];
const AU = [];
const KR = [
// WAVEE
// Tving
// CoupangPlay
NAVER_TV
];
const SOUTH_EAST_ASIA = [];
} (stream.__exports));
return stream.__exports;
}exports.__require=requireStream;