Files
PiliPlus/lib/models/video/play/CDN.dart

115 lines
2.6 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//https://github.com/yujincheng08/BiliRoaming/blob/master/app/src/main/res/values/strings_raw.xml
//https://github.com/yujincheng08/BiliRoaming/blob/master/app/src/main/res/values/arrays.xml
enum CDNService {
baseUrl,
backupUrl,
ali,
alib,
alio1,
cos,
cosb,
coso1,
hw,
hwb,
hwo1,
hw_08c,
hw_08h,
hw_08ct,
tf_hw,
tf_tx,
akamai,
aliov,
cosov,
hwov,
hk_bcache,
}
extension CDNServiceDesc on CDNService {
static final List<String> _descList = [
'基础 URL不推荐',
'备用 URL',
'ali阿里云',
'alib阿里云',
'alio1阿里云',
'cos腾讯云',
'cosb腾讯云VOD 加速类型)',
'coso1腾讯云',
'hw华为云融合 CDN',
'hwb华为云融合 CDN',
'hwo1华为云融合 CDN',
'08c华为云融合 CDN',
'08h华为云融合 CDN',
'08ct华为云融合 CDN',
'tf_hw华为云',
'tf_tx腾讯云',
'akamaiAkamai 海外)',
'aliov阿里云海外',
'cosov腾讯云海外',
'hwov华为云海外',
'hk_bcacheBilibili海外',
];
String get description => _descList[index];
}
extension CDNServiceHost on CDNService {
static final List<String> _hostList = [
'',
'',
'upos-sz-mirrorali.bilivideo.com',
'upos-sz-mirroralib.bilivideo.com',
'upos-sz-mirroralio1.bilivideo.com',
'upos-sz-mirrorcos.bilivideo.com',
'upos-sz-mirrorcosb.bilivideo.com',
'upos-sz-mirrorcoso1.bilivideo.com',
'upos-sz-mirrorhw.bilivideo.com',
'upos-sz-mirrorhwb.bilivideo.com',
'upos-sz-mirrorhwo1.bilivideo.com',
'upos-sz-mirror08c.bilivideo.com',
'upos-sz-mirror08h.bilivideo.com',
'upos-sz-mirror08ct.bilivideo.com',
'upos-tf-all-hw.bilivideo.com',
'upos-tf-all-tx.bilivideo.com',
'upos-hz-mirrorakam.akamaized.net',
'upos-sz-mirroraliov.bilivideo.com',
'upos-sz-mirrorcosov.bilivideo.com',
'upos-sz-mirrorhwov.bilivideo.com',
'cn-hk-eq-bcache-01.bilivideo.com',
];
String get host => _hostList[index];
}
extension CDNServiceCode on CDNService {
static final List<String> _codeList = [
'baseUrl',
'backupUrl',
'ali',
'alib',
'alio1',
'cos',
'cosb',
'coso1',
'hw',
'hwb',
'hwo1',
'hw_08c',
'hw_08h',
'hw_08ct',
'tf_hw',
'tf_tx',
'akamai',
'aliov',
'cosov',
'hwov',
'hk_bcache',
];
String get code => _codeList[index];
static CDNService? fromCode(String code) {
final index = _codeList.indexOf(code);
if (index != -1) {
return CDNService.values[index];
}
return null;
}
}