From b596bc17084636595e162bf5e4a9b35e77fba656 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 Jun 2026 19:06:15 +0000 Subject: [PATCH] Sync all projects --- FGBLH/py/Xvideos.py | 2 +- FGBLH/py/热播APP.py | 2 +- FGBLH/py/色播聚合.py | 5 +- FGBLH/py/芒果TV.py | 205 ++++++++++++++ FGBLH/py/金牌APP.py | 463 +++++++++++++++++++++++++++++++ FGBLH/海豚666.json | 15 +- FGBLH/海豚无18加555.json | 571 +++++++++++++++++++++++++------------- FGBLH/鱼壳海豚.json | 12 + FGBLH/鱼壳海豚无18加.json | 24 +- 9 files changed, 1095 insertions(+), 204 deletions(-) create mode 100644 FGBLH/py/芒果TV.py create mode 100644 FGBLH/py/金牌APP.py diff --git a/FGBLH/py/Xvideos.py b/FGBLH/py/Xvideos.py index 91dcd730..45597fdb 100644 --- a/FGBLH/py/Xvideos.py +++ b/FGBLH/py/Xvideos.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# by @嗷呜 +# by @6666 import json import re import sys diff --git a/FGBLH/py/热播APP.py b/FGBLH/py/热播APP.py index 1ac101f1..88e4adc1 100644 --- a/FGBLH/py/热播APP.py +++ b/FGBLH/py/热播APP.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# by @嗷呜 +# by @666 import json import sys import time diff --git a/FGBLH/py/色播聚合.py b/FGBLH/py/色播聚合.py index e45b27e5..a2e3b094 100644 --- a/FGBLH/py/色播聚合.py +++ b/FGBLH/py/色播聚合.py @@ -20,8 +20,7 @@ class Spider(Spider): { "vod_id": "/" + item['address'], "vod_name": item['title'], - "vod_pic": item['xinimg'].replace("http://cdn.gcufbd.top/img/", - "https://slink.ltd/https://raw.githubusercontent.com/fish2018/lib/refs/heads/main/imgs/"), + "vod_pic": item['xinimg'], "vod_remarks": item['Number'], "style": {"type": "rect", "ratio": 1.33} } for item in sorted(data, key=lambda x: int(x['Number']), reverse=True) @@ -43,7 +42,7 @@ class Spider(Spider): vod = [{ "vod_play_from": 'sebo', "vod_play_url": playUrls, - "vod_content": 'https://github.com/fish2018', + "vod_content": '简介', }] result = {"list": vod} return result diff --git a/FGBLH/py/芒果TV.py b/FGBLH/py/芒果TV.py new file mode 100644 index 00000000..30b0072c --- /dev/null +++ b/FGBLH/py/芒果TV.py @@ -0,0 +1,205 @@ +# -*- coding: utf-8 -*- +# by @6666 +import sys +import time +from concurrent.futures import ThreadPoolExecutor, as_completed +sys.path.append('..') +from base.spider import Spider + +class Spider(Spider): + + def init(self, extend=""): + pass + + def getName(self): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def destroy(self): + pass + + rhost='https://www.mgtv.com' + + host='https://pianku.api.mgtv.com' + + vhost='https://pcweb.api.mgtv.com' + + mhost='https://dc.bz.mgtv.com' + + shost='https://mobileso.bz.mgtv.com' + + headers = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.61 Chrome/126.0.6478.61 Not/A)Brand/8 Safari/537.36', + 'origin': rhost, + 'referer': f'{rhost}/' + } + + def homeContent(self, filter): + result = {} + cateManual = { + "电影": "3", + "电视剧": "2", + "综艺": "1", + "动画": "50", + "少儿": "10", + "纪录片": "51", + "教育": "115" + } + classes = [] + filters = {} + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + with ThreadPoolExecutor(max_workers=len(classes)) as executor: + results = executor.map(self.getf, classes) + for id, ft in results: + if len(ft):filters[id] = ft + result['class'] = classes + result['filters'] = filters + return result + + def homeVideoContent(self): + data=self.fetch(f'{self.mhost}/dynamic/v1/channel/index/0/0/0/1000000/0/0/17/1354?type=17&version=5.0&t={str(int(time.time()*1000))}&_support=10000000', headers=self.headers).json() + videoList = [] + for i in data['data']: + if i.get('DSLList') and len(i['DSLList']): + for j in i['DSLList']: + if j.get('data') and j['data'].get('items') and len(j['data']['items']): + for k in j['data']['items']: + videoList.append({ + 'vod_id': k["videoId"], + 'vod_name': k['videoName'], + 'vod_pic': k['img'], + 'vod_year': k.get('cornerTitle'), + 'vod_remarks': k.get('time') or k.get('desc'), + }) + return {'list':videoList} + + def categoryContent(self, tid, pg, filter, extend): + body={ + 'allowedRC': '1', + 'platform': 'pcweb', + 'channelId': tid, + 'pn': pg, + 'pc': '80', + 'hudong': '1', + '_support': '10000000' + } + body.update(extend) + data=self.fetch(f'{self.host}/rider/list/pcweb/v3', params=body, headers=self.headers).json() + videoList = [] + for i in data['data']['hitDocs']: + videoList.append({ + 'vod_id': i["playPartId"], + 'vod_name': i['title'], + 'vod_pic': i['img'], + 'vod_year': (i.get('rightCorner',{}) or {}).get('text') or i.get('year'), + 'vod_remarks': i['updateInfo'] + }) + result = {} + result['list'] = videoList + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, ids): + vbody={'allowedRC': '1', 'vid': ids[0], 'type': 'b', '_support': '10000000'} + vdata=self.fetch(f'{self.vhost}/video/info', params=vbody, headers=self.headers).json() + d=vdata['data']['info']['detail'] + vod = { + 'vod_name': vdata['data']['info']['title'], + 'type_name': d.get('kind'), + 'vod_year': d.get('releaseTime'), + 'vod_area': d.get('area'), + 'vod_lang': d.get('language'), + 'vod_remarks': d.get('updateInfo'), + 'vod_actor': d.get('leader'), + 'vod_director': d.get('director'), + 'vod_content': d.get('story'), + 'vod_play_from': '芒果TV', + 'vod_play_url': '' + } + data,pdata=self.fetch_page_data('1', ids[0],True) + pagecount=data['data'].get('total_page') or 1 + if int(pagecount)>1: + pages = list(range(2, pagecount+1)) + page_results = {} + with ThreadPoolExecutor(max_workers=10) as executor: + future_to_page = { + executor.submit(self.fetch_page_data, page, ids[0]): page + for page in pages + } + for future in as_completed(future_to_page): + page = future_to_page[future] + try: + result = future.result() + page_results[page] = result + except Exception as e: + print(f"Error fetching page {page}: {e}") + for page in sorted(page_results.keys()): + pdata.extend(page_results[page]) + vod['vod_play_url'] = '#'.join(pdata) + return {'list':[vod]} + + def searchContent(self, key, quick, pg="1"): + data=self.fetch(f'{self.shost}/applet/search/v1?channelCode=mobile-wxap&q={key}&pn={pg}&pc=10&_support=10000000', headers=self.headers).json() + videoList = [] + for i in data['data']['contents']: + if i.get('data') and len(i['data']): + k = i['data'][0] + if k.get('vid') and k.get('img'): + try: + videoList.append({ + 'vod_id': k['vid'], + 'vod_name': k['title'], + 'vod_pic': k['img'], + 'vod_year': (i.get('rightTopCorner',{}) or {}).get('text') or i.get('year'), + 'vod_remarks': '/'.join(i.get('desc',[])), + }) + except: + print(k) + return {'list':videoList,'page':pg} + + def playerContent(self, flag, id, vipFlags): + id=f'{self.rhost}{id}' + return {'jx':1,'parse': 1, 'url': id, 'header': ''} + + def localProxy(self, param): + pass + + def getf(self, body): + params = { + 'allowedRC': '1', + 'channelId': body['type_id'], + 'platform': 'pcweb', + '_support': '10000000', + } + data = self.fetch(f'{self.host}/rider/config/channel/v1', params=params, headers=self.headers).json() + ft = [] + for i in data['data']['listItems']: + try: + value_array = [{"n": value['tagName'], "v": value['tagId']} for value in i['items'] if + value.get('tagName')] + ft.append({"key": i['eName'], "name": i['typeName'], "value": value_array}) + except: + print(i) + return body['type_id'], ft + + def fetch_page_data(self, page, id, b=False): + body = {'version': '5.5.35', 'video_id': id, 'page': page, 'size': '30', + 'platform': '4', 'src': 'mgtv', 'allowedRC': '1', '_support': '10000000'} + data = self.fetch(f'{self.vhost}/episode/list', params=body, headers=self.headers).json() + ldata = [f'{i["t3"]}${i["url"]}' for i in data['data']['list']] + if b: + return data, ldata + else: + return ldata diff --git a/FGBLH/py/金牌APP.py b/FGBLH/py/金牌APP.py new file mode 100644 index 00000000..f5f143e4 --- /dev/null +++ b/FGBLH/py/金牌APP.py @@ -0,0 +1,463 @@ +# -*- coding: utf-8 -*- +# @Author : Doubebly +# @Time : 2025/5/29 22:07 + + +import sys +import hashlib +import time +import requests +import re +import json +sys.path.append('..') +from base.spider import Spider + + +class Spider(Spider): + def getName(self): + return "Aidianying" + + def init(self, extend): + self.home_url = 'https://m.sdzhgt.com/' + self.ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" + self.error_url = "https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/mp4/xgplayer-demo-720p.mp4" + + def getDependence(self): + return [] + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def homeContent(self, filter): + return { + 'class': [{'type_id': '1', 'type_name': '电影'}, + {'type_id': '2', 'type_name': '电视剧'}, + {'type_id': '3', 'type_name': '综艺'}, + {'type_id': '4', 'type_name': '动漫'}], + 'filters': { + '1': [ + {'key': 'type', + 'name': '类型', + 'value': [{'n': '全部', 'v': ''}, + {'n': '喜剧', 'v': '/type/22'}, + {'n': '动作', 'v': '/type/23'}, + {'n': '科幻', 'v': '/type/30'}, + {'n': '爱情', 'v': '/type/26'}, + {'n': '悬疑', 'v': '/type/27'}, + {'n': '奇幻', 'v': '/type/87'}, + {'n': '剧情', 'v': '/type/37'}, + {'n': '恐怖', 'v': '/type/36'}, + {'n': '犯罪', 'v': '/type/35'}, + {'n': '动画', 'v': '/type/33'}, + {'n': '惊悚', 'v': '/type/34'}, + {'n': '战争', 'v': '/type/25'}, + {'n': '冒险', 'v': '/type/31'}, + {'n': '灾难', 'v': '/type/81'}, + {'n': '伦理', 'v': '/type/83'}, + {'n': '其他', 'v': '/type/43'}]}, + {'key': 'area', + 'name': '地区', + 'value': [{'n': '全部', 'v': ''}, + {'n': '中国大陆', 'v': '/area/中国大陆'}, + {'n': '中国香港', 'v': '/area/中国香港'}, + {'n': '中国台湾', 'v': '/area/中国台湾'}, + {'n': '美国', 'v': '/area/美国'}, + {'n': '日本', 'v': '/area/日本'}, + {'n': '韩国', 'v': '/area/韩国'}, + {'n': '印度', 'v': '/area/印度'}, + {'n': '泰国', 'v': '/area/泰国'}, + {'n': '其他', 'v': '/area/其他'}]}, + {'key': 'year', + 'name': '年份', + 'value': [{'n': '全部', 'v': ''}, + {'n': '2024', 'v': '/year/2024'}, + {'n': '2023', 'v': '/year/2023'}, + {'n': '2022', 'v': '/year/2022'}, + {'n': '2021', 'v': '/year/2021'}, + {'n': '2020', 'v': '/year/2020'}, + {'n': '2019', 'v': '/year/2019'}, + {'n': '2018', 'v': '/year/2018'}, + {'n': '2017', 'v': '/year/2017'}, + {'n': '2016', 'v': '/year/2016'}, + {'n': '2015', 'v': '/year/2015'}, + {'n': '2014', 'v': '/year/2014'}, + {'n': '2013', 'v': '/year/2013'}, + {'n': '2012', 'v': '/year/2012'}, + {'n': '2011', 'v': '/year/2011'}, + {'n': '2010', 'v': '/year/2010'}, + {'n': '2009~2000', 'v': '/year/2009~2000'}]}, + {'key': 'lang', + 'name': '语言', + 'value': [{'n': '全部', 'v': ''}, + {'n': '国语', 'v': '/lang/国语'}, + {'n': '英语', 'v': '/lang/英语'}, + {'n': '粤语', 'v': '/lang/粤语'}, + {'n': '韩语', 'v': '/lang/韩语'}, + {'n': '日语', 'v': '/lang/日语'}, + {'n': '其他', 'v': '/lang/其他'}]}, + {'key': 'by', + 'name': '排序', + 'value': [{'n': '上映时间', 'v': '/sortType/1/sortOrder/0'}, + {'n': '人气高低', 'v': '/sortType/3/sortOrder/0'}, + {'n': '评分高低', 'v': '/sortType/4/sortOrder/0'}]} + ], + '2': [ + {'key': 'type', + 'name': '类型', + 'value': [{'n': '全部', 'v': ''}, + {'n': '国产剧', 'v': '/type/14'}, + {'n': '欧美剧', 'v': '/type/15'}, + {'n': '港台剧', 'v': '/type/16'}, + {'n': '日韩剧', 'v': '/type/62'}, + {'n': '其他剧', 'v': '/type/68'}]}, + {'key': 'class', + 'name': '剧情', + 'value': [{'n': '全部', 'v': ''}, + {'n': '古装', 'v': '/class/古装'}, + {'n': '战争', 'v': '/class/战争'}, + {'n': '喜剧', 'v': '/class/喜剧'}, + {'n': '家庭', 'v': '/class/家庭'}, + {'n': '犯罪', 'v': '/class/犯罪'}, + {'n': '动作', 'v': '/class/动作'}, + {'n': '奇幻', 'v': '/class/奇幻'}, + {'n': '剧情', 'v': '/class/剧情'}, + {'n': '历史', 'v': '/class/历史'}, + {'n': '短片', 'v': '/class/短片'}]}, + {'key': 'area', + 'name': '地区', + 'value': [{'n': '全部', 'v': ''}, + {'n': '中国大陆', 'v': '/area/中国大陆'}, + {'n': '中国香港', 'v': '/area/中国香港'}, + {'n': '中国台湾', 'v': '/area/中国台湾'}, + {'n': '日本', 'v': '/area/日本'}, + {'n': '韩国', 'v': '/area/韩国'}, + {'n': '美国', 'v': '/area/美国'}, + {'n': '泰国', 'v': '/area/泰国'}, + {'n': '其他', 'v': '/area/其他'}]}, + {'key': 'year', + 'name': '时间', + 'value': [{'n': '全部', 'v': ''}, + {'n': '2024', 'v': '/year/2024'}, + {'n': '2023', 'v': '/year/2023'}, + {'n': '2022', 'v': '/year/2022'}, + {'n': '2021', 'v': '/year/2021'}, + {'n': '2020', 'v': '/year/2020'}, + {'n': '2019', 'v': '/year/2019'}, + {'n': '2018', 'v': '/year/2018'}, + {'n': '2017', 'v': '/year/2017'}, + {'n': '2016', 'v': '/year/2016'}, + {'n': '2015', 'v': '/year/2015'}, + {'n': '2014', 'v': '/year/2014'}, + {'n': '2013', 'v': '/year/2013'}, + {'n': '2012', 'v': '/year/2012'}, + {'n': '2011', 'v': '/year/2011'}, + {'n': '2010', 'v': '/year/2010'}]}, + {'key': 'lang', + 'name': '语言', + 'value': [{'n': '全部', 'v': ''}, + {'n': '普通话', 'v': '/lang/普通话'}, + {'n': '英语', 'v': '/lang/英语'}, + {'n': '粤语', 'v': '/lang/粤语'}, + {'n': '韩语', 'v': '/lang/韩语'}, + {'n': '日语', 'v': '/lang/日语'}, + {'n': '泰语', 'v': '/lang/泰语'}, + {'n': '其他', 'v': '/lang/其他'}, ]}, + {'key': 'by', + 'name': '排序', + 'value': [{'n': '最近更新', 'v': '/sortType/1/sortOrder/0'}, + {'n': '添加时间', 'v': '/sortType/2/sortOrder/0'}, + {'n': '人气高低', 'v': '/sortType/3/sortOrder/0'}, + {'n': '评分高低', 'v': '/sortType/4/sortOrder/0'}]} + ], + '3': [ + {'key': 'type', + 'name': '类型', + 'value': [{'n': '全部', 'v': ''}, + {'n': '国产综艺', 'v': '/type/69'}, + {'n': '港台综艺', 'v': '/type/70'}, + {'n': '日韩综艺', 'v': '/type/72'}, + {'n': '欧美综艺', 'v': '/type/73'}]}, + {'key': 'class', + 'name': '剧情', + 'value': [{'n': '全部', 'v': ''}, + {'n': '真人秀', 'v': '/class/真人秀'}, + {'n': '音乐', 'v': '/class/音乐'}, + {'n': '脱口秀', 'v': '/class/脱口秀'}]}, + {'key': 'area', + 'name': '地区', + 'value': [{'n': '全部', 'v': ''}, + {'n': '中国大陆', 'v': '/area/中国大陆'}, + {'n': '中国香港', 'v': '/area/中国香港'}, + {'n': '中国台湾', 'v': '/area/中国台湾'}, + {'n': '日本', 'v': '/area/日本'}, + {'n': '韩国', 'v': '/area/韩国'}, + {'n': '美国', 'v': '/area/美国'}, + {'n': '其他', 'v': '/area/其他'}]}, + {'key': 'year', + 'name': '时间', + 'value': [{'n': '全部', 'v': ''}, + {'n': '2024', 'v': '/year/2024'}, + {'n': '2023', 'v': '/year/2023'}, + {'n': '2022', 'v': '/year/2022'}, + {'n': '2021', 'v': '/year/2021'}, + {'n': '2020', 'v': '/year/2020'}]}, + {'key': 'lang', + 'name': '语言', + 'value': [{'n': '全部', 'v': ''}, + {'n': '国语', 'v': '/lang/国语'}, + {'n': '英语', 'v': '/lang/英语'}, + {'n': '粤语', 'v': '/lang/粤语'}, + {'n': '韩语', 'v': '/lang/韩语'}, + {'n': '日语', 'v': '/lang/日语'}, + {'n': '其他', 'v': '/lang/其他'}, ]}, + {'key': 'by', + 'name': '排序', + 'value': [{'n': '最近更新', 'v': '/sortType/1/sortOrder/0'}, + {'n': '添加时间', 'v': '/sortType/2/sortOrder/0'}, + {'n': '人气高低', 'v': '/sortType/3/sortOrder/0'}, + {'n': '评分高低', 'v': '/sortType/4/sortOrder/0'}]} + ], + '4': [ + {'key': 'type', + 'name': '类型', + 'value': [{'n': '全部', 'v': ''}, + {'n': '国产动漫', 'v': '/type/75'}, + {'n': '日韩动漫', 'v': '/type/76'}, + {'n': '欧美动漫', 'v': '/type/77'}]}, + {'key': 'class', + 'name': '剧情', + 'value': [{'n': '全部', 'v': ''}, + {'n': '喜剧', 'v': '/class/喜剧'}, + {'n': '科幻', 'v': '/class/科幻'}, + {'n': '热血', 'v': '/class/热血'}, + {'n': '冒险', 'v': '/class/冒险'}, + {'n': '动作', 'v': '/class/动作'}, + {'n': '运动', 'v': '/class/运动'}, + {'n': '战争', 'v': '/class/战争'}, + {'n': '儿童', 'v': '/class/儿童'}]}, + {'key': 'area', + 'name': '地区', + 'value': [{'n': '全部', 'v': ''}, + {'n': '中国大陆', 'v': '/area/中国大陆'}, + {'n': '日本', 'v': '/area/日本'}, + {'n': '美国', 'v': '/area/美国'}, + {'n': '其他', 'v': '/area/其他'}]}, + {'key': 'year', + 'name': '时间', + 'value': [{'n': '全部', 'v': ''}, + {'n': '2024', 'v': '/year/2024'}, + {'n': '2023', 'v': '/year/2023'}, + {'n': '2022', 'v': '/year/2022'}, + {'n': '2021', 'v': '/year/2021'}, + {'n': '2020', 'v': '/year/2020'}, + {'n': '2019', 'v': '/year/2019'}, + {'n': '2018', 'v': '/year/2018'}, + {'n': '2017', 'v': '/year/2017'}, + {'n': '2016', 'v': '/year/2016'}, + {'n': '2015', 'v': '/year/2015'}, + {'n': '2014', 'v': '/year/2014'}, + {'n': '2013', 'v': '/year/2013'}, + {'n': '2012', 'v': '/year/2012'}, + {'n': '2011', 'v': '/year/2011'}, + {'n': '2010', 'v': '/year/2010'}]}, + {'key': 'lang', + 'name': '语言', + 'value': [{'n': '全部', 'v': ''}, + {'n': '国语', 'v': '/lang/国语'}, + {'n': '英语', 'v': '/lang/英语'}, + {'n': '日语', 'v': '/lang/日语'}, + {'n': '其他', 'v': '/lang/其他'}]}, + {'key': 'by', + 'name': '排序', + 'value': [{'n': '最近更新', 'v': '/sortType/1/sortOrder/0'}, + {'n': '添加时间', 'v': '/sortType/2/sortOrder/0'}, + {'n': '人气高低', 'v': '/sortType/3/sortOrder/0'}, + {'n': '评分高低', 'v': '/sortType/4/sortOrder/0'}]} + ] +} + } + + def homeVideoContent(self): + video_list = [] + t = str(int(time.time() * 1000)) + # t = '1723292093234' + data = f'key=cb808529bae6b6be45ecfab29a4889bc&t={t}' + data_md5 = hashlib.md5(data.encode()).hexdigest() + data_sha1 = hashlib.sha1(data_md5.encode()).hexdigest() + h = { + "User-Agent": self.ua, + 'referer': self.home_url, 't': t, 'sign': data_sha1} + try: + res = requests.get(f'{self.home_url}/api/mw-movie/anonymous/home/hotSearch', headers=h) + data_list = res.json()['data'] + for i in data_list: + video_list.append( + { + 'vod_id': i['vodId'], + 'vod_name': i['vodName'], + 'vod_pic': i['vodPic'], + 'vod_remarks': i['vodVersion'] if i['typeId1'] == 1 else i['vodRemarks'] + } + ) + except requests.RequestException as e: + return { + 'list': [], + 'parse': 0, + 'jx': 0 + } + + return { + 'list': video_list, + 'parse': 0, + 'jx': 0 + } + + def categoryContent(self, cid, page, filter, ext): + t = cid + _type = ext.get('type') if ext.get('type') else '' + __class = ext.get('class') if ext.get('class') else '' + _area = ext.get('area') if ext.get('area') else '' + _year = ext.get('year') if ext.get('year') else '' + _lang = ext.get('lang') if ext.get('lang') else '' + _by = ext.get('by') if ext.get('by') else '' + video_list = [] + h = { + "User-Agent": self.ua, + 'referer': self.home_url, + } + try: + res = requests.get( + f'{self.home_url}/vod/show/id/{t}{_type}{__class}{_area}{_year}{_lang}{_by}/page/{page}', + headers=h) + aa = re.findall(r'\\"list\\":(.*?)}}}]', res.text) + if not aa: + return {'list': [], 'parse': 0, 'jx': 0} + bb = aa[0].replace('\\"', '"') + data_list = json.loads(bb) + for i in data_list: + video_list.append( + { + 'vod_id': i['vodId'], + 'vod_name': i['vodName'], + 'vod_pic': i['vodPic'], + 'vod_remarks': i['vodVersion'] if i['typeId1'] == 1 else i['vodRemarks'] + } + ) + except requests.RequestException as e: + return {'list': [], 'msg': e} + return {'list': video_list, 'parse': 0, 'jx': 0} + + def detailContent(self, did): + ids = did[0] + video_list = [] + t = str(int(time.time() * 1000)) + # t = '1723292093234' + data = f'id={ids}&key=cb808529bae6b6be45ecfab29a4889bc&t={t}' + data_md5 = hashlib.md5(data.encode()).hexdigest() + data_sha1 = hashlib.sha1(data_md5.encode()).hexdigest() + h = { + "User-Agent": self.ua, + 'referer': self.home_url, + 't': t, 'sign': data_sha1 + } + try: + res = requests.get(f'{self.home_url}/api/mw-movie/anonymous/video/detail?id={ids}', headers=h) + data = res.json()['data'] + play_list = data['episodeList'] + vod_play_url = [] + for i in play_list: + name = i['name'] + url = ids + '/' + str(i['nid']) + vod_play_url.append(name + '$' + url) + + video_list.append( + { + 'type_name': data['typeName'], + 'vod_id': ids, + 'vod_name': data['vodName'], + 'vod_remarks': data['vodRemarks'], + 'vod_year': data['vodYear'], + 'vod_area': data['vodArea'], + 'vod_actor': data['vodActor'], + 'vod_director': data['vodDirector'], + 'vod_content': data['vodContent'], + 'vod_play_from': '老僧酿酒', + 'vod_play_url': '#'.join(vod_play_url) + + } + ) + except requests.RequestException as e: + return {'list': [], 'msg': e} + return {"list": video_list, 'parse': 0, 'jx': 0} + + def searchContent(self, key, quick, page='1'): + wd = key + video_list = [] + t = str(int(time.time() * 1000)) + data = f'keyword={wd}&pageNum={page}&pageSize=12&key=cb808529bae6b6be45ecfab29a4889bc&t={t}' + data_md5 = hashlib.md5(data.encode()).hexdigest() + data_sha1 = hashlib.sha1(data_md5.encode()).hexdigest() + h = { + "User-Agent": self.ua, + 'referer': self.home_url, + 't': t, 'sign': data_sha1 + } + try: + response = requests.get( + f'{self.home_url}/api/mw-movie/anonymous/video/searchByWord?keyword={wd}&pageNum={page}&pageSize=12', + headers=h, + ) + data_list = response.json()['data']['result']['list'] + for i in data_list: + video_list.append( + { + 'vod_id': i['vodId'], + 'vod_name': i['vodName'], + 'vod_pic': i['vodPic'], + 'vod_remarks': i['vodVersion'] if i['typeId1'] == 1 else i['vodRemarks'] + } + ) + except requests.RequestException as e: + return {'list': [], 'msg': e} + return {'list': video_list, 'parse': 0, 'jx': 0} + + def playerContent(self, flag, pid, vipFlags): + url = pid + play_url = self.error_url + data = url.split('/') + _id = data[0] + _nid = data[1] + t = str(int(time.time() * 1000)) + # t = '1723292093234' + data = f'id={_id}&nid={_nid}&key=cb808529bae6b6be45ecfab29a4889bc&t={t}' + data_md5 = hashlib.md5(data.encode()).hexdigest() + data_sha1 = hashlib.sha1(data_md5.encode()).hexdigest() + h = { + "User-Agent": self.ua, + 'referer': self.home_url, + 't': t, 'sign': data_sha1 + } + h2 = { + "User-Agent": self.ua, + } + try: + res = requests.get( + f'{self.home_url}/api/mw-movie/anonymous/v2/video/episode/url?id={_id}&nid={_nid}', + headers=h) + play_url = res.json()['data']['list'][0]['url'] + except requests.RequestException as e: + return {"url": play_url, "header": h2, "parse": 0, "jx": 0} + + return {"url": play_url, "header": h2, "parse": 0, "jx": 0} + + def localProxy(self, params): + pass + + def destroy(self): + return '正在Destroy' + +if __name__ == '__main__': + pass diff --git a/FGBLH/海豚666.json b/FGBLH/海豚666.json index e5557ba8..cc13f147 100644 --- a/FGBLH/海豚666.json +++ b/FGBLH/海豚666.json @@ -1,4 +1,3 @@ - { "spider": "./tvbox.jar", "logo": "https://img.freepik.com/free-vector/cute-dolphin-swimming-cartoon-vector-icon-illustration-animal-nature-icon-isolated-flat-vector_138676-12582.jpg?semt=ais_hybrid&w=740&q=80", @@ -40,13 +39,19 @@ "ext":"https://cdn.waimaimingtang.com/file/images/bwc/20251023002108-a4795930ec.js" }, { - "key": "茫茫", + "key": "芒芒", "name": "🐬芒果4K", "type": 3, "api": "https://ghfast.top/https://raw.githubusercontent.com/IY-CPU/IY/main/lib/drpy2.min.js", "ext": "https://ghfast.top/https://raw.githubusercontent.com/IY-CPU/IY/main/lib/茫茫.png" }, { + "key": "MGtv", + "name": "🐬芒果TV.py", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/芒果TV.py" + }, + { "key": "leo_danmaku", "name": "LEO | 弹幕", "type": 3, @@ -83,6 +88,12 @@ "type": 3, "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/枫叶影院.py" }, + { + "key": "JP", + "name": "🐬金牌APP.py", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/金牌APP.py" + }, { "key": "rb", "name": "🐬热播APP.py", diff --git a/FGBLH/海豚无18加555.json b/FGBLH/海豚无18加555.json index f9155585..fdf8a534 100644 --- a/FGBLH/海豚无18加555.json +++ b/FGBLH/海豚无18加555.json @@ -6,13 +6,13 @@ "sites": [ { "key":"AQY", - "name":"🐬爱奇艺 海豚影视交流群 TG:@hshsjk9", + "name":"🐬爱奇艺 海豚影视完全免费,如有收费的都是骗子", "type":3, "api":"https://file.icve.com.cn/file_doc/249/899/3E7E0C8A023B624CEC6BDCC200F06F02.js", "ext":"https://cdn.waimaimingtang.com/file/images/bwc/20251023002031-6064033c16.js" }, {"key":"YK", - "name":"🐬优酷视频 海豚影视完全免费,如有收费的都是骗子", + "name":"🐬优酷视频 海豚影视交流群 TG:@hshsjk9", "type":3, "api":"https://file.icve.com.cn/file_doc/249/899/3E7E0C8A023B624CEC6BDCC200F06F02.js", "ext":"https://cdn.waimaimingtang.com/file/images/bwc/20251023002200-507c3e8aae.js" @@ -38,12 +38,18 @@ "api":"https://file.icve.com.cn/file_doc/249/899/3E7E0C8A023B624CEC6BDCC200F06F02.js", "ext":"https://cdn.waimaimingtang.com/file/images/bwc/20251023002108-a4795930ec.js" }, - { - "key": "茫茫", - "name": "🐬芒果4K", + { + "key": "茫茫", + "name": "🐬芒果4K", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/IY-CPU/IY/main/lib/drpy2.min.js", + "ext": "https://ghfast.top/https://raw.githubusercontent.com/IY-CPU/IY/main/lib/茫茫.png" + }, + { + "key": "MGtv", + "name": "🐬芒果TV.py", "type": 3, - "api": "https://ghfast.top/https://raw.githubusercontent.com/IY-CPU/IY/main/lib/drpy2.min.js", - "ext": "https://ghfast.top/https://raw.githubusercontent.com/IY-CPU/IY/main/lib/茫茫.png" + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/芒果TV.py" }, { "key": "leo_danmaku", @@ -70,6 +76,13 @@ } }, { + "key": "ppx", + "name": "🐬皮皮虾.py", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/皮皮虾.py", + "ext": "http://43.248.117.123:4680" + }, + { "key": "fY", "name": "🐬枫叶影院(关梯子使用)", "type": 3, @@ -81,6 +94,12 @@ "type": 3, "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/热播APP.py" }, + { + "key": "JP", + "name": "🐬金牌APP.py", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/金牌APP.py" + }, { "key": "kf", "name": "🐬咖啡体育直播.py", @@ -93,7 +112,7 @@ "type": 3, "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/熊猫直播.py" }, - { + { "key": "非凡", "name": "🐬非凡影视", "type": 1, @@ -132,7 +151,7 @@ "海外动漫" ] }, - { + { "key": "闪电影视", "name": "🐬闪电影视|追剧", "type": 1, @@ -249,8 +268,8 @@ ] }, {"key": "火狐","name": "🐬火狐影视🦊|追剧","type": 1,"api": "https://hhzyapi.com/api.php/provide/vod/","searchable": 1,"quickSearch": 0,"filterable": 1,"categories": [ "内地剧", "动作片", "科幻片", "战争片", "喜剧片", "爱情片", "恐怖片", "犯罪片", "剧情片", "冒险片", "记录片", "韩剧", "香港剧", "台湾剧", "欧美剧", "日剧", "马泰剧", "体育赛事", "综艺", "动画片", "中国动漫", "日本动漫", "欧美动漫"] -}, - { +}, + { "key": "量子2k", "name": "🐬量子影视|追剧", "type": 1, @@ -322,7 +341,7 @@ "海外动漫" ] }, - { + { "key": "cj_360资源", "name": "🐬360丨短剧", "type": 1, @@ -353,7 +372,7 @@ "type": 3, "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/河马剧场.py" }, - { + { "key": "网易云音乐", "name": "🐬网易云|音乐", "type": 3, @@ -365,9 +384,9 @@ "type": 3, "api": "https://xn--fjq53n.xyz/Ting/yinyue/网易云音乐1.py" } - ], + ], "parses": [ - { + { "name": "盘古", "type": 0, "url": "https://www.playm3u8.cn/jiexi.php?url=", @@ -378,14 +397,19 @@ } }, { - "name": "淘片解析", - "type": 0, - "url": "https://jx.yparse.com/index.php?url=" - }, + "name": "极速", + "type": 0, + "url": "https://jiexi.789jiexi.net:4433/?url=" + }, { "name": "虾米解析", "type": 0, "url": "https://jx.xmflv.com/?url=" + }, + { + "name": "淘片解析", + "type": 0, + "url": "https://jx.yparse.com/index.php?url=" }, { "name": "解析1", @@ -412,27 +436,267 @@ "name": "解析5", "type": 0, "url": "https://nm.xxxc137.top/static/player/artplayer.html?url=" - },{ - "name": "极速", + }, + { + "name": "解析6", "type": 0, - "url": "https://jiexi.789jiexi.net:4433/?url=" - }, - { - "name": "17解析", - "type": 0, - "url": "https://www.1717yun.com/jx/ty.php?url=" + "url": "https://www.yemu.xyz/?url=" }, { "name": "冰豆", "type": 0, "url": "https://bd.jx.cn/?url=" }, - {"name":"-爱酷-","type":0,"url":"https://jx.zhanlangbu.com/?url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"],"ext":{"header":{"user-agent":"Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36"}}}}, - {"name":"-云解析-","type":0,"url":"https://jx.yparse.com/index.php?url=","ext":{"header":{"user-agent":"Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36"}}}, - {"name":"-777-","type":0,"url":"https://jx.jsonplayer.com/player/?url=","ext":{"header":{"user-agent":"Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36"}}}, + { + "name":"爱酷", + "type":0, + "url":"https://jx.zhanlangbu.com/?url=" + }, + {"name":"云解析","type":0,"url":"https://jx.yparse.com/index.php?url=","ext":{"header":{"user-agent":"Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36"}}}, + {"name":"777","type":0,"url":"https://jx.jsonplayer.com/player/?url=","ext":{"header":{"user-agent":"Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36"}}}, {"name":"-剖云-","type":0,"url":"https://www.kkvip2022.com/vip/jiexi1/?url=","ext":{"header":{"user-agent":"Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36"}}}, - {"name":"-全看-","type":0,"url":"https://jx.quankan.app/?url=","ext":{"header":{"user-agent":"Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36"}}}, + {"name":"-全看-","type":0,"url":"https://jx.quankan.app/?url=","ext":{"header":{"user-agent":"Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36"}}} + ], + "doh": [ + { + "name": "Google", + "url": "https://dns.google/dns-query", + "ips": [ + "8.8.4.4", + "8.8.8.8" + ] + }, + { + "name": "Cloudflare", + "url": "https://cloudflare-dns.com/dns-query", + "ips": [ + "1.1.1.1", + "1.0.0.1", + "2606:4700:4700::1111", + "2606:4700:4700::1001" + ] + }, + { + "name": "AdGuard", + "url": "https://dns.adguard.com/dns-query", + "ips": [ + "94.140.14.140", + "94.140.14.141" + ] + }, + { + "name": "DNSWatch", + "url": "https://resolver2.dns.watch/dns-query", + "ips": [ + "84.200.69.80", + "84.200.70.40" + ] + }, + { + "name": "Quad9", + "url": "https://dns.quad9.net/dns-quer", + "ips": [ + "9.9.9.9", + "149.112.112.112" + ] + } + ], + "ads": [ + "mozai.4gtv.tv", + "static-mozai.4gtv.tv" + ], + "lives": [ + { + "name": "🐬各大源合集 海豚影视永久免费如有收费的都是骗子", + "type": 0, + "ua": "okhttp/5.3.2", + "url": "https://gh-proxy.org/https://raw.githubusercontent.com/807080747/zv/refs/heads/main/sese.txt" + }, + { + "name": "🐬综合直播 海豚影视交流群 TG:@hshsjk9", + "type": 0, + "playerType": 2, + "ua": "okhttp", + "url": "https://raw.githubusercontent.com/fleung49/star/refs/heads/main/mit" + }, + { + "name": "🐬电视家", + "type": 0, + "playerType": 2, + "ua": "okhttp", + "url": "https://gh-proxy.org/https://github.com/bang359/dsj/raw/main/dsjcs.txt" + }, + { + "name": "🐬地方直播", + "type": 0, + "ua": "okhttp/5.3.2", + "url": "https://ghfast.top/https://raw.githubusercontent.com/develop202/migu_video/refs/heads/main/interface.txt" + }, + { + "name": "🐬地方直播2", + "type": 0, + "ua": "okhttp/5.3.2", + "url": "https://raw.githubusercontent.com/Guovin/iptv-api/gd/output/ipv4/result.m3u" + }, + { + "name": "🐬海燕直播", + "type": 0, + "ua": "okhttp/5.3.2", + "url": "https://gh-proxy.org/https://raw.githubusercontent.com/wujiangliu/live-sources/refs/heads/main/haiyan.txt" + }, { + "name": "🐬薄荷直播", + "type": 0, + "ua": "okhttp/5.3.2", + "url": "https://gh-proxy.org/https://raw.githubusercontent.com/wujiangliu/live-sources/refs/heads/main/bhmb.m3u" + }, + { + "name": "🐬湘西直播", + "type": 0, + "ua": "okhttp/5.3.2", + "url": "https://hub.glowp.xyz/https://raw.githubusercontent.com/wujiangliu/live-sources/refs/heads/main/xiangxi.txt" + }, + { + "name": "🐬全球直播", + "type": 0, + "ua": "okhttp/5.3.2", + "url": "https://gh-proxy.org/https://raw.githubusercontent.com/wujiangliu/live-sources/refs/heads/main/%E5%85%A8%E7%90%83%E7%9B%B4%E6%92%AD.m3u" + }, + { + "name": "🐬咪咕直播", + "type": 0, + "ua": "okhttp/5.3.2", + "url": "http://www.52top.com.cn:678/downloads/migu.txt" + }, + { + "name": "🐬iptv直播", + "type": 0, + "ua": "okhttp/5.3.2", + "url": "https://wget.la/https://raw.githubusercontent.com/vinkerq/iptv-api/refs/heads/master/iptv.txt" + }, + { + "name": "🐬小新TV", + "type": 0, + "ua": "okhttp/5.3.2", + "url": "https://d.kstore.dev/download/9565/小新TV.txt" + }, + { + "name": "🐬北美长城源", + "type": 0, + "ua": "okhttp", + "url": "https://ha.msbot.dpdns.org/wall.php" + }, + { + "name": "🐬港台", + "type": 0, + "ua": "okhttp", + "url": "https://feer-cdn-bp.xpnb.qzz.io/xnkl.txt" + }, + { + "name": "🐬台湾台", + "type": 0, + "ua": "okhttp", + "url": "https://epg.pw/test_channels_taiwan.m3u" + }, + { + "name": "🐬体育台", + "type": 0, + "ua": "okhttp", + "url": "http://82.156.243.185:33389/fwc.m3u" + }, + { + "name": "🐬国际TV", + "type": 0, + "ua": "okhttp", + "url": "https://raw.githubusercontent.com/xJEYDAin/iptv/main/output/all_merged.m3u" + }, + { + "name": "🐬UnifiTV(马来节点)", + "type": 0, + "ua": "okhttp", + "url": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/unifi.txt" + }, + { + "name": "🐬裤佬TV", + "type": 0, + "ua": "okhttp", + "url": "https://gh-proxy.org/https://raw.githubusercontent.com/Jsnzkpg/Jsnzkpg/Jsnzkpg/Jsnzkpg1.m3u" + }, + { + "name": "🐬Gather", + "type": 0, + "ua": "okhttp", + "url": "https://iptv.yang-1989.eu.org/m3u/Gather.m3u" + }, + { + "name": "🐬Mytv", + "type": 0, + "ua": "okhttp", + "url": "https://cdn.qd.je/live.m3u" + }, + { + "name": "🐬新加坡(梯子)", + "type": 0, + "ua": "okhttp", + "url": "http://xtvantsc.xyz/新加坡.m3u" + }, + { + "name": "🐬黄蚂蚁先锋推流源", + "type": 0, + "ua": "okhttp", + "url": "http://ge.html-5.me//ii/黄蚂蚁先锋推流源.txt" + }, + { + "name": "🐬风云源", + "type": 0, + "ua": "okhttp", + "url": "http://iptv.4666888.xyz/FYTV.txt" + }, + { + "name": "🐬飞扬源", + "type": 0, + "ua": "okhttp", + "url": "https://www.985pan.com/down.php/bf5e9607ff407fcdd71f63928ea5bc79.txt" + }, + { + "name": "🐬港奥台国际", + "type": 0, + "ua": "okhttp", + "url": "http://tv123.vvvv.ee/tv.m3u" + }, + { + "name": "🐬中港台直播源", + "type": 0, + "ua": "okhttp", + "url": "https://t.freetv.fun/m3u/playlist_all.txt" + }, + { + "name": "🐬4GTV(梯子台湾节点)720p", + "type": 0, + "ua": "okhttp", + "url": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/4gtv.txt" + }, + { + "name": "🐬4GTV怡淳酒店(梯子台湾节点)720p", + "type": 0, + "ua": "okhttp", + "url": "http://xtvantsc.xyz/4gtv.txt" + }, + { + "name": "🐬4GTV(梯子任何节点)1080p", + "type": 0, + "ua": "okhttp", + "url": "https://ha.msbot.dpdns.org/4gtv_api.php" + }, + { + "name": "🐬jackTV(梯子)", + "type": 0, + "ua": "okhttp", + "url": "https://php.946985.filegear-sg.me/jackTV.m3u" + } + ], + "ijk": [ + { "group": "软解码", "options": [ { @@ -592,186 +856,111 @@ } ] } - ], - "ads": [ - "static-mozai.4gtv.tv" +], +"proxy": [ + "file://TV/proxy.json" ], -"lives": [ - { - "name": "🐬各大源合集 海豚影视交流群 TG:@hshsjk9", - "type": 0, - "ua": "okhttp/5.3.2", - "url": "https://gh-proxy.org/https://raw.githubusercontent.com/807080747/zv/refs/heads/main/sese.txt" - }, - { - "name": "🐬综合直播", - "type": 0, - "playerType": 2, - "ua": "okhttp", - "url": "https://raw.githubusercontent.com/fleung49/star/refs/heads/main/mit" - }, - { - "name": "🐬电视家", - "type": 0, - "playerType": 2, - "ua": "okhttp", - "url": "https://gh-proxy.org/https://github.com/bang359/dsj/raw/main/dsjcs.txt" - }, - { - "name": "🐬地方直播", - "type": 0, - "ua": "okhttp", - "url": "https://ghfast.top/https://raw.githubusercontent.com/develop202/migu_video/refs/heads/main/interface.txt" - }, - { - "name": "🐬地方直播2", - "type": 0, - "ua": "okhttp", - "url": "https://raw.githubusercontent.com/Guovin/iptv-api/gd/output/ipv4/result.m3u" - }, - { - "name": "🐬海燕直播", - "type": 0, - "ua": "okhttp/5.3.2", - "url": "https://gh-proxy.org/https://raw.githubusercontent.com/wujiangliu/live-sources/refs/heads/main/haiyan.txt" - }, - { - "name": "🐬薄荷直播", - "type": 0, - "ua": "okhttp/5.3.2", - "url": "https://gh-proxy.org/https://raw.githubusercontent.com/wujiangliu/live-sources/refs/heads/main/bhmb.m3u" - }, + "rules": [ { - "name": "🐬湘西直播", - "type": 0, - "ua": "okhttp/5.3.2", - "url": "https://gh-proxy.org/https://raw.githubusercontent.com/wujiangliu/live-sources/refs/heads/main/xiangxi.txt" - }, - { - "name": "🐬全球直播", - "type": 0, - "ua": "okhttp/5.3.2", - "url": "https://gh-proxy.org/https://raw.githubusercontent.com/wujiangliu/live-sources/refs/heads/main/%E5%85%A8%E7%90%83%E7%9B%B4%E6%92%AD.m3u" - }, - { - "name": "🐬咪咕直播", - "type": 0, - "ua": "okhttp/5.3.2", - "url": "http://www.52top.com.cn:678/downloads/migu.txt" - }, - { - "name": "🐬iptv直播", - "type": 0, - "ua": "okhttp/5.3.2", - "url": "https://wget.la/https://raw.githubusercontent.com/vinkerq/iptv-api/refs/heads/master/iptv.txt" + "name": "cl", + "hosts": [ + "magnet" + ], + "regex": [ + "最 新", + "直 播", + "更 新" + ] }, { - "name": "🐬小新TV", - "type": 0, - "ua": "okhttp/5.3.2", - "url": "https://d.kstore.dev/download/9565/小新TV.txt" - }, - { - "name": "🐬北美长城源", - "type": 0, - "ua": "okhttp", - "url": "https://ha.msbot.dpdns.org/wall.php" - }, - { - "name": "🐬港台", - "type": 0, - "ua": "okhttp", - "url": "https://feer-cdn-bp.xpnb.qzz.io/xnkl.txt" - }, - { - "name": "🐬台湾台", - "type": 0, - "ua": "okhttp", - "url": "https://epg.pw/test_channels_taiwan.m3u" - }, - { - "name": "🐬体育台", - "type": 0, - "ua": "okhttp", - "url": "http://82.156.243.185:33389/fwc.m3u" - }, - { - "name": "🐬裤佬TV", - "type": 0, - "ua": "okhttp", - "url": "https://gh-proxy.org/https://raw.githubusercontent.com/Jsnzkpg/Jsnzkpg/Jsnzkpg/Jsnzkpg1.m3u" + "name": "火山嗅探", + "hosts": [ + "huoshan.com" + ], + "regex": [ + "item_id=" + ] }, { - "name": "🐬Gather", - "type": 0, - "ua": "okhttp", - "url": "https://iptv.yang-1989.eu.org/m3u/Gather.m3u" + "name": "抖音嗅探", + "hosts": [ + "douyin.com" + ], + "regex": [ + "is_play_url=" + ] }, { - "name": "🐬Mytv", - "type": 0, - "ua": "okhttp", - "url": "https://cdn.qd.je/live.m3u" - }, - { - "name": "🐬singtel(梯子)", - "type": 0, - "ua": "okhttp", - "url": "http://xtvantsc.xyz/singtel.txt" + "name": "农民嗅探", + "hosts": [ + "toutiaovod.com" + ], + "regex": [ + "video/tos/cn" + ] }, { - "name": "🐬国际源", - "type": 0, - "ua": "okhttp", - "url": "https://raw.githubusercontent.com/xJEYDAin/iptv/main/output/all_merged.m3u" + "name": "七新嗅探", + "hosts": [ + "api.52wyb.com" + ], + "regex": [ + "m3u8?pt=m3u8" + ] }, { - "name": "🐬黄蚂蚁先锋推流源", - "type": 0, - "ua": "okhttp", - "url": "http://ge.html-5.me//ii/黄蚂蚁先锋推流源.txt" + "name": "夜市", + "hosts": [ + "yeslivetv.com" + ], + "script": [ + "document.getElementsByClassName('vjs-big-play-button')[0].click()" + ] }, { - "name": "🐬风云源", - "type": 0, - "ua": "okhttp", - "url": "http://iptv.4666888.xyz/FYTV.txt" + "name": "毛驴", + "hosts": [ + "www.maolvys.com" + ], + "script": [ + "document.getElementsByClassName('swal-button swal-button--confirm')[0].click()" + ] }, { - "name": "🐬港奥台国际", - "type": 0, - "ua": "okhttp", - "url": "http://tv123.vvvv.ee/tv.m3u" + "name": "czzy", + "hosts": [ + "10086.cn" + ], + "regex": [ + "/storageWeb/servlet/downloadServlet" + ] }, { - "name": "🐬中港台直播源", - "type": 0, - "ua": "okhttp", - "url": "https://t.freetv.fun/m3u/playlist_all.txt" + "name": "bdys", + "hosts": [ + "bytetos.com", + "byteimg.com", + "bytednsdoc.com", + "pstatp.com" + ], + "regex": [ + "/tos-cn" + ], + "exclude": [ + ".m3u8" + ] }, { - "name": "🐬4GTV(梯子台湾节点)720p", - "type": 0, - "ua": "okhttp", - "url": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/4gtv.txt" - }, - { - "name": "🐬4GTV怡淳酒店(梯子台湾节点)720p", - "type": 0, - "ua": "okhttp", - "url": "http://xtvantsc.xyz/4gtv.txt" - }, - { - "name": "🐬4GTV(梯子任何节点)1080p", - "type": 0, - "ua": "okhttp", - "url": "https://ha.msbot.dpdns.org/4gtv_api.php" - }, - { - "name": "🐬jackTV(梯子)", - "type": 0, - "ua": "okhttp", - "url": "https://php.946985.filegear-sg.me/jackTV.m3u" + "name": "bdys10", + "hosts": [ + "bdys10.com" + ], + "regex": [ + "/obj/" + ], + "exclude": [ + ".m3u8" + ] } ] } diff --git a/FGBLH/鱼壳海豚.json b/FGBLH/鱼壳海豚.json index a54d08fd..947d4a2a 100644 --- a/FGBLH/鱼壳海豚.json +++ b/FGBLH/鱼壳海豚.json @@ -57,6 +57,12 @@ "type": 3, "api": "https://ghfast.top/https://raw.githubusercontent.com/IY-CPU/IY/main/lib/drpy2.min.js", "ext": "https://ghfast.top/https://raw.githubusercontent.com/IY-CPU/IY/main/lib/茫茫.png" + }, + { + "key": "MGtv", + "name": "🐬芒果TV.py[追剧]", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/芒果TV.py" }, { "key": "leo_danmaku", @@ -108,6 +114,12 @@ "type": 3, "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/热播APP.py" }, + { + "key": "JP", + "name": "🐬金牌APP.py[追剧]", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/金牌APP.py" + }, { "key": "fY", "name": "🐬枫叶影院.py(关梯子使用)[追剧]", diff --git a/FGBLH/鱼壳海豚无18加.json b/FGBLH/鱼壳海豚无18加.json index 462f1cf1..5c967e1f 100644 --- a/FGBLH/鱼壳海豚无18加.json +++ b/FGBLH/鱼壳海豚无18加.json @@ -57,6 +57,12 @@ "type": 3, "api": "https://ghfast.top/https://raw.githubusercontent.com/IY-CPU/IY/main/lib/drpy2.min.js", "ext": "https://ghfast.top/https://raw.githubusercontent.com/IY-CPU/IY/main/lib/茫茫.png" + }, + { + "key": "MGtv", + "name": "🐬芒果TV.py", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/芒果TV.py" }, { "key": "leo_danmaku", @@ -94,18 +100,24 @@ "type": 3, "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/熊猫直播.py" }, - { - "key": "fY", - "name": "🐬枫叶影院.py(关梯子使用)", - "type": 3, - "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/枫叶影院.py" - }, { "key": "rb", "name": "🐬热播APP.py", "type": 3, "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/热播APP.py" }, + { + "key": "JP", + "name": "🐬金牌APP.py", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/金牌APP.py" + }, + { + "key": "fY", + "name": "🐬枫叶影院.py(关梯子使用)", + "type": 3, + "api": "https://ghfast.top/https://raw.githubusercontent.com/FGBLH/GHK/refs/heads/main/py/枫叶影院.py" + }, { "key":"FY", "name":"🐬枫叶影院(关梯子使用)",