mirror of
https://github.com/250992941/iptv.git
synced 2025-07-27 12:31:52 -04:00
217 lines
9.6 KiB
PHP
217 lines
9.6 KiB
PHP
<?php
|
|
$ids = [
|
|
'CCTV1_1' => '224.1.100.90:11111', // CCTV1
|
|
'CCTV1_2' => '224.1.100.89:11111', // CCTV1
|
|
'CCTV2_1' => '224.1.100.94:11111', // CCTV2
|
|
'CCTV2_2' => '224.1.100.93:11111', // CCTV2
|
|
'CCTV3_1' => '224.1.100.64:11111', // CCTV3
|
|
'CCTV3_2' => '224.1.100.63:11111', // CCTV3
|
|
'CCTV4_1' => '224.1.100.104:11111', // CCTV4
|
|
'CCTV4_2' => '224.1.100.103:11111', // CCTV4
|
|
'CCTV5_1' => '224.1.100.82:11111', // CCTV5
|
|
'CCTV5_2' => '224.1.100.81:11111', // CCTV5
|
|
'CCTV5P_1' => '224.1.100.25:11111', // CCTV5+
|
|
'CCTV5P_2' => '224.1.100.26:11111', // CCTV5+
|
|
'CCTV6_1' => '224.1.100.84:11111', // CCTV6
|
|
'CCTV6_2' => '224.1.100.83:11111', // CCTV6
|
|
'CCTV7_1' => '224.1.100.27:11111', // CCTV7
|
|
'CCTV7_2' => '224.1.100.28:11111', // CCTV7
|
|
'CCTV8_1' => '224.1.100.86:11111', // CCTV8
|
|
'CCTV8_2' => '224.1.100.85:11111', // CCTV8
|
|
'CCTV9_1' => '224.1.100.29:11111', // CCTV9
|
|
'CCTV9_2' => '224.1.100.30:11111', // CCTV9
|
|
'CCTV10_1' => '224.1.100.76:11111', // CCTV10
|
|
'CCTV10_2' => '224.1.100.75:11111', // CCTV10
|
|
'CCTV11_1' => '224.1.100.44:11111', // CCTV11
|
|
'CCTV11_2' => '224.1.100.43:11111', // CCTV11
|
|
'CCTV12_1' => '224.1.100.78:11111', // CCTV12
|
|
'CCTV12_2' => '224.1.100.77:11111', // CCTV12
|
|
'CCTV13_1' => '224.1.100.69:11111', // CCTV13
|
|
'CCTV13_2' => '224.1.100.70:11111', // CCTV13
|
|
'CCTV14_1' => '224.1.100.80:11111', // CCTV14
|
|
'CCTV14_2' => '224.1.100.79:11111', // CCTV14
|
|
'CCTV15_1' => '224.1.100.42:11111', // CCTV15
|
|
'CCTV15_2' => '224.1.100.41:11111', // CCTV15
|
|
'CCTV17_1' => '224.1.100.135:11111', // CCTV17
|
|
'CETV1_1' => '224.1.100.107:11111', // CETV1
|
|
'CETV1_2' => '224.1.100.108:11111', // CETV1
|
|
'CETV4_1' => '224.1.100.109:11111', // CETV4
|
|
'CGTN_1' => '224.1.100.137:11111', // CGTN
|
|
'CGTN_E' => '224.1.100.140:11111', // CGTN俄语
|
|
'CGTN_A' => '224.1.100.145:11111', // CGTN阿语
|
|
'CGTN_S' => '224.1.100.142:11111', // CGTN西语
|
|
'CGTN_F' => '224.1.100.147:11111', // CGTN法语
|
|
'CHC_D' => '224.1.100.131:11111', // CHC动作电影
|
|
'CHC_D2' => '224.1.100.132:11111', // CHC动作电影
|
|
'CHC_F' => '224.1.100.149:11111', // CHC家庭影院
|
|
'FCT1' => '224.1.100.121:11111', // 翡翠台
|
|
'FCT2' => '224.1.100.122:11111', // 翡翠台
|
|
'FCT3' => '224.1.100.1:11111', // 翡翠台
|
|
'MNT1' => '224.1.100.123:11111', // 明珠台
|
|
'MNT2' => '224.1.100.124:11111', // 明珠台
|
|
'MNT3' => '224.1.100.2:11111', // 明珠台
|
|
'WJC' => '224.1.100.126:11111', // 重温经典
|
|
'FHZW' => '224.1.100.3:11111', // 凤凰中文
|
|
'XK' => '224.1.100.13:11111', // 星空
|
|
'JSKJ_1' => '224.1.100.31:11111', // 纪实科教
|
|
'JSKJ_2' => '224.1.100.115:11111', // 纪实科教
|
|
'JSKJ_3' => '224.1.100.32:11111', // 纪实科教
|
|
'JSKJ_4' => '224.1.100.116:11111', // 纪实科教
|
|
'JYKT_1' => '224.1.100.113:11111', // 金鹰卡通
|
|
'JYKT_2' => '224.1.100.114:11111', // 金鹰卡通
|
|
'JJKT' => '224.1.100.144:11111', // 嘉佳卡通
|
|
'KKZS_1' => '224.1.100.146:11111', // 卡酷少儿
|
|
'KKZS_2' => '224.1.100.112:11111', // 卡酷少儿
|
|
'CPT' => '224.1.100.117:11111', // 茶频道
|
|
'CPT2' => '224.1.100.118:11111', // 茶频道
|
|
'JBST_1' => '224.1.100.129:11111', // 劲爆体育
|
|
'JBST_2' => '224.1.100.130:11111', // 劲爆体育
|
|
'MLZQ' => '224.1.100.133:11111', // 魅力足球
|
|
'DFCJ' => '224.1.100.141:11111', // 东方财经
|
|
'LY' => '224.1.100.143:11111', // 乐游
|
|
'ASAM' => '224.1.100.12:11111', // 澳视澳门
|
|
'GDXW_1' => '224.1.100.155:11111', // 广东新闻
|
|
'GDXW_2' => '224.1.100.5:11111', // 广东新闻
|
|
'GDZJ_1' => '224.1.100.23:11111', // 广东珠江
|
|
'GDZJ_2' => '224.1.100.24:11111', // 广东珠江
|
|
'GDTY_1' => '224.1.100.34:11111', // 广东体育
|
|
'GDTY_2' => '224.1.100.33:11111', // 广东体育
|
|
'GDSM_1' => '224.1.100.152:11111', // 广东民生
|
|
'GDSM_2' => '224.1.100.4:11111', // 广东民生
|
|
'GDYS_1' => '224.1.100.154:11111', // 广东影视
|
|
'GDYS_2' => '224.1.100.11:11111', // 广东影视
|
|
'GDSH_1' => '224.1.100.156:11111', // 广东少儿
|
|
'GDSH_2' => '224.1.100.9:11111', // 广东少儿
|
|
'JJKJ_1' => '224.1.100.158:11111', // 经济科教
|
|
'JJKJ_2' => '224.1.100.6:11111', // 经济科教
|
|
'LLXQ_1' => '224.1.100.157:11111', // 岭南戏曲
|
|
'LLXQ_2' => '224.1.100.120:11111', // 岭南戏曲
|
|
'GZZH_1' => '224.1.100.36:11111', // 广州综合
|
|
'GZZH_2' => '224.1.100.35:11111', // 广州综合
|
|
'GZXW_1' => '224.1.100.38:11111', // 广州新闻
|
|
'GZXW_2' => '224.1.100.37:11111', // 广州新闻
|
|
'GZZF_1' => '224.1.100.17:11111', // 广州法治
|
|
'GZZF_2' => '224.1.100.18:11111', // 广州法治
|
|
'GZYS_1' => '224.1.100.88:11111', // 广州影视
|
|
'GZYS_2' => '224.1.100.87:11111', // 广州影视
|
|
'FSGG' => '224.1.100.134:11111', // 佛山公共
|
|
'BJWS' => '224.1.100.100:11111', // 北京卫视
|
|
'BJWS2' => '224.1.100.99:11111', // 北京卫视
|
|
'GDSW' => '224.1.100.96:11111', // 广东卫视
|
|
'GDSW2' => '224.1.100.95:11111', // 广东卫视
|
|
'DQBSW' => '224.1.100.153:11111', // 大湾区卫视
|
|
'DQBSW2' => '224.1.100.7:11111', // 大湾区卫视
|
|
'HNSW' => '224.1.100.98:11111', // 湖南卫视
|
|
'HNSW2' => '224.1.100.97:11111', // 湖南卫视
|
|
'HNSW3' => '224.1.100.15:11111', // 海南卫视
|
|
'HNSW4' => '224.1.100.16:11111', // 海南卫视
|
|
'HBWS' => '224.1.100.19:11111', // 河北卫视
|
|
'HBWS2' => '224.1.100.20:11111', // 河北卫视
|
|
'YNSW' => '224.1.100.21:11111', // 云南卫视
|
|
'YNSW2' => '224.1.100.22:11111', // 云南卫视
|
|
'SZSW' => '224.1.100.40:11111', // 深圳卫视
|
|
'SZSW2' => '224.1.100.39:11111', // 深圳卫视
|
|
'JSWS' => '224.1.100.46:11111', // 江苏卫视
|
|
'JSWS2' => '224.1.100.45:11111', // 江苏卫视
|
|
'DFWS' => '224.1.100.48:11111', // 东方卫视
|
|
'DFWS2' => '224.1.100.47:11111', // 东方卫视
|
|
'SDWS' => '224.1.100.50:11111', // 山东卫视
|
|
'SDWS2' => '224.1.100.49:11111', // 山东卫视
|
|
'ZJWS' => '224.1.100.52:11111', // 浙江卫视
|
|
'ZJWS2' => '224.1.100.51:11111', // 浙江卫视
|
|
'JXWS' => '224.1.100.54:11111', // 江西卫视
|
|
'JXWS2' => '224.1.100.53:11111', // 江西卫视
|
|
'GZWS' => '224.1.100.58:11111', // 贵州卫视
|
|
'GZWS2' => '224.1.100.57:11111', // 贵州卫视
|
|
'JLWS' => '224.1.100.60:11111', // 吉林卫视
|
|
'JLWS2' => '224.1.100.59:11111', // 吉林卫视
|
|
'TJWS' => '224.1.100.62:11111', // 天津卫视
|
|
'TJWS2' => '224.1.100.61:11111', // 天津卫视
|
|
'AHWS' => '224.1.100.66:11111', // 安徽卫视
|
|
'AHWS2' => '224.1.100.65:11111', // 安徽卫视
|
|
'HBWS' => '224.1.100.68:11111', // 湖北卫视
|
|
'HBWS2' => '224.1.100.67:11111', // 湖北卫视
|
|
'SCWS' => '224.1.100.72:11111', // 四川卫视
|
|
'SCWS2' => '224.1.100.71:11111', // 四川卫视
|
|
'HNWS' => '224.1.100.74:11111', // 河南卫视
|
|
'LNWS' => '224.1.100.92:11111', // 辽宁卫视
|
|
'LNWS2' => '224.1.100.91:11111', // 辽宁卫视
|
|
'CQWS' => '224.1.100.102:11111', // 重庆卫视
|
|
'CQWS2' => '224.1.100.101:11111', // 重庆卫视
|
|
'GXWS' => '224.1.100.110:11111', // 广西卫视
|
|
'GXWS2' => '224.1.100.111:11111', // 广西卫视
|
|
'QHWS' => '224.1.100.127:11111', // 青海卫视
|
|
'HLJWS' => '224.1.100.139:11111', // 黑龙江卫视
|
|
'SSWS' => '224.1.100.148:11111', // 三沙卫视
|
|
'GSWS' => '224.1.100.10:11111', // 甘肃卫视
|
|
'NXWS' => '224.1.100.8:11111', // 宁夏卫视
|
|
'XZWS' => '224.1.100.125:11111', // 西藏卫视
|
|
'XJWS' => '224.1.100.14:11111', // 新疆卫视
|
|
'BTWS' => '224.1.100.128:11111', // 兵团卫视
|
|
'SXWS' => '224.1.100.150:11111' // 山西卫视
|
|
];
|
|
$ipList = [
|
|
'xndhx.jydjd.top:2904',
|
|
'xnzhgc.jydjd.top:2901',
|
|
'yssdl.jydjd.top:2903',
|
|
'xnzhgc.jydjd.top:2903',
|
|
'lfdxn.jydjd.top:2903',
|
|
'qjrhc2.jydjd.top:2901',
|
|
'xnzhgc.jydjd.top:2901',
|
|
'iptv.qwl1965.top:2901',
|
|
'qjrhc.jydjd.top:2911',
|
|
'119.32.12.31:2903',
|
|
'119.32.12.17:2903',
|
|
'119.34.251.7:2903',
|
|
'119.32.12.7:2904',
|
|
'119.32.12.12:2901',
|
|
'119.32.12.31:2901',
|
|
'119.34.190.138:2901',
|
|
'119.32.12.17:2901'
|
|
];
|
|
$userInput = isset($_GET['channel']) ? trim($_GET['channel']) : '';
|
|
if (empty($userInput) || !array_key_exists($userInput, $ids)) {
|
|
echo "无效的!";
|
|
exit;
|
|
}
|
|
$userDefinedID = $ids[$userInput];
|
|
function measureConnectionSpeed($url) {
|
|
$startTime = microtime(true);
|
|
$ch = curl_init($url);
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
curl_setopt($ch, CURLOPT_TIMEOUT, 2);
|
|
curl_setopt($ch, CURLOPT_HEADER, true);
|
|
curl_setopt($ch, CURLOPT_NOBODY, true);
|
|
curl_exec($ch);
|
|
$endTime = microtime(true);
|
|
$responseTime = $endTime - $startTime;
|
|
curl_close($ch);
|
|
return $responseTime;
|
|
}
|
|
$connectionSpeeds = [];
|
|
foreach ($ipList as $ipPort) {
|
|
$parts = explode(':', $ipPort);
|
|
if (count($parts) != 2) {
|
|
continue;
|
|
}
|
|
list($host, $port) = $parts;
|
|
$url = "http://$host:$port/rtp/$userDefinedID/Ace.m3u8";
|
|
$responseTime = measureConnectionSpeed($url);
|
|
if ($responseTime !== false) {
|
|
$connectionSpeeds[] = [
|
|
'ipPort' => $ipPort,
|
|
'responseTime' => $responseTime
|
|
];
|
|
}
|
|
}
|
|
if (empty($connectionSpeeds)) {
|
|
echo "没有找到!";
|
|
exit;
|
|
}
|
|
usort($connectionSpeeds, function($a, $b) {
|
|
return $a['responseTime'] - $b['responseTime'];
|
|
});
|
|
$bestIpPort = $connectionSpeeds[0]['ipPort'];
|
|
header("Location: http://$bestIpPort/rtp/$userDefinedID");
|
|
exit;
|
|
?>
|