├── 20.json ├── 360pai.py ├── 4.json ├── 515001.py ├── 515003.py ├── README.md ├── gbzb.txt ├── gt.txt ├── iptv-hls4.0.txt ├── iptv-hls4.5.txt ├── iptv.json ├── iptv345.py ├── jd.txt ├── jd2.txt ├── kzb.py ├── kzbty.py ├── migudy.txt ├── streams.json ├── tv5001.json ├── tv5001.py ├── tv5001.pyc ├── webtv.m3u ├── yootv.mp4 ├── yoozb.py └── zqyd.txt /20.json: -------------------------------------------------------------------------------- 1 | { 2 | "lives": [ 3 | { 4 | "name": "快直播电视(python)", 5 | "type": 3, 6 | "api": "https://gh-proxy.com/raw.githubusercontent.com/cqshushu/tvjk/master/kzb.py", 7 | "ext": {} 8 | }, 9 | { 10 | "name": "快直播体育(python)", 11 | "type": 3, 12 | "api": "https://gh-proxy.com/raw.githubusercontent.com/cqshushu/tvjk/master/kzbty.py", 13 | "ext": {} 14 | }, 15 | { 16 | "name": "yoo体育(python)", 17 | "type": 3, 18 | "api": "https://gh-proxy.com/raw.githubusercontent.com/cqshushu/tvjk/master/yoozb.py", 19 | "ext": {} 20 | }, 21 | { 22 | "name": "360pai", 23 | "type": 3, 24 | "api": "https://gh-proxy.com/raw.githubusercontent.com/cqshushu/tvjk/master/360pai.py", 25 | "ext": {} 26 | }, 27 | { 28 | "name": "88KQ", 29 | "url": "http://php.cqshushu.ggff.net/kqt.php?公众号【医工学习日志】", 30 | "epg": "https://epg.112114.xyz/?ch={name}&date={date}", 31 | "logo": "https://epg.112114.xyz/logo/{name}.png" 32 | }, 33 | { 34 | "name": "515001", 35 | "type": 3, 36 | "api": "https://gh-proxy.com/raw.githubusercontent.com/cqshushu/tvjk/master/515003.py", 37 | "ext": {} 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /360pai.py: -------------------------------------------------------------------------------- 1 | import base64 2 | import sys 3 | import time 4 | import json 5 | import requests 6 | import re 7 | sys.path.append('..') 8 | from base.spider import Spider 9 | from bs4 import BeautifulSoup 10 | 11 | class Spider(Spider): 12 | def getName(self): 13 | return "Litv" 14 | 15 | def init(self, extend): 16 | self.extend = extend 17 | try: 18 | self.extendDict = json.loads(extend) 19 | except: 20 | self.extendDict = {} 21 | 22 | proxy = self.extendDict.get('proxy', None) 23 | if proxy is None: 24 | self.is_proxy = False 25 | else: 26 | self.proxy = proxy 27 | self.is_proxy = True 28 | pass 29 | 30 | def getDependence(self): 31 | return [] 32 | 33 | def isVideoFormat(self, url): 34 | pass 35 | 36 | def manualVideoCheck(self): 37 | pass 38 | 39 | def natural_sort_key(self, s): 40 | """ 41 | 自然排序辅助函数 42 | """ 43 | return [ 44 | int(part) if part.isdigit() else part.lower() 45 | for part in re.split(r'(\d+)', s) 46 | ] 47 | 48 | def liveContent(self, url): 49 | m3u_content = ['#EXTM3U'] 50 | headers = { 51 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36', 52 | 'Referer': 'https://360pai.xyz/', 53 | } 54 | 55 | try: 56 | response = requests.get('https://360pai.xyz/live', headers=headers, timeout=10) 57 | response.raise_for_status() 58 | res = response.text 59 | soup = BeautifulSoup(res, 'html.parser') 60 | result = [] 61 | 62 | cards = soup.select('div.anchor-grid_anchor-card-wrap__NR9Ov') 63 | exif = f'#EXTINF:-1 tvg-name="by公众号[医工学习日志]" group-title="360pai",by公众号[医工学习日志]' 64 | m3u_content.extend([exif, "by公众号[医工学习日志]"]) 65 | for card in cards: 66 | a_tag = card.find('a', class_='anchor-grid_anchor-card__nJf0J') 67 | if not a_tag: 68 | continue 69 | 70 | href = a_tag.get('href', '') 71 | live_id_match = re.search(r'/live/([^/]+)', href) 72 | if not live_id_match: 73 | continue 74 | live_id = live_id_match.group(1) 75 | 76 | title_div = a_tag.find('div', class_='anchor-grid_anchor-avatar-title__5hTsp') 77 | title = title_div.get_text(strip=True) if title_div else '' 78 | title = title.replace(" vs ","vs") 79 | if not title: 80 | continue 81 | 82 | extinf = f'#EXTINF:-1 tvg-name="{title}" group-title="360pai",{title}' 83 | ch_url = f"video://https://360pai.xyz/live/{live_id}" 84 | 85 | m3u_content.extend([extinf, ch_url]) 86 | #print(m3u_content) 87 | 88 | except requests.exceptions.RequestException as e: 89 | print(f"网络请求失败: {e}") 90 | except Exception as e: 91 | print(f"处理过程中发生错误: {e}") 92 | return '\n'.join(m3u_content) 93 | 94 | 95 | 96 | def homeContent(self, filter): 97 | return {} 98 | 99 | def homeVideoContent(self): 100 | return {} 101 | 102 | def categoryContent(self, cid, page, filter, ext): 103 | return {} 104 | 105 | def detailContent(self, did): 106 | return {} 107 | 108 | def searchContent(self, key, quick, page='1'): 109 | return {} 110 | 111 | def searchContentPage(self, keywords, quick, page): 112 | return {} 113 | 114 | def playerContent(self, flag, pid, vipFlags): 115 | return {} 116 | 117 | def localProxy(self, params): 118 | if params['type'] == "m3u8": 119 | return self.proxyM3u8(params) 120 | if params['type'] == "ts": 121 | return self.get_ts(params) 122 | return [302, "text/plain", None, {'Location': 'https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/mp4/xgplayer-demo-720p.mp4'}] 123 | def proxyM3u8(self, params): 124 | pid = params['pid'] 125 | info = pid.split(',') 126 | a = info[0] 127 | b = info[1] 128 | c = info[2] 129 | timestamp = int(time.time() / 4 - 355017625) 130 | t = timestamp * 4 131 | m3u8_text = f'#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-TARGETDURATION:4\n#EXT-X-MEDIA-SEQUENCE:{timestamp}\n' 132 | for i in range(10): 133 | url = f'https://ntd-tgc.cdn.hinet.net/live/pool/{a}/litv-pc/{a}-avc1_6000000={b}-mp4a_134000_zho={c}-begin={t}0000000-dur=40000000-seq={timestamp}.ts' 134 | if self.is_proxy: 135 | url = f'http://127.0.0.1:9978/proxy?do=py&type=ts&url={self.b64encode(url)}' 136 | 137 | m3u8_text += f'#EXTINF:4,\n{url}\n' 138 | timestamp += 1 139 | t += 4 140 | return [200, "application/vnd.apple.mpegurl", m3u8_text] 141 | 142 | 143 | def get_ts(self, params): 144 | url = self.b64decode(params['url']) 145 | headers = {'User-Agent': 'Mozilla/5.0'} 146 | response = requests.get(url, headers=headers, stream=True, proxies=self.proxy) 147 | return [206, "application/octet-stream", response.content] 148 | 149 | def destroy(self): 150 | return '正在Destroy' 151 | 152 | def b64encode(self, data): 153 | return base64.b64encode(data.encode('utf-8')).decode('utf-8') 154 | 155 | def b64decode(self, data): 156 | return base64.b64decode(data.encode('utf-8')).decode('utf-8') 157 | 158 | 159 | if __name__ == '__main__': 160 | pass 161 | -------------------------------------------------------------------------------- /4.json: -------------------------------------------------------------------------------- 1 | { 2 | "lives": [ 3 | { 4 | "name": "快直播电视(python)", 5 | "type": 3, 6 | "api": "https://gh-proxy.com/raw.githubusercontent.com/cqshushu/tvjk/master/kzb.py", 7 | "ext": {} 8 | }, 9 | { 10 | "name": "快直播体育(python)", 11 | "type": 3, 12 | "api": "https://gh-proxy.com/raw.githubusercontent.com/cqshushu/tvjk/master/kzbty.py", 13 | "ext": {} 14 | }, 15 | { 16 | "name": "yoo体育(python)", 17 | "type": 3, 18 | "api": "https://gh-proxy.com/raw.githubusercontent.com/cqshushu/tvjk/master/yoozb.py", 19 | "ext": {} 20 | }, 21 | { 22 | "name": "360pai", 23 | "type": 3, 24 | "api": "https://gh-proxy.com/raw.githubusercontent.com/cqshushu/tvjk/master/360pai.py", 25 | "ext": {} 26 | }, 27 | { 28 | "name": "88KQ", 29 | "url": "http://php.cqshushu.ggff.net/kqt.php?公众号【医工学习日志】", 30 | "epg": "https://epg.112114.xyz/?ch={name}&date={date}", 31 | "logo": "https://epg.112114.xyz/logo/{name}.png" 32 | }, 33 | { 34 | "name": "515001", 35 | "type": 3, 36 | "api": "https://gh-proxy.com/raw.githubusercontent.com/cqshushu/tvjk/master/515003.py", 37 | "ext": {} 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /515001.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Author : Doubebly 3 | # @Time : 2025/3/23 21:55 4 | import base64 5 | import sys 6 | import time 7 | import json 8 | import requests 9 | import re 10 | from datetime import datetime 11 | sys.path.append('..') 12 | from base.spider import Spider 13 | from bs4 import BeautifulSoup 14 | 15 | class Spider(Spider): 16 | def getName(self): 17 | return "Litv" 18 | 19 | def init(self, extend): 20 | self.extend = extend 21 | try: 22 | self.extendDict = json.loads(extend) 23 | except: 24 | self.extendDict = {} 25 | 26 | proxy = self.extendDict.get('proxy', None) 27 | if proxy is None: 28 | self.is_proxy = False 29 | else: 30 | self.proxy = proxy 31 | self.is_proxy = True 32 | pass 33 | 34 | def getDependence(self): 35 | return [] 36 | 37 | def isVideoFormat(self, url): 38 | pass 39 | 40 | def manualVideoCheck(self): 41 | pass 42 | 43 | 44 | def liveContent(self, url): 45 | cookies = { 46 | '_ga': 'GA1.1.782627561.1745936696', 47 | '_oredge_rl': 'u1ORyxILkguVwZ3LWQNJTpqceYPzrL/Cgugwu74xDwA=', 48 | 'dailyMessageShown515': 'shown', 49 | '_ga_F2ET4TBC70': 'GS2.1.s1747232930$o3$g1$t1747233259$j0$l0$h0', 50 | } 51 | 52 | headers = { 53 | 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7', 54 | 'accept-language': 'zh-CN,zh;q=0.9', 55 | 'cache-control': 'max-age=0', 56 | 'priority': 'u=0, i', 57 | 'sec-ch-ua': '"Chromium";v="136", "Google Chrome";v="136", "Not.A/Brand";v="99"', 58 | 'sec-ch-ua-mobile': '?0', 59 | 'sec-ch-ua-platform': '"Windows"', 60 | 'sec-fetch-dest': 'document', 61 | 'sec-fetch-mode': 'navigate', 62 | 'sec-fetch-site': 'none', 63 | 'sec-fetch-user': '?1', 64 | 'upgrade-insecure-requests': '1', 65 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36', 66 | # 'cookie': '_ga=GA1.1.782627561.1745936696; _oredge_rl=u1ORyxILkguVwZ3LWQNJTpqceYPzrL/Cgugwu74xDwA=; dailyMessageShown515=shown; _ga_F2ET4TBC70=GS2.1.s1747232930$o3$g1$t1747233259$j0$l0$h0', 67 | } 68 | 69 | response = requests.get('https://www.515001.tv/', cookies=cookies, headers=headers) 70 | 71 | #print(response.text) #自己添加,表示输出响应的内容 72 | 73 | html = response.text 74 | 75 | soup = BeautifulSoup(html, 'html.parser') 76 | 77 | matches = [] 78 | for a in soup.find_all('a', class_='clearfix'): 79 | # 提取链接 80 | link = a.get('href', '') 81 | link = f"video://{link}" 82 | 83 | # 提取赛事名称和时间 84 | event_time_p = a.find('p', class_='eventtime_wuy') 85 | if event_time_p: 86 | em = event_time_p.find('em') 87 | event_name = em.get_text(strip=True) if em else '' 88 | i_tag = event_time_p.find('i') 89 | time = i_tag.get_text(strip=True) if i_tag else '' 90 | else: 91 | event_name = '' 92 | time = '' 93 | 94 | # 提取主队名称 95 | home_div = a.find('div', class_=lambda c: c and 'zhudui' in c) 96 | home_team = home_div.find('p').get_text(strip=True) if home_div else '' 97 | 98 | # 提取客队名称 99 | away_div = a.find('div', class_='kedui') 100 | away_team = away_div.find('p').get_text(strip=True) if away_div else '' 101 | 102 | if event_name and home_team and away_team and time and link: 103 | match_str = f"[{event_name}]{home_team} VS {away_team}{time},{link}" 104 | matches.append(match_str) 105 | 106 | m3u_content = ['#EXTM3U'] 107 | for match in matches: 108 | title = match.split(",")[0] 109 | ch_url = match.split(",")[1] 110 | extinf = f'#EXTINF:-1 tvg-name="{title}" group-title="515001",{title}' 111 | m3u_content.extend([extinf, ch_url]) 112 | 113 | return '\n'.join(m3u_content) 114 | 115 | def homeContent(self, filter): 116 | return {} 117 | 118 | def homeVideoContent(self): 119 | return {} 120 | 121 | def categoryContent(self, cid, page, filter, ext): 122 | return {} 123 | 124 | def detailContent(self, did): 125 | return {} 126 | 127 | def searchContent(self, key, quick, page='1'): 128 | return {} 129 | 130 | def searchContentPage(self, keywords, quick, page): 131 | return {} 132 | 133 | def playerContent(self, flag, pid, vipFlags): 134 | return {} 135 | 136 | def localProxy(self, params): 137 | if params['type'] == "m3u8": 138 | return self.proxyM3u8(params) 139 | if params['type'] == "ts": 140 | return self.get_ts(params) 141 | return [302, "text/plain", None, {'Location': 'https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/mp4/xgplayer-demo-720p.mp4'}] 142 | def proxyM3u8(self, params): 143 | pid = params['pid'] 144 | info = pid.split(',') 145 | a = info[0] 146 | b = info[1] 147 | c = info[2] 148 | timestamp = int(time.time() / 4 - 355017625) 149 | t = timestamp * 4 150 | m3u8_text = f'#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-TARGETDURATION:4\n#EXT-X-MEDIA-SEQUENCE:{timestamp}\n' 151 | for i in range(10): 152 | url = f'https://ntd-tgc.cdn.hinet.net/live/pool/{a}/litv-pc/{a}-avc1_6000000={b}-mp4a_134000_zho={c}-begin={t}0000000-dur=40000000-seq={timestamp}.ts' 153 | if self.is_proxy: 154 | url = f'http://127.0.0.1:9978/proxy?do=py&type=ts&url={self.b64encode(url)}' 155 | 156 | m3u8_text += f'#EXTINF:4,\n{url}\n' 157 | timestamp += 1 158 | t += 4 159 | return [200, "application/vnd.apple.mpegurl", m3u8_text] 160 | 161 | def get_ts(self, params): 162 | url = self.b64decode(params['url']) 163 | headers = {'User-Agent': 'Mozilla/5.0'} 164 | response = requests.get(url, headers=headers, stream=True, proxies=self.proxy) 165 | return [206, "application/octet-stream", response.content] 166 | 167 | def destroy(self): 168 | return '正在Destroy' 169 | 170 | def b64encode(self, data): 171 | return base64.b64encode(data.encode('utf-8')).decode('utf-8') 172 | 173 | def b64decode(self, data): 174 | return base64.b64decode(data.encode('utf-8')).decode('utf-8') 175 | 176 | 177 | if __name__ == '__main__': 178 | pass 179 | -------------------------------------------------------------------------------- /515003.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Author : Doubebly 3 | # @Time : 2025/3/23 21:55 4 | import base64 5 | import sys 6 | import time 7 | import json 8 | import requests 9 | import re 10 | from datetime import datetime 11 | sys.path.append('..') 12 | from base.spider import Spider 13 | from bs4 import BeautifulSoup 14 | 15 | class Spider(Spider): 16 | def getName(self): 17 | return "Litv" 18 | 19 | def init(self, extend): 20 | self.extend = extend 21 | try: 22 | self.extendDict = json.loads(extend) 23 | except: 24 | self.extendDict = {} 25 | 26 | proxy = self.extendDict.get('proxy', None) 27 | if proxy is None: 28 | self.is_proxy = False 29 | else: 30 | self.proxy = proxy 31 | self.is_proxy = True 32 | pass 33 | 34 | def getDependence(self): 35 | return [] 36 | 37 | def isVideoFormat(self, url): 38 | pass 39 | 40 | def manualVideoCheck(self): 41 | pass 42 | 43 | 44 | def liveContent(self, url): 45 | cookies = { 46 | '_ga': 'GA1.1.782627561.1745936696', 47 | '_oredge_rl': 'u1ORyxILkguVwZ3LWQNJTpqceYPzrL/Cgugwu74xDwA=', 48 | 'dailyMessageShown515': 'shown', 49 | '_ga_F2ET4TBC70': 'GS2.1.s1747232930$o3$g1$t1747233259$j0$l0$h0', 50 | } 51 | 52 | headers = { 53 | 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7', 54 | 'accept-language': 'zh-CN,zh;q=0.9', 55 | 'cache-control': 'max-age=0', 56 | 'priority': 'u=0, i', 57 | 'sec-ch-ua': '"Chromium";v="136", "Google Chrome";v="136", "Not.A/Brand";v="99"', 58 | 'sec-ch-ua-mobile': '?0', 59 | 'sec-ch-ua-platform': '"Windows"', 60 | 'sec-fetch-dest': 'document', 61 | 'sec-fetch-mode': 'navigate', 62 | 'sec-fetch-site': 'none', 63 | 'sec-fetch-user': '?1', 64 | 'upgrade-insecure-requests': '1', 65 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36', 66 | # 'cookie': '_ga=GA1.1.782627561.1745936696; _oredge_rl=u1ORyxILkguVwZ3LWQNJTpqceYPzrL/Cgugwu74xDwA=; dailyMessageShown515=shown; _ga_F2ET4TBC70=GS2.1.s1747232930$o3$g1$t1747233259$j0$l0$h0', 67 | } 68 | 69 | response = requests.get('https://www.515001.tv/', cookies=cookies, headers=headers) 70 | 71 | #print(response.text) #自己添加,表示输出响应的内容 72 | 73 | html = response.text 74 | 75 | soup = BeautifulSoup(html, 'html.parser') 76 | 77 | matches = [] 78 | for a in soup.find_all('a', class_='clearfix'): 79 | # 提取链接 80 | link = a.get('href', '') 81 | link = f"video://{link}" 82 | 83 | # 提取赛事名称和时间 84 | event_time_p = a.find('p', class_='eventtime_wuy') 85 | if event_time_p: 86 | em = event_time_p.find('em') 87 | event_name = em.get_text(strip=True) if em else '' 88 | i_tag = event_time_p.find('i') 89 | time = i_tag.get_text(strip=True) if i_tag else '' 90 | else: 91 | event_name = '' 92 | time = '' 93 | 94 | # 提取主队名称 95 | home_div = a.find('div', class_=lambda c: c and 'zhudui' in c) 96 | home_team = home_div.find('p').get_text(strip=True) if home_div else '' 97 | 98 | # 提取客队名称 99 | away_div = a.find('div', class_='kedui') 100 | away_team = away_div.find('p').get_text(strip=True) if away_div else '' 101 | 102 | if event_name and home_team and away_team and time and link: 103 | match_str = f"[{event_name}]{home_team} VS {away_team}{time},{link}" 104 | matches.append(match_str) 105 | 106 | m3u_content = ['#EXTM3U'] 107 | for match in matches: 108 | title = match.split(",")[0] 109 | ch_url = match.split(",")[1] 110 | extinf = f'#EXTINF:-1 tvg-name="{title}" group-title="515001",{title}' 111 | m3u_content.extend([extinf, ch_url]) 112 | 113 | return '\n'.join(m3u_content) 114 | 115 | def homeContent(self, filter): 116 | return {} 117 | 118 | def homeVideoContent(self): 119 | return {} 120 | 121 | def categoryContent(self, cid, page, filter, ext): 122 | return {} 123 | 124 | def detailContent(self, did): 125 | return {} 126 | 127 | def searchContent(self, key, quick, page='1'): 128 | return {} 129 | 130 | def searchContentPage(self, keywords, quick, page): 131 | return {} 132 | 133 | def playerContent(self, flag, pid, vipFlags): 134 | return {} 135 | 136 | def localProxy(self, params): 137 | if params['type'] == "m3u8": 138 | return self.proxyM3u8(params) 139 | if params['type'] == "ts": 140 | return self.get_ts(params) 141 | return [302, "text/plain", None, {'Location': 'https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/mp4/xgplayer-demo-720p.mp4'}] 142 | def proxyM3u8(self, params): 143 | pid = params['pid'] 144 | info = pid.split(',') 145 | a = info[0] 146 | b = info[1] 147 | c = info[2] 148 | timestamp = int(time.time() / 4 - 355017625) 149 | t = timestamp * 4 150 | m3u8_text = f'#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-TARGETDURATION:4\n#EXT-X-MEDIA-SEQUENCE:{timestamp}\n' 151 | for i in range(10): 152 | url = f'https://ntd-tgc.cdn.hinet.net/live/pool/{a}/litv-pc/{a}-avc1_6000000={b}-mp4a_134000_zho={c}-begin={t}0000000-dur=40000000-seq={timestamp}.ts' 153 | if self.is_proxy: 154 | url = f'http://127.0.0.1:9978/proxy?do=py&type=ts&url={self.b64encode(url)}' 155 | 156 | m3u8_text += f'#EXTINF:4,\n{url}\n' 157 | timestamp += 1 158 | t += 4 159 | return [200, "application/vnd.apple.mpegurl", m3u8_text] 160 | 161 | def get_ts(self, params): 162 | url = self.b64decode(params['url']) 163 | headers = {'User-Agent': 'Mozilla/5.0'} 164 | response = requests.get(url, headers=headers, stream=True, proxies=self.proxy) 165 | return [206, "application/octet-stream", response.content] 166 | 167 | def destroy(self): 168 | return '正在Destroy' 169 | 170 | def b64encode(self, data): 171 | return base64.b64encode(data.encode('utf-8')).decode('utf-8') 172 | 173 | def b64decode(self, data): 174 | return base64.b64decode(data.encode('utf-8')).decode('utf-8') 175 | 176 | 177 | if __name__ == '__main__': 178 | pass 179 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # tvjk -------------------------------------------------------------------------------- /gbzb.txt: -------------------------------------------------------------------------------- 1 | 国家广播,#genre# 2 | 中国之声,http://web9916.w.computerqwq.cf/gbzb.php?id=1&公众号【医工学习日志】 3 | 经济之声,http://web9916.w.computerqwq.cf/gbzb.php?id=2&公众号【医工学习日志】 4 | 音乐之声,http://web9916.w.computerqwq.cf/gbzb.php?id=4&公众号【医工学习日志】 5 | 经典音乐广播,http://web9916.w.computerqwq.cf/gbzb.php?id=5&公众号【医工学习日志】 6 | 台海之声,http://web9916.w.computerqwq.cf/gbzb.php?id=3&公众号【医工学习日志】 7 | 神州之声,http://web9916.w.computerqwq.cf/gbzb.php?id=6&公众号【医工学习日志】 8 | 大湾区之声,http://web9916.w.computerqwq.cf/gbzb.php?id=17&公众号【医工学习日志】 9 | 民族之声,http://web9916.w.computerqwq.cf/gbzb.php?id=8&公众号【医工学习日志】 10 | 文艺之声,http://web9916.w.computerqwq.cf/gbzb.php?id=9&公众号【医工学习日志】 11 | 老年之声,http://web9916.w.computerqwq.cf/gbzb.php?id=10&公众号【医工学习日志】 12 | 藏语广播,http://web9916.w.computerqwq.cf/gbzb.php?id=12&公众号【医工学习日志】 13 | 阅读之声,http://web9916.w.computerqwq.cf/gbzb.php?id=14&公众号【医工学习日志】 14 | 维语广播,http://web9916.w.computerqwq.cf/gbzb.php?id=13&公众号【医工学习日志】 15 | 香港之声,http://web9916.w.computerqwq.cf/gbzb.php?id=7&公众号【医工学习日志】 16 | 中国交通广播,http://web9916.w.computerqwq.cf/gbzb.php?id=16&公众号【医工学习日志】 17 | 中国乡村之声,http://web9916.w.computerqwq.cf/gbzb.php?id=11&公众号【医工学习日志】 18 | 哈语广播,http://web9916.w.computerqwq.cf/gbzb.php?id=24&公众号【医工学习日志】 19 | 环球资讯广播,http://web9916.w.computerqwq.cf/gbzb.php?id=1091&公众号【医工学习日志】 20 | 南海之声,http://web9916.w.computerqwq.cf/gbzb.php?id=999&公众号【医工学习日志】 21 | 轻松调频,http://web9916.w.computerqwq.cf/gbzb.php?id=1088&公众号【医工学习日志】 22 | HITFM国际流行音乐,http://web9916.w.computerqwq.cf/gbzb.php?id=996&公众号【医工学习日志】 23 | 英语资讯广播 CGTN Radio,http://web9916.w.computerqwq.cf/gbzb.php?id=1120&公众号【医工学习日志】 24 | 北京,#genre# 25 | 北京新闻广播,https://satellitepull.cnr.cn/live/wxbjxwgb/playlist.m3u8 26 | 北京京津冀之声,https://satellitepull.cnr.cn/live/wxbjcsfwgl/playlist.m3u8 27 | 河北,#genre# 28 | 河北综合广播,https://satellitepull.cnr.cn/live/wxhebzhgb/playlist.m3u8 29 | 河北经济广播,https://satellitepull.cnr.cn/live/wxhebjjgb/playlist.m3u8 30 | 河北交通广播,https://satellitepull.cnr.cn/live/wxhebjtgb/playlist.m3u8 31 | 河北音乐广播,https://satellitepull.cnr.cn/live/wxhebyygb/playlist.m3u8 32 | 河北生活广播,https://satellitepull.cnr.cn/live/wxhebshgb/playlist.m3u8 33 | 河北文艺广播,https://satellitepull.cnr.cn/live/wxhebwygb/playlist.m3u8 34 | 山西,#genre# 35 | 山西综合广播,https://satellitepull.cnr.cn/live/wxssxxwgb/playlist.m3u8 36 | 内蒙古,#genre# 37 | 内蒙古音乐之声,https://satellitepull.cnr.cn/live/wx32nmgyygb/playlist.m3u8 38 | 内蒙古蒙古语广播,https://satellitepull.cnr.cn/live/wx32nmgmygb/playlist.m3u8 39 | 内蒙古评书曲艺广播,https://satellitepull.cnr.cn/live/wx32nmgpsqy/playlist.m3u8 40 | 内蒙古经济生活广播,https://satellitepull.cnr.cn/live/wx32nmgjjgb/playlist.m3u8 41 | 内蒙古绿野之声广播,https://satellitepull.cnr.cn/live/wx32nmglyzs/playlist.m3u8 42 | 内蒙古新闻综合广播,https://satellitepull.cnr.cn/live/wx32nmghyzhxwgb/playlist.m3u8 43 | 内蒙古交通之声广播,https://satellitepull.cnr.cn/live/wx32nmgjtgb/playlist.m3u8 44 | 内蒙古对外广播,https://satellitepull.cnr.cn/live/wx32nmgdwgb/playlist.m3u8 45 | 呼伦贝尔蒙语广播,https://satellitepull.cnr.cn/live/wx32nmghlbemygb/playlist.m3u8 46 | 呼伦贝尔汉语广播,https://satellitepull.cnr.cn/live/wx32nmghlbehygb/playlist.m3u8 47 | 蒙古语综合广播,https://satellitepull.cnr.cn/live/wx32nmgmyxwgb/playlist.m3u8 48 | 辽宁,#genre# 49 | 辽宁综合广播,https://satellitepull.cnr.cn/live/wxlnzhgb/playlist.m3u8 50 | 辽宁交通广播,https://satellitepull.cnr.cn/live/wxlnjtgb/playlist.m3u8 51 | 辽宁经济广播,https://satellitepull.cnr.cn/live/wxlnjjtb/playlist.m3u8 52 | 辽宁乡村广播,https://satellitepull.cnr.cn/live/wxlnxcgb/playlist.m3u8 53 | 辽宁文艺广播,https://satellitepull.cnr.cn/live/wxlnwygb/playlist.m3u8 54 | 吉林,#genre# 55 | 吉林新闻综合广播,https://satellitepull.cnr.cn/live/wxjlxwzhgb/playlist.m3u8 56 | 吉林乡村广播,https://satellitepull.cnr.cn/live/wxjlxcgb/playlist.m3u8 57 | 吉林交通广播,https://satellitepull.cnr.cn/live/wxjljtgb/playlist.m3u8 58 | 吉林经济广播,https://satellitepull.cnr.cn/live/wxjljjgb/playlist.m3u8 59 | 延边新闻广播,https://satellitepull.cnr.cn/live/wxybxwgb/playlist.m3u8 60 | 延边文艺生活广播,https://satellitepull.cnr.cn/live/wxybwyshgb/playlist.m3u8 61 | 黑龙江,#genre# 62 | 黑龙江新闻广播,https://satellitepull.cnr.cn/live/wx32hljxwgb/playlist.m3u8 63 | 黑龙江女性广播,https://satellitepull.cnr.cn/live/wx32hljnxgb/playlist.m3u8 64 | 黑龙江音乐广播,https://satellitepull.cnr.cn/live/wx32hljyygb/playlist.m3u8 65 | 黑龙江高校广播,https://satellitepull.cnr.cn/live/wx32hljgxgb/playlist.m3u8 66 | 黑龙江朝语广播,https://satellitepull.cnr.cn/live/wx32hljcygb/playlist.m3u8 67 | 黑龙江爱家频道广播,https://satellitepull.cnr.cn/live/wx32hljajgb/playlist.m3u8 68 | 黑龙江私家车频道广播,https://satellitepull.cnr.cn/live/wx32hljsjcgb/playlist.m3u8 69 | 黑龙江乡村广播,https://satellitepull.cnr.cn/live/wx32hljxcgb/playlist.m3u8 70 | 黑龙江交通广播,https://satellitepull.cnr.cn/live/wx32hljjtgb/playlist.m3u8 71 | 上海,#genre# 72 | 上海东方广播电台,https://satellitepull.cnr.cn/live/wx32dfgbdt/playlist.m3u8 73 | 上海新闻广播,https://satellitepull.cnr.cn/live/wx32shrmgb/playlist.m3u8 74 | 江苏,#genre# 75 | 江苏新闻综合广播,https://satellitepull.cnr.cn/live/wx32jsxwzhgb/playlist.m3u8 76 | 江苏新闻广播,https://satellitepull.cnr.cn/live/wx32jsxwgb/playlist.m3u8 77 | 江苏经典流行音乐,https://satellitepull.cnr.cn/live/wx32jsjdlxyy/playlist.m3u8 78 | 江苏音乐广播,https://satellitepull.cnr.cn/live/wx32jsyygb/playlist.m3u8 79 | 江苏文艺广播,https://satellitepull.cnr.cn/live/wx32jswygb/playlist.m3u8 80 | 江苏金陵之声,https://satellitepull.cnr.cn/live/wx32jsqctp/playlist.m3u8 81 | 江苏交通广播,https://satellitepull.cnr.cn/live/wx32jsjtgb/playlist.m3u8 82 | 江苏财经广播,https://satellitepull.cnr.cn/live/wx32jscjgb/playlist.m3u8 83 | 江苏健康广播,https://satellitepull.cnr.cn/live/wx32jsjkgb/playlist.m3u8 84 | 江苏故事广播,https://satellitepull.cnr.cn/live/wx32jsgsgb/playlist.m3u8 85 | 浙江,#genre# 86 | 浙江交通之声,https://satellitepull.cnr.cn/live/wxzjjtgb/playlist.m3u8 87 | 浙江女主播电台,https://satellitepull.cnr.cn/live/wxzj1045/playlist.m3u8 88 | 浙江之声,https://satellitepull.cnr.cn/live/wxzjzs/playlist.m3u8 89 | 浙江民生996,https://satellitepull.cnr.cn/live/wxzjmsgb/playlist.m3u8 90 | 浙江经济广播,https://satellitepull.cnr.cn/live/wxzjjjgb/playlist.m3u8 91 | 浙江城市之声,https://satellitepull.cnr.cn/live/wxzjcszs/playlist.m3u8 92 | 浙江悦动之音,https://satellitepull.cnr.cn/live/wxzj968/playlist.m3u8 93 | 安徽,#genre# 94 | 安徽新闻广播,https://satellitepull.cnr.cn/live/wxahxxgb/playlist.m3u8 95 | 安徽经济广播,https://satellitepull.cnr.cn/live/wxahjjgb/playlist.m3u8 96 | 安徽音乐广播,https://satellitepull.cnr.cn/live/wxahyygb/playlist.m3u8 97 | 安徽生活广播,https://satellitepull.cnr.cn/live/wxahshgb/playlist.m3u8 98 | 安徽交通广播,https://satellitepull.cnr.cn/live/wxahjtgb/playlist.m3u8 99 | 安徽农村广播,https://satellitepull.cnr.cn/live/wxahncgb/playlist.m3u8 100 | 安徽小说评书广播,https://satellitepull.cnr.cn/live/wxahxspsgb/playlist.m3u8 101 | 安徽戏曲广播,https://satellitepull.cnr.cn/live/wxahxqgb/playlist.m3u8 102 | 安徽旅游广播,https://satellitepull.cnr.cn/live/wxahlygb/playlist.m3u8 103 | 福建,#genre# 104 | 福建交通广播,https://satellitepull.cnr.cn/live/wx32fjdnjtgb/playlist.m3u8 105 | 福建经济电台961,https://satellitepull.cnr.cn/live/wx32fjdnjjgb/playlist.m3u8 106 | 福建新闻广播,https://satellitepull.cnr.cn/live/wx32fjxwgb/playlist.m3u8 107 | 福建都市广播,https://satellitepull.cnr.cn/live/wx32fjdndsgb/playlist.m3u8 108 | 福建音乐广播,https://satellitepull.cnr.cn/live/wx32fjdnyygb/playlist.m3u8 109 | 福建东南广播,https://satellitepull.cnr.cn/live/wx32fjdngb/playlist.m3u8 110 | 江西,#genre# 111 | 江西新闻广播,https://satellitepull.cnr.cn/live/wx32jiangxxwgb/playlist.m3u8 112 | 江西交通广播,https://satellitepull.cnr.cn/live/wx32jiangxjtgb/playlist.m3u8 113 | 江西音乐广播,https://satellitepull.cnr.cn/live/wx32jiangxyygb/playlist.m3u8 114 | 江西都市广播,https://satellitepull.cnr.cn/live/wx32jiangxdsgb/playlist.m3u8 115 | 江西民生广播,https://satellitepull.cnr.cn/live/wx32jiangxmsgb/playlist.m3u8 116 | 江西农村广播,https://satellitepull.cnr.cn/live/wx32jiangxncgb/playlist.m3u8 117 | 山东,#genre# 118 | 山东交通广播,https://satellitepull.cnr.cn/live/wxsdjtgb/playlist.m3u8 119 | 山东体育休闲广播,https://satellitepull.cnr.cn/live/wxsdtyxxgb/playlist.m3u8 120 | 山东乡村广播,https://satellitepull.cnr.cn/live/wxsdxcgb/playlist.m3u8 121 | 山东经济广播,https://satellitepull.cnr.cn/live/wxsdjjgb/playlist.m3u8 122 | 山东文艺广播,https://satellitepull.cnr.cn/live/wxsdwyssgb/playlist.m3u8 123 | 山东音乐广播,https://satellitepull.cnr.cn/live/wxsdyygb/playlist.m3u8 124 | 河南,#genre# 125 | 河南新闻广播,https://satellitepull.cnr.cn/live/wxhnxwgb/playlist.m3u8 126 | 河南戏曲广播,https://satellitepull.cnr.cn/live/wxhnxqgb/playlist.m3u8 127 | 河南农村广播,https://satellitepull.cnr.cn/live/wxhnncgb/playlist.m3u8 128 | 河南旅游广播,https://satellitepull.cnr.cn/live/wxhnlygb/playlist.m3u8 129 | 河南经济广播,https://satellitepull.cnr.cn/live/wxhnjjgb/playlist.m3u8 130 | 河南信息广播,https://satellitepull.cnr.cn/live/wxhnxxgb/playlist.m3u8 131 | 湖北,#genre# 132 | 湖北之声,https://satellitepull.cnr.cn/live/wx32hubzsgb/playlist.m3u8 133 | 湖北妇女儿童广播,https://satellitepull.cnr.cn/live/wx32hubfnetgb/playlist.m3u8 134 | 湖北资讯广播,https://satellitepull.cnr.cn/live/wx32hubzxgb/playlist.m3u8 135 | 湖北交通广播,https://satellitepull.cnr.cn/live/wx32hubjtgb/playlist.m3u8 136 | 湖北经典音乐,https://satellitepull.cnr.cn/live/wx32hubyygb/playlist.m3u8 137 | 湖北经济广播,https://satellitepull.cnr.cn/live/wx32hubjjgb/playlist.m3u8 138 | 湖北生活广播,https://satellitepull.cnr.cn/live/wx32hubczshgb/playlist.m3u8 139 | 湖北农村广播,https://satellitepull.cnr.cn/live/wx32hubncgb/playlist.m3u8 140 | 湖南,#genre# 141 | 湖南新闻频道,https://satellitepull.cnr.cn/live/wx32hunxwgb/playlist.m3u8 142 | 湖南电台潇湘之声,https://satellitepull.cnr.cn/live/wx32hunyygb/playlist.m3u8 143 | 湖南年代音乐台,https://satellitepull.cnr.cn/live/wx32hunlygb/playlist.m3u8 144 | 广东,#genre# 145 | 广东新闻广播,https://satellitepull.cnr.cn/live/wxgdxwgb/playlist.m3u8 146 | 广东股市广播,https://satellitepull.cnr.cn/live/wxgdgsgb/playlist.m3u8 147 | 广东音乐之声,https://satellitepull.cnr.cn/live/wxgdyyzs/playlist.m3u8 148 | 广东文体广播,https://satellitepull.cnr.cn/live/wxgdwtgb/playlist.m3u8 149 | 广东城市之声,https://satellitepull.cnr.cn/live/wxgdcszs/playlist.m3u8 150 | 广东南粤之声,https://satellitepull.cnr.cn/live/wxnyzs/playlist.m3u8 151 | 广东珠江经济台,https://satellitepull.cnr.cn/live/wxgdzjjjt/playlist.m3u8 152 | 广东南方生活广播,https://satellitepull.cnr.cn/live/wxgdnfshgb/playlist.m3u8 153 | 广东羊城交通广播,https://satellitepull.cnr.cn/live/wxgdycjtt/playlist.m3u8 154 | 深圳交通频率,https://satellitepull.cnr.cn/live/wxszjjpl/playlist.m3u8 155 | 深圳私家车广播,https://satellitepull.cnr.cn/live/wxszsjcgb/playlist.m3u8 156 | 深圳飞扬971,https://satellitepull.cnr.cn/live/wxszfy971/playlist.m3u8 157 | 广西,#genre# 158 | 广西人民广播,https://satellitepull.cnr.cn/live/wx32gxrmgb/playlist.m3u8 159 | 广西经济广播,https://satellitepull.cnr.cn/live/wx32gxjjgb/playlist.m3u8 160 | 广西教育生活广播,https://satellitepull.cnr.cn/live/wx32gbjyshgb/playlist.m3u8 161 | 广西文艺广播,https://satellitepull.cnr.cn/live/wx32gxwygb/playlist.m3u8 162 | 广西交通广播,https://satellitepull.cnr.cn/live/wx32gxjtgb/playlist.m3u8 163 | 广西对外广播,https://satellitepull.cnr.cn/live/wx32gxdwgb/playlist.m3u8 164 | 海南,#genre# 165 | 海南音乐广播,https://satellitepull.cnr.cn/live/wxhainyygb/playlist.m3u8 166 | 海南交通广播,https://satellitepull.cnr.cn/live/wxhainjtgb/playlist.m3u8 167 | 海南新闻广播,https://satellitepull.cnr.cn/live/wxhainxwgb/playlist.m3u8 168 | 重庆,#genre# 169 | 重庆音乐广播,https://satellitepull.cnr.cn/live/wxcqyygb/playlist.m3u8 170 | 重庆文艺广播,https://satellitepull.cnr.cn/live/wxcqwygb/playlist.m3u8 171 | 重庆经济广播,https://satellitepull.cnr.cn/live/wxcqjjgb/playlist.m3u8 172 | 重庆新闻广播,https://satellitepull.cnr.cn/live/wxcqxwgb/playlist.m3u8 173 | 重庆都市广播,https://satellitepull.cnr.cn/live/wxcqdsgb/playlist.m3u8 174 | 重庆交通广播,https://satellitepull.cnr.cn/live/wxcqjtgb/playlist.m3u8 175 | 四川,#genre# 176 | 四川经济广播,https://satellitepull.cnr.cn/live/wxscjjgb/playlist.m3u8 177 | 四川文艺广播,https://satellitepull.cnr.cn/live/wxscwygb/playlist.m3u8 178 | 四川岷江音乐频率,https://satellitepull.cnr.cn/live/wxscmjyyt/playlist.m3u8 179 | 四川新闻频率,https://satellitepull.cnr.cn/live/wxsclyshgb/playlist.m3u8 180 | 四川交通广播,https://satellitepull.cnr.cn/live/wxscjtgb/playlist.m3u8 181 | 四川城市之音,https://satellitepull.cnr.cn/live/wxsccszs/playlist.m3u8 182 | 四川民族频率,https://satellitepull.cnr.cn/live/wxscmzgb/playlist.m3u8 183 | 四川综合广播,https://satellitepull.cnr.cn/live/wxsczhgb/playlist.m3u8 184 | 四川私家车925,https://satellitepull.cnr.cn/live/wxsc925/playlist.m3u8 185 | 贵州,#genre# 186 | 贵州综合广播,https://satellitepull.cnr.cn/live/wx32gzwxwzhgb/playlist.m3u8 187 | 贵州经济广播,https://satellitepull.cnr.cn/live/wx32gzjjgb/playlist.m3u8 188 | 贵州音乐广播,https://satellitepull.cnr.cn/live/wx32gzyygb/playlist.m3u8 189 | 贵州旅游广播,https://satellitepull.cnr.cn/live/wx32gzlygb/playlist.m3u8 190 | 贵州故事广播,https://satellitepull.cnr.cn/live/wx32gzgsgb/playlist.m3u8 191 | 贵州都市广播,https://satellitepull.cnr.cn/live/wx32gzqcgb/playlist.m3u8 192 | 云南,#genre# 193 | 云南交通广播,https://satellitepull.cnr.cn/live/wxynjtgb/playlist.m3u8 194 | 云南音乐广播,https://satellitepull.cnr.cn/live/wxynyygb/playlist.m3u8 195 | 云南新闻广播,https://satellitepull.cnr.cn/live/wxynxwgb/playlist.m3u8 196 | 云南经济广播,https://satellitepull.cnr.cn/live/wxynjjgb/playlist.m3u8 197 | 云南FM99香格里拉之声,https://satellitepull.cnr.cn/live/wxxgllzs/playlist.m3u8 198 | 云南民族广播,https://satellitepull.cnr.cn/live/wxynmzgb/playlist.m3u8 199 | 西藏,#genre# 200 | 西藏藏语广播,https://satellitepull.cnr.cn/live/wxxzzygb/playlist.m3u8 201 | 西藏汉语广播,https://satellitepull.cnr.cn/live/wxxzhygb/playlist.m3u8 202 | 西藏对外交通广播,https://satellitepull.cnr.cn/live/wxxzdwjtgb/playlist.m3u8 203 | 西藏藏语康巴方言,https://satellitepull.cnr.cn/live/wxxzzykbfy/playlist.m3u8 204 | 西藏都市生活广播,https://satellitepull.cnr.cn/live/wxxzdsshgb/playlist.m3u8 205 | 陕西,#genre# 206 | 陕西音乐广播,https://satellitepull.cnr.cn/live/wxsxxyygb/playlist.m3u8 207 | 陕西戏曲广播,https://satellitepull.cnr.cn/live/wxsxxxqgb/playlist.m3u8 208 | 陕西交通广播,https://satellitepull.cnr.cn/live/wxsxxjtgb/playlist.m3u8 209 | 陕西农村广播,https://satellitepull.cnr.cn/live/wxsxxncgb/playlist.m3u8 210 | 陕西青春广播,https://satellitepull.cnr.cn/live/wxsxxqcgb/playlist.m3u8 211 | 陕西都市广播,https://satellitepull.cnr.cn/live/wxsxxdsgb/playlist.m3u8 212 | 陕西新闻广播,https://satellitepull.cnr.cn/live/wxsxxxwgb/playlist.m3u8 213 | 陕西经济广播,https://satellitepull.cnr.cn/live/wxsxxjjgb/playlist.m3u8 214 | 甘肃,#genre# 215 | 甘肃新闻综合广播,https://satellitepull.cnr.cn/live/wxgsxwzhgb/playlist.m3u8 216 | 甘肃农村广播,https://satellitepull.cnr.cn/live/wxgsncgb/playlist.m3u8 217 | 甘肃交通广播,https://satellitepull.cnr.cn/live/wxgsjtgb/playlist.m3u8 218 | 甘肃都市调频,https://satellitepull.cnr.cn/live/wxgsdstb/playlist.m3u8 219 | 甘肃青春调频,https://satellitepull.cnr.cn/live/wxgsqcgb/playlist.m3u8 220 | 甘肃黄河之声,https://satellitepull.cnr.cn/live/wxgshhzs/playlist.m3u8 221 | 青海,#genre# 222 | 青海交通音乐广播,https://satellitepull.cnr.cn/live/wx32qhjtyygb/playlist.m3u8 223 | 青海广播电视台经济广播,https://satellitepull.cnr.cn/live/wx32qhjjgb/playlist.m3u8 224 | 青海新闻综合广播 青海之声,https://satellitepull.cnr.cn/live/wx32qhwxzhgb/playlist.m3u8 225 | 青海藏语广播,https://satellitepull.cnr.cn/live/wx32qhzygb/playlist.m3u8 226 | 宁夏,#genre# 227 | 宁夏新闻广播,https://satellitepull.cnr.cn/live/wxnxxwgb/playlist.m3u8 228 | 宁夏经济广播,https://satellitepull.cnr.cn/live/wxnxjjgb/playlist.m3u8 229 | 宁夏都市广播,https://satellitepull.cnr.cn/live/wxnxdsgb/playlist.m3u8 230 | 宁夏音乐广播,https://satellitepull.cnr.cn/live/wxnxyygb/playlist.m3u8 231 | 新疆,#genre# 232 | 新疆新闻广播,https://satellitepull.cnr.cn/live/wxxjxwgb/playlist.m3u8 233 | 新疆交通广播,https://satellitepull.cnr.cn/live/wxxjjtgb/playlist.m3u8 234 | 新疆私家车广播,https://satellitepull.cnr.cn/live/wxxjsjcgb/playlist.m3u8 235 | 新疆维语综合广播,https://satellitepull.cnr.cn/live/wxxjwyzhgb/playlist.m3u8 236 | 新疆维吾尔语交通文艺广播,https://satellitepull.cnr.cn/live/wxxjwyjtwygb/playlist.m3u8 237 | 新疆蒙语广播,https://satellitepull.cnr.cn/live/wxxjmygb/playlist.m3u8 238 | 新疆哈语广播,https://satellitepull.cnr.cn/live/wxxjhygb/playlist.m3u8 239 | 新疆柯尔克孜语广播,https://satellitepull.cnr.cn/live/wxxjkygb/playlist.m3u8 240 | 新疆兵团综合广播,https://satellitepull.cnr.cn/live/wxbtzs/playlist.m3u8 241 | 新疆绿色广播,https://satellitepull.cnr.cn/live/wxxjlsgb/playlist.m3u8 242 | -------------------------------------------------------------------------------- /gt.txt: -------------------------------------------------------------------------------- 1 | 凤凰中文,http://148.135.93.213:81/phenix.php?id=fhzw 2 | 凤凰资讯,http://148.135.93.213:81/phenix.php?id=fhzx 3 | 凤凰香港,http://148.135.93.213:81/phenix.php?id=fhhk 4 | 凤凰香港,http://162.62.120.19/qctv.fengshows.cn/live/0701phk72.flv 5 | 凤凰资讯,http://162.62.120.19/qctv.fengshows.cn/live/0701pin72.flv 6 | 凤凰中文,http://162.62.120.19/qctv.fengshows.cn/live/0701pcc72.flv 7 | 凤凰中文,http://dns.yiandrive.com:15907/phenix/fhzw 8 | 凤凰资讯,http://dns.yiandrive.com:15907/phenix/fhzx 9 | 凤凰香港,http://dns.yiandrive.com:15907/phenix/fhhk 10 | 凤凰中文,http://php.jdshipin.com/TVOD/iptv.php?id=fhzw 11 | 凤凰资讯,http://php.jdshipin.com/TVOD/iptv.php?id=fhzx 12 | 凤凰香港,http://php.jdshipin.com/TVOD/iptv.php?id=fhhk 13 | 凤凰香港,http://139.196.228.200:5678/公众号搞机大师/fhx.php?id=hk 14 | 凤凰资讯,https://cdn3.163189.xyz/live/fhzx/stream.m3u8 15 | 凤凰中文,https://cdn.163189.xyz/live/fhzw/stream.m3u8 16 | 凤凰香港,https://cdn6.163189.xyz/live/fhhk/stream.m3u8 17 | 重温经典,http://ali.hlspull.yximgs.com/live/awei_cwjd.flv 18 | 重温经典,https://cdn3.163189.xyz/live/cwjd/stream.m3u8 19 | 翡翠,http://php.jdshipin.com/TVOD/iptv.php?id=fct2 20 | 翡翠,http://php.jdshipin.com/TVOD/iptv.php?id=fct3 21 | 翡翠,http://php.jdshipin.com/smt.php?id=jade_twn 22 | 翡翠,https://cdn3.163189.xyz/live/fct/stream.m3u8 23 | 翡翠,http://cdn9.163189.xyz/smt1.1.php?id=jade_twn 24 | TVBJ1,http://php.jdshipin.com/TVOD/iptv.php?id=tvbj1 25 | TVBJ1,https://cdn3.163189.xyz/live/j1/stream.m3u8 26 | TVBJ1,http://cdn5.1678520.xyz/live/?id=j1 27 | TVBPlus,http://php.jdshipin.com/TVOD/iptv.php?id=tvbp 28 | TVBPLUS,https://cdn.163189.xyz/live/tvbp/stream.m3u8 29 | TVB星河,http://php.jdshipin.com/smt.php?id=Xinhe 30 | TVB星河,http://cdn9.163189.xyz/smt1.1.php?id=Xinhe 31 | HOY77,https://cdn.163189.xyz/live/hoy/stream.m3u8 32 | HOY77,http://cdn5.1678520.xyz/live/?id=hoy 33 | HOY77,http://php.jdshipin.com/TVOD/iptv.php?id=hoytv 34 | 黄金翡翠,http://php.jdshipin.com/smt.php?id=Tvbjade 35 | 黄金翡翠,http://cdn9.163189.xyz/smt1.1.php?id=Tvbjade 36 | 澳视澳门,https://cdn.163189.xyz/live/asam/stream.m3u8 37 | 澳视卫星,https://cdn.163189.xyz/live/as/stream.m3u8 38 | 无线新闻,http://cdn9.163189.xyz/smt1.1.php?id=inews_twn 39 | 千禧经典,http://cdn9.163189.xyz/smt1.1.php?id=Tvbclassic 40 | VIUTV,http://cdn5.1678520.xyz/live/?id=viu 41 | POPC,http://go1.bkpcp.top/tl/popc 42 | 明珠,http://121.37.185.74:28180/TV00000000000000000043@HHZT 43 | 明珠,http://121.37.185.74:18180/TV00000000000000000056@HHZT 44 | 凤凰资讯,http://121.37.185.74:28180/TV00000000000000000036@HHZT 45 | 凤凰中文,http://121.37.185.74:18180/TV00000000000000000054@HHZT 46 | 星空卫视,http://121.37.185.74:28180/TV00000000000000000031@HHZT 47 | 翡翠,http://121.37.185.74:18180/TV00000000000000000055@HHZT 48 | 凤凰电影,http://121.37.185.74:28180/TV00000000000000000050@HHZT 49 | 凤凰资讯,http://122.117.71.103:8573/凤凰资讯.m3u8 50 | 凤凰中文,http://live4play.uk/livehttpplay?channel_id=30014 51 | 凤凰资讯,http://live4play.uk/livehttpplay?channel_id=30015 52 | 凤凰香港,http://live4play.uk/livehttpplay?channel_id=30016 53 | 有线新闻,http://live4play.uk/livehttpplay?channel_id=20191 54 | Now新闻,http://live4play.uk/livehttpplay?channel_id=20041 55 | 天映电影,http://live4play.uk/livehttpplay?channel_id=10130 56 | 天映经典,http://live4play.uk/livehttpplay?channel_id=20063 57 | 凤凰中文,http://live4play.uk/livehttpplay?channel_id=20065 58 | 凤凰资讯,http://live4play.uk/livehttpplay?channel_id=20066 59 | 凤凰香港,http://live4play.uk/livehttpplay?channel_id=20067 60 | HBO,http://ali.hlspull.yximgs.com/live/4103867fcb11dff4fff236d0789e2a0d.flv 61 | HBOFAMILY,http://ali.hlspull.yximgs.com/live/7c71ef1c4e9fd8c427e6a71e3b1d18ef.flv 62 | HBOHITS,http://ali.hlspull.yximgs.com/live/29a7aee1c81919faf21048c627208a63.flv 63 | HBOSIGNATURE,http://ali.hlspull.yximgs.com/live/cf0d870f5b646afb10d21e0cc1f54fcf.flv 64 | HOY77,http://ali.hlspull.yximgs.com/live/0e5b0230bc2767fe6a2b84eade3cd6d8.flv 65 | HOY78,http://ali.hlspull.yximgs.com/live/062f7f3f9963e030a2a173bae73e931d.flv 66 | NOW爆谷,http://ali.hlspull.yximgs.com/live/762cf4d26bf5ce1bfae4b3d115ebaae5.flv 67 | NOW财经,http://ali.hlspull.yximgs.com/live/4d1bc77231be26675d035d068b6a3881.flv 68 | NOW新闻,http://ali.hlspull.yximgs.com/live/fec32b1f5a4f8c7b79247382ab6c3008.flv 69 | NOW星影,http://ali.hlspull.yximgs.com/live/e64da3f11cf4968c59fbdb7a858333d9.flv 70 | TVBPLUS,http://ali.hlspull.yximgs.com/live/39dad9c1583badf9f1c914b522b2564b.flv 71 | TVB星河,http://ali.hlspull.yximgs.com/live/4f07df5539f52647b7cad25a5e425934.flv 72 | 澳门莲花,http://ali.hlspull.yximgs.com/live/0ecee8a315fe14a9c47598d330bcf77e.flv 73 | 采昌影剧,http://ali.hlspull.yximgs.com/live/df72f1671e3d880d2516d13071493fb3.flv 74 | 翡翠,http://ali.hlspull.yximgs.com/live/d23a52d0619626c251d42208b834abf2.flv 75 | 翡翠剧集,http://ali.hlspull.yximgs.com/live/c8b3a391fbfbb2f7689a6ff83bfab5a3.flv 76 | 凤凰香港,http://ali.hlspull.yximgs.com/live/89193c251db1677fc2330b5a26aaf53e.flv 77 | 凤凰中文,http://ali.hlspull.yximgs.com/live/bb6f86271d85236e219779be972ece61.flv 78 | 凤凰资讯,http://ali.hlspull.yximgs.com/live/bfe847db836c5f0c60b1af244ca16d6f.flv 79 | 黄金华剧,http://ali.hlspull.yximgs.com/live/e0aac8b3abb8211a3e4ff73bb3dd4806.flv 80 | 美亚电影,http://ali.hlspull.yximgs.com/live/92cf9f0e702ae324032ac88f8c86b849.flv 81 | 美亚电影,http://ali.hlspull.yximgs.com/live/eb891ce0b202267c427cee7b5137b70c.flv 82 | 明珠,http://ali.hlspull.yximgs.com/live/22ce53ddc40a3a4b9bebb331e253e389.flv 83 | 明珠剧集,http://ali.hlspull.yximgs.com/live/3a03c4b98f011be23cf5173c7e765f72.flv 84 | 无线新闻,http://ali.hlspull.yximgs.com/live/f40ef55cfca6514e84f7d7f38e63d5c7.flv 85 | 星空卫视,http://ali.hlspull.yximgs.com/live/bdc8bb9cd22a42f84128be13f75b042c.flv 86 | 娱乐新闻,http://ali.hlspull.yximgs.com/live/acdf11e180865027879ddb9e0d6587e4.flv 87 | 龙华电影,https://cdn8.163189.xyz/live/lhdy/stream.m3u8 88 | 龙华经典,https://cdn8.163189.xyz/live/lhjd/stream.m3u8 89 | 龙华卡通,https://cdn8.163189.xyz/live/lhkt/stream.m3u8 90 | 龙华偶像,https://cdn8.163189.xyz/live/lhox/stream.m3u8 91 | 龙华日韩,https://cdn8.163189.xyz/live/lhrh/stream.m3u8 92 | 龙华戏剧,https://cdn8.163189.xyz/live/lhxj/stream.m3u8 93 | ELTA日韩,http://ali.hlspull.yximgs.com/live/85e470bf732fb532ae7dcc736584303f.flv 94 | ELTA影剧,http://ali.hlspull.yximgs.com/live/acbbc2058bb9ea6f01dd97a9442ecd81.flv 95 | ELTA娱乐,http://ali.hlspull.yximgs.com/live/27c9d30700fc27a93f01959e18514703.flv 96 | ELTA综合,http://ali.hlspull.yximgs.com/live/19ddb0762a9e13b7eadff6a83aa64f08.flv 97 | JET综合,http://ali.hlspull.yximgs.com/live/ae14ef69158fba5bc66741aac32f10f1.flv 98 | TVBS,http://ali.hlspull.yximgs.com/live/c31b7b20da8852ba1eda01ec0ce88bb1.flv 99 | TVBS欢乐,http://ali.hlspull.yximgs.com/live/0730492ec2ffaf5fdbb97eabb860b2ee.flv 100 | TVBS精采,http://ali.hlspull.yximgs.com/live/a961e4987c499b81d6aa6831a3bfa13c.flv 101 | TVBS新闻,http://ali.hlspull.yximgs.com/live/6815412b7f353a40ac8594da9341fda1.flv 102 | 八大第一,http://ali.hlspull.yximgs.com/live/f02d2313916f83025346c9caeccbca4c.flv 103 | 八大精彩,http://ali.hlspull.yximgs.com/live/e7107e5a237a33b146952d7fc2616783.flv 104 | 八大戏剧,http://ali.hlspull.yximgs.com/live/df41ccec30f623aba4639243508aca18.flv 105 | 八大娱乐,http://ali.hlspull.yximgs.com/live/e75b76e6280333084cb4c9af0ecf2489.flv 106 | 八大综合,http://ali.hlspull.yximgs.com/live/b37a4a6b93b22ce9f60dc8ceca316a2b.flv 107 | 东森超视,http://ali.hlspull.yximgs.com/live/19978df7ca2529f897f083a661865619.flv 108 | 东森电影,http://ali.hlspull.yximgs.com/live/05698064e23027a9d4cf37bd2e8765c9.flv 109 | 东森新闻,http://ali.hlspull.yximgs.com/live/a6a1d1b604594553c9b8d80ab59be4c5.flv 110 | 东森洋片,http://ali.hlspull.yximgs.com/live/5535b80966098b4577445165caf68d1d.flv 111 | 东森综合,http://ali.hlspull.yximgs.com/live/f822b9d53ee023d4f4b32121b358238d.flv 112 | 公视,http://ali.hlspull.yximgs.com/live/b3f29e5bede9d3ffcc2cc39885d720cd.flv 113 | 公视戏剧,http://ali.hlspull.yximgs.com/live/1b36e3a28c3880ec1dde679df55c5bf4.flv 114 | 华视,http://ali.hlspull.yximgs.com/live/d7cff616c63279188e212dbb8d0a74eb.flv 115 | 华艺中文,http://ali.hlspull.yximgs.com/live/16fb7342b66c50f5c1fb560165d9af9e.flv 116 | 寰宇财经,http://ali.hlspull.yximgs.com/live/d2229d6e7ee8c261f75de24208078dfa.flv 117 | 寰宇新闻,http://ali.hlspull.yximgs.com/live/b85479f645d9663dcc33693d68fa1e08.flv 118 | 寰宇新闻台湾,http://ali.hlspull.yximgs.com/live/041d4d6f89debe1517365d2db15aed0d.flv 119 | 靖天电影,http://ali.hlspull.yximgs.com/live/b3ac33b415b696cc7f5473ec593d3b4a.flv 120 | 靖天欢乐,http://ali.hlspull.yximgs.com/live/624d28b0862af1b2261cda0f06fd56e4.flv 121 | 靖天卡通,http://ali.hlspull.yximgs.com/live/54dab79ad766201085cdf1b83a92bc7c.flv 122 | 靖天日本,http://ali.hlspull.yximgs.com/live/c92ffe0d046e84843170858c569abb96.flv 123 | 靖天戏剧,http://ali.hlspull.yximgs.com/live/ae6316fc1096577ca05e2efa171a48d9.flv 124 | 靖天映画,http://ali.hlspull.yximgs.com/live/7e400c107387aa1452222a0cfeef08c8.flv 125 | 靖天娱乐,http://ali.hlspull.yximgs.com/live/d5c85a9ad32419a37e7649617012fd79.flv 126 | 靖天综合,http://ali.hlspull.yximgs.com/live/aee3d65629de560d4d85fb100ba9bca9.flv 127 | 靖洋卡通,http://ali.hlspull.yximgs.com/live/ae2633d5e758fe4d337b5523049c07d2.flv 128 | 靖洋戏剧,http://ali.hlspull.yximgs.com/live/c4715d76d428e11b3e96dd9a40d16266.flv 129 | 龙华电影,http://ali.hlspull.yximgs.com/live/6cb0532e970b70203a90f56e0b223950.flv 130 | 龙华经典,http://ali.hlspull.yximgs.com/live/35a5c31a385f0a4453520b5e27603c9d.flv 131 | 龙华卡通,http://ali.hlspull.yximgs.com/live/4df847ff2fc09f2c900d54262899c71d.flv 132 | 龙华偶像,http://ali.hlspull.yximgs.com/live/a4ede670b1a475485a80778ad53655e0.flv 133 | 龙华日韩,http://ali.hlspull.yximgs.com/live/6c8a954cfa8a8b597acb998d136c0308.flv 134 | 龙华戏剧,http://ali.hlspull.yximgs.com/live/safbjFVJfXTNqE6MwqaoTIrlkA7Tvl3w.flv 135 | 龙华影剧,http://ali.hlspull.yximgs.com/live/b9e181eea797a088e33eeaf6f3735efa.flv 136 | 龙祥时代,http://ali.hlspull.yximgs.com/live/f90b726d9173dadd67b77f2c75476d59.flv 137 | 民视,http://ali.hlspull.yximgs.com/live/2c56f943c550ac44bc892fe7f7bfabc9.flv 138 | 民视第一,http://ali.hlspull.yximgs.com/live/ae53ad76115adc6c30bc80e5760c723b.flv 139 | 民视旅游,http://ali.hlspull.yximgs.com/live/71580311e9253f6fdd84ba4f992271ab.flv 140 | 民视台湾,http://ali.hlspull.yximgs.com/live/ef8b4389f555d8ea51043a0756dc8e36.flv 141 | 民视新闻,http://ali.hlspull.yximgs.com/live/cf6b8fea2d04503624c6df7bfee72ed8.flv 142 | 民视影剧,http://ali.hlspull.yximgs.com/live/f2bc15b68644474f076497980373f96c.flv 143 | 民视综艺,http://ali.hlspull.yximgs.com/live/eb7c99960e3478432b49dac5be9b8422.flv 144 | 年代新闻,http://ali.hlspull.yximgs.com/live/ced48f092724ad9511a516ab3ccd0351.flv 145 | 三立都会,http://ali.hlspull.yximgs.com/live/d14b82a9e3c4cee8f1977446f921ba41.flv 146 | 三立台湾,http://ali.hlspull.yximgs.com/live/e7df28cc8205b6a9ad49749578f4660b.flv 147 | 三立戏剧,http://ali.hlspull.yximgs.com/live/9b1734fc1c2ea4869fefa473dcfe99f4.flv 148 | 三立新闻,http://ali.hlspull.yximgs.com/live/da901c6336b02d6190917bf4bc07972d.flv 149 | 三立新闻,http://ali.hlspull.yximgs.com/live/73febfa1312dda4f94d4e0b581dfe36d.flv 150 | 三立综合,http://ali.hlspull.yximgs.com/live/ffb0140fb92e2be8853c294888d91cbe.flv 151 | 台视,http://ali.hlspull.yximgs.com/live/b8d314c8a19dee6a6bd537937c29ab8f.flv 152 | 台视新闻,http://ali.hlspull.yximgs.com/live/5bdc4631656b76ca34da55c9878524a0.flv 153 | 台视综合,http://ali.hlspull.yximgs.com/live/381e639ec0a67eda20a410fe865a6efa.flv 154 | 台湾戏剧,http://ali.hlspull.yximgs.com/live/b77cd5795eb09659db660d36bbdfc919.flv 155 | 纬来电影,http://ali.hlspull.yximgs.com/live/bdd9e992742f44ccb5e34679a0874a67.flv 156 | 纬来精采,http://ali.hlspull.yximgs.com/live/483580ffaf8c0917870d8b3f9bbe4cc6.flv 157 | 纬来日本,http://ali.hlspull.yximgs.com/live/96d81347d04ea8b81c5267825d977a72.flv 158 | 中视,http://ali.hlspull.yximgs.com/live/19bc2f23577c002c37dce91e83fcb367.flv 159 | 中视精彩,http://ali.hlspull.yximgs.com/live/ef3c31a593dbf69a0ec3277e81151fb4.flv 160 | 中视经典,http://ali.hlspull.yximgs.com/live/b4ae84c03e757134660b6ae6f06a518e.flv 161 | 中视新闻,http://ali.hlspull.yximgs.com/live/2fac2c4260e2b749b41021e3365e2bf2.flv 162 | 中天新闻,http://ali.hlspull.yximgs.com/live/1913f431f1cd919e78f5bd4753d90791.flv 163 | 中天新闻,http://ali.hlspull.yximgs.com/live/438d498b2eee54a9366bf5b063d5eb34.flv 164 | STARSPORTS,http://121.37.185.74:28180/TV00000000000000000041@HHZT 165 | Bloomberg,http://121.37.185.74:28180/TV00000000000000000046@HHZT 166 | BHOMercy,http://121.37.185.74:28180/TV00000000000000000047@HHZT 167 | CNN,http://121.37.185.74:28180/TV00000000000000000048@HHZT 168 | NHK,http://121.37.185.74:28180/TV00000000000000000049@HHZT 169 | asia-afn,http://live4play.uk/livehttpplay?channel_id=20115 170 | Fgm电影,http://live4play.uk/livehttpplay?channel_id=10123 171 | Amc电影,http://live4play.uk/livehttpplay?channel_id=12036 172 | Cinem电影,http://live4play.uk/livehttpplay?channel_id=20047 173 | HBo电影1,http://live4play.uk/livehttpplay?channel_id=20091 174 | HBo电影2,http://live4play.uk/livehttpplay?channel_id=20092 175 | HBo电影3,http://live4play.uk/livehttpplay?channel_id=20093 176 | Discover,http://live4play.uk/livehttpplay?channel_id=20110 177 | cn卡通,http://live4play.uk/livehttpplay?channel_id=20048 178 | 尼克卡通,http://live4play.uk/livehttpplay?channel_id=20089 179 | BBC地球,http://live4play.uk/livehttpplay?channel_id=20044 180 | Nhk日闻,http://122.117.71.103:8580/Nhk日闻.m3u8 181 | TLC综合,http://122.117.71.103:8511/TLC综合.m3u8 182 | Obcyoyo,http://122.117.71.103:8515/Obcyoyo.m3u8 183 | CInemax,http://122.117.71.103:8558/CInemax.m3u8 184 | BloomBerg频,http://122.117.71.103:8581/BloomBerg.m3u8 185 | Amc电影,http://122.117.71.103:8559/AmC电影.m3u8 186 | ASTROAOD,http://cdn9.163189.xyz/smt1.1.php?id=Aodhd 187 | -------------------------------------------------------------------------------- /iptv-hls4.0.txt: -------------------------------------------------------------------------------- 1 | 部署命令: 2 | 3 | docker run -d \ 4 | --name iptv-hls \ 5 | -p 50086:50086 \ 6 | -v /etc/docker/iptv-hls/config:/app/config \ 7 | -v /etc/docker/iptv-hls/hls:/app/hls \ 8 | -v /etc/docker/iptv-hls/logs:/app/logs \ 9 | --restart unless-stopped \ 10 | cqshushu/iptv-hls:4.0 11 | 12 | 13 | 参数说明: 14 | --name 容器名称(可修改) 15 | -p [主机端口]:50086(第一个端口可自定义) 16 | /etc/docker/iptv-hls 配置文件存放路径(可修改) 17 | 18 | 文件结构: 19 | ├─ config/ 20 | │ ├─ streams.json # 推流配置 21 | │ └─ password.json # 密码配置 22 | └─ hls/ # HLS分片存储 23 | └─ logs/ # ffmpeg运行日志 24 | 25 | 26 | streams.json参数说明: 27 | { 28 | "token": "iptv", #身份验证参数,默认iptv 29 | "video_codec": "copy", #视频转码,默认copy,即不转码 30 | "audio_codec": "copy", #音频转码,默认copy,即不转码 31 | "hls_time": "3", #单个切片大小,单位秒,默认3秒 32 | "hls_list_size": "12", #切片数量,默认12个 33 | "logo_path": "https://live.fanmingming.com/tv/", #m3u接口的台标文件路径,默认为fanmingming 34 | "list": [ 35 | { 36 | "group": "央视频道", #分组名称 37 | "name": "CCTV1", #节目名称 38 | "url": "http://192.168.2.1:4022/rtp/225.0.4.74:7980", #推流的源地址 39 | "stream_id": "cctv1", #播放id 40 | "always_on": 1, #服务运行就开始推流 41 | "stop_delay": 30, #推流时间,单位秒,默认30秒,如需一直推流,设置为0 42 | "t":["token1"] #单个节目1个token 43 | }, 44 | { 45 | "group": "央视频道", 46 | "name": "广东体育", 47 | "url": "http://192.168.2.245:8219/jk/gdzb.php?id=239.77.0.112:5146", 48 | "stream_id": "gdty", 49 | "always_on": 0, #按需推流,有请求时开启推流 50 | "stop_delay": 30, #延迟关闭推流,单位秒,默认30秒无请求即关闭推流并删除切片 51 | "t":["token1","token2"] #单个节目多个token 52 | } 53 | ] 54 | } 55 | -------------------------------------------------------------------------------- /iptv-hls4.5.txt: -------------------------------------------------------------------------------- 1 | 部署命令: 2 | 3 | docker run -d \ 4 | --name iptv-hls \ 5 | -p 50086:50086 \ 6 | -v /etc/docker/iptv-hls/config:/app/config \ 7 | -v /etc/docker/iptv-hls/hls:/app/hls \ 8 | -v /etc/docker/iptv-hls/logs:/app/logs \ 9 | --restart unless-stopped \ 10 | cqshushu/iptv-hls:4.5 11 | 12 | 13 | 参数说明: 14 | --name 容器名称(可修改) 15 | -p [主机端口]:50086(第一个端口可自定义) 16 | /etc/docker/iptv-hls 配置文件存放路径(可修改) 17 | 18 | 文件结构: 19 | ├─ config/ 20 | │ ├─ streams.json # 推流配置 21 | │ └─ password.json # 密码配置 22 | └─ hls/ # HLS分片存储 23 | └─ logs/ # ffmpeg运行日志 24 | 25 | 26 | streams.json参数说明: 27 | { 28 | "token": "iptv", #身份验证参数,默认iptv 29 | "video_codec": "copy", #视频转码,默认copy,即不转码 30 | "audio_codec": "copy", #音频转码,默认copy,即不转码 31 | "hls_time": "3", #单个切片大小,单位秒,默认3秒 32 | "hls_list_size": "12", #切片数量,默认12个 33 | "logo_path": "https://live.fanmingming.com/tv/", #m3u接口的台标文件路径,默认为fanmingming 34 | "list": [ 35 | { 36 | "group": "央视频道", #分组名称 37 | "name": "CCTV1", #节目名称 38 | "url": "http://192.168.2.1:4022/rtp/225.0.4.74:7980", #推流的源地址 39 | "stream_id": "cctv1", #播放id 40 | "always_on": 1, #服务运行就开始推流 41 | "stop_delay": 30, #推流时间,单位秒,默认30秒,如需一直推流,设置为0 42 | "t":["token1"] #单个节目1个token 43 | }, 44 | { 45 | "group": "央视频道", 46 | "name": "广东体育", 47 | "url": "http://192.168.2.245:8219/jk/gdzb.php?id=239.77.0.112:5146", 48 | "stream_id": "gdty", 49 | "always_on": 0, #按需推流,有请求时开启推流 50 | "stop_delay": 30, #延迟关闭推流,单位秒,默认30秒无请求即关闭推流并删除切片 51 | "t":["token1","token2"] #单个节目多个token 52 | } 53 | ] 54 | } 55 | -------------------------------------------------------------------------------- /iptv.json: -------------------------------------------------------------------------------- 1 | { 2 | "lives": [ 3 | { 4 | "name": "极直播电视(php)", 5 | "url": "http://php.cqshushu.ggff.net/jzb.php?公众号【医工学习日志】", 6 | "epg": "https://epg.112114.xyz/?ch={name}&date={date}", 7 | "logo": "https://epg.112114.xyz/logo/{name}.png" 8 | }, 9 | { 10 | "name": "快直播体育(python)", 11 | "type": 3, 12 | "api": "https://gh-proxy.com/raw.githubusercontent.com/cqshushu/tvjk/master/kzbty.py", 13 | "ext": {} 14 | }, 15 | { 16 | "name": "yoo体育(python)", 17 | "type": 3, 18 | "api": "https://gh-proxy.com/raw.githubusercontent.com/cqshushu/tvjk/master/yoozb.py", 19 | "ext": {} 20 | }, 21 | { 22 | "name": "360pai", 23 | "type": 3, 24 | "api": "https://gh-proxy.com/raw.githubusercontent.com/cqshushu/tvjk/master/360pai.py", 25 | "ext": {} 26 | }, 27 | { 28 | "name": "88KQ", 29 | "url": "http://php.cqshushu.ggff.net/kqt.php?公众号【医工学习日志】", 30 | "epg": "https://epg.112114.xyz/?ch={name}&date={date}", 31 | "logo": "https://epg.112114.xyz/logo/{name}.png" 32 | }, 33 | { 34 | "name": "515001", 35 | "type": 3, 36 | "api": "./515001.py", 37 | "ext": {} 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /iptv345.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Author : Doubebly 3 | # @Time : 2025/3/23 21:55 4 | import base64 5 | import sys 6 | import time 7 | import json 8 | import requests 9 | import re # 新增导入re模块 10 | sys.path.append('..') 11 | from base.spider import Spider 12 | from bs4 import BeautifulSoup 13 | 14 | class Spider(Spider): 15 | def getName(self): 16 | return "Litv" 17 | 18 | def init(self, extend): 19 | self.extend = extend 20 | try: 21 | self.extendDict = json.loads(extend) 22 | except: 23 | self.extendDict = {} 24 | 25 | proxy = self.extendDict.get('proxy', None) 26 | if proxy is None: 27 | self.is_proxy = False 28 | else: 29 | self.proxy = proxy 30 | self.is_proxy = True 31 | pass 32 | 33 | def getDependence(self): 34 | return [] 35 | 36 | def isVideoFormat(self, url): 37 | pass 38 | 39 | def manualVideoCheck(self): 40 | pass 41 | 42 | def liveContent(self, url): 43 | #def liveContent(self, url=None): # 明确标记未使用的参数 44 | channel_list = ["#EXTM3U"] 45 | try: 46 | base_url = "https://iptv345.com/" 47 | fenlei = ["央视,ys", "卫视,ws", "综合,itv", "体育,ty", "电影,movie", "其他,other"] 48 | 49 | headers = { 50 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36' 51 | } 52 | 53 | for group in fenlei: 54 | try: 55 | group_name, group_id = group.split(",") 56 | api_url = f"{base_url.rstrip('/')}/?tid={group_id}" 57 | 58 | # 添加超时和重试逻辑 59 | response = requests.get(api_url, headers=headers, timeout=10) 60 | response.raise_for_status() # 自动处理4xx/5xx错误 61 | 62 | soup = BeautifulSoup(response.text, 'html.parser') 63 | ul_tag = soup.find('ul', { 64 | 'data-role': 'listview', 65 | 'data-inset': 'true', 66 | 'data-divider-theme': 'a' 67 | }) 68 | 69 | if not ul_tag: 70 | print(f"警告:未找到{group_name}分类的列表") 71 | continue 72 | 73 | for li in ul_tag.find_all('li'): 74 | a_tag = li.find('a') 75 | if not a_tag: 76 | continue 77 | 78 | # 使用urljoin处理相对路径 79 | channel_path = a_tag.get('href', '').strip() 80 | if not channel_path: 81 | continue 82 | 83 | full_url = requests.compat.urljoin(base_url, channel_path) 84 | name = a_tag.text.strip() 85 | 86 | # 规范M3U条目格式 87 | m3u_entry = ( 88 | f'#EXTINF:-1 tvg-id="{name}" ' 89 | f'tvg-name="{name}" ' 90 | f'tvg-logo="https://logo.doube.eu.org/{name}.png" ' 91 | f'group-title="{group_name}",{name}\n' 92 | f'video://{full_url}' 93 | ) 94 | channel_list.append(m3u_entry) 95 | 96 | except requests.exceptions.RequestException as e: 97 | print(f"{group_name}分类请求失败: {str(e)}") 98 | except Exception as e: 99 | print(f"{group_name}分类处理异常: {str(e)}") 100 | 101 | except Exception as e: 102 | print(f"全局异常: {str(e)}") 103 | 104 | return '\n'.join(channel_list) 105 | 106 | def homeContent(self, filter): 107 | return {} 108 | 109 | def homeVideoContent(self): 110 | return {} 111 | 112 | def categoryContent(self, cid, page, filter, ext): 113 | return {} 114 | 115 | def detailContent(self, did): 116 | return {} 117 | 118 | def searchContent(self, key, quick, page='1'): 119 | return {} 120 | 121 | def searchContentPage(self, keywords, quick, page): 122 | return {} 123 | 124 | def playerContent(self, flag, pid, vipFlags): 125 | return {} 126 | 127 | def localProxy(self, params): 128 | if params['type'] == "m3u8": 129 | return self.proxyM3u8(params) 130 | if params['type'] == "ts": 131 | return self.get_ts(params) 132 | return [302, "text/plain", None, {'Location': 'https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/mp4/xgplayer-demo-720p.mp4'}] 133 | def proxyM3u8(self, params): 134 | pid = params['pid'] 135 | info = pid.split(',') 136 | a = info[0] 137 | b = info[1] 138 | c = info[2] 139 | timestamp = int(time.time() / 4 - 355017625) 140 | t = timestamp * 4 141 | m3u8_text = f'#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-TARGETDURATION:4\n#EXT-X-MEDIA-SEQUENCE:{timestamp}\n' 142 | for i in range(10): 143 | url = f'https://ntd-tgc.cdn.hinet.net/live/pool/{a}/litv-pc/{a}-avc1_6000000={b}-mp4a_134000_zho={c}-begin={t}0000000-dur=40000000-seq={timestamp}.ts' 144 | if self.is_proxy: 145 | url = f'http://127.0.0.1:9978/proxy?do=py&type=ts&url={self.b64encode(url)}' 146 | 147 | m3u8_text += f'#EXTINF:4,\n{url}\n' 148 | timestamp += 1 149 | t += 4 150 | return [200, "application/vnd.apple.mpegurl", m3u8_text] 151 | 152 | def get_ts(self, params): 153 | url = self.b64decode(params['url']) 154 | headers = {'User-Agent': 'Mozilla/5.0'} 155 | response = requests.get(url, headers=headers, stream=True, proxies=self.proxy) 156 | return [206, "application/octet-stream", response.content] 157 | 158 | def destroy(self): 159 | return '正在Destroy' 160 | 161 | def b64encode(self, data): 162 | return base64.b64encode(data.encode('utf-8')).decode('utf-8') 163 | 164 | def b64decode(self, data): 165 | return base64.b64decode(data.encode('utf-8')).decode('utf-8') 166 | 167 | 168 | if __name__ == '__main__': 169 | pass 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | import requests 203 | from bs4 import BeautifulSoup 204 | base_url = "https://iptv345.com/" 205 | fenlei = ["央视,ys","卫视,ws","综合,itv","体育,ty","电影,movie","其他,other"] 206 | channel_list = [] 207 | for i in fenlei: 208 | group_name,group_id = i.split(",") 209 | api_url = f"https://iptv345.com?tid={group_id}" 210 | 211 | response = requests.get(api_url) 212 | 213 | if response.status_code == 200: 214 | print("请求成功!") 215 | #print(response.text) # 打印返回的内容 216 | 217 | html_content = response.text 218 | 219 | soup = BeautifulSoup(html_content, 'html.parser') 220 | # 根据HTML结构定位目标