mirror of
https://github.com/ls125781003/tvboxtg.git
synced 2026-11-01 17:25:34 +00:00
4.3
up
This commit is contained in:
1 parent
065a6efef9
commit
9e2756d747
71 files changed
+53290
-30070
No files matched your search
+31
-22
@@ -19,7 +19,7 @@
|
||||
"searchable": 0,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json"
|
||||
"commonConfig": "./json/peizhi.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -337,6 +337,15 @@
|
||||
"quickSearch": 1,
|
||||
"filterable": 1
|
||||
},
|
||||
{
|
||||
"key": "游戏直播",
|
||||
"name": "🙀游戏直播",
|
||||
"type": 3,
|
||||
"api": "csp_Living",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"ext": "http://127.0.0.1:9966/api/proxy/https://lemonlive.pages.dev"
|
||||
},
|
||||
{
|
||||
"key": "csp_AppXY",
|
||||
"name": "🎀️星牙短剧",
|
||||
@@ -407,7 +416,7 @@
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json",
|
||||
"commonConfig": "./json/peizhi.json",
|
||||
"siteUrl": "https://www.wogg.one/",
|
||||
"filter": "./json/wogg.json"
|
||||
}
|
||||
@@ -422,7 +431,7 @@
|
||||
"switchable": 0,
|
||||
"ext": {
|
||||
"siteUrl": "https://www.qwnull.com",
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json"
|
||||
"commonConfig": "./json/peizhi.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -446,8 +455,8 @@
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json",
|
||||
"siteUrl": "http://www.xhww.net",
|
||||
"commonConfig": "./json/peizhi.json",
|
||||
"siteUrl": "https://mihdr.top",
|
||||
"filter": "./json/wogg.json"
|
||||
}
|
||||
},
|
||||
@@ -459,7 +468,7 @@
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json",
|
||||
"commonConfig": "./json/peizhi.json",
|
||||
"siteUrl": "http://feimaoai.site",
|
||||
"filter": "./json/wogg.json"
|
||||
}
|
||||
@@ -472,7 +481,7 @@
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json",
|
||||
"commonConfig": "./json/peizhi.json",
|
||||
"siteUrl": "https://woog.nxog.eu.org",
|
||||
"filter": "./json/wogg.json"
|
||||
}
|
||||
@@ -485,7 +494,7 @@
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json",
|
||||
"commonConfig": "./json/peizhi.json",
|
||||
"siteUrl": "https://tv.yydsys.top",
|
||||
"filter": "./json/wogg.json"
|
||||
}
|
||||
@@ -498,7 +507,7 @@
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json",
|
||||
"commonConfig": "./json/peizhi.json",
|
||||
"siteUrl": "https://mo.666291.xyz/",
|
||||
"filter": "./json/wogg.json"
|
||||
}
|
||||
@@ -511,7 +520,7 @@
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json",
|
||||
"commonConfig": "./json/peizhi.json",
|
||||
"siteUrl": "http://milvdou.fun",
|
||||
"filter": "./json/wogg.json"
|
||||
}
|
||||
@@ -524,7 +533,7 @@
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json",
|
||||
"commonConfig": "./json/peizhi.json",
|
||||
"siteUrl": "http://1.95.79.193",
|
||||
"filter": "./json/wogg.json"
|
||||
}
|
||||
@@ -539,7 +548,7 @@
|
||||
"switchable": 0,
|
||||
"ext": {
|
||||
"siteUrl": "https://www.91panta.cn/",
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json"
|
||||
"commonConfig": "./json/peizhi.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -552,7 +561,7 @@
|
||||
"switchable": 0,
|
||||
"ext": {
|
||||
"siteUrl": "https://star.banye.tech:7086/",
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json"
|
||||
"commonConfig": "./json/peizhi.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -563,7 +572,7 @@
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json"
|
||||
"commonConfig": "./json/peizhi.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -576,7 +585,7 @@
|
||||
"switchable": 0,
|
||||
"ext": {
|
||||
"cookie": "satoken=0eedba28-be8a-4f01-81af-2d8d44808ecf",
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json"
|
||||
"commonConfig": "./json/peizhi.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -587,7 +596,7 @@
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json"
|
||||
"commonConfig": "./json/peizhi.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -608,7 +617,7 @@
|
||||
"filterable": 0,
|
||||
"switchable": 0,
|
||||
"ext": {
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json",
|
||||
"commonConfig": "./json/peizhi.json",
|
||||
"share": "./json/网盘集合.json"
|
||||
}
|
||||
},
|
||||
@@ -625,7 +634,7 @@
|
||||
},
|
||||
"ext": {
|
||||
"json": "./json/youtube.json",
|
||||
"cookie": "http://127.0.0.1:9978/file/TVBox/youtubecookie.json"
|
||||
"cookie": "./json/youtubecookie.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -639,7 +648,7 @@
|
||||
"siteUrl": "http://127.0.0.1:9999",
|
||||
"count": 4,
|
||||
"channelUsername": "xx123pan,Q66Share,alyp_TV,ucpanpan,ucquark,tianyirigeng,shares_115,oneonefivewpfx,cloud189_group,tianyi_pd2,hao115,guaguale115,yunpanchat,ydypzyfx,tgsearchers,zaihuayun,PanjClub,NewQuark,Mbox115,yunpanpan,kuakeyun,Quark_Movies,qixingzhenren,alyp_4K_Movies,yunpanshare,shareAliyun,alyp_1",
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json",
|
||||
"commonConfig": "./json/peizhi.json",
|
||||
"filter": "./json/douban.json"
|
||||
}
|
||||
},
|
||||
@@ -654,7 +663,7 @@
|
||||
"ext": {
|
||||
"count": 4,
|
||||
"channelUsername": "xx123pan,Q66Share,alyp_TV,ucpanpan,ucquark,tianyirigeng,shares_115,oneonefivewpfx,cloud189_group,tianyi_pd2,hao115,guaguale115,yunpanchat,ydypzyfx,tgsearchers,zaihuayun,PanjClub,NewQuark,Mbox115,yunpanpan,kuakeyun,Quark_Movies,qixingzhenren,alyp_4K_Movies,yunpanshare,shareAliyun,alyp_1",
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json"
|
||||
"commonConfig": "./json/peizhi.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -665,7 +674,7 @@
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"ext": {
|
||||
"commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json"
|
||||
"commonConfig": "./json/peizhi.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1049,7 +1058,7 @@
|
||||
"epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
|
||||
}
|
||||
],
|
||||
"logo": "https://gh-proxy.com/https://raw.githubusercontent.com/yoursmile66/TVBox/refs/heads/main/sub/NanFeng.gif",
|
||||
"logo": "https://gh-proxy.com/raw.githubusercontent.com/yoursmile66/TVBox/refs/heads/main/json/NanFeng.gif",
|
||||
"rules": [
|
||||
{
|
||||
"name": "proxy",
|
||||
|
||||
@@ -1,304 +0,0 @@
|
||||
if (typeof Object.assign != 'function') {
|
||||
Object.assign = function () {
|
||||
var target = arguments[0];
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
var source = arguments[i];
|
||||
for (var key in source) {
|
||||
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
||||
target[key] = source[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
return target;
|
||||
};
|
||||
}
|
||||
function getMubans() {
|
||||
var mubanDict = { // 模板字典
|
||||
mxpro: {
|
||||
title: '',
|
||||
host: '',
|
||||
// homeUrl:'/',
|
||||
url: '/vodshow/fyclass--------fypage---.html',
|
||||
searchUrl: '/vodsearch/**----------fypage---.html',
|
||||
searchable: 2,//是否启用全局搜索,
|
||||
quickSearch: 0,//是否启用快速搜索,
|
||||
filterable: 0,//是否启用分类筛选,
|
||||
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
|
||||
'User-Agent': 'MOBILE_UA',
|
||||
// "Cookie": "searchneed=ok"
|
||||
},
|
||||
class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html',
|
||||
play_parse: true,
|
||||
lazy: '',
|
||||
limit: 6,
|
||||
推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
|
||||
double: true, // 推荐内容是否双层定位
|
||||
一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
|
||||
二级: {
|
||||
"title": "h1&&Text;.module-info-tag&&Text",
|
||||
"img": ".lazyload&&data-original",
|
||||
"desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text",
|
||||
"content": ".module-info-introduction&&Text",
|
||||
"tabs": ".module-tab-item",
|
||||
"lists": ".module-play-list:eq(#id) a"
|
||||
},
|
||||
搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
|
||||
},
|
||||
mxone5: {
|
||||
title: '',
|
||||
host: '',
|
||||
url: '/show/fyclass--------fypage---.html',
|
||||
searchUrl: '/search/**----------fypage---.html',
|
||||
searchable: 2,//是否启用全局搜索,
|
||||
quickSearch: 0,//是否启用快速搜索,
|
||||
filterable: 0,//是否启用分类筛选,
|
||||
class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html',
|
||||
play_parse: true,
|
||||
lazy: '',
|
||||
limit: 6,
|
||||
推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
|
||||
double: true, // 推荐内容是否双层定位
|
||||
一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
|
||||
二级: {
|
||||
"title": "h1&&Text;.tag-link&&Text",
|
||||
"img": ".module-item-pic&&img&&data-src",
|
||||
"desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text",
|
||||
"content": ".vod_content&&Text",
|
||||
"tabs": ".module-tab-item",
|
||||
"lists": ".module-player-list:eq(#id)&&.scroll-content&&a"
|
||||
},
|
||||
搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
|
||||
},
|
||||
首图: {
|
||||
title: '',
|
||||
host: '',
|
||||
url: '/vodshow/fyclass--------fypage---/',
|
||||
searchUrl: '/vodsearch/**----------fypage---.html',
|
||||
searchable: 2,//是否启用全局搜索,
|
||||
quickSearch: 0,//是否启用快速搜索,
|
||||
filterable: 0,//是否启用分类筛选,
|
||||
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
|
||||
'User-Agent': 'MOBILE_UA',
|
||||
// "Cookie": "searchneed=ok"
|
||||
},
|
||||
class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html',
|
||||
play_parse: true,
|
||||
lazy: '',
|
||||
limit: 6,
|
||||
推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
|
||||
double: true, // 推荐内容是否双层定位
|
||||
一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
|
||||
二级: {
|
||||
"title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text",
|
||||
"img": ".myui-content__thumb .lazyload&&data-original",
|
||||
"desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text",
|
||||
"content": ".content&&Text",
|
||||
"tabs": ".nav-tabs:eq(0) li",
|
||||
"lists": ".myui-content__list:eq(#id) li"
|
||||
},
|
||||
搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
|
||||
},
|
||||
首图2: {
|
||||
title: '',
|
||||
host: '',
|
||||
url: '/list/fyclass-fypage.html',
|
||||
searchUrl: '/vodsearch/**----------fypage---.html',
|
||||
searchable: 2,//是否启用全局搜索,
|
||||
quickSearch: 0,//是否启用快速搜索,
|
||||
filterable: 0,//是否启用分类筛选,
|
||||
headers: {
|
||||
'User-Agent': 'UC_UA',
|
||||
// "Cookie": ""
|
||||
},
|
||||
// class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
|
||||
class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
|
||||
play_parse: true,
|
||||
lazy: '',
|
||||
limit: 6,
|
||||
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
|
||||
double: true, // 推荐内容是否双层定位
|
||||
一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
|
||||
二级: {
|
||||
"title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text",
|
||||
"img": ".stui-content__thumb .lazyload&&data-original",
|
||||
"desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text",
|
||||
"content": ".detail&&Text",
|
||||
"tabs": ".stui-vodlist__head h3",
|
||||
"lists": ".stui-content__playlist:eq(#id) li"
|
||||
},
|
||||
搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
|
||||
搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
|
||||
搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
|
||||
},
|
||||
默认: {
|
||||
title: '',
|
||||
host: '',
|
||||
url: '/vodshow/fyclass--------fypage---.html',
|
||||
searchUrl: '/vodsearch/-------------.html?wd=**',
|
||||
searchable: 2,//是否启用全局搜索,
|
||||
quickSearch: 0,//是否启用快速搜索,
|
||||
filterable: 0,//是否启用分类筛选,
|
||||
headers: {
|
||||
'User-Agent': 'MOBILE_UA',
|
||||
},
|
||||
play_parse: true,
|
||||
lazy: '',
|
||||
limit: 6,
|
||||
double: true, // 推荐内容是否双层定位
|
||||
},
|
||||
vfed: {
|
||||
title: '',
|
||||
host: '',
|
||||
url: '/index.php/vod/show/id/fyclass/page/fypage.html',
|
||||
searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
|
||||
searchable: 2,//是否启用全局搜索,
|
||||
quickSearch: 0,//是否启用快速搜索,
|
||||
filterable: 0,//是否启用分类筛选,
|
||||
headers: {
|
||||
'User-Agent': 'UC_UA',
|
||||
},
|
||||
// class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html',
|
||||
class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
|
||||
play_parse: true,
|
||||
lazy: '',
|
||||
limit: 6,
|
||||
推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
|
||||
double: true, // 推荐内容是否双层定位
|
||||
一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
|
||||
二级: {
|
||||
"title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text",
|
||||
"img": ".fed-list-info&&a&&data-original",
|
||||
"desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text",
|
||||
"content": ".fed-part-esan&&Text",
|
||||
"tabs": ".fed-drop-boxs&&.fed-part-rows&&li",
|
||||
"lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li"
|
||||
},
|
||||
搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
|
||||
},
|
||||
海螺3: {
|
||||
title: '',
|
||||
host: '',
|
||||
searchUrl: '/v_search/**----------fypage---.html',
|
||||
url: '/vod_____show/fyclass--------fypage---.html',
|
||||
headers: {
|
||||
'User-Agent': 'MOBILE_UA'
|
||||
},
|
||||
timeout: 5000,
|
||||
class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
|
||||
cate_exclude: '明星|专题|最新|排行',
|
||||
limit: 40,
|
||||
play_parse: true,
|
||||
lazy: '',
|
||||
推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
|
||||
double: true,
|
||||
一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
|
||||
二级: {
|
||||
"title": ".hl-infos-title&&Text;.hl-text-conch&&Text",
|
||||
"img": ".hl-lazy&&data-original",
|
||||
"desc": ".hl-infos-content&&.hl-text-conch&&Text",
|
||||
"content": ".hl-content-text&&Text",
|
||||
"tabs": ".hl-tabs&&a",
|
||||
"lists": ".hl-plays-list:eq(#id)&&li"
|
||||
},
|
||||
搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
|
||||
searchable: 2,//是否启用全局搜索,
|
||||
quickSearch: 0,//是否启用快速搜索,
|
||||
filterable: 0,//是否启用分类筛选,
|
||||
},
|
||||
海螺2: {
|
||||
title: '',
|
||||
host: '',
|
||||
searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
|
||||
url: '/index.php/vod/show/id/fyclass/page/fypage/',
|
||||
headers: {
|
||||
'User-Agent': 'MOBILE_UA'
|
||||
},
|
||||
timeout: 5000,
|
||||
class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
|
||||
limit: 40,
|
||||
play_parse: true,
|
||||
lazy: '',
|
||||
推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
|
||||
double: true,
|
||||
一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
|
||||
二级: {
|
||||
"title": "h2&&Text;.deployment&&Text",
|
||||
"img": ".lazy&&data-original",
|
||||
"desc": ".deployment&&Text",
|
||||
"content": ".ec-show&&Text",
|
||||
"tabs": "#tag&&a",
|
||||
"lists": ".play_list_box:eq(#id)&&li"
|
||||
},
|
||||
搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
|
||||
searchable: 2,//是否启用全局搜索,
|
||||
quickSearch: 0,//是否启用快速搜索,
|
||||
filterable: 0,//是否启用分类筛选,
|
||||
},
|
||||
短视: {
|
||||
title: '',
|
||||
host: '',
|
||||
// homeUrl:'/',
|
||||
url: '/channel/fyclass-fypage.html',
|
||||
searchUrl: '/search.html?wd=**',
|
||||
searchable: 2,//是否启用全局搜索,
|
||||
quickSearch: 0,//是否启用快速搜索,
|
||||
filterable: 0,//是否启用分类筛选,
|
||||
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
|
||||
'User-Agent': 'MOBILE_UA',
|
||||
// "Cookie": "searchneed=ok"
|
||||
},
|
||||
class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
|
||||
cate_exclude: '解析|动态',
|
||||
play_parse: true,
|
||||
lazy: '',
|
||||
limit: 6,
|
||||
推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
|
||||
double: true, // 推荐内容是否双层定位
|
||||
一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
|
||||
二级: {
|
||||
"title": "h1&&Text;.content-rt&&p:eq(0)&&Text",
|
||||
"img": ".img&&img&&data-src",
|
||||
"desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text",
|
||||
"content": ".zkjj_a&&Text",
|
||||
"tabs": ".py-tabs&&option",
|
||||
"lists": ".player:eq(#id) li"
|
||||
},
|
||||
搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
|
||||
},
|
||||
短视2:{
|
||||
title: '',
|
||||
host: '',
|
||||
class_name:'电影&电视剧&综艺&动漫',
|
||||
class_url:'1&2&3&4',
|
||||
searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
|
||||
searchable: 2,
|
||||
quickSearch: 0,
|
||||
headers:{'User-Agent':'MOBILE_UA'},
|
||||
url: '/index.php/api/vod#type=fyclass&page=fypage',
|
||||
filterable:0,//是否启用分类筛选,
|
||||
filter_url:'',
|
||||
filter: {},
|
||||
filter_def:{},
|
||||
detailUrl:'/index.php/vod/detail/id/fyid.html',
|
||||
play_parse: true,
|
||||
lazy: '',
|
||||
limit: 6,
|
||||
推荐:'.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
|
||||
一级:'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});',
|
||||
二级:{
|
||||
"title":".slide-info-title&&Text;.slide-info:eq(3)--strong&&Text",
|
||||
"img":".detail-pic&&data-original",
|
||||
"desc":".fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text",
|
||||
"content":"#height_limit&&Text",
|
||||
"tabs":".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a",
|
||||
"tab_text":".swiper-slide&&Text",
|
||||
"lists":".anthology-list-box:eq(#id) li"
|
||||
},
|
||||
搜索:'json:list;name;pic;;id',
|
||||
}
|
||||
};
|
||||
return JSON.parse(JSON.stringify(mubanDict));
|
||||
}
|
||||
var mubanDict = getMubans();
|
||||
var muban = getMubans();
|
||||
export default {muban,getMubans};
|
||||
@@ -1,68 +0,0 @@
|
||||
/***
|
||||
* gbk编码解码函数
|
||||
* strTool = gbkTool() strTool.encode(key)
|
||||
* @returns {{encode: (function(*): *), decode: (function(*): *)}}
|
||||
*/
|
||||
export function gbkTool(){
|
||||
var data=function(zipData){
|
||||
var re=zipData
|
||||
.replace(/#(\d+)\$/g,function(a,b){
|
||||
return Array(+b+3).join('#');
|
||||
})
|
||||
.replace(/#/g,'####')
|
||||
.replace(/(\w\w):([\w#]+)(?:,|$)/g,function(a,hd,dt){
|
||||
return dt.replace(/../g,function(a){
|
||||
if(a!='##'){
|
||||
return hd+a;
|
||||
}else{
|
||||
return a;
|
||||
}
|
||||
});
|
||||
});
|
||||
return re;
|
||||
}('4e:020405060f12171f20212326292e2f313335373c40414244464a5155575a5b6263646567686a6b6c6d6e6f727475767778797a7b7c7d7f808182838485878a#909697999c9d9ea3aaafb0b1b4b6b7b8b9bcbdbec8cccfd0d2dadbdce0e2e6e7e9edeeeff1f4f8f9fafcfe,4f:00020304050607080b0c12131415161c1d212328292c2d2e31333537393b3e3f40414244454748494a4b4c525456616266686a6b6d6e7172757778797a7d8081828586878a8c8e909293959698999a9c9e9fa1a2a4abadb0b1b2b3b4b6b7b8b9babbbcbdbec0c1c2c6c7c8c9cbcccdd2d3d4d5d6d9dbe0e2e4e5e7ebecf0f2f4f5f6f7f9fbfcfdff,50:000102030405060708090a#0b0e1011131516171b1d1e20222324272b2f303132333435363738393b3d3f404142444546494a4b4d5051525354565758595b5d5e5f6061626364666768696a6b6d6e6f70717273747578797a7c7d818283848687898a8b8c8e8f909192939495969798999a9b9c9d9e9fa0a1a2a4a6aaabadaeafb0b1b3b4b5b6b7b8b9bcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdced0d1d2d3d4d5d7d8d9dbdcdddedfe0e1e2e3e4e5e8e9eaebeff0f1f2f4f6f7f8f9fafcfdfeff,51:00010203040508#090a0c0d0e0f1011131415161718191a1b1c1d1e1f2022232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e42474a4c4e4f5052535758595b5d5e5f606163646667696a6f727a7e7f838486878a8b8e8f90919394989a9d9e9fa1a3a6a7a8a9aaadaeb4b8b9babebfc1c2c3c5c8cacdced0d2d3d4d5d6d7d8d9dadcdedfe2e3e5e6e7e8e9eaeceef1f2f4f7fe,52:0405090b0c0f101314151c1e1f2122232526272a2c2f313234353c3e4445464748494b4e4f5253555758#595a5b5d5f6062636466686b6c6d6e7071737475767778797a7b7c7e808384858687898a8b8c8d8e8f91929495969798999a9ca4a5a6a7aeafb0b4b5b6b7b8b9babbbcbdc0c1c2c4c5c6c8cacccdcecfd1d3d4d5d7d9dadbdcdddee0e1e2e3e5e6e7e8e9eaebecedeeeff1f2f3f4f5f6f7f8fbfcfd,53:0102030407090a0b0c0e11121314181b1c1e1f2224252728292b2c2d2f3031323334353637383c3d404244464b4c4d505458595b5d65686a6c6d7276797b7c7d7e80818387888a8e8f#90919293949697999b9c9ea0a1a4a7aaabacadafb0b1b2b3b4b5b7b8b9babcbdbec0c3c4c5c6c7cecfd0d2d3d5dadcdddee1e2e7f4fafeff,54:000205070b1418191a1c2224252a303336373a3d3f4142444547494c4d4e4f515a5d5e5f6061636567696a6b6c6d6e6f7074797a7e7f8183858788898a8d919397989c9e9fa0a1a2a5aeb0b2b5b6b7b9babcbec3c5cacbd6d8dbe0e1e2e3e4ebeceff0f1f4f5f6f7f8f9fbfe,55:0002030405080a0b0c0d0e121315161718191a1c1d1e1f212526#28292b2d3234353638393a3b3d40424547484b4c4d4e4f515253545758595a5b5d5e5f60626368696b6f7071727374797a7d7f85868c8d8e9092939596979a9b9ea0a1a2a3a4a5a6a8a9aaabacadaeafb0b2b4b6b8babcbfc0c1c2c3c6c7c8cacbcecfd0d5d7d8d9dadbdee0e2e7e9edeef0f1f4f6f8f9fafbfcff,56:0203040506070a0b0d1011121314151617191a1c1d202122252628292a2b2e2f30333537383a3c3d3e404142434445464748494a4b4f5051525355565a5b5d5e5f6061#636566676d6e6f70727374757778797a7d7e7f80818283848788898a8b8c8d9091929495969798999a9b9c9d9e9fa0a1a2a4a5a6a7a8a9aaabacadaeb0b1b2b3b4b5b6b8b9babbbdbebfc0c1c2c3c4c5c6c7c8c9cbcccdcecfd0d1d2d3d5d6d8d9dce3e5e6e7e8e9eaeceeeff2f3f6f7f8fbfc,57:00010205070b0c0d0e0f101112131415161718191a1b1d1e202122242526272b313234353637383c3d3f414344454648494b52535455565859626365676c6e707172747578797a7d7e7f80#818788898a8d8e8f90919495969798999a9c9d9e9fa5a8aaacafb0b1b3b5b6b7b9babbbcbdbebfc0c1c4c5c6c7c8c9cacccdd0d1d3d6d7dbdcdee1e2e3e5e6e7e8e9eaebeceef0f1f2f3f5f6f7fbfcfeff,58:0103040508090a0c0e0f101213141617181a1b1c1d1f222325262728292b2c2d2e2f31323334363738393a3b3c3d3e3f4041424345464748494a4b4e4f505253555657595a5b5c5d5f6061626364666768696a6d6e6f707172737475767778797a7b7c7d7f82848687888a8b8c#8d8e8f909194959697989b9c9da0a1a2a3a4a5a6a7aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbdbebfc0c2c3c4c6c7c8c9cacbcccdcecfd0d2d3d4d6d7d8d9dadbdcdddedfe0e1e2e3e5e6e7e8e9eaedeff1f2f4f5f7f8fafbfcfdfeff,59:000103050608090a0b0c0e1011121317181b1d1e2021222326282c30323335363b3d3e3f404345464a4c4d505253595b5c5d5e5f616364666768696a6b6c6d6e6f70717275777a7b7c7e7f8085898b8c8e8f90919495989a9b9c9d9fa0a1a2a6#a7acadb0b1b3b4b5b6b7b8babcbdbfc0c1c2c3c4c5c7c8c9cccdcecfd5d6d9dbdedfe0e1e2e4e6e7e9eaebedeeeff0f1f2f3f4f5f6f7f8fafcfdfe,5a:00020a0b0d0e0f101214151617191a1b1d1e2122242627282a2b2c2d2e2f3033353738393a3b3d3e3f414243444547484b4c4d4e4f5051525354565758595b5c5d5e5f60616364656668696b6c6d6e6f7071727378797b7c7d7e808182838485868788898a8b8c8d8e8f9091939495969798999c9d9e9fa0a1a2a3a4a5a6a7a8a9abac#adaeafb0b1b4b6b7b9babbbcbdbfc0c3c4c5c6c7c8cacbcdcecfd0d1d3d5d7d9dadbdddedfe2e4e5e7e8eaecedeeeff0f2f3f4f5f6f7f8f9fafbfcfdfeff,5b:0001020304050607080a0b0c0d0e0f10111213141518191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303133353638393a3b3c3d3e3f4142434445464748494a4b4c4d4e4f52565e606167686b6d6e6f7274767778797b7c7e7f82868a8d8e90919294969fa7a8a9acadaeafb1b2b7babbbcc0c1c3c8c9cacbcdcecf#d1d4d5d6d7d8d9dadbdce0e2e3e6e7e9eaebecedeff1f2f3f4f5f6f7fdfe,5c:0002030507080b0c0d0e10121317191b1e1f2021232628292a2b2d2e2f303233353637434446474c4d5253545657585a5b5c5d5f62646768696a6b6c6d70727374757677787b7c7d7e808384858687898a8b8e8f9293959d9e9fa0a1a4a5a6a7a8aaaeafb0b2b4b6b9babbbcbec0c2c3c5c6c7c8c9cacccdcecfd0d1d3d4d5d6d7d8dadbdcdddedfe0e2e3e7e9ebeceeeff1f2f3f4f5f6f7f8f9fafcfdfeff,5d:00#01040508090a0b0c0d0f10111213151718191a1c1d1f2021222325282a2b2c2f3031323335363738393a3b3c3f4041424344454648494d4e4f5051525354555657595a5c5e5f6061626364656667686a6d6e7071727375767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f90Line truncated
|
||||
U2Ghash={},
|
||||
G2Uhash={};
|
||||
!function(data){
|
||||
var k=0;
|
||||
data=data.match(/..../g);
|
||||
for(var i=0x81;i<=0xfe;i++){
|
||||
for(var j=0x40;j<=0xFE;j++){
|
||||
U2Ghash[data[k++]]=('%'+i.toString(16)+'%'+j.toString(16))
|
||||
.toUpperCase();
|
||||
}
|
||||
}
|
||||
for(var key in U2Ghash){
|
||||
G2Uhash[U2Ghash[key]]=key;
|
||||
}
|
||||
}(data);
|
||||
function isAscii(unicode) {
|
||||
return ((unicode == 0x20AC) || (unicode <= 0x007F && unicode >= 0x0000));
|
||||
}
|
||||
return{
|
||||
encode:function(str){
|
||||
return str.replace(/./g,function(a){
|
||||
var code=a.charCodeAt(0);
|
||||
if(isAscii(code)){
|
||||
return encodeURIComponent(a);
|
||||
}else{
|
||||
var key=code.toString(16);
|
||||
if(key.length!=4)key=('000'+key).match(/....$/)[0];
|
||||
return U2Ghash[key]||a;
|
||||
}
|
||||
});
|
||||
},
|
||||
decode:function(str){
|
||||
return str.replace(/%[0-9A-F]{2}%[0-9A-F]{2}/g,function(a){
|
||||
if(a in G2Uhash){
|
||||
return String.fromCharCode('0x'+G2Uhash[a]);
|
||||
}else{
|
||||
return a;
|
||||
}
|
||||
}).replace(/%[\w]{2}/g,function(a){
|
||||
return decodeURIComponent(a);
|
||||
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import 模板 from"./a848d2173d12b963b98a2ffa9796abe7.js";import{gbkTool}from"./dffd4cc3bf2fdbddf56e179fb494a4fa.js";function init_test(){console.log("init_test_start"),console.log("当前版本号:"+VERSION),console.log(RKEY),console.log(JSON.stringify(rule)),console.log("init_test_end")}function pre(){if("string"==typeof rule.预处理&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code),code.startsWith("js:")&&(code=code.replace("js:",""));try{eval(code)}catch(e){console.log("预处理执行失败:"+e.message)}}}let rule={},vercode="function"==typeof pdfl?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.49beta2 20231122",MOBILE_UA="Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36",PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36",UA="Mozilla/5.0",UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36",IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1",RULE_CK="cookie",CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态",TAB_EXCLUDE="猜你|喜欢|下载|剧情|热播",OCR_RETRY=3,OCR_API="http://drpy.nokia.press:8028/ocr/drpy/text";if(void 0===MY_URL)var MY_URL;var HOST,RKEY,fetch,print,log,rule_fetch_params,fetch_params,oheaders,_pdfh,_pdfa,_pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/,SPECIAL_URL=/^(ftp|magnet|thunder|ws):/,NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/,URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/,SELECT_REGEX=/:eq|:lt|:gt|#/g,SELECT_REGEX_A=/:eq|:lt|:gt/g;function 是否正版(e){return new RegExp("qq.com|iqiyi.com|youku.com|mgtv.com|bilibili.com|sohu.com|ixigua.com|pptv.com|miguvideo.com|le.com|1905.com|fun.tv").test(e)}function urlDeal(e){return e?是否正版(e)?(/miguvideo/.test(e)||(e=e.split("#")[0].split("?")[0]),e):e:""}function setResult(e){return Array.isArray(e)?(VODS=[],e.forEach(function(e){let t={vod_id:e.url||"",vod_name:e.title||"",vod_remarks:e.desc||"",vod_content:e.content||"",vod_pic:e.pic_url||e.img||""},r=Object.keys(e);r.includes("tname")&&(t.type_name=e.tname||""),r.includes("tid")&&(t.type_id=e.tid||""),r.includes("year")&&(t.vod_year=e.year||""),r.includes("actor")&&(t.vod_actor=e.actor||""),r.includes("director")&&(t.vod_director=e.director||""),r.includes("area")&&(t.vod_area=e.area||""),VODS.push(t)}),VODS):[]}function setResult2(e){return VODS=e.list||[]}function setHomeResult(e){return e&&"object"==typeof e?setResult(e.list):[]}function rc(e){if("maomi_aes.js"===e){var t=CryptoJS.enc.Utf8.parse("625222f9149e961d"),r=CryptoJS.enc.Utf8.parse("5efdtf6060e2o330");return{De:function(e){return e=CryptoJS.enc.Hex.parse(e),CryptoJS.AES.decrypt(CryptoJS.enc.Base64.stringify(e),t,{iv:r,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8)},En:function(e){return CryptoJS.AES.encrypt(e,t,{iv:r,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7}).ciphertext.toString()}}}return{}}function maoss(jxurl,ref,key){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params)),eval(getCryptoJS());try{var getVideoInfo=function(e){return CryptoJS.AES.decrypt(e,key,{iv:iv,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8)},token_key=null==key?"dvyYRQlnPRCMdQSe":key;if(ref)var html=request(jxurl,{headers:{Referer:ref}});else var html=request(jxurl);-1!=html.indexOf("&btwaf=")&&(html=request(jxurl+"&btwaf"+html.match(/&btwaf(.*?)"/)[1],{headers:{Referer:ref}}));var token_iv=html.split('_token = "')[1].split('"')[0],key=CryptoJS.enc.Utf8.parse(token_key),iv=CryptoJS.enc.Utf8.parse(token_iv);return eval(html.match(/var config = {[\s\S]*?}/)[0]+""),config.url.startsWith("http")||(config.url=CryptoJS.AES.decrypt(config.url,key,{iv:iv,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8)),config.url}catch(e){return""}}function urlencode(e){return e=(e+"").toString(),encodeURIComponent(e).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A").replace(/%20/g,"+")}function base64Encode(e){return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(e))}function base64Decode(e){return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(e))}function md5(e){return CryptoJS.MD5(e).toString()}function encodeStr(e,t){if((t=t||"gbk").startsWith("gb")){e=gbkTool().encode(e)}return e}function decodeStr(e,t){if((t=t||"gbk").startsWith("gb")){e=gbkTool().decode(e)}return e}function getCryptoJS(){return'console.log("CryptoJS已装载");'}"function"!=typeof Object.assign&&(Object.asLine truncated
|
||||
@@ -1 +0,0 @@
|
||||
**dmFyIHJ1bGU9e3RpdGxlOiLomY7niZnnm7Tmkq0iLGhvc3Q6Imh0dHBzOi8vd3d3Lmh1eWEuY29tIixob21lVXJsOiIvY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTIxNjgmdGFnQWxsPTAmcGFnZT0xIix1cmw6Ii9jYWNoZS5waHA/bT1MaXZlTGlzdCZkbz1nZXRMaXZlTGlzdEJ5UGFnZSZnYW1lSWQ9ZnlmaWx0ZXImdGFnQWxsPTAmcGFnZT1meXBhZ2UiLGNsYXNzX25hbWU6IuWoseS5kCbnvZHmuLgm5Y2V5py6JuaJi+a4uCIsY2xhc3NfdXJsOiI4JjEmMiYzIixkZXRhaWxVcmw6Imh0dHBzOi8vbS5odXlhLmNvbS9meWlkIixmaWx0ZXJhYmxlOjEsZmlsdGVyX3VybDoie3tmbC5jYXRlSWR9fSIsZmlsdGVyX2RlZjp7ODp7Y2F0ZUlkOiIyMTM1In0sMTp7Y2F0ZUlkOiIxIn0sMjp7Y2F0ZUlkOiIxNzMyIn0sMzp7Y2F0ZUlkOiIyMzM2In19LGZpbHRlcjp7ODpbe2tleToiY2F0ZUlkIixuYW1lOiLliIbnsbsiLHZhbHVlOlt7bjoi5pif56eAIix2OiIxNjYzIn0se246IuaIt+WkliIsdjoiMjE2NSJ9LHtuOiLkuIDotbfnnIsiLHY6IjIxMzUifSx7bjoi5LqM5qyh5YWDIix2OiIyNjMzIn0se246IuiZmuaLn+WBtuWDjyIsdjoiNjA1NSJ9LHtuOiLml4XmuLgiLHY6IjY3OTEifSx7bjoi5pS+5pig5Y6FIix2OiI2MjQ1In0se246IuWoseS5kOWkqeWcsCIsdjoiMTAwMDIyIn0se246IuS6pOWPiyIsdjoiNDA3OSJ9LHtuOiLnu4TpmJ8iLHY6IjUzNjcifSx7bjoi5ZCD5Zad546p5LmQIix2OiIxMDAwNDQifSx7bjoi5Y6f5YibIix2OiI2ODYxIn0se246IuiZjueJmeaWh+WMliIsdjoiNDA4OSJ9LHtuOiLkvZPogrIiLHY6IjIzNTYifSx7bjoi6JmO54mZ5Zyw5pa5Iix2OiI1MTIzIn0se246IuminOWAvCIsdjoiMjE2OCJ9LHtuOiLnp5HmioAiLHY6IjI0MDgifSx7bjoi6Z+z5LmQIix2OiIzNzkzIn0se246Iui2o+WIhuS6qyIsdjoiNTg4MyJ9LHtuOiLkuIDotbfkubAiLHY6Ijc3NTkifSx7bjoi5rS+5a+5Iix2OiI3Nzg1In1dfV0sMTpbe2tleToiY2F0ZUlkIixuYW1lOiLliIbnsbsiLHZhbHVlOlt7bjoi6Iux6ZuE6IGU55ufIix2OiIxIn0se246IkNTMiIsdjoiODYyIn0se246Iuepv+i2iueBq+e6vyIsdjoiNCJ9LHtuOiJsb2zkupHpobbkuYvlvIgiLHY6IjU0ODUifSx7bjoi5peg55WP5aWR57qmIix2OiI1OTM3In0se246IkNGSEQiLHY6IjYwNzkifSx7bjoi6YCG5oiYIix2OiIxMzUifSx7bjoi54KJ55+z5Lyg6K+0Iix2OiIzOTMifSx7bjoiRE9UQTIiLHY6IjcifSx7bjoi5Zyw5LiL5Z+O5LiO5YuH5aOrIix2OiIyIn0se246IumtlOWFveS4lueVjCIsdjoiOCJ9LHtuOiLlnablhYvkuJbnlYwiLHY6IjgwMiJ9LHtuOiJET1RBMSIsdjoiNiJ9LHtuOiLmoqbkuInlm70iLHY6IjQ4OSJ9LHtuOiLprZTlhb3kuonpnLgzIix2OiI0NjE1In0se246IumXrumBkyIsdjoiMTA3In0se246IuWRvei/kOaWueiInyIsdjoiMzA1OCJ9LHtuOiJRUemjnui9piIsdjoiOSJ9LHtuOiLmmJ/pmYXkuonpnLgiLHY6IjUifSx7bjoi572R5ri456ue5oqAIix2OiIxMDAwMjMifSx7bjoi5bCE5Ye757u85ZCI5ri45oiPIix2OiIxMDAxNDEifSx7bjoi5pq06Zuq5LiT5Yy6Iix2OiIxMDAwNDMifSx7bjoi5b2p6Jm55bKbT25saW5lIix2OiI2ODMifSx7bjoi5YmR54G1Iix2OiI4OTcifSx7bjoi5Yab5LqL5ri45oiPIix2OiIxMDAxMzMifSx7bjoi5YaS6Zmp5bKbIix2OiIyMjQzIn0se246Iuaal+m7keegtOWdj+elniIsdjoiMTEyMyJ9LHtuOiLor5vku5kzIix2OiIxNjQ2In0se246IueDreihgOaxn+a5liIsdjoiMzg3In0se246IuiLsemtguS5i+WIgyIsdjoiMTgzMCJ9LHtuOiLmrabmnpflpJbkvKDkuIDkuJbnkLTnvJgiLHY6IjE2NjEifSx7bjoi6LW35Yeh77ya576k6ZuE6YCQ6bm/Iix2OiIxNjEyIn0se246IuelnuatpjTnlLXohJHniYgiLHY6IjMyMjcifSx7bjoi6b6Z5LmL6LC3Iix2OiIxNSJ9LHtuOiLngonnn7PmiJjmo4siLHY6IjU3NTEifSx7bjoi5b6h6b6Z5Zyo5aSpIix2OiI2NzUifSx7bjoi6YCG5rC05a+SIix2OiIyOTUyIn0se246IuWNg+W5tDMiLHY6Ijg3OCJ9LHtuOiLmsLjmgZLkuYvloZQiLHY6IjQ0NiJ9LHtuOiLkvZPogrLmuLjmiI8iLHY6IjEwMDEzNSJ9LHtuOiLlr7vku5kiLHY6IjczNCJ9LHtuOiLmiJjoiLDkuJbnlYwiLHY6IjE5NDcifSx7bjoiUVHkuInlm70iLHY6IjEwOTAifSx7bjoi5rWB5pS+5LmL6LevIix2OiI0MjcifSx7bjoi5Y+N5oGQ57K+6IuxT25saW5lIix2OiIxOTE4In0se246IuWPjeaBkOihjOWKqG9ubGluZSIsdjoiODYxIn0se246IuW+gemAlCIsdjoiMjcxNSJ9LHtuOiLmiJjkuonpm7fpnIYiLHY6IjYyNCJ9LHtuOiLkuJ3ot6/kvKDor7QyIix2OiIxMDI2In0se246IuaYn+mZheaImOeUsiIsdjoiNjI3In0se246Ik5CQTJLT0zns7vliJciLHY6IjM5NTkifSx7bjoi5Lmd6Zi055yf57uPIix2OiIxMDA5In0se246Iui3kei3keWNoeS4gei9piIsdjoiMTYyIn0se246Iuivm+S7meS4lueVjCIsdjoiNzc0OSJ9LHtuOiJRUeWNjuWkjyIsdjoiMTg3OCJ9LHtuOiLlpKnmtq/mmI7mnIjliIAiLHY6IjEyMTkifSx7bjoi5aSn6K+d6KW/5ri477ya5b2S5p2lIix2OiI4MjM5In0se246IuiNkumHjuihjOWKqFBD54mIIix2OiIzMTg1In0se246IuaWsOWJkeS+oOaDhee8mCIsdjoiNTg2In0se246IuWJkee9kTMiLHY6IjkwMCJ9LHtuOiLnlJ/mrbvni5nlh7syIix2OiI2MDkxIn0se246IuWFqOeQg+S9v+WRvSIsdjoiOTM5In0se246IuaipuaDs+S4lueVjDMiLHY6IjQ4NiJ9LHtuOiLmnqrnpZ7nuqoiLHY6IjQ5NiJ9LHtuOiLmlrDlpKnpvpnlhavpg6giLHY6IjU2NzEifSx7bjoi6ZOB55Sy6ZuE5YW1Iix2OiIyNzY1In0se246IuelnuazoyIsdjoiMjUzMSJ9LHtuOiLmlpfmiJjnpZ4iLHY6IjU5MSJ9LHtuOiLpgKDmoqbopb/muLhPTCIsdjoiNjgxNSJ9LHtuOiLlpKnloIIiLHY6IjE5NjYifSx7bjoi5aSn6K+d6KW/5ri4MiIsdjoiMjk3NSJ9LHtuOiLkvb/lkb3lj6zllKTvvJrmiJjljLoiLHY6IjU5MTEifSx7bjoi5biM5pybT0wiLHY6IjExNjEifSx7bjoi5p6B5YWJ5LiW55WMIOW8keelnuS8oCIsdjoiNTE0In0se246IuWuiOacm+WFiOmUi+W9kuadpSIsdjoiMjE3NCJ9LHtuOiJRUeiHqueUseW5u+aDsyIsdjoiMTg2MiJ9LHtuOiLlkb3ov5AyIix2OiIyOTQyIn0se246IuWlh+i/ueS4lueVjDIiLHY6Ijc2NiJ9LHtuOiLlnablhYvlpKfmiJgiLHY6IjQzNTkifSx7bjoi55Sf5q2754uZ5Ye7Iix2OiIyNDcxIn0se246IuWkqee/vOWGsyIsdjoiNzc5In0se246IlFR5bm75oOzIix2OiIyNDE5In0se246IuaWsOmjnumjnihGbHlGRikiLHY6IjE1ODIifSx7bjoi5YiA5YmR6Iux6ZuEIix2OiI5MTUifSx7bjoiRklGQSBPbmxpbmXns7vliJciLHY6IjEwMDA3OSJ9LHtuOiLlhajnkIPkvb/lkb0zIix2OiIyOTUzIn0se246IuWujOe+juerr+a4uOezu+WIlyIsdjoiMzAzNCJ9LHtuOiLmiJjmhI8iLHY6IjI1OTkifSx7bjoi5rOh5rOh5aCCIix2OiI0NDAifSx7bjoi6LWb5bCU5Y+3Iix2OiIyNzU1In0se246IuWkp+WUkOaXoOWPjOmbtiIsdjoiMTU4NCJ9LHtuOiJRUeeCq+iIniIsdjoiMjQ0MCJ9LHtuOiIwMDfvvJrkvKDlpYciLHY6IjExMzUifSx7bjoi5aSp5LiLIix2OiIxNTk3In0se246IuWkqeiwlSIsdjoiMTg5OSJ9LHtuOiLmlrDlgKnlpbPlub3prYIiLHY6IjE1NzkifSx7bjoi5Lyg5LiW5peg5Y+MIix2OiI5ODQifSx7bjoi5YmR5L6g5LiW55WMIix2OiI5MDMifSx7bjoiV2FyaGF2ZW4iLHY6IjkwNTMifSx7bLine truncated
|
||||
+10
-15
@@ -1,23 +1,18 @@
|
||||
{
|
||||
"panOrder": "",
|
||||
"panOrder": "p123|quark|uc|ty|ali|yd|115###原畫|普畫",
|
||||
"aliToken": "",
|
||||
"quarkCookie": "",
|
||||
"ucCookie": "",
|
||||
"ucToken": "",
|
||||
"ucUt": "",
|
||||
"ucUt": "AAPQls4MU8eWa5GKq1gi6chxCodlDAgbb5GR+UaNXWZjckarqe+wMv5is75seqMUY6E=",
|
||||
"115Cookie": "",
|
||||
"pwdRb115": "",
|
||||
//115 删除码
|
||||
"pwdRb115": "",//115 删除码
|
||||
"goServerUrl": "http://127.0.0.1:9966",
|
||||
"ydAuth": "cGM6MTg3NzQ5NzMzNjM6YWdkYlRhWGR8MXxSQ1N8MTc0NDM3NDUxNjIxOHxkRnRScENBOFpZdm9EemFmVFNWZVdndlBWa0tSZjdkU3pBdnlkR0s4anZ2VFBlenl6OWVJX1VfNl94V2o1ZUZOSzdtOUtENXIuRHVPOG43RWdmV2lWc1J5YnZiSmF3NjhSMnhuMHlrSzVMd19Vcm0zZTQyOExUblFfTW1lMVRNNjIxdWRIa2U1NUJTdC5yMk1NbTc5RkxQZDAubHluMjFvVkNwa1FDTWNtYVkt",
|
||||
//请求头中authorization 取basic 后面的值
|
||||
"tyAuth": "18774973363@189.cn|Abc147369+",
|
||||
//账号|密码
|
||||
"p123Auth":"18774973363|abc123",
|
||||
//账号|密码
|
||||
"proxy": "http://127.0.0.1:1072",
|
||||
//默认代理端口 留空则使用外置代理
|
||||
"tgPic": "false",
|
||||
//tgsou 图片显示与否
|
||||
"danmu": "true"
|
||||
"ydAuth": "",//请求头中authorization 取basic 后面的值
|
||||
"tyAuth": "",//账号|密码
|
||||
"p123Auth":"",//账号|密码
|
||||
"proxy": "http://127.0.0.1:1072",//默认代理端口 留空则使用外置代理
|
||||
"tgPic": "false",//tgsou 图片显示与否
|
||||
//每次更新jar 该值都必须更新
|
||||
"exeMd5": "WgbbCqn+5zYnwVVUG5Ld1VuJ8rDHvrI3j7SZvOGB1CyFQ69hzNBfDnGlkYy7i94AR302MH81Z5j7dJkzac9pYuVOI0T+bBtNCM5eMxHxylI+zB8ABUOdfmSMMNhXBrnXEGc8Orj998w3yMmznr4PDxCcE+DL4wzzPI7kaYrmVe6BkgCCiALrZ5LtgY/Q2bBFdZXPLENBlZ1Qp1Yi+ksWmCs13TZ4+aaULDPACDtqFMw41rSJHHFqn59DjtCBjQgipcMMp0a0l3I2V6n2YJN0AtPnKhmeLkfDamwKyoUAAoA6uEKrWJS0xPqNzHOUKQs6VzIxyEXbaOplQk4BDNnaTqEhNh1TLUMMAbec6ThHh96BPqBdnSBKDWNixeTusgD8BVJsKubEizDnH0fbQCDXheYJHLpoRyGe9M2B01XIDKSInmzMNfhQjdIHXWttYey9ojw2BXrT/HI3fTX1mk/o"
|
||||
}
|
||||
@@ -31,7 +31,6 @@ CCTV2,http://113.140.12.230:8888/newlive/live/hls/3/live.m3u8
|
||||
CCTV2,http://60.223.224.176:8888/newlive/live/hls/3/live.m3u8
|
||||
CCTV2,http://zjzcf.synology.me:35455/gaoma/cctv2.m3u8
|
||||
CCTV3,http://222.134.19.31:352/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路247』
|
||||
CCTV3,http://124.93.18.238:9003//hls/3/index.m3u8
|
||||
CCTV3,http://yc.myds.me:35455/gaoma/cctv3.m3u8
|
||||
CCTV3,http://222.134.19.31:352/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV3,http://60.223.224.176:8888/newlive/live/hls/4/live.m3u8
|
||||
@@ -48,7 +47,6 @@ CCTV3,http://183.184.228.183:9003//hls/3/index.m3u8
|
||||
CCTV3,http://218.29.168.146:352/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV3,http://58.220.219.14:9901/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV3,http://zjzcf.synology.me:35455/gaoma/cctv3.m3u8
|
||||
CCTV4,http://124.93.18.238:9003//hls/4/index.m3u8
|
||||
CCTV4,http://58.243.224.244:9901/tsfile/live/1002_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||
CCTV4,http://183.66.15.146:60901/tsfile/live/0004_1.m3u8?key=txiptv$LR•IPV4『线路190』
|
||||
CCTV4,http://222.134.245.16:9901/tsfile/live/0004_1.m3u8
|
||||
@@ -70,13 +68,11 @@ CCTV5,http://36.105.100.208:35455/gaoma/cctv5.m3u8
|
||||
CCTV5,http://home.kuaidi521.com:35455/gaoma/cctv5.m3u8
|
||||
CCTV5,http://222.134.245.16:9901/tsfile/live/0005_1.m3u8
|
||||
CCTV5,http://116.9.204.242:9901/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV5,http://124.93.18.238:9003//hls/5/index.m3u8
|
||||
CCTV5,http://116.9.204.242:9901/tsfile/live/0005_1.m3u8
|
||||
CCTV5,http://183.184.228.183:9003//hls/5/index.m3u8
|
||||
CCTV5,http://39.77.34.83:35455/gaoma/cctv5.m3u8
|
||||
CCTV5,http://xiaoya.crccxw.top:35455/gaoma/cctv5.m3u8
|
||||
CCTV5,http://zjzcf.synology.me:35455/gaoma/cctv5.m3u8
|
||||
CCTV5+,http://cssbyd.imwork.net:8082/hls/6/index.m3u8
|
||||
CCTV5+,http://home.kuaidi521.com:35455/gaoma/cctv5p.m3u8
|
||||
CCTV5+,http://xiaoya.crccxw.top:35455/gaoma/cctv5p.m3u8
|
||||
CCTV5+,http://112.81.218.254:35455/gaoma/cctv5p.m3u8
|
||||
@@ -90,7 +86,6 @@ CCTV6,http://221.2.148.205:8154/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&au
|
||||
CCTV6,http://113.140.12.230:8888/newlive/live/hls/7/live.m3u8
|
||||
CCTV6,http://222.169.85.8:9901/tsfile/live/0006_1.m3u8?key=txiptv
|
||||
CCTV6,http://zzssw01.55555.io:9901/tsfile/live/0006_1.m3u8
|
||||
CCTV6,http://124.93.18.238:9003//hls/6/index.m3u8
|
||||
CCTV6,http://101.19.84.8:9901/tsfile/live/0006_1.m3u8
|
||||
CCTV6,http://183.184.228.183:9003//hls/7/index.m3u8
|
||||
CCTV7,http://8.138.7.223/tv/cctv7.m3u8
|
||||
@@ -99,23 +94,19 @@ CCTV7,https://live.junhao.mil.cn/rmt9502/3e6e7c5477314ec38f5e58e2a5c70024.m3u8?t
|
||||
CCTV7,http://live.junhao.mil.cn/rmt9502/3e6e7c5477314ec38f5e58e2a5c70024.m3u8?txSecret=57978fafb9c19880afa5c8687e8241d8&txTime=7A42BAFF
|
||||
CCTV7,http://yc.myds.me:35455/gaoma/cctv7.m3u8
|
||||
CCTV7,http://xiaoya.crccxw.top:35455/gaoma/cctv7.m3u8
|
||||
CCTV7,http://182.37.169.94:352/tsfile/live/0007_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV7,http://36.105.100.208:35455/gaoma/cctv7.m3u8
|
||||
CCTV7,http://home.kuaidi521.com:35455/gaoma/cctv7.m3u8
|
||||
CCTV7,http://101.19.84.8:9901/tsfile/live/0007_1.m3u8
|
||||
CCTV7,http://183.184.228.183:9003//hls/8/index.m3u8
|
||||
CCTV7,http://39.77.34.83:35455/gaoma/cctv7.m3u8
|
||||
CCTV7,http://112.81.218.254:35455/gaoma/cctv7.m3u8
|
||||
CCTV7,http://124.93.18.238:9003//hls/7/index.m3u8
|
||||
CCTV7,http://222.219.183.103:8089/hls/7/index.m3u8
|
||||
CCTV8,http://112.81.218.254:35455/gaoma/cctv8.m3u8
|
||||
CCTV8,http://yc.myds.me:35455/gaoma/cctv8.m3u8
|
||||
CCTV8,http://114.105.98.95:37377/migu/624878356.m3u8?migutoken=9d347588ab808559db972d3c94b0d970ec130153e4a6dde98c4466f1d3f85f58de23d16994f2f0ed903aa6727a7282cb17103e67b69c8e3f31d253bb78039a4df119e2cfeba6916d123a8003
|
||||
CCTV8,http://222.134.19.31:352/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV8,http://3501776.xyz:35455/gaoma/cctv8.m3u8
|
||||
CCTV8,http://home.kuaidi521.com:35455/gaoma/cctv8.m3u8
|
||||
CCTV8,http://112.46.85.60:8009/hls/8/index.m3u8
|
||||
CCTV8,http://124.93.18.238:9003//hls/8/index.m3u8
|
||||
CCTV8,http://101.19.84.8:9901/tsfile/live/0008_1.m3u8
|
||||
CCTV8,http://183.184.228.183:9003//hls/9/index.m3u8
|
||||
CCTV8,http://113.140.12.230:8888/newlive/live/hls/9/live.m3u8
|
||||
@@ -123,7 +114,6 @@ CCTV8,http://xiaoya.crccxw.top:35455/gaoma/cctv8.m3u8
|
||||
CCTV8,http://60.223.224.176:8888/newlive/live/hls/10/live.m3u8?
|
||||
CCTV8,http://221.2.148.205:8154/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV8,http://61.133.10.250:352/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV8,http://113.140.86.162:8009/hls/8/index.m3u8
|
||||
CCTV8,http://zjzcf.synology.me:35455/gaoma/cctv8.m3u8
|
||||
CCTV9,http://112.81.218.254:35455/gaoma/cctv9.m3u8
|
||||
CCTV9,http://42.225.117.174:11199/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
@@ -134,7 +124,6 @@ CCTV9,http://home.kuaidi521.com:35455/gaoma/cctv9.m3u8
|
||||
CCTV9,http://183.184.228.183:9003//hls/10/index.m3u8
|
||||
CCTV9,http://58.243.224.244:9901/tsfile/live/1007_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||
CCTV9,http://60.223.224.176:8888/newlive/live/hls/11/live.m3u8?
|
||||
CCTV9,http://504099760.qicp.vip:9901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV9,http://222.219.183.103:8089/hls/9/index.m3u8
|
||||
CCTV9,http://zjzcf.synology.me:35455/gaoma/cctv9.m3u8
|
||||
CCTV10,http://42.225.117.174:11199/tsfile/live/0010_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
@@ -161,7 +150,6 @@ CCTV12,http://home.kuaidi521.com:35455/gaoma/cctv12.m3u8
|
||||
CCTV12,http://39.164.160.249:9901/tsfile/live/0012_1.m3u8
|
||||
CCTV12,http://36.105.100.208:35455/gaoma/cctv12.m3u8
|
||||
CCTV12,http://xiaoya.crccxw.top:35455/gaoma/cctv12.m3u8
|
||||
CCTV12,http://124.93.18.238:9003//hls/12/index.m3u8
|
||||
CCTV12,http://183.184.228.183:9003//hls/13/index.m3u8
|
||||
CCTV12,http://39.77.34.83:35455/gaoma/cctv12.m3u8
|
||||
CCTV13,http://61.163.181.78:9901/tsfile/live/0013_1.m3u8
|
||||
@@ -182,13 +170,10 @@ CCTV14,http://58.17.48.228:808/hls/14/index.m3u8
|
||||
CCTV14,http://222.173.108.238:352/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV14,http://36.105.100.208:35455/gaoma/cctv14.m3u8
|
||||
CCTV14,http://39.77.34.83:35455/gaoma/cctv14.m3u8
|
||||
CCTV14,http://124.93.18.238:9003//hls/14/index.m3u8
|
||||
CCTV14,http://183.184.228.183:9003//hls/15/index.m3u8
|
||||
CCTV15,http://39.164.160.249:9901/tsfile/live/0015_1.m3u8
|
||||
CCTV15,http://home.kuaidi521.com:35455/gaoma/cctv15.m3u8
|
||||
CCTV15,http://yc.myds.me:35455/gaoma/cctv15.m3u8
|
||||
CCTV15,http://124.93.18.238:9003//hls/15/index.m3u8
|
||||
CCTV16,http://124.93.18.238:9003//hls/16/index.m3u8
|
||||
CCTV16,http://xiaoya.crccxw.top:35455/gaoma/cctv16.m3u8
|
||||
CCTV16,http://36.105.100.208:35455/gaoma/cctv16.m3u8
|
||||
CCTV16,http://112.81.218.254:35455/gaoma/cctv16.m3u8
|
||||
@@ -256,7 +241,6 @@ CCTV15,http://61.156.228.12:8154/tsfile/live/0015_1.m3u8
|
||||
广东卫视,http://115.149.139.141:10001/tsfile/live/1029_1.m3u8?blog.ntnas.top
|
||||
广东卫视,http://222.173.108.238:352/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
广东卫视,http://39.164.160.249:9901/tsfile/live/0125_1.m3u8
|
||||
广东卫视,http://ttkx.cc:1658/公开源454/mg9.php?id=gdws
|
||||
广西卫视,http://live.cztv.cc:85/live/ggpd.m3u8
|
||||
广西卫视,https://mobilelive.gxtv.cn/live/gx_live1004/playlist.m3u8
|
||||
广西卫视,http://42.225.117.174:11199/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
|
||||
Binary file not shown.
+59
-238
@@ -1,11 +1,11 @@
|
||||
#EXTM3U x-tvg-url="https://epg.iill.top/epg" catchup="append" catchup-source="?playseek=${(b)yyyyMMddHHmmss}-${(e)yyyyMMddHHmmss}"
|
||||
#EXTINF:-1 tvg-id="免费订阅" tvg-name="免费订阅" tvg-logo="https://epg.iill.top/logo/温馨提示.png" group-title="•温馨「提示」",免费订阅:请勿贩卖...
|
||||
https://epg.iill.top/v/302.mp4
|
||||
#EXTINF:-1 tvg-id="免费订阅" tvg-name="免费订阅" tvg-logo="https://epg.iill.top/logo/温馨提示.png" group-title="•温馨「提示」",维护时间:2025-2-8#佛系维护...
|
||||
#EXTINF:-1 tvg-id="免费订阅" tvg-name="免费订阅" tvg-logo="https://epg.iill.top/logo/温馨提示.png" group-title="•温馨「提示」",维护时间:2025-4-1#佛系维护...
|
||||
https://epg.iill.top/v/301.mp4
|
||||
#EXTINF:-1 tvg-id="免费订阅" tvg-name="免费订阅" tvg-logo="https://epg.iill.top/logo/温馨提示.png" group-title="•温馨「提示」",维护内容:维护内容:维护 Gather「删除 •IPV6 源 / •國際「匯集」」
|
||||
#EXTINF:-1 tvg-id="免费订阅" tvg-name="免费订阅" tvg-logo="https://epg.iill.top/logo/温馨提示.png" group-title="•温馨「提示」",维护内容:维护内容:维护 Gather「删除 •咪咕源 / 当作节目表吧」
|
||||
https://epg.iill.top/v/302.mp4
|
||||
#EXTINF:-1 tvg-id="免费订阅" tvg-name="免费订阅" tvg-logo="https://epg.iill.top/logo/温馨提示.png" group-title="•温馨「提示」",公告说明:推流源·暂不限制·若流量太大将改限时
|
||||
#EXTINF:-1 tvg-id="免费订阅" tvg-name="免费订阅" tvg-logo="https://epg.iill.top/logo/温馨提示.png" group-title="•温馨「提示」",公告说明:推流源·暂不提供
|
||||
https://epg.iill.top/v/301.mp4
|
||||
#EXTINF:-1 tvg-id="免费订阅" tvg-name="免费订阅" tvg-logo="https://epg.iill.top/logo/温馨提示.png" group-title="•温馨「提示」",限制条件:请到 Github 了解详情「限制IP·UA」
|
||||
https://epg.iill.top/v/302.mp4
|
||||
@@ -17,242 +17,63 @@ https://d2dw21aq0j0l5c.cloudfront.net/playlist_3840x2160.m3u8
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/FashionTV.png" group-title="•4K「IPV4」",Fashion 4K「时尚」
|
||||
https://fash2043.cloudycdn.services/slive/ftv_ftv_4k_hevc_73d_42080_default_466_hls.smil/playlist.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" tvg-logo="https://epg.iill.top/logo/CCTV1.png" group-title="•咪咕「TV」",CCTV 1 综合
|
||||
https://tv.iill.top/migu/cctv1
|
||||
#EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" tvg-logo="https://epg.iill.top/logo/CCTV2.png" group-title="•咪咕「TV」",CCTV 2 财经
|
||||
https://tv.iill.top/migu/cctv2
|
||||
#EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" tvg-logo="https://epg.iill.top/logo/CCTV3.png" group-title="•咪咕「TV」",CCTV 3 综艺
|
||||
https://tv.iill.top/migu/cctv3
|
||||
#EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" tvg-logo="https://epg.iill.top/logo/CCTV4.png" group-title="•咪咕「TV」",CCTV 4 中文国际
|
||||
https://tv.iill.top/migu/cctv4
|
||||
#EXTINF:-1 tvg-id="CCTV4美洲" tvg-name="CCTV4美洲" tvg-logo="https://epg.iill.top/logo/CCTV4美洲.png" group-title="•咪咕「TV」",CCTV 4 中文国际·美洲
|
||||
https://tv.iill.top/migu/cctv4m
|
||||
#EXTINF:-1 tvg-id="CCTV4欧洲" tvg-name="CCTV4欧洲" tvg-logo="https://epg.iill.top/logo/CCTV4欧洲.png" group-title="•咪咕「TV」",CCTV 4 中文国际·欧洲
|
||||
https://tv.iill.top/migu/cctv4o
|
||||
#EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" tvg-logo="https://epg.iill.top/logo/CCTV5.png" group-title="•咪咕「TV」",CCTV 5 体育
|
||||
https://tv.iill.top/migu/cctv5
|
||||
#EXTINF:-1 tvg-id="CCTV5+" tvg-name="CCTV5+" tvg-logo="https://epg.iill.top/logo/CCTV5+.png" group-title="•咪咕「TV」",CCTV 5+ 体育赛事
|
||||
https://tv.iill.top/migu/cctv5p
|
||||
#EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" tvg-logo="https://epg.iill.top/logo/CCTV6.png" group-title="•咪咕「TV」",CCTV 6 电影
|
||||
https://tv.iill.top/migu/cctv6
|
||||
#EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" tvg-logo="https://epg.iill.top/logo/CCTV7.png" group-title="•咪咕「TV」",CCTV 7 国防军事
|
||||
https://tv.iill.top/migu/cctv7
|
||||
#EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" tvg-logo="https://epg.iill.top/logo/CCTV8.png" group-title="•咪咕「TV」",CCTV 8 电视剧
|
||||
https://tv.iill.top/migu/cctv8
|
||||
#EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" tvg-logo="https://epg.iill.top/logo/CCTV9.png" group-title="•咪咕「TV」",CCTV 9 纪录
|
||||
https://tv.iill.top/migu/cctv9
|
||||
#EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" tvg-logo="https://epg.iill.top/logo/CCTV10.png" group-title="•咪咕「TV」",CCTV 10 科教
|
||||
https://tv.iill.top/migu/cctv10
|
||||
#EXTINF:-1 tvg-id="CCTV11" tvg-name="CCTV11" tvg-logo="https://epg.iill.top/logo/CCTV11.png" group-title="•咪咕「TV」",CCTV 11 戏曲
|
||||
https://tv.iill.top/migu/cctv11
|
||||
#EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" tvg-logo="https://epg.iill.top/logo/CCTV12.png" group-title="•咪咕「TV」",CCTV 12 社会与法
|
||||
https://tv.iill.top/migu/cctv12
|
||||
#EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" tvg-logo="https://epg.iill.top/logo/CCTV13.png" group-title="•咪咕「TV」",CCTV 13 新闻
|
||||
https://tv.iill.top/migu/cctv13
|
||||
#EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" tvg-logo="https://epg.iill.top/logo/CCTV14.png" group-title="•咪咕「TV」",CCTV 14 少儿
|
||||
https://tv.iill.top/migu/cctv14
|
||||
#EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" tvg-logo="https://epg.iill.top/logo/CCTV15.png" group-title="•咪咕「TV」",CCTV 15 音乐
|
||||
https://tv.iill.top/migu/cctv15
|
||||
#EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" tvg-logo="https://epg.iill.top/logo/CCTV17.png" group-title="•咪咕「TV」",CCTV 17 农村农业
|
||||
https://tv.iill.top/migu/cctv17
|
||||
#EXTINF:-1 tvg-id="CETV1" tvg-name="CETV1" tvg-logo="https://epg.iill.top/logo/CETV1.png" group-title="•咪咕「TV」",CETV 1 中国教育
|
||||
https://tv.iill.top/migu/cetv1
|
||||
#EXTINF:-1 tvg-id="CETV2" tvg-name="CETV2" tvg-logo="https://epg.iill.top/logo/CETV2.png" group-title="•咪咕「TV」",CETV 2 中国教育
|
||||
https://tv.iill.top/migu/cetv2
|
||||
#EXTINF:-1 tvg-id="CETV4" tvg-name="CETV4" tvg-logo="https://epg.iill.top/logo/CETV4.png" group-title="•咪咕「TV」",CETV 4 中国教育
|
||||
https://tv.iill.top/migu/cetv4
|
||||
#EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" tvg-logo="https://epg.iill.top/logo/浙江卫视.png" group-title="•咪咕「TV」",浙江卫视
|
||||
http://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8
|
||||
#EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" tvg-logo="https://epg.iill.top/logo/广东卫视.png" group-title="•咪咕「TV」",广东卫视
|
||||
https://tv.iill.top/migu/gdws
|
||||
#EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" tvg-logo="https://epg.iill.top/logo/江苏卫视.png" group-title="•咪咕「TV」",江苏卫视
|
||||
https://tv.iill.top/migu/jsws
|
||||
#EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" tvg-logo="https://epg.iill.top/logo/东方卫视.png" group-title="•咪咕「TV」",东方卫视
|
||||
https://tv.iill.top/migu/dfws
|
||||
#EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" tvg-logo="https://epg.iill.top/logo/陕西卫视.png" group-title="•咪咕「TV」",陕西卫视
|
||||
https://tv.iill.top/migu/sxws
|
||||
#EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" tvg-logo="https://epg.iill.top/logo/江西卫视.png" group-title="•咪咕「TV」",江西卫视
|
||||
https://tv.iill.top/migu/jxws
|
||||
#EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" tvg-logo="https://epg.iill.top/logo/湖北卫视.png" group-title="•咪咕「TV」",湖北卫视
|
||||
https://tv.iill.top/migu/hubws
|
||||
#EXTINF:-1 tvg-id="上海新闻综合" tvg-name="上海新闻综合" tvg-logo="https://epg.iill.top/logo/上海新闻.png" group-title="•咪咕「TV」",上海新闻综合
|
||||
https://tv.iill.top/migu/shxw
|
||||
#EXTINF:-1 tvg-id="东方影视" tvg-name="东方影视" tvg-logo="https://epg.iill.top/logo/东方影视.png" group-title="•咪咕「TV」",上海东方影视
|
||||
https://tv.iill.top/migu/shys
|
||||
#EXTINF:-1 tvg-id="上海纪实人文" tvg-name="上海纪实人文" tvg-logo="https://epg.iill.top/logo/纪实人文.png" group-title="•咪咕「TV」",上海纪实人文
|
||||
https://tv.iill.top/migu/shjs
|
||||
#EXTINF:-1 tvg-id="劲爆体育" tvg-name="劲爆体育" tvg-logo="https://epg.iill.top/logo/劲爆体育.png" group-title="•咪咕「TV」",SiTV 劲爆体育
|
||||
https://tv.iill.top/migu/jbty
|
||||
#EXTINF:-1 tvg-id="魅力足球" tvg-name="魅力足球" tvg-logo="https://epg.iill.top/logo/魅力足球.png" group-title="•咪咕「TV」",SiTV 魅力足球
|
||||
https://tv.iill.top/migu/mlzq
|
||||
#EXTINF:-1 tvg-id="七彩戏剧" tvg-name="七彩戏剧" tvg-logo="https://epg.iill.top/logo/七彩戏剧.png" group-title="•咪咕「TV」",SiTV 七彩戏剧
|
||||
https://tv.iill.top/migu/qcxj
|
||||
#EXTINF:-1 tvg-id="游戏风云" tvg-name="游戏风云" tvg-logo="https://epg.iill.top/logo/游戏风云.png" group-title="•咪咕「TV」",SiTV 游戏风云
|
||||
https://tv.iill.top/migu/yxfy
|
||||
#EXTINF:-1 tvg-id="法治天地" tvg-name="法治天地" tvg-logo="https://epg.iill.top/logo/法治天地.png" group-title="•咪咕「TV」",SiTV 法治天地
|
||||
https://tv.iill.top/migu/qcxj
|
||||
#EXTINF:-1 tvg-id="乐游" tvg-name="乐游" tvg-logo="https://epg.iill.top/logo/乐游.png" group-title="•咪咕「TV」",SiTV 乐游
|
||||
https://tv.iill.top/migu/qcxj
|
||||
#EXTINF:-1 tvg-id="CHC家庭影院" tvg-name="CHC家庭影院" tvg-logo="https://epg.iill.top/logo/家庭影院.png" group-title="•咪咕「TV」",CHC 家庭影院
|
||||
https://tv.iill.top/migu/jtyy
|
||||
#EXTINF:-1 tvg-id="欢笑剧场" tvg-name="欢笑剧场" tvg-logo="https://epg.iill.top/logo/欢笑剧场.png" group-title="•咪咕「TV」",欢笑剧场
|
||||
https://tv.iill.top/migu/hxjc
|
||||
#EXTINF:-1 tvg-id="经典香港电影" tvg-name="经典香港电影" tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「TV」",经典香港电影
|
||||
https://tv.iill.top/migu/xgdy
|
||||
#EXTINF:-1 tvg-id="军事迷必看大片" tvg-name="军事迷必看大片" tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「TV」",军事迷必看大片
|
||||
https://tv.iill.top/migu/jsm
|
||||
#EXTINF:-1 tvg-id="新片放映厅" tvg-name="新片放映厅" tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「TV」",新片放映厅
|
||||
https://tv.iill.top/migu/xpdy
|
||||
#EXTINF:-1 tvg-id="红色轮播台" tvg-name="红色轮播台" tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「TV」",红色轮播台
|
||||
https://tv.iill.top/migu/hslb
|
||||
#EXTINF:-1 tvg-id="金色剧场" tvg-name="金色剧场" tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「TV」",金色剧场
|
||||
https://tv.iill.top/migu/jsjc
|
||||
#EXTINF:-1 tvg-id="四海钓鱼" tvg-name="四海钓鱼" tvg-logo="https://epg.iill.top/logo/四海钓鱼.png" group-title="•咪咕「TV」",四海钓鱼
|
||||
https://tv.iill.top/migu/shdy
|
||||
#EXTINF:-1 tvg-id="NBA经典" tvg-name="NBA经典" tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「TV」",NBA 经典
|
||||
https://tv.iill.top/migu/nba
|
||||
#EXTINF:-1 tvg-id="五大联赛经典" tvg-name="五大联赛经典" tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「TV」",五大联赛经典
|
||||
https://tv.iill.top/migu/lsjd
|
||||
#EXTINF:-1 tvg-id="足球风云" tvg-name="足球风云" tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「TV」",中国足球风云
|
||||
https://tv.iill.top/migu/zqfy
|
||||
#EXTINF:-1 tvg-id="掼蛋精英赛" tvg-name="掼蛋精英赛" tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「TV」",掼蛋精英赛
|
||||
https://tv.iill.top/migu/dds
|
||||
#EXTINF:-1 tvg-id="咪咕24小时体育" tvg-name="咪咕24小时体育" tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「TV」",咪咕24小时体育台
|
||||
https://tv.iill.top/migu/mgty
|
||||
|
||||
#INSERT_HERE
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「西甲」00:20 联赛 瓦伦西亚 vs 马略卡 周楚雄
|
||||
https://tv.iill.top/FB/7hmZON
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「西甲」00:20 联赛 毕尔巴鄂竞技 vs 奥萨苏纳 洪宇青
|
||||
https://tv.iill.top/FB/vFGNob
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「法甲」02:35 联赛 里尔 vs 朗斯 盛斌
|
||||
https://tv.iill.top/FB/Z4rxQD
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「意甲」02:30 联赛 那不勒斯 vs AC米兰 石庆圣 李彦
|
||||
https://tv.iill.top/FB/BSC9oB
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「意甲」02:30 联赛 那不勒斯 vs AC米兰 石庆圣 李彦
|
||||
https://tv.iill.top/FB/fXNft4
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「西甲」02:45 联赛 皇家贝蒂斯 vs 塞维利亚 刘畅 贺宇
|
||||
https://tv.iill.top/FB/oLhxQZ
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」03:25 常规赛 快船VS骑士 姜帆
|
||||
https://tv.iill.top/NBA/5MvYlN
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」05:55 常规赛 开拓者VS尼克斯 殷文玉
|
||||
https://tv.iill.top/NBA/NM7qZF
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」06:45 常规赛 勇士VS马刺 张浩岳 张兆旭 王羽希
|
||||
https://tv.iill.top/NBA/Kt6ibS
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」06:45 常规赛 勇士VS马刺 拜月宁
|
||||
https://tv.iill.top/NBA/9ZwnLH
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」06:45 常规赛 勇士VS马刺 王晓晨
|
||||
https://tv.iill.top/NBA/MtJysN
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」06:55 常规赛 活塞VS森林狼 邢晨
|
||||
https://tv.iill.top/NBA/Tf3GNi
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」06:55 常规赛 黄蜂VS鹈鹕 张泽欣
|
||||
https://tv.iill.top/NBA/iDnlYA
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」06:55 常规赛 老鹰VS雄鹿 王冠证
|
||||
https://tv.iill.top/NBA/00dS8F
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」07:25 常规赛 猛龙VS76人 罗森
|
||||
https://tv.iill.top/NBA/5QbnEv
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」08:45 常规赛 火箭VS太阳 连睿 周鹏 裴优
|
||||
https://tv.iill.top/NBA/Hef7tG
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「国际女篮邀请赛」15:25 国际女篮邀请赛 江苏南钢vs诺维萨德 清流播出
|
||||
https://tv.iill.top/Migu/o6VMYR
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「LPL」16:40 LGD vs WE LGD vs WE 官方解说
|
||||
https://tv.iill.top/Migu/awgmkq
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」18:30 辽宁vs山东赛前训练 辽宁vs山东赛前训练 哈秋
|
||||
https://tv.iill.top/Migu/Z9g8Ks
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」18:30 辽宁vs山东赛前训练 辽宁vs山东赛前训练 罗森
|
||||
https://tv.iill.top/Migu/9ybUgz
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「LPL」19:00 待定 vs UP 待定 vs UP 官方解说
|
||||
https://tv.iill.top/Migu/sFkUEq
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「国际女篮邀请赛」19:25 国际女篮邀请赛 上海浦发银行vs伏伊伏丁那021 清流播出
|
||||
https://tv.iill.top/Migu/uApqTG
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:00 常规赛第46轮 天津先行者vs北京北汽 邵化谦 季孟年
|
||||
https://tv.iill.top/Migu/om3DGM
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:00 常规赛第46轮 天津先行者vs北京北汽 新疆vs北控
|
||||
https://tv.iill.top/Migu/p3WumJ
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:10 常规赛第46轮 天津先行者vs北京北汽 四川vs广东
|
||||
https://tv.iill.top/Migu/1zcsqO
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 天津先行者vs北京北汽 荣浩达
|
||||
https://tv.iill.top/Migu/7SFQB9
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 天津先行者vs北京北汽 刘芳宇
|
||||
https://tv.iill.top/Migu/CWDYHL
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 天津先行者vs北京北汽 现场原声
|
||||
https://tv.iill.top/Migu/FbJLlG
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 四川丰谷酒业vs广东东阳光 字诚
|
||||
https://tv.iill.top/Migu/KpFfBw
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 四川丰谷酒业vs广东东阳光 翻译小余
|
||||
https://tv.iill.top/Migu/nKzqTg
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 四川丰谷酒业vs广东东阳光 现场原声
|
||||
https://tv.iill.top/Migu/mtE7un
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:00 常规赛第46轮 山西汾酒vs南京头排苏酒 孔德昕
|
||||
https://tv.iill.top/Migu/WIWGMJ
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 山西汾酒vs南京头排苏酒 石楷文
|
||||
https://tv.iill.top/Migu/AACGMm
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 山西汾酒vs南京头排苏酒 王港
|
||||
https://tv.iill.top/Migu/HefO9n
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 山西汾酒vs南京头排苏酒 现场原声
|
||||
https://tv.iill.top/Migu/EY2Rr1
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:10 常规赛第46轮 上海久事vs深圳马可波罗 李天宇 徐咏
|
||||
https://tv.iill.top/Migu/D0fLnH
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 上海久事vs深圳马可波罗 张俊卿
|
||||
https://tv.iill.top/Migu/565vPu
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 上海久事vs深圳马可波罗 李嘉伟
|
||||
https://tv.iill.top/Migu/ELULMz
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 上海久事vs深圳马可波罗 现场原声
|
||||
https://tv.iill.top/Migu/uAjT1s
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」18:45 常规赛第46轮 辽宁本钢vs山东高速 杨健 霍楠 曾令旭
|
||||
https://tv.iill.top/Migu/KY3BzA
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 辽宁本钢vs山东高速 哈秋
|
||||
https://tv.iill.top/Migu/NhYXWr
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 辽宁本钢vs山东高速 罗森
|
||||
https://tv.iill.top/Migu/5ihfn0
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 辽宁本钢vs山东高速 明星机位1
|
||||
https://tv.iill.top/Migu/9QR8V5
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 辽宁本钢vs山东高速 明星机位2
|
||||
https://tv.iill.top/Migu/EDaCfL
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 辽宁本钢vs山东高速 现场原声
|
||||
https://tv.iill.top/Migu/bhs5E9
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:00 常规赛第46轮 江苏肯帝亚vs浙江方兴渡 蔡凯臣
|
||||
https://tv.iill.top/Migu/X8aoaF
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 江苏肯帝亚vs浙江方兴渡 洪超
|
||||
https://tv.iill.top/Migu/BTfFQT
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 江苏肯帝亚vs浙江方兴渡 张浩岳
|
||||
https://tv.iill.top/Migu/5c2gvH
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 江苏肯帝亚vs浙江方兴渡 现场原声
|
||||
https://tv.iill.top/Migu/XLVDe4
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:00 常规赛第46轮 广州朗肽海本vs九台农商银行 姜帆
|
||||
https://tv.iill.top/Migu/nnwcmN
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 广州朗肽海本vs九台农商银行 张泽欣
|
||||
https://tv.iill.top/Migu/tr82T4
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 广州朗肽海本vs九台农商银行 陈涛
|
||||
https://tv.iill.top/Migu/qEZ8m8
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 广州朗肽海本vs九台农商银行 现场原声
|
||||
https://tv.iill.top/Migu/t193hM
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:00 常规赛第46轮 福建晋江文旅vs青岛国信制药 连睿
|
||||
https://tv.iill.top/Migu/Jpk4OA
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 福建晋江文旅vs青岛国信制药 洪荒
|
||||
https://tv.iill.top/Migu/rgqRwQ
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 福建晋江文旅vs青岛国信制药 刘沛元
|
||||
https://tv.iill.top/Migu/jyHMNr
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 福建晋江文旅vs青岛国信制药 现场原声
|
||||
https://tv.iill.top/Migu/viEcGj
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:00 常规赛第46轮 浙江稠州金租vs宁波町渥 吴博文
|
||||
https://tv.iill.top/Migu/THRWCc
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 浙江稠州金租vs宁波町渥 金哲豪
|
||||
https://tv.iill.top/Migu/toOfMu
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 浙江稠州金租vs宁波町渥 林国雄
|
||||
https://tv.iill.top/Migu/UjPJDI
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 浙江稠州金租vs宁波町渥 现场原声
|
||||
https://tv.iill.top/Migu/LbjwQy
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 新疆伊力特vs北京控股 盛哲
|
||||
https://tv.iill.top/Migu/e8Esv0
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 新疆伊力特vs北京控股 周赫
|
||||
https://tv.iill.top/Migu/kziLim
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「CBA」19:25 常规赛第46轮 新疆伊力特vs北京控股 现场原声
|
||||
https://tv.iill.top/Migu/fZXluD
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「斯诺克」20:00 肖国栋PK吴宜泽 丁俊晖迎战老马 肖国栋PK吴宜泽 丁俊晖迎战老马 1号桌
|
||||
https://tv.iill.top/Migu/6jVQYh
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「斯诺克」20:00 肖国栋PK吴宜泽 丁俊晖迎战老马 肖国栋PK吴宜泽 丁俊晖迎战老马 2号桌
|
||||
https://tv.iill.top/Migu/GWRh1B
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「英超」02:35 联赛 伯恩茅斯 vs 伊普斯维奇 涂远
|
||||
https://tv.iill.top/FB/itUM5G
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「英超」02:35 联赛 纽卡斯尔联 vs 布伦特福德 刘焕
|
||||
https://tv.iill.top/FB/EgiWGu
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「英超」02:35 联赛 南安普敦 vs 水晶宫 黄航
|
||||
https://tv.iill.top/FB/Pt91yd
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「英超」02:35 联赛 布莱顿 vs 阿斯顿维拉 苗锟
|
||||
https://tv.iill.top/FB/vUHioo
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「英超」02:30 联赛 曼城 vs 莱斯特城 刘畅 颜强
|
||||
https://tv.iill.top/FB/lPxgMx
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「英超」02:45 联赛 利物浦 vs 埃弗顿 詹俊 张路 林梦鸽
|
||||
https://tv.iill.top/FB/DT5vas
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「英超」02:50 联赛 利物浦 vs 埃弗顿 江忠德
|
||||
https://tv.iill.top/FB/rn67RG
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「英超」02:50 联赛 利物浦 vs 埃弗顿 洪荒
|
||||
https://tv.iill.top/FB/65Pfv7
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「英超」02:50 联赛 利物浦 vs 埃弗顿 陈渤胄
|
||||
https://tv.iill.top/FB/bPPp16
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「英超」02:45 联赛 利物浦 vs 埃弗顿 詹俊 张路 林梦鸽
|
||||
https://tv.iill.top/FB/xkss21
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「意大利杯」02:45 半决赛 AC米兰vs国际米兰 石庆圣 李彦
|
||||
https://tv.iill.top/FB/MLzhBt
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「意大利杯」02:50 半决赛 AC米兰vs国际米兰 刘腾
|
||||
https://tv.iill.top/FB/FtmtoJ
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/足球.png" group-title="•咪咕「足球」", 「意大利杯」02:45 半决赛 AC米兰vs国际米兰 石庆圣 李彦
|
||||
https://tv.iill.top/FB/O2nfu9
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」06:55 常规赛 尼克斯VS骑士 李天宇 张兆旭
|
||||
https://tv.iill.top/NBA/ZdELgN
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」06:55 常规赛 黄蜂VS步行者 王琰博
|
||||
https://tv.iill.top/NBA/VwL4NS
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」06:55 常规赛 国王VS奇才 王凯
|
||||
https://tv.iill.top/NBA/yb8WgY
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」07:25 常规赛 热火VS凯尔特人 蔡凯臣 刘铁
|
||||
https://tv.iill.top/NBA/LXFZzY
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」07:55 常规赛 爵士VS火箭 陈鑫隆
|
||||
https://tv.iill.top/NBA/KCVThR
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」08:25 常规赛 老鹰VS独行侠 刘芳宇
|
||||
https://tv.iill.top/NBA/vNQket
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」08:55 常规赛 马刺VS掘金 孔德昕
|
||||
https://tv.iill.top/NBA/8mAIAP
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」09:25 常规赛 活塞VS雷霆 罗森
|
||||
https://tv.iill.top/NBA/bGhDnu
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/NBA.png" group-title="•咪咕「NBA」", 「NBA」10:15 常规赛 鹈鹕VS快船 庄宁宇 陈正昊 魏欣怡
|
||||
https://tv.iill.top/NBA/Jc16WY
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「WTT」18:00 向鹏冲八强 张本智和、伊藤美诚出战 向鹏冲八强 张本智和、伊藤美诚出战 马特
|
||||
https://tv.iill.top/Migu/XLYuxu
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「WTT」11:00 向鹏冲八强 张本智和、伊藤美诚出战 向鹏冲八强 张本智和、伊藤美诚出战 清流
|
||||
https://tv.iill.top/Migu/SHsp5P
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「WTT」11:00 向鹏冲八强 张本智和、伊藤美诚出战 向鹏冲八强 张本智和、伊藤美诚出战 英文解说
|
||||
https://tv.iill.top/Migu/TS4nf6
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「斯诺克」20:00 丁俊晖迎战囧哥 肖国栋PK希金斯 丁俊晖迎战囧哥 肖国栋PK希金斯 1号桌
|
||||
https://tv.iill.top/Migu/L342S7
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「斯诺克」20:00 丁俊晖迎战囧哥 肖国栋PK希金斯 丁俊晖迎战囧哥 肖国栋PK希金斯 2号桌
|
||||
https://tv.iill.top/Migu/slk2Me
|
||||
#EXTINF:-1 tvg-logo="https://epg.iill.top/logo/咪咕.png" group-title="•咪咕「体育」", 「WTA」23:00 阿尼西莫娃、佩古拉出战 郑钦文PK梅尔滕斯 阿尼西莫娃、佩古拉出战 郑钦文PK梅尔滕斯 赛场原声
|
||||
https://tv.iill.top/Migu/M23igz
|
||||
|
||||
#EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" tvg-logo="https://epg.iill.top/logo/凤凰中文.png" http-user-agent="FengWatch/5.4.14" group-title="•港澳「限制」",鳳凰衛視·中文「限UA」
|
||||
http://dns.yiandrive.com:15907/phenix/fhzw
|
||||
|
||||
+1870
-1660
File diff suppressed because it is too large.
Load diff
+1926
-1737
File diff suppressed because it is too large.
Load diff
+1926
-1737
File diff suppressed because it is too large.
Load diff
+1880
-1676
File diff suppressed because it is too large.
Load diff
+334
-391
File diff suppressed because it is too large.
Load diff
Vendored
+1
@@ -0,0 +1 @@
|
||||
var e,t=function(){return t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},t.apply(this,arguments)},n={xml:!1,decodeEntities:!0},r={_useHtmlParser2:!0,xmlMode:!0};function i(e){return(null==e?void 0:e.xml)?"boolean"==typeof e.xml?r:t(t({},r),e.xml):null!=e?e:void 0}!function(e){e.Root="root",e.Text="text",e.Directive="directive",e.Comment="comment",e.Script="script",e.Style="style",e.Tag="tag",e.CDATA="cdata",e.Doctype="doctype"}(e||(e={}));const s=e.Root,a=e.Text,o=e.Directive,c=e.Comment,l=e.Script,h=e.Style,u=e.Tag,p=e.CDATA,f=e.Doctype;class d{constructor(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}get parentNode(){return this.parent}set parentNode(e){this.parent=e}get previousSibling(){return this.prev}set previousSibling(e){this.prev=e}get nextSibling(){return this.next}set nextSibling(e){this.next=e}cloneNode(e=!1){return v(this,e)}}class E extends d{constructor(e){super(),this.data=e}get nodeValue(){return this.data}set nodeValue(e){this.data=e}}class m extends E{constructor(){super(...arguments),this.type=e.Text}get nodeType(){return 3}}class T extends E{constructor(){super(...arguments),this.type=e.Comment}get nodeType(){return 8}}class _ extends E{constructor(t,n){super(n),this.name=t,this.type=e.Directive}get nodeType(){return 1}}class A extends d{constructor(e){super(),this.children=e}get firstChild(){var e;return null!==(e=this.children[0])&&void 0!==e?e:null}get lastChild(){return this.children.length>0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(e){this.children=e}}class g extends A{constructor(){super(...arguments),this.type=e.CDATA}get nodeType(){return 4}}class N extends A{constructor(){super(...arguments),this.type=e.Root}get nodeType(){return 9}}class C extends A{constructor(t,n,r=[],i=("script"===t?e.Script:"style"===t?e.Style:e.Tag)){super(r),this.name=t,this.attribs=n,this.type=i}get nodeType(){return 1}get tagName(){return this.name}set tagName(e){this.name=e}get attributes(){return Object.keys(this.attribs).map((e=>{var t,n;return{name:e,value:this.attribs[e],namespace:null===(t=this["x-attribsNamespace"])||void 0===t?void 0:t[e],prefix:null===(n=this["x-attribsPrefix"])||void 0===n?void 0:n[e]}}))}}function I(t){return(n=t).type===e.Tag||n.type===e.Script||n.type===e.Style;var n}function S(t){return t.type===e.CDATA}function b(t){return t.type===e.Text}function O(t){return t.type===e.Comment}function y(t){return t.type===e.Directive}function L(t){return t.type===e.Root}function k(e){return Object.prototype.hasOwnProperty.call(e,"children")}function v(e,t=!1){let n;if(b(e))n=new m(e.data);else if(O(e))n=new T(e.data);else if(I(e)){const r=t?D(e.children):[],i=new C(e.name,{...e.attribs},r);r.forEach((e=>e.parent=i)),null!=e.namespace&&(i.namespace=e.namespace),e["x-attribsNamespace"]&&(i["x-attribsNamespace"]={...e["x-attribsNamespace"]}),e["x-attribsPrefix"]&&(i["x-attribsPrefix"]={...e["x-attribsPrefix"]}),n=i}else if(S(e)){const r=t?D(e.children):[],i=new g(r);r.forEach((e=>e.parent=i)),n=i}else if(L(e)){const r=t?D(e.children):[],i=new N(r);r.forEach((e=>e.parent=i)),e["x-mode"]&&(i["x-mode"]=e["x-mode"]),n=i}else{if(!y(e))throw new Error(`Not implemented yet: ${e.type}`);{const t=new _(e.name,e.data);null!=e["x-name"]&&(t["x-name"]=e["x-name"],t["x-publicId"]=e["x-publicId"],t["x-systemId"]=e["x-systemId"]),n=t}}return n.startIndex=e.startIndex,n.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(n.sourceCodeLocation=e.sourceCodeLocation),n}function D(e){const t=e.map((e=>v(e,!0)));for(let e=1;e<t.length;e++)t[e].prev=t[e-1],t[e-1].next=t[e];return t}const R={withStartIndices:!1,withEndIndices:!1,xmlMode:!1};class M{constructor(e,t,n){this.dom=[],this.root=new N(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,"function"==typeof t&&(n=t,t=R),"object"==typeof e&&(t=e,e=void 0),this.callback=null!=e?e:null,this.options=null!=t?t:R,this.elementCB=null!=n?n:null}onparserinit(e){this.parser=e}onreset(){this.dom=[],this.root=new N(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null}onend(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))}onerror(e){this.handleCallback(e)}onclosetag(){this.lastNode=null;const e=this.tagStack.pop();this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(e)}onopentag(t,n){const r=this.options.xmlMode?e.Tag:void 0,i=new C(t,n,void 0,r);this.addNode(i),this.tagStack.push(i)}ontext(t){const{lastNode:n}=this;if(n&&n.type===e.Text)n.data+=t,this.options.withEndIndices&&(n.endIndex=this.parser.endIndex);else{const e=new m(t);this.addNode(e),this.lastNode=e}}oncomment(t){if(this.lastNode&&this.lastNode.type===e.Comment)return void(this.lastNode.data+=t);const n=new T(t);this.addNode(n),this.lastNode=n}oncommentend(){this.lastNodLine truncated
|
||||
+6191
File diff suppressed because it is too large.
Load diff
Vendored
+11
-3043
File diff suppressed because it is too large.
Load diff
+82
-112
@@ -20,11 +20,11 @@
|
||||
*/
|
||||
/*global require, exports, module, define */
|
||||
|
||||
(function(global, factory) {
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
||||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jinja = {}));
|
||||
})(this, (function(jinja) {
|
||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jinja = {}));
|
||||
})(this, (function (jinja) {
|
||||
"use strict";
|
||||
var STRINGS = /'(\\.|[^'])*'|"(\\.|[^"'"])*"/g;
|
||||
var IDENTS_AND_NUMS = /([$_a-z][$\w]*)|([+-]?\d+(\.\d+)?)/g;
|
||||
@@ -77,22 +77,20 @@
|
||||
this.isSilent = false;
|
||||
}
|
||||
|
||||
Parser.prototype.push = function(line) {
|
||||
Parser.prototype.push = function (line) {
|
||||
if (!this.isSilent) {
|
||||
this.compiled.push(line);
|
||||
}
|
||||
};
|
||||
|
||||
Parser.prototype.parse = function(src) {
|
||||
Parser.prototype.parse = function (src) {
|
||||
this.tokenize(src);
|
||||
return this.compiled;
|
||||
};
|
||||
|
||||
Parser.prototype.tokenize = function(src) {
|
||||
var lastEnd = 0,
|
||||
parser = this,
|
||||
trimLeading = false;
|
||||
matchAll(src, START_TOKEN, function(open, index, src) {
|
||||
Parser.prototype.tokenize = function (src) {
|
||||
var lastEnd = 0, parser = this, trimLeading = false;
|
||||
matchAll(src, START_TOKEN, function (open, index, src) {
|
||||
//here we match the rest of the src against a regex for this tag
|
||||
var match = src.slice(index + open.length).match(TAGS[open]);
|
||||
match = (match ? match[0] : '');
|
||||
@@ -129,11 +127,11 @@
|
||||
this.textHandler(text);
|
||||
};
|
||||
|
||||
Parser.prototype.textHandler = function(text) {
|
||||
Parser.prototype.textHandler = function (text) {
|
||||
this.push('write(' + JSON.stringify(text) + ');');
|
||||
};
|
||||
|
||||
Parser.prototype.tokenHandler = function(open, inner) {
|
||||
Parser.prototype.tokenHandler = function (open, inner) {
|
||||
var type = delimeters[open];
|
||||
if (type === 'directive') {
|
||||
this.compileTag(inner);
|
||||
@@ -142,7 +140,7 @@
|
||||
//replace || operators with ~
|
||||
extracted.src = extracted.src.replace(/\|\|/g, '~').split('|');
|
||||
//put back || operators
|
||||
extracted.src = extracted.src.map(function(part) {
|
||||
extracted.src = extracted.src.map(function (part) {
|
||||
return part.split('~').join('||');
|
||||
});
|
||||
var parts = this.injectEnt(extracted, '@');
|
||||
@@ -155,7 +153,7 @@
|
||||
}
|
||||
};
|
||||
|
||||
Parser.prototype.compileTag = function(str) {
|
||||
Parser.prototype.compileTag = function (str) {
|
||||
var directive = str.split(' ')[0];
|
||||
var handler = tagHandlers[directive];
|
||||
if (!handler) {
|
||||
@@ -164,23 +162,20 @@
|
||||
handler.call(this, str.slice(directive.length).trim());
|
||||
};
|
||||
|
||||
Parser.prototype.parseFilter = function(src) {
|
||||
Parser.prototype.parseFilter = function (src) {
|
||||
src = src.trim();
|
||||
var match = src.match(/[:(]/);
|
||||
var i = match ? match.index : -1;
|
||||
if (i < 0) return JSON.stringify([src]);
|
||||
var name = src.slice(0, i);
|
||||
var args = src.charAt(i) === ':' ? src.slice(i + 1) : src.slice(i + 1, -1);
|
||||
args = this.parseExpr(args, {
|
||||
terms: true
|
||||
});
|
||||
args = this.parseExpr(args, {terms: true});
|
||||
return '[' + JSON.stringify(name) + ',' + args + ']';
|
||||
};
|
||||
|
||||
Parser.prototype.extractEnt = function(src, regex, placeholder) {
|
||||
var subs = [],
|
||||
isFunc = typeof placeholder == 'function';
|
||||
src = src.replace(regex, function(str) {
|
||||
Parser.prototype.extractEnt = function (src, regex, placeholder) {
|
||||
var subs = [], isFunc = typeof placeholder == 'function';
|
||||
src = src.replace(regex, function (str) {
|
||||
var replacement = isFunc ? placeholder(str) : placeholder;
|
||||
if (replacement) {
|
||||
subs.push(str);
|
||||
@@ -188,21 +183,15 @@
|
||||
}
|
||||
return str;
|
||||
});
|
||||
return {
|
||||
src: src,
|
||||
subs: subs
|
||||
};
|
||||
return {src: src, subs: subs};
|
||||
};
|
||||
|
||||
Parser.prototype.injectEnt = function(extracted, placeholder) {
|
||||
var src = extracted.src,
|
||||
subs = extracted.subs,
|
||||
isArr = Array.isArray(src);
|
||||
Parser.prototype.injectEnt = function (extracted, placeholder) {
|
||||
var src = extracted.src, subs = extracted.subs, isArr = Array.isArray(src);
|
||||
var arr = (isArr) ? src : [src];
|
||||
var re = new RegExp('[' + placeholder + ']', 'g'),
|
||||
i = 0;
|
||||
arr.forEach(function(src, index) {
|
||||
arr[index] = src.replace(re, function() {
|
||||
var re = new RegExp('[' + placeholder + ']', 'g'), i = 0;
|
||||
arr.forEach(function (src, index) {
|
||||
arr[index] = src.replace(re, function () {
|
||||
return subs[i++];
|
||||
});
|
||||
});
|
||||
@@ -210,7 +199,7 @@
|
||||
};
|
||||
|
||||
//replace complex literals without mistaking subscript notation with array literals
|
||||
Parser.prototype.replaceComplex = function(s) {
|
||||
Parser.prototype.replaceComplex = function (s) {
|
||||
var parsed = this.extractEnt(s, /i(\.i|\[[@#i]\])+/g, 'v');
|
||||
parsed.src = parsed.src.replace(NON_PRIMITIVES, '~');
|
||||
return this.injectEnt(parsed, 'v');
|
||||
@@ -218,17 +207,17 @@
|
||||
|
||||
//parse expression containing literals (including objects/arrays) and variables (including dot and subscript notation)
|
||||
//valid expressions: `a + 1 > b.c or c == null`, `a and b[1] != c`, `(a < b) or (c < d and e)`, 'a || [1]`
|
||||
Parser.prototype.parseExpr = function(src, opts) {
|
||||
Parser.prototype.parseExpr = function (src, opts) {
|
||||
opts = opts || {};
|
||||
//extract string literals -> @
|
||||
var parsed1 = this.extractEnt(src, STRINGS, '@');
|
||||
//note: this will catch {not: 1} and a.is; could we replace temporarily and then check adjacent chars?
|
||||
parsed1.src = parsed1.src.replace(EOPS, function(s, before, op, after) {
|
||||
parsed1.src = parsed1.src.replace(EOPS, function (s, before, op, after) {
|
||||
return (op in operators) ? before + operators[op] + after : s;
|
||||
});
|
||||
//sub out non-string literals (numbers/true/false/null) -> #
|
||||
// the distinction is necessary because @ can be object identifiers, # cannot
|
||||
var parsed2 = this.extractEnt(parsed1.src, IDENTS_AND_NUMS, function(s) {
|
||||
var parsed2 = this.extractEnt(parsed1.src, IDENTS_AND_NUMS, function (s) {
|
||||
return (s in constants || NUMBER.test(s)) ? '#' : null;
|
||||
});
|
||||
//sub out object/variable identifiers -> i
|
||||
@@ -240,10 +229,10 @@
|
||||
var simplified = parsed3.src;
|
||||
//sub out complex literals (objects/arrays) -> ~
|
||||
// the distinction is necessary because @ and # can be subscripts but ~ cannot
|
||||
while (simplified !== (simplified = this.replaceComplex(simplified)));
|
||||
while (simplified !== (simplified = this.replaceComplex(simplified))) ;
|
||||
//now @ represents strings, # represents other primitives and ~ represents non-primitives
|
||||
//replace complex variables (those with dot/subscript accessors) -> v
|
||||
while (simplified !== (simplified = simplified.replace(/i(\.i|\[[@#i]\])+/, 'v')));
|
||||
while (simplified !== (simplified = simplified.replace(/i(\.i|\[[@#i]\])+/, 'v'))) ;
|
||||
//empty subscript or complex variables in subscript, are not permitted
|
||||
simplified = simplified.replace(/[iv]\[v?\]/g, 'x');
|
||||
//sub in "i" for @ and # and ~ and v (now "i" represents all literals, variables and identifiers)
|
||||
@@ -253,9 +242,9 @@
|
||||
//allow 'not' unary operator
|
||||
simplified = simplified.replace(/!+[i]/g, 'i');
|
||||
var terms = opts.terms ? simplified.split(',') : [simplified];
|
||||
terms.forEach(function(term) {
|
||||
terms.forEach(function (term) {
|
||||
//simplify logical grouping
|
||||
while (term !== (term = term.replace(/\(i(%i)*\)/g, 'i')));
|
||||
while (term !== (term = term.replace(/\(i(%i)*\)/g, 'i'))) ;
|
||||
if (!term.match(/^i(%i)*/)) {
|
||||
throw new Error('Invalid expression: ' + src + " " + term);
|
||||
}
|
||||
@@ -266,16 +255,15 @@
|
||||
return this.injectEnt(parsed1, '@');
|
||||
};
|
||||
|
||||
Parser.prototype.parseVar = function(src) {
|
||||
Parser.prototype.parseVar = function (src) {
|
||||
var args = Array.prototype.slice.call(arguments);
|
||||
var str = args.pop(),
|
||||
index = args.pop();
|
||||
var str = args.pop(), index = args.pop();
|
||||
//quote bare object identifiers (might be a reserved word like {while: 1})
|
||||
if (src === 'i' && str.charAt(index + 1) === ':') {
|
||||
return '"i"';
|
||||
}
|
||||
var parts = ['"i"'];
|
||||
src.replace(ACCESSOR, function(part) {
|
||||
src.replace(ACCESSOR, function (part) {
|
||||
if (part === '.i') {
|
||||
parts.push('"i"');
|
||||
} else if (part === '[i]') {
|
||||
@@ -288,15 +276,15 @@
|
||||
};
|
||||
|
||||
//escapes a name to be used as a javascript identifier
|
||||
Parser.prototype.escName = function(str) {
|
||||
return str.replace(/\W/g, function(s) {
|
||||
Parser.prototype.escName = function (str) {
|
||||
return str.replace(/\W/g, function (s) {
|
||||
return '$' + s.charCodeAt(0).toString(16);
|
||||
});
|
||||
};
|
||||
|
||||
Parser.prototype.parseQuoted = function(str) {
|
||||
Parser.prototype.parseQuoted = function (str) {
|
||||
if (str.charAt(0) === "'") {
|
||||
str = str.slice(1, -1).replace(/\\.|"/, function(s) {
|
||||
str = str.slice(1, -1).replace(/\\.|"/, function (s) {
|
||||
if (s === "\\'") return "'";
|
||||
return s.charAt(0) === '\\' ? s : ('\\' + s);
|
||||
});
|
||||
@@ -309,48 +297,48 @@
|
||||
|
||||
//the context 'this' inside tagHandlers is the parser instance
|
||||
var tagHandlers = {
|
||||
'if': function(expr) {
|
||||
'if': function (expr) {
|
||||
this.push('if (' + this.parseExpr(expr) + ') {');
|
||||
this.nest.unshift('if');
|
||||
},
|
||||
'else': function() {
|
||||
'else': function () {
|
||||
if (this.nest[0] === 'for') {
|
||||
this.push('}, function() {');
|
||||
} else {
|
||||
this.push('} else {');
|
||||
}
|
||||
},
|
||||
'elseif': function(expr) {
|
||||
'elseif': function (expr) {
|
||||
this.push('} else if (' + this.parseExpr(expr) + ') {');
|
||||
},
|
||||
'endif': function() {
|
||||
'endif': function () {
|
||||
this.nest.shift();
|
||||
this.push('}');
|
||||
},
|
||||
'for': function(str) {
|
||||
'for': function (str) {
|
||||
var i = str.indexOf(' in ');
|
||||
var name = str.slice(0, i).trim();
|
||||
var expr = str.slice(i + 4).trim();
|
||||
this.push('each(' + this.parseExpr(expr) + ',' + JSON.stringify(name) + ',function() {');
|
||||
this.nest.unshift('for');
|
||||
},
|
||||
'endfor': function() {
|
||||
'endfor': function () {
|
||||
this.nest.shift();
|
||||
this.push('});');
|
||||
},
|
||||
'raw': function() {
|
||||
'raw': function () {
|
||||
this.rawMode = true;
|
||||
},
|
||||
'endraw': function() {
|
||||
'endraw': function () {
|
||||
this.rawMode = false;
|
||||
},
|
||||
'set': function(stmt) {
|
||||
'set': function (stmt) {
|
||||
var i = stmt.indexOf('=');
|
||||
var name = stmt.slice(0, i).trim();
|
||||
var expr = stmt.slice(i + 1).trim();
|
||||
this.push('set(' + JSON.stringify(name) + ',' + this.parseExpr(expr) + ');');
|
||||
},
|
||||
'block': function(name) {
|
||||
'block': function (name) {
|
||||
if (this.isParent) {
|
||||
++this.parentBlocks;
|
||||
var blockName = 'block_' + (this.escName(name) || this.parentBlocks);
|
||||
@@ -363,7 +351,7 @@
|
||||
}
|
||||
this.nest.unshift('block');
|
||||
},
|
||||
'endblock': function() {
|
||||
'endblock': function () {
|
||||
this.nest.shift();
|
||||
if (this.isParent) {
|
||||
this.push('});');
|
||||
@@ -372,7 +360,7 @@
|
||||
this.isSilent = true;
|
||||
}
|
||||
},
|
||||
'extends': function(name) {
|
||||
'extends': function (name) {
|
||||
name = this.parseQuoted(name);
|
||||
var parentSrc = this.readTemplateFile(name);
|
||||
this.isParent = true;
|
||||
@@ -382,7 +370,7 @@
|
||||
//silence output until we enter a child block
|
||||
this.isSilent = true;
|
||||
},
|
||||
'include': function(name) {
|
||||
'include': function (name) {
|
||||
name = this.parseQuoted(name);
|
||||
var incSrc = this.readTemplateFile(name);
|
||||
this.isInclude = true;
|
||||
@@ -397,31 +385,29 @@
|
||||
tagHandlers.elif = tagHandlers.elseif;
|
||||
|
||||
var getRuntime = function runtime(data, opts) {
|
||||
var defaults = {
|
||||
autoEscape: 'toJson'
|
||||
};
|
||||
var defaults = {autoEscape: 'toJson'};
|
||||
var _toString = Object.prototype.toString;
|
||||
var _hasOwnProperty = Object.prototype.hasOwnProperty;
|
||||
var getKeys = Object.keys || function(obj) {
|
||||
var getKeys = Object.keys || function (obj) {
|
||||
var keys = [];
|
||||
for (var n in obj)
|
||||
if (_hasOwnProperty.call(obj, n)) keys.push(n);
|
||||
for (var n in obj) if (_hasOwnProperty.call(obj, n)) keys.push(n);
|
||||
return keys;
|
||||
};
|
||||
var isArray = Array.isArray || function(obj) {
|
||||
var isArray = Array.isArray || function (obj) {
|
||||
return _toString.call(obj) === '[object Array]';
|
||||
};
|
||||
var create = Object.create || function(obj) {
|
||||
function F() {}
|
||||
var create = Object.create || function (obj) {
|
||||
function F() {
|
||||
}
|
||||
|
||||
F.prototype = obj;
|
||||
return new F();
|
||||
};
|
||||
var toString = function(val) {
|
||||
var toString = function (val) {
|
||||
if (val == null) return '';
|
||||
return (typeof val.toString == 'function') ? val.toString() : _toString.call(val);
|
||||
};
|
||||
var extend = function(dest, src) {
|
||||
var extend = function (dest, src) {
|
||||
var keys = getKeys(src);
|
||||
for (var i = 0, len = keys.length; i < len; i++) {
|
||||
var key = keys[i];
|
||||
@@ -430,9 +416,8 @@
|
||||
return dest;
|
||||
};
|
||||
//get a value, lexically, starting in current context; a.b -> get("a","b")
|
||||
var get = function() {
|
||||
var val, n = arguments[0],
|
||||
c = stack.length;
|
||||
var get = function () {
|
||||
var val, n = arguments[0], c = stack.length;
|
||||
while (c--) {
|
||||
val = stack[c][n];
|
||||
if (typeof val != 'undefined') break;
|
||||
@@ -444,23 +429,21 @@
|
||||
}
|
||||
return (val == null) ? '' : val;
|
||||
};
|
||||
var set = function(n, val) {
|
||||
var set = function (n, val) {
|
||||
stack[stack.length - 1][n] = val;
|
||||
};
|
||||
var push = function(ctx) {
|
||||
var push = function (ctx) {
|
||||
stack.push(ctx || {});
|
||||
};
|
||||
var pop = function() {
|
||||
var pop = function () {
|
||||
stack.pop();
|
||||
};
|
||||
var write = function(str) {
|
||||
var write = function (str) {
|
||||
output.push(str);
|
||||
};
|
||||
var filter = function(val) {
|
||||
var filter = function (val) {
|
||||
for (var i = 1, len = arguments.length; i < len; i++) {
|
||||
var arr = arguments[i],
|
||||
name = arr[0],
|
||||
filter = filters[name];
|
||||
var arr = arguments[i], name = arr[0], filter = filters[name];
|
||||
if (filter) {
|
||||
arr[0] = val;
|
||||
//now arr looks like [val, arg1, arg2]
|
||||
@@ -475,58 +458,47 @@
|
||||
}
|
||||
output.push(val);
|
||||
};
|
||||
var each = function(obj, loopvar, fn1, fn2) {
|
||||
var each = function (obj, loopvar, fn1, fn2) {
|
||||
if (obj == null) return;
|
||||
var arr = isArray(obj) ? obj : getKeys(obj),
|
||||
len = arr.length;
|
||||
var ctx = {
|
||||
loop: {
|
||||
length: len,
|
||||
first: arr[0],
|
||||
last: arr[len - 1]
|
||||
}
|
||||
};
|
||||
var arr = isArray(obj) ? obj : getKeys(obj), len = arr.length;
|
||||
var ctx = {loop: {length: len, first: arr[0], last: arr[len - 1]}};
|
||||
push(ctx);
|
||||
for (var i = 0; i < len; i++) {
|
||||
extend(ctx.loop, {
|
||||
index: i + 1,
|
||||
index0: i
|
||||
});
|
||||
extend(ctx.loop, {index: i + 1, index0: i});
|
||||
fn1(ctx[loopvar] = arr[i]);
|
||||
}
|
||||
if (len === 0 && fn2) fn2();
|
||||
pop();
|
||||
};
|
||||
var block = function(fn) {
|
||||
var block = function (fn) {
|
||||
push();
|
||||
fn();
|
||||
pop();
|
||||
};
|
||||
var render = function() {
|
||||
var render = function () {
|
||||
return output.join('');
|
||||
};
|
||||
data = data || {};
|
||||
opts = extend(defaults, opts || {});
|
||||
var filters = extend({
|
||||
html: function(val) {
|
||||
html: function (val) {
|
||||
return toString(val)
|
||||
.split('&').join('&')
|
||||
.split('<').join('<')
|
||||
.split('>').join('>')
|
||||
.split('"').join('"');
|
||||
},
|
||||
safe: function(val) {
|
||||
safe: function (val) {
|
||||
return val;
|
||||
},
|
||||
toJson: function(val) {
|
||||
toJson: function (val) {
|
||||
if (typeof val === 'object') {
|
||||
return JSON.stringify(val);
|
||||
}
|
||||
return toString(val);
|
||||
}
|
||||
}, opts.filters || {});
|
||||
var stack = [create(data || {})],
|
||||
output = [];
|
||||
var stack = [create(data || {})], output = [];
|
||||
return {
|
||||
get: get,
|
||||
set: set,
|
||||
@@ -542,7 +514,7 @@
|
||||
|
||||
var runtime;
|
||||
|
||||
jinja.compile = function(markup, opts) {
|
||||
jinja.compile = function (markup, opts) {
|
||||
opts = opts || {};
|
||||
var parser = new Parser();
|
||||
parser.readTemplateFile = this.readTemplateFile;
|
||||
@@ -559,19 +531,17 @@
|
||||
runtime = runtime || (runtime = getRuntime.toString());
|
||||
fn = new Function('data', 'options', 'return (' + code + ')((' + runtime + ')(data, options))');
|
||||
}
|
||||
return {
|
||||
render: fn
|
||||
};
|
||||
return {render: fn};
|
||||
};
|
||||
|
||||
jinja.render = function(markup, data, opts) {
|
||||
jinja.render = function (markup, data, opts) {
|
||||
var tmpl = jinja.compile(markup);
|
||||
return tmpl.render(data, opts);
|
||||
};
|
||||
|
||||
jinja.templateFiles = [];
|
||||
|
||||
jinja.readTemplateFile = function(name) {
|
||||
jinja.readTemplateFile = function (name) {
|
||||
var templateFiles = this.templateFiles || [];
|
||||
var templateFile = templateFiles[name];
|
||||
if (templateFile == null) {
|
||||
|
||||
+195
-290
@@ -18,343 +18,248 @@
|
||||
globalThis.JSEncrypt = factory();
|
||||
}
|
||||
})(this, () => {
|
||||
return /******/ (() => { // webpackBootstrap
|
||||
/******/
|
||||
var __webpack_modules__ = ({
|
||||
return /******/ (() => { // webpackBootstrap
|
||||
/******/ var __webpack_modules__ = ({
|
||||
|
||||
/***/
|
||||
"./lib/JSEncrypt.js":
|
||||
/*!**************************!*\
|
||||
!*** ./lib/JSEncrypt.js ***!
|
||||
\**************************/
|
||||
/***/
|
||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
/***/ "./lib/JSEncrypt.js":
|
||||
/*!**************************!*\
|
||||
!*** ./lib/JSEncrypt.js ***!
|
||||
\**************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* binding */ JSEncrypt)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./JSEncryptRSAKey */ \"./lib/JSEncryptRSAKey.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\nvar _a;\n\n\nvar version = typeof process !== 'undefined'\n ? (_a = process.env) === null || _a === void 0 ? void 0 : \"3.3.2\"\n : undefined;\n/**\n *\n * @param {Object} [options = {}] - An object to customize JSEncrypt behaviour\n * possible parameters are:\n * - default_key_size {number} default: 1024 the key size in bit\n * - default_public_exponent {string} default: '010001' the hexadecimal representation of the public exponent\n * - log {boolean} default: false whether log warn/error or not\n * @constructor\n */\nvar JSEncrypt = /** @class */ (function () {\n function JSEncrypt(options) {\n if (options === void 0) { options = {}; }\n options = options || {};\n this.default_key_size = options.default_key_size\n ? parseInt(options.default_key_size, 10)\n : 1024;\n this.default_public_exponent = options.default_public_exponent || \"010001\"; // 65537 default openssl public exponent for rsa key type\n this.log = options.log || false;\n // The private and public key.\n this.key = null;\n }\n /**\n * Method to set the rsa key parameter (one method is enough to set both the public\n * and the private key, since the private key contains the public key paramenters)\n * Log a warning if logs are enabled\n * @param {Object|string} key the pem encoded string or an object (with or without header/footer)\n * @public\n */\n JSEncrypt.prototype.setKey = function (key) {\n if (this.log && this.key) {\n console.warn(\"A key was already set, overriding existing.\");\n }\n this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey(key);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPrivateKey = function (privkey) {\n // Create the key.\n this.setKey(privkey);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPublicKey = function (pubkey) {\n // Sets the public key.\n this.setKey(pubkey);\n };\n /**\n * Proxy method for RSAKey object's decrypt, decrypt the string using the private\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str base64 encoded crypted string to decrypt\n * @return {string} the decrypted string\n * @public\n */\n JSEncrypt.prototype.decrypt = function (str) {\n // Return the decrypted string.\n try {\n return this.getKey().decrypt((0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's encrypt, encrypt the string using the public\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str the string to encrypt\n * @return {string} the encrypted string encoded in base64\n * @public\n */\n JSEncrypt.prototype.encrypt = function (str) {\n // Return the encrypted string.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().encrypt(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's sign.\n * @param {string} str the string to sign\n * @param {function} digestMethod hash method\n * @param {string} digestName the name of the hash algorithm\n * @return {string} the signature encoded in base64\n * @public\n */\n JSEncrypt.prototype.sign = function (str, digestMethod, digestName) {\n // return the RSA signature of 'str' in 'hex' format.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().sign(str, digestMethod, digestName));\n }\n catch (ex) {\n return false;\n }\n };\n
Line truncated
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* binding */ JSEncrypt)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./JSEncryptRSAKey */ \"./lib/JSEncryptRSAKey.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\nvar _a;\n\n\nvar version = typeof process !== 'undefined'\n ? (_a = process.env) === null || _a === void 0 ? void 0 : \"3.3.2\"\n : undefined;\n/**\n *\n * @param {Object} [options = {}] - An object to customize JSEncrypt behaviour\n * possible parameters are:\n * - default_key_size {number} default: 1024 the key size in bit\n * - default_public_exponent {string} default: '010001' the hexadecimal representation of the public exponent\n * - log {boolean} default: false whether log warn/error or not\n * @constructor\n */\nvar JSEncrypt = /** @class */ (function () {\n function JSEncrypt(options) {\n if (options === void 0) { options = {}; }\n options = options || {};\n this.default_key_size = options.default_key_size\n ? parseInt(options.default_key_size, 10)\n : 1024;\n this.default_public_exponent = options.default_public_exponent || \"010001\"; // 65537 default openssl public exponent for rsa key type\n this.log = options.log || false;\n // The private and public key.\n this.key = null;\n }\n /**\n * Method to set the rsa key parameter (one method is enough to set both the public\n * and the private key, since the private key contains the public key paramenters)\n * Log a warning if logs are enabled\n * @param {Object|string} key the pem encoded string or an object (with or without header/footer)\n * @public\n */\n JSEncrypt.prototype.setKey = function (key) {\n if (this.log && this.key) {\n console.warn(\"A key was already set, overriding existing.\");\n }\n this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey(key);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPrivateKey = function (privkey) {\n // Create the key.\n this.setKey(privkey);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPublicKey = function (pubkey) {\n // Sets the public key.\n this.setKey(pubkey);\n };\n /**\n * Proxy method for RSAKey object's decrypt, decrypt the string using the private\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str base64 encoded crypted string to decrypt\n * @return {string} the decrypted string\n * @public\n */\n JSEncrypt.prototype.decrypt = function (str) {\n // Return the decrypted string.\n try {\n return this.getKey().decrypt((0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's encrypt, encrypt the string using the public\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str the string to encrypt\n * @return {string} the encrypted string encoded in base64\n * @public\n */\n JSEncrypt.prototype.encrypt = function (str) {\n // Return the encrypted string.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().encrypt(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's sign.\n * @param {string} str the string to sign\n * @param {function} digestMethod hash method\n * @param {string} digestName the name of the hash algorithm\n * @return {string} the signature encoded in base64\n * @public\n */\n JSEncrypt.prototype.sign = function (str, digestMethod, digestName) {\n // return the RSA signature of 'str' in 'hex' format.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().sign(str, digestMethod, digestName));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy
Line truncated
|
||||
|
||||
/***/
|
||||
}),
|
||||
/***/ }),
|
||||
|
||||
/***/
|
||||
"./lib/JSEncryptRSAKey.js":
|
||||
/*!********************************!*\
|
||||
!*** ./lib/JSEncryptRSAKey.js ***!
|
||||
\********************************/
|
||||
/***/
|
||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
/***/ "./lib/JSEncryptRSAKey.js":
|
||||
/*!********************************!*\
|
||||
!*** ./lib/JSEncryptRSAKey.js ***!
|
||||
\********************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncryptRSAKey\": () => (/* binding */ JSEncryptRSAKey)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/asn1js/hex */ \"./lib/lib/asn1js/hex.js\");\n/* harmony import */ var _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/asn1js/base64 */ \"./lib/lib/asn1js/base64.js\");\n/* harmony import */ var _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/asn1js/asn1 */ \"./lib/lib/asn1js/asn1.js\");\n/* harmony import */ var _lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/jsbn/rsa */ \"./lib/lib/jsbn/rsa.js\");\n/* harmony import */ var _lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/jsrsasign/asn1-1.0 */ \"./lib/lib/jsrsasign/asn1-1.0.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n/**\n * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object.\n * This object is just a decorator for parsing the key parameter\n * @param {string|Object} key - The key in string format, or an object containing\n * the parameters needed to build a RSAKey object.\n * @constructor\n */\nvar JSEncryptRSAKey = /** @class */ (function (_super) {\n __extends(JSEncryptRSAKey, _super);\n function JSEncryptRSAKey(key) {\n var _this = _super.call(this) || this;\n // Call the super constructor.\n // RSAKey.call(this);\n // If a key key was provided.\n if (key) {\n // If this is a string...\n if (typeof key === \"string\") {\n _this.parseKey(key);\n }\n else if (JSEncryptRSAKey.hasPrivateKeyProperty(key) ||\n JSEncryptRSAKey.hasPublicKeyProperty(key)) {\n // Set the values for the key.\n _this.parsePropertiesFrom(key);\n }\n }\n return _this;\n }\n /**\n * Method to parse a pem encoded string containing both a public or private key.\n * The method will translate the pem encoded string in a der encoded string and\n * will parse private key and public key parameters. This method accepts public key\n * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1).\n *\n * @todo Check how many rsa formats use the same format of pkcs #1.\n *\n * The format is defined as:\n * PublicKeyInfo ::= SEQUENCE {\n * algorithm AlgorithmIdentifier,\n * PublicKey BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n * modulus INTEGER, -- n\n * publicExponent INTEGER -- e\n * }\n * it's possible to examine the structure of the keys obtained from openssl using\n * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/\n * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer\n * @private\n */\n JSEncryptRSAKey.prototype.parseKey = function (pem) {\n try {\n var modulus = 0;\n var public_exponent = 0;\n var reHex = /^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/;\n var der = reHex.test(pem) ? _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__.Hex.decode(pem) : _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.unarmor(pem);\n var asn1 = _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__.ASN1.decode(der);\n // Fixes a bug with OpenSSL
Line truncated
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncryptRSAKey\": () => (/* binding */ JSEncryptRSAKey)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/asn1js/hex */ \"./lib/lib/asn1js/hex.js\");\n/* harmony import */ var _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/asn1js/base64 */ \"./lib/lib/asn1js/base64.js\");\n/* harmony import */ var _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/asn1js/asn1 */ \"./lib/lib/asn1js/asn1.js\");\n/* harmony import */ var _lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/jsbn/rsa */ \"./lib/lib/jsbn/rsa.js\");\n/* harmony import */ var _lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/jsrsasign/asn1-1.0 */ \"./lib/lib/jsrsasign/asn1-1.0.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n/**\n * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object.\n * This object is just a decorator for parsing the key parameter\n * @param {string|Object} key - The key in string format, or an object containing\n * the parameters needed to build a RSAKey object.\n * @constructor\n */\nvar JSEncryptRSAKey = /** @class */ (function (_super) {\n __extends(JSEncryptRSAKey, _super);\n function JSEncryptRSAKey(key) {\n var _this = _super.call(this) || this;\n // Call the super constructor.\n // RSAKey.call(this);\n // If a key key was provided.\n if (key) {\n // If this is a string...\n if (typeof key === \"string\") {\n _this.parseKey(key);\n }\n else if (JSEncryptRSAKey.hasPrivateKeyProperty(key) ||\n JSEncryptRSAKey.hasPublicKeyProperty(key)) {\n // Set the values for the key.\n _this.parsePropertiesFrom(key);\n }\n }\n return _this;\n }\n /**\n * Method to parse a pem encoded string containing both a public or private key.\n * The method will translate the pem encoded string in a der encoded string and\n * will parse private key and public key parameters. This method accepts public key\n * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1).\n *\n * @todo Check how many rsa formats use the same format of pkcs #1.\n *\n * The format is defined as:\n * PublicKeyInfo ::= SEQUENCE {\n * algorithm AlgorithmIdentifier,\n * PublicKey BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n * modulus INTEGER, -- n\n * publicExponent INTEGER -- e\n * }\n * it's possible to examine the structure of the keys obtained from openssl using\n * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/\n * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer\n * @private\n */\n JSEncryptRSAKey.prototype.parseKey = function (pem) {\n try {\n var modulus = 0;\n var public_exponent = 0;\n var reHex = /^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/;\n var der = reHex.test(pem) ? _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__.Hex.decode(pem) : _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.unarmor(pem);\n var asn1 = _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__.ASN1.decode(der);\n // Fixes a bug with OpenSSL 1.0+ private keys\n
Line truncated
|
||||
|
||||
/***/
|
||||
}),
|
||||
/***/ }),
|
||||
|
||||
/***/
|
||||
"./lib/index.js":
|
||||
/*!**********************!*\
|
||||
!*** ./lib/index.js ***!
|
||||
\**********************/
|
||||
/***/
|
||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
/***/ "./lib/index.js":
|
||||
/*!**********************!*\
|
||||
!*** ./lib/index.js ***!
|
||||
\**********************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* reexport safe */ _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./JSEncrypt */ \"./lib/JSEncrypt.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/index.js?");
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* reexport safe */ _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./JSEncrypt */ \"./lib/JSEncrypt.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/index.js?");
|
||||
|
||||
/***/
|
||||
}),
|
||||
/***/ }),
|
||||
|
||||
/***/
|
||||
"./lib/lib/asn1js/asn1.js":
|
||||
/*!********************************!*\
|
||||
!*** ./lib/lib/asn1js/asn1.js ***!
|
||||
\********************************/
|
||||
/***/
|
||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
/***/ "./lib/lib/asn1js/asn1.js":
|
||||
/*!********************************!*\
|
||||
!*** ./lib/lib/asn1js/asn1.js ***!
|
||||
\********************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ASN1\": () => (/* binding */ ASN1),\n/* harmony export */ \"ASN1Tag\": () => (/* binding */ ASN1Tag),\n/* harmony export */ \"Stream\": () => (/* binding */ Stream)\n/* harmony export */ });\n/* harmony import */ var _int10__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./int10 */ \"./lib/lib/asn1js/int10.js\");\n// ASN.1 JavaScript decoder\n// Copyright (c) 2008-2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\n/*global oids */\n\nvar ellipsis = \"\\u2026\";\nvar reTimeS = /^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nvar reTimeL = /^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nfunction stringCut(str, len) {\n if (str.length > len) {\n str = str.substring(0, len) + ellipsis;\n }\n return str;\n}\nvar Stream = /** @class */ (function () {\n function Stream(enc, pos) {\n this.hexDigits = \"0123456789ABCDEF\";\n if (enc instanceof Stream) {\n this.enc = enc.enc;\n this.pos = enc.pos;\n }\n else {\n // enc should be an array or a binary string\n this.enc = enc;\n this.pos = pos;\n }\n }\n Stream.prototype.get = function (pos) {\n if (pos === undefined) {\n pos = this.pos++;\n }\n if (pos >= this.enc.length) {\n throw new Error(\"Requesting byte offset \".concat(pos, \" on a stream of length \").concat(this.enc.length));\n }\n return (\"string\" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos];\n };\n Stream.prototype.hexByte = function (b) {\n return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF);\n };\n Stream.prototype.hexDump = function (start, end, raw) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += this.hexByte(this.get(i));\n if (raw !== true) {\n switch (i & 0xF) {\n case 0x7:\n s += \" \";\n break;\n case 0xF:\n s += \"\\n\";\n break;\n default:\n s += \" \";\n }\n }\n }\n return s;\n };\n Stream.prototype.isASCII = function (start, end) {\n for (var i = start; i < end; ++i) {\n var c = this.get(i);\n if (c < 32 || c > 176) {\n return false;\n }\n }\n return true;\n };\n Stream.prototype.parseStringISO = function (start, end) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += String.fromCharCode(this.get(i));\n }\n return s;\n };\n Stream.prototype.parseStringUTF = function (start, end) {\n var s = \"\";\n for (var i = start; i < end;) {\n var c = this.get(i++);\n if (c < 128) {\n s += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F));\n }\n else {\n s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F));\n }\n }\n return s;\n };\n Stream.prototype.parseStringBMP = function (start, end) {\n var str = \"\";\n var hi;\n var lo;\n for (var i = start; i < end;) {\n hi = this.get(i++);\n lo = this.get(i++);\n str += String.fromCharCode((hi << 8) | lo);\n }\n return str;\n };\n Stream.prototype.parseTime = function (start, end, shortYear) {\n var s = this.parseStringISO(start, end);\n var m = (shoLine truncated
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ASN1\": () => (/* binding */ ASN1),\n/* harmony export */ \"ASN1Tag\": () => (/* binding */ ASN1Tag),\n/* harmony export */ \"Stream\": () => (/* binding */ Stream)\n/* harmony export */ });\n/* harmony import */ var _int10__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./int10 */ \"./lib/lib/asn1js/int10.js\");\n// ASN.1 JavaScript decoder\n// Copyright (c) 2008-2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\n/*global oids */\n\nvar ellipsis = \"\\u2026\";\nvar reTimeS = /^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nvar reTimeL = /^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nfunction stringCut(str, len) {\n if (str.length > len) {\n str = str.substring(0, len) + ellipsis;\n }\n return str;\n}\nvar Stream = /** @class */ (function () {\n function Stream(enc, pos) {\n this.hexDigits = \"0123456789ABCDEF\";\n if (enc instanceof Stream) {\n this.enc = enc.enc;\n this.pos = enc.pos;\n }\n else {\n // enc should be an array or a binary string\n this.enc = enc;\n this.pos = pos;\n }\n }\n Stream.prototype.get = function (pos) {\n if (pos === undefined) {\n pos = this.pos++;\n }\n if (pos >= this.enc.length) {\n throw new Error(\"Requesting byte offset \".concat(pos, \" on a stream of length \").concat(this.enc.length));\n }\n return (\"string\" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos];\n };\n Stream.prototype.hexByte = function (b) {\n return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF);\n };\n Stream.prototype.hexDump = function (start, end, raw) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += this.hexByte(this.get(i));\n if (raw !== true) {\n switch (i & 0xF) {\n case 0x7:\n s += \" \";\n break;\n case 0xF:\n s += \"\\n\";\n break;\n default:\n s += \" \";\n }\n }\n }\n return s;\n };\n Stream.prototype.isASCII = function (start, end) {\n for (var i = start; i < end; ++i) {\n var c = this.get(i);\n if (c < 32 || c > 176) {\n return false;\n }\n }\n return true;\n };\n Stream.prototype.parseStringISO = function (start, end) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += String.fromCharCode(this.get(i));\n }\n return s;\n };\n Stream.prototype.parseStringUTF = function (start, end) {\n var s = \"\";\n for (var i = start; i < end;) {\n var c = this.get(i++);\n if (c < 128) {\n s += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F));\n }\n else {\n s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F));\n }\n }\n return s;\n };\n Stream.prototype.parseStringBMP = function (start, end) {\n var str = \"\";\n var hi;\n var lo;\n for (var i = start; i < end;) {\n hi = this.get(i++);\n lo = this.get(i++);\n str += String.fromCharCode((hi << 8) | lo);\n }\n return str;\n };\n Stream.prototype.parseTime = function (start, end, shortYear) {\n var s = this.parseStringISO(start, end);\n var m = (shortYear ? reTimeS : rLine truncated
|
||||
|
||||
/***/
|
||||
}),
|
||||
/***/ }),
|
||||
|
||||
/***/
|
||||
"./lib/lib/asn1js/base64.js":
|
||||
/*!**********************************!*\
|
||||
!*** ./lib/lib/asn1js/base64.js ***!
|
||||
\**********************************/
|
||||
/***/
|
||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
/***/ "./lib/lib/asn1js/base64.js":
|
||||
/*!**********************************!*\
|
||||
!*** ./lib/lib/asn1js/base64.js ***!
|
||||
\**********************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Base64\": () => (/* binding */ Base64)\n/* harmony export */ });\n// Base64 JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Base64 = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var ignore = \"= \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = Object.create(null);\n for (i = 0; i < 64; ++i) {\n decoder[b64.charAt(i)] = i;\n }\n decoder['-'] = 62; //+\n decoder['_'] = 63; //-\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 4) {\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n out[out.length] = bits & 0xFF;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 6;\n }\n }\n switch (char_count) {\n case 1:\n throw new Error(\"Base64 encoding incomplete: at least 2 bits missing\");\n case 2:\n out[out.length] = (bits >> 10);\n break;\n case 3:\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n break;\n }\n return out;\n },\n re: /-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,\n unarmor: function (a) {\n var m = Base64.re.exec(a);\n if (m) {\n if (m[1]) {\n a = m[1];\n }\n else if (m[2]) {\n a = m[2];\n }\n else {\n throw new Error(\"RegExp out of sync\");\n }\n }\n return Base64.decode(a);\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/base64.js?");
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Base64\": () => (/* binding */ Base64)\n/* harmony export */ });\n// Base64 JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Base64 = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var ignore = \"= \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = Object.create(null);\n for (i = 0; i < 64; ++i) {\n decoder[b64.charAt(i)] = i;\n }\n decoder['-'] = 62; //+\n decoder['_'] = 63; //-\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 4) {\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n out[out.length] = bits & 0xFF;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 6;\n }\n }\n switch (char_count) {\n case 1:\n throw new Error(\"Base64 encoding incomplete: at least 2 bits missing\");\n case 2:\n out[out.length] = (bits >> 10);\n break;\n case 3:\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n break;\n }\n return out;\n },\n re: /-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,\n unarmor: function (a) {\n var m = Base64.re.exec(a);\n if (m) {\n if (m[1]) {\n a = m[1];\n }\n else if (m[2]) {\n a = m[2];\n }\n else {\n throw new Error(\"RegExp out of sync\");\n }\n }\n return Base64.decode(a);\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/base64.js?");
|
||||
|
||||
/***/
|
||||
}),
|
||||
/***/ }),
|
||||
|
||||
/***/
|
||||
"./lib/lib/asn1js/hex.js":
|
||||
/*!*******************************!*\
|
||||
!*** ./lib/lib/asn1js/hex.js ***!
|
||||
\*******************************/
|
||||
/***/
|
||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
/***/ "./lib/lib/asn1js/hex.js":
|
||||
/*!*******************************!*\
|
||||
!*** ./lib/lib/asn1js/hex.js ***!
|
||||
\*******************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Hex\": () => (/* binding */ Hex)\n/* harmony export */ });\n// Hex JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Hex = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var hex = \"0123456789ABCDEF\";\n var ignore = \" \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = {};\n for (i = 0; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n hex = hex.toLowerCase();\n for (i = 10; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 2) {\n out[out.length] = bits;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 4;\n }\n }\n if (char_count) {\n throw new Error(\"Hex encoding incomplete: 4 bits missing\");\n }\n return out;\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/hex.js?");
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Hex\": () => (/* binding */ Hex)\n/* harmony export */ });\n// Hex JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Hex = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var hex = \"0123456789ABCDEF\";\n var ignore = \" \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = {};\n for (i = 0; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n hex = hex.toLowerCase();\n for (i = 10; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 2) {\n out[out.length] = bits;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 4;\n }\n }\n if (char_count) {\n throw new Error(\"Hex encoding incomplete: 4 bits missing\");\n }\n return out;\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/hex.js?");
|
||||
|
||||
/***/
|
||||
}),
|
||||
/***/ }),
|
||||
|
||||
/***/
|
||||
"./lib/lib/asn1js/int10.js":
|
||||
/*!*********************************!*\
|
||||
!*** ./lib/lib/asn1js/int10.js ***!
|
||||
\*********************************/
|
||||
/***/
|
||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
/***/ "./lib/lib/asn1js/int10.js":
|
||||
/*!*********************************!*\
|
||||
!*** ./lib/lib/asn1js/int10.js ***!
|
||||
\*********************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Int10\": () => (/* binding */ Int10)\n/* harmony export */ });\n// Big integer base-10 printing library\n// Copyright (c) 2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256\nvar Int10 = /** @class */ (function () {\n function Int10(value) {\n this.buf = [+value || 0];\n }\n Int10.prototype.mulAdd = function (m, c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] * m + c;\n if (t < max) {\n c = 0;\n }\n else {\n c = 0 | (t / max);\n t -= c * max;\n }\n b[i] = t;\n }\n if (c > 0) {\n b[i] = c;\n }\n };\n Int10.prototype.sub = function (c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] - c;\n if (t < 0) {\n t += max;\n c = 1;\n }\n else {\n c = 0;\n }\n b[i] = t;\n }\n while (b[b.length - 1] === 0) {\n b.pop();\n }\n };\n Int10.prototype.toString = function (base) {\n if ((base || 10) != 10) {\n throw new Error(\"only base 10 is supported\");\n }\n var b = this.buf;\n var s = b[b.length - 1].toString();\n for (var i = b.length - 2; i >= 0; --i) {\n s += (max + b[i]).toString().substring(1);\n }\n return s;\n };\n Int10.prototype.valueOf = function () {\n var b = this.buf;\n var v = 0;\n for (var i = b.length - 1; i >= 0; --i) {\n v = v * max + b[i];\n }\n return v;\n };\n Int10.prototype.simplify = function () {\n var b = this.buf;\n return (b.length == 1) ? b[0] : this;\n };\n return Int10;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/int10.js?");
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Int10\": () => (/* binding */ Int10)\n/* harmony export */ });\n// Big integer base-10 printing library\n// Copyright (c) 2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256\nvar Int10 = /** @class */ (function () {\n function Int10(value) {\n this.buf = [+value || 0];\n }\n Int10.prototype.mulAdd = function (m, c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] * m + c;\n if (t < max) {\n c = 0;\n }\n else {\n c = 0 | (t / max);\n t -= c * max;\n }\n b[i] = t;\n }\n if (c > 0) {\n b[i] = c;\n }\n };\n Int10.prototype.sub = function (c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] - c;\n if (t < 0) {\n t += max;\n c = 1;\n }\n else {\n c = 0;\n }\n b[i] = t;\n }\n while (b[b.length - 1] === 0) {\n b.pop();\n }\n };\n Int10.prototype.toString = function (base) {\n if ((base || 10) != 10) {\n throw new Error(\"only base 10 is supported\");\n }\n var b = this.buf;\n var s = b[b.length - 1].toString();\n for (var i = b.length - 2; i >= 0; --i) {\n s += (max + b[i]).toString().substring(1);\n }\n return s;\n };\n Int10.prototype.valueOf = function () {\n var b = this.buf;\n var v = 0;\n for (var i = b.length - 1; i >= 0; --i) {\n v = v * max + b[i];\n }\n return v;\n };\n Int10.prototype.simplify = function () {\n var b = this.buf;\n return (b.length == 1) ? b[0] : this;\n };\n return Int10;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/int10.js?");
|
||||
|
||||
/***/
|
||||
}),
|
||||
/***/ }),
|
||||
|
||||
/***/
|
||||
"./lib/lib/jsbn/base64.js":
|
||||
/*!********************************!*\
|
||||
!*** ./lib/lib/jsbn/base64.js ***!
|
||||
\********************************/
|
||||
/***/
|
||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
/***/ "./lib/lib/jsbn/base64.js":
|
||||
/*!********************************!*\
|
||||
!*** ./lib/lib/jsbn/base64.js ***!
|
||||
\********************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"b64toBA\": () => (/* binding */ b64toBA),\n/* harmony export */ \"b64tohex\": () => (/* binding */ b64tohex),\n/* harmony export */ \"hex2b64\": () => (/* binding */ hex2b64)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n\nvar b64map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar b64pad = \"=\";\nfunction hex2b64(h) {\n var i;\n var c;\n var ret = \"\";\n for (i = 0; i + 3 <= h.length; i += 3) {\n c = parseInt(h.substring(i, i + 3), 16);\n ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63);\n }\n if (i + 1 == h.length) {\n c = parseInt(h.substring(i, i + 1), 16);\n ret += b64map.charAt(c << 2);\n }\n else if (i + 2 == h.length) {\n c = parseInt(h.substring(i, i + 2), 16);\n ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4);\n }\n while ((ret.length & 3) > 0) {\n ret += b64pad;\n }\n return ret;\n}\n// convert a base64 string to hex\nfunction b64tohex(s) {\n var ret = \"\";\n var i;\n var k = 0; // b64 state, 0-3\n var slop = 0;\n for (i = 0; i < s.length; ++i) {\n if (s.charAt(i) == b64pad) {\n break;\n }\n var v = b64map.indexOf(s.charAt(i));\n if (v < 0) {\n continue;\n }\n if (k == 0) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 1;\n }\n else if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n slop = v & 0xf;\n k = 2;\n }\n else if (k == 2) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop);\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 3;\n }\n else {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v & 0xf);\n k = 0;\n }\n }\n if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop << 2);\n }\n return ret;\n}\n// convert a base64 string to a byte/number array\nfunction b64toBA(s) {\n // piggyback on b64tohex for now, optimize later\n var h = b64tohex(s);\n var i;\n var a = [];\n for (i = 0; 2 * i < h.length; ++i) {\n a[i] = parseInt(h.substring(2 * i, 2 * i + 2), 16);\n }\n return a;\n}\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/base64.js?");
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"b64toBA\": () => (/* binding */ b64toBA),\n/* harmony export */ \"b64tohex\": () => (/* binding */ b64tohex),\n/* harmony export */ \"hex2b64\": () => (/* binding */ hex2b64)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n\nvar b64map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar b64pad = \"=\";\nfunction hex2b64(h) {\n var i;\n var c;\n var ret = \"\";\n for (i = 0; i + 3 <= h.length; i += 3) {\n c = parseInt(h.substring(i, i + 3), 16);\n ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63);\n }\n if (i + 1 == h.length) {\n c = parseInt(h.substring(i, i + 1), 16);\n ret += b64map.charAt(c << 2);\n }\n else if (i + 2 == h.length) {\n c = parseInt(h.substring(i, i + 2), 16);\n ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4);\n }\n while ((ret.length & 3) > 0) {\n ret += b64pad;\n }\n return ret;\n}\n// convert a base64 string to hex\nfunction b64tohex(s) {\n var ret = \"\";\n var i;\n var k = 0; // b64 state, 0-3\n var slop = 0;\n for (i = 0; i < s.length; ++i) {\n if (s.charAt(i) == b64pad) {\n break;\n }\n var v = b64map.indexOf(s.charAt(i));\n if (v < 0) {\n continue;\n }\n if (k == 0) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 1;\n }\n else if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n slop = v & 0xf;\n k = 2;\n }\n else if (k == 2) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop);\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 3;\n }\n else {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v & 0xf);\n k = 0;\n }\n }\n if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop << 2);\n }\n return ret;\n}\n// convert a base64 string to a byte/number array\nfunction b64toBA(s) {\n // piggyback on b64tohex for now, optimize later\n var h = b64tohex(s);\n var i;\n var a = [];\n for (i = 0; 2 * i < h.length; ++i) {\n a[i] = parseInt(h.substring(2 * i, 2 * i + 2), 16);\n }\n return a;\n}\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/base64.js?");
|
||||
|
||||
/***/
|
||||
}),
|
||||
/***/ }),
|
||||
|
||||
/***/
|
||||
"./lib/lib/jsbn/jsbn.js":
|
||||
/*!******************************!*\
|
||||
!*** ./lib/lib/jsbn/jsbn.js ***!
|
||||
\******************************/
|
||||
/***/
|
||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
/***/ "./lib/lib/jsbn/jsbn.js":
|
||||
/*!******************************!*\
|
||||
!*** ./lib/lib/jsbn/jsbn.js ***!
|
||||
\******************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BigInteger\": () => (/* binding */ BigInteger),\n/* harmony export */ \"intAt\": () => (/* binding */ intAt),\n/* harmony export */ \"nbi\": () => (/* binding */ nbi),\n/* harmony export */ \"nbits\": () => (/* binding */ nbits),\n/* harmony export */ \"nbv\": () => (/* binding */ nbv),\n/* harmony export */ \"parseBigInt\": () => (/* binding */ parseBigInt)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n// Copyright (c) 2005 Tom Wu\n// All Rights Reserved.\n// See \"LICENSE\" for details.\n// Basic JavaScript BN library - subset useful for RSA encryption.\n\n// Bits per digit\nvar dbits;\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = ((canary & 0xffffff) == 0xefcafe);\n//#region\nvar lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\n//#endregion\n// (public) Constructor\nvar BigInteger = /** @class */ (function () {\n function BigInteger(a, b, c) {\n if (a != null) {\n if (\"number\" == typeof a) {\n this.fromNumber(a, b, c);\n }\n else if (b == null && \"string\" != typeof a) {\n this.fromString(a, 256);\n }\n else {\n this.fromString(a, b);\n }\n }\n }\n //#region PUBLIC\n // BigInteger.prototype.toString = bnToString;\n // (public) return string representation in given radix\n BigInteger.prototype.toString = function (b) {\n if (this.s < 0) {\n return \"-\" + this.negate().toString(b);\n }\n var k;\n if (b == 16) {\n k = 4;\n }\n else if (b == 8) {\n k = 3;\n }\n else if (b == 2) {\n k = 1;\n }\n else if (b == 32) {\n k = 5;\n }\n else if (b == 4) {\n k = 2;\n }\n else {\n return this.toRadix(b);\n }\n var km = (1 << k) - 1;\n var d;\n var m = false;\n var r = \"\";\n var i = this.t;\n var p = this.DB - (i * this.DB) % k;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & ((1 << p) - 1)) << (k - p);\n d |= this[--i] >> (p += this.DB - k);\n }\n else {\n d = (this[i] >> (p -= k)) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0) {\n m = true;\n }\n if (m) {\n r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n }\n }\n return m ? r : \"0\";\n };\n // BigInteger.prototype.negate = bnNegate;\n // (public) -this\n BigInteger.prototype.negate = function () {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n };\n // BigInteger.prototype.abs = bnAbs;\n // (public) |this|\n BigInteger.prototype.abs = function () {\n return (this.s < 0) ? this.negate() : this;\n };\n // BigInteger.prototype.compareTo = bnCompareTo;\n // (public) return + if this > a, - if this < a, 0 if equal\n BigInteger.prototype.compareTo = function (a) {\n var r = this.s - a.s;\n if (r != 0) {\n return r;\n }\n var i = this.t;\n r = i - a.t;\n if (r != 0) {\n return (this.s < 0) ? -r : r;\n }\n while (--i >= 0) {\n if ((r = this[i] - a[i]) != 0) {\n return r;\n }\n }\n return 0;\n };\n // BigInteger.protot
Line truncated
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BigInteger\": () => (/* binding */ BigInteger),\n/* harmony export */ \"intAt\": () => (/* binding */ intAt),\n/* harmony export */ \"nbi\": () => (/* binding */ nbi),\n/* harmony export */ \"nbits\": () => (/* binding */ nbits),\n/* harmony export */ \"nbv\": () => (/* binding */ nbv),\n/* harmony export */ \"parseBigInt\": () => (/* binding */ parseBigInt)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n// Copyright (c) 2005 Tom Wu\n// All Rights Reserved.\n// See \"LICENSE\" for details.\n// Basic JavaScript BN library - subset useful for RSA encryption.\n\n// Bits per digit\nvar dbits;\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = ((canary & 0xffffff) == 0xefcafe);\n//#region\nvar lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\n//#endregion\n// (public) Constructor\nvar BigInteger = /** @class */ (function () {\n function BigInteger(a, b, c) {\n if (a != null) {\n if (\"number\" == typeof a) {\n this.fromNumber(a, b, c);\n }\n else if (b == null && \"string\" != typeof a) {\n this.fromString(a, 256);\n }\n else {\n this.fromString(a, b);\n }\n }\n }\n //#region PUBLIC\n // BigInteger.prototype.toString = bnToString;\n // (public) return string representation in given radix\n BigInteger.prototype.toString = function (b) {\n if (this.s < 0) {\n return \"-\" + this.negate().toString(b);\n }\n var k;\n if (b == 16) {\n k = 4;\n }\n else if (b == 8) {\n k = 3;\n }\n else if (b == 2) {\n k = 1;\n }\n else if (b == 32) {\n k = 5;\n }\n else if (b == 4) {\n k = 2;\n }\n else {\n return this.toRadix(b);\n }\n var km = (1 << k) - 1;\n var d;\n var m = false;\n var r = \"\";\n var i = this.t;\n var p = this.DB - (i * this.DB) % k;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & ((1 << p) - 1)) << (k - p);\n d |= this[--i] >> (p += this.DB - k);\n }\n else {\n d = (this[i] >> (p -= k)) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0) {\n m = true;\n }\n if (m) {\n r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n }\n }\n return m ? r : \"0\";\n };\n // BigInteger.prototype.negate = bnNegate;\n // (public) -this\n BigInteger.prototype.negate = function () {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n };\n // BigInteger.prototype.abs = bnAbs;\n // (public) |this|\n BigInteger.prototype.abs = function () {\n return (this.s < 0) ? this.negate() : this;\n };\n // BigInteger.prototype.compareTo = bnCompareTo;\n // (public) return + if this > a, - if this < a, 0 if equal\n BigInteger.prototype.compareTo = function (a) {\n var r = this.s - a.s;\n if (r != 0) {\n return r;\n }\n var i = this.t;\n r = i - a.t;\n if (r != 0) {\n return (this.s < 0) ? -r : r;\n }\n while (--i >= 0) {\n if ((r = this[i] - a[i]) != 0) {\n return r;\n }\n }\n return 0;\n };\n // BigInteger.prototype.bitLength = bnBi
Line truncated
|
||||
|
||||
/***/
|
||||
}),
|
||||
/***/ }),
|
||||
|
||||
/***/
|
||||
"./lib/lib/jsbn/prng4.js":
|
||||
/*!*******************************!*\
|
||||
!*** ./lib/lib/jsbn/prng4.js ***!
|
||||
\*******************************/
|
||||
/***/
|
||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
/***/ "./lib/lib/jsbn/prng4.js":
|
||||
/*!*******************************!*\
|
||||
!*** ./lib/lib/jsbn/prng4.js ***!
|
||||
\*******************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Arcfour\": () => (/* binding */ Arcfour),\n/* harmony export */ \"prng_newstate\": () => (/* binding */ prng_newstate),\n/* harmony export */ \"rng_psize\": () => (/* binding */ rng_psize)\n/* harmony export */ });\n// prng4.js - uses Arcfour as a PRNG\nvar Arcfour = /** @class */ (function () {\n function Arcfour() {\n this.i = 0;\n this.j = 0;\n this.S = [];\n }\n // Arcfour.prototype.init = ARC4init;\n // Initialize arcfour context from key, an array of ints, each from [0..255]\n Arcfour.prototype.init = function (key) {\n var i;\n var j;\n var t;\n for (i = 0; i < 256; ++i) {\n this.S[i] = i;\n }\n j = 0;\n for (i = 0; i < 256; ++i) {\n j = (j + this.S[i] + key[i % key.length]) & 255;\n t = this.S[i];\n this.S[i] = this.S[j];\n this.S[j] = t;\n }\n this.i = 0;\n this.j = 0;\n };\n // Arcfour.prototype.next = ARC4next;\n Arcfour.prototype.next = function () {\n var t;\n this.i = (this.i + 1) & 255;\n this.j = (this.j + this.S[this.i]) & 255;\n t = this.S[this.i];\n this.S[this.i] = this.S[this.j];\n this.S[this.j] = t;\n return this.S[(t + this.S[this.i]) & 255];\n };\n return Arcfour;\n}());\n\n// Plug in your RNG constructor here\nfunction prng_newstate() {\n return new Arcfour();\n}\n// Pool size must be a multiple of 4 and greater than 32.\n// An array of bytes the size of the pool will be passed to init()\nvar rng_psize = 256;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/prng4.js?");
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Arcfour\": () => (/* binding */ Arcfour),\n/* harmony export */ \"prng_newstate\": () => (/* binding */ prng_newstate),\n/* harmony export */ \"rng_psize\": () => (/* binding */ rng_psize)\n/* harmony export */ });\n// prng4.js - uses Arcfour as a PRNG\nvar Arcfour = /** @class */ (function () {\n function Arcfour() {\n this.i = 0;\n this.j = 0;\n this.S = [];\n }\n // Arcfour.prototype.init = ARC4init;\n // Initialize arcfour context from key, an array of ints, each from [0..255]\n Arcfour.prototype.init = function (key) {\n var i;\n var j;\n var t;\n for (i = 0; i < 256; ++i) {\n this.S[i] = i;\n }\n j = 0;\n for (i = 0; i < 256; ++i) {\n j = (j + this.S[i] + key[i % key.length]) & 255;\n t = this.S[i];\n this.S[i] = this.S[j];\n this.S[j] = t;\n }\n this.i = 0;\n this.j = 0;\n };\n // Arcfour.prototype.next = ARC4next;\n Arcfour.prototype.next = function () {\n var t;\n this.i = (this.i + 1) & 255;\n this.j = (this.j + this.S[this.i]) & 255;\n t = this.S[this.i];\n this.S[this.i] = this.S[this.j];\n this.S[this.j] = t;\n return this.S[(t + this.S[this.i]) & 255];\n };\n return Arcfour;\n}());\n\n// Plug in your RNG constructor here\nfunction prng_newstate() {\n return new Arcfour();\n}\n// Pool size must be a multiple of 4 and greater than 32.\n// An array of bytes the size of the pool will be passed to init()\nvar rng_psize = 256;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/prng4.js?");
|
||||
|
||||
/***/
|
||||
}),
|
||||
/***/ }),
|
||||
|
||||
/***/
|
||||
"./lib/lib/jsbn/rng.js":
|
||||
/*!*****************************!*\
|
||||
!*** ./lib/lib/jsbn/rng.js ***!
|
||||
\*****************************/
|
||||
/***/
|
||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
/***/ "./lib/lib/jsbn/rng.js":
|
||||
/*!*****************************!*\
|
||||
!*** ./lib/lib/jsbn/rng.js ***!
|
||||
\*****************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SecureRandom\": () => (/* binding */ SecureRandom)\n/* harmony export */ });\n/* harmony import */ var _prng4__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./prng4 */ \"./lib/lib/jsbn/prng4.js\");\n// Random number generator - requires a PRNG backend, e.g. prng4.js\n\nvar rng_state;\nvar rng_pool = null;\nvar rng_pptr;\n// Initialize the pool with junk if needed.\nif (rng_pool == null) {\n rng_pool = [];\n rng_pptr = 0;\n var t = void 0;\n if (typeof window !== 'undefined' && window.crypto && window.crypto.getRandomValues) {\n // Extract entropy (2048 bits) from RNG if available\n var z = new Uint32Array(256);\n window.crypto.getRandomValues(z);\n for (t = 0; t < z.length; ++t) {\n rng_pool[rng_pptr++] = z[t] & 255;\n }\n }\n // Use mouse events for entropy, if we do not have enough entropy by the time\n // we need it, entropy will be generated by Math.random.\n var count = 0;\n var onMouseMoveListener_1 = function (ev) {\n count = count || 0;\n if (count >= 256 || rng_pptr >= _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n if (window.removeEventListener) {\n window.removeEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.detachEvent) {\n window.detachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n return;\n }\n try {\n var mouseCoordinates = ev.x + ev.y;\n rng_pool[rng_pptr++] = mouseCoordinates & 255;\n count += 1;\n }\n catch (e) {\n // Sometimes Firefox will deny permission to access event properties for some reason. Ignore.\n }\n };\n if (typeof window !== 'undefined') {\n if (window.addEventListener) {\n window.addEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.attachEvent) {\n window.attachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n }\n}\nfunction rng_get_byte() {\n if (rng_state == null) {\n rng_state = (0,_prng4__WEBPACK_IMPORTED_MODULE_0__.prng_newstate)();\n // At this point, we may not have collected enough entropy. If not, fall back to Math.random\n while (rng_pptr < _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n var random = Math.floor(65536 * Math.random());\n rng_pool[rng_pptr++] = random & 255;\n }\n rng_state.init(rng_pool);\n for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {\n rng_pool[rng_pptr] = 0;\n }\n rng_pptr = 0;\n }\n // TODO: allow reseeding after first request\n return rng_state.next();\n}\nvar SecureRandom = /** @class */ (function () {\n function SecureRandom() {\n }\n SecureRandom.prototype.nextBytes = function (ba) {\n for (var i = 0; i < ba.length; ++i) {\n ba[i] = rng_get_byte();\n }\n };\n return SecureRandom;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rng.js?");
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SecureRandom\": () => (/* binding */ SecureRandom)\n/* harmony export */ });\n/* harmony import */ var _prng4__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./prng4 */ \"./lib/lib/jsbn/prng4.js\");\n// Random number generator - requires a PRNG backend, e.g. prng4.js\n\nvar rng_state;\nvar rng_pool = null;\nvar rng_pptr;\n// Initialize the pool with junk if needed.\nif (rng_pool == null) {\n rng_pool = [];\n rng_pptr = 0;\n var t = void 0;\n if (typeof window !== 'undefined' && window.crypto && window.crypto.getRandomValues) {\n // Extract entropy (2048 bits) from RNG if available\n var z = new Uint32Array(256);\n window.crypto.getRandomValues(z);\n for (t = 0; t < z.length; ++t) {\n rng_pool[rng_pptr++] = z[t] & 255;\n }\n }\n // Use mouse events for entropy, if we do not have enough entropy by the time\n // we need it, entropy will be generated by Math.random.\n var count = 0;\n var onMouseMoveListener_1 = function (ev) {\n count = count || 0;\n if (count >= 256 || rng_pptr >= _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n if (window.removeEventListener) {\n window.removeEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.detachEvent) {\n window.detachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n return;\n }\n try {\n var mouseCoordinates = ev.x + ev.y;\n rng_pool[rng_pptr++] = mouseCoordinates & 255;\n count += 1;\n }\n catch (e) {\n // Sometimes Firefox will deny permission to access event properties for some reason. Ignore.\n }\n };\n if (typeof window !== 'undefined') {\n if (window.addEventListener) {\n window.addEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.attachEvent) {\n window.attachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n }\n}\nfunction rng_get_byte() {\n if (rng_state == null) {\n rng_state = (0,_prng4__WEBPACK_IMPORTED_MODULE_0__.prng_newstate)();\n // At this point, we may not have collected enough entropy. If not, fall back to Math.random\n while (rng_pptr < _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n var random = Math.floor(65536 * Math.random());\n rng_pool[rng_pptr++] = random & 255;\n }\n rng_state.init(rng_pool);\n for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {\n rng_pool[rng_pptr] = 0;\n }\n rng_pptr = 0;\n }\n // TODO: allow reseeding after first request\n return rng_state.next();\n}\nvar SecureRandom = /** @class */ (function () {\n function SecureRandom() {\n }\n SecureRandom.prototype.nextBytes = function (ba) {\n for (var i = 0; i < ba.length; ++i) {\n ba[i] = rng_get_byte();\n }\n };\n return SecureRandom;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rng.js?");
|
||||
|
||||
/***/
|
||||
}),
|
||||
/***/ }),
|
||||
|
||||
/***/
|
||||
"./lib/lib/jsbn/rsa.js":
|
||||
/*!*****************************!*\
|
||||
!*** ./lib/lib/jsbn/rsa.js ***!
|
||||
\*****************************/
|
||||
/***/
|
||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
/***/ "./lib/lib/jsbn/rsa.js":
|
||||
/*!*****************************!*\
|
||||
!*** ./lib/lib/jsbn/rsa.js ***!
|
||||
\*****************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"RSAKey\": () => (/* binding */ RSAKey)\n/* harmony export */ });\n/* harmony import */ var _jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _rng__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rng */ \"./lib/lib/jsbn/rng.js\");\n// Depends on jsbn.js and rng.js\n// Version 1.1: support utf-8 encoding in pkcs1pad2\n// convert a (hex) string to a bignum object\n\n\n// function linebrk(s,n) {\n// var ret = \"\";\n// var i = 0;\n// while(i + n < s.length) {\n// ret += s.substring(i,i+n) + \"\\n\";\n// i += n;\n// }\n// return ret + s.substring(i,s.length);\n// }\n// function byte2Hex(b) {\n// if(b < 0x10)\n// return \"0\" + b.toString(16);\n// else\n// return b.toString(16);\n// }\nfunction pkcs1pad1(s, n) {\n if (n < s.length + 22) {\n console.error(\"Message too long for RSA\");\n return null;\n }\n var len = n - s.length - 6;\n var filler = \"\";\n for (var f = 0; f < len; f += 2) {\n filler += \"ff\";\n }\n var m = \"0001\" + filler + \"00\" + s;\n return (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(m, 16);\n}\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\nfunction pkcs1pad2(s, n) {\n if (n < s.length + 11) { // TODO: fix for utf-8\n console.error(\"Message too long for RSA\");\n return null;\n }\n var ba = [];\n var i = s.length - 1;\n while (i >= 0 && n > 0) {\n var c = s.charCodeAt(i--);\n if (c < 128) { // encode using utf-8\n ba[--n] = c;\n }\n else if ((c > 127) && (c < 2048)) {\n ba[--n] = (c & 63) | 128;\n ba[--n] = (c >> 6) | 192;\n }\n else {\n ba[--n] = (c & 63) | 128;\n ba[--n] = ((c >> 6) & 63) | 128;\n ba[--n] = (c >> 12) | 224;\n }\n }\n ba[--n] = 0;\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var x = [];\n while (n > 2) { // random non-zero pad\n x[0] = 0;\n while (x[0] == 0) {\n rng.nextBytes(x);\n }\n ba[--n] = x[0];\n }\n ba[--n] = 2;\n ba[--n] = 0;\n return new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(ba);\n}\n// \"empty\" RSA key constructor\nvar RSAKey = /** @class */ (function () {\n function RSAKey() {\n this.n = null;\n this.e = 0;\n this.d = null;\n this.p = null;\n this.q = null;\n this.dmp1 = null;\n this.dmq1 = null;\n this.coeff = null;\n }\n //#region PROTECTED\n // protected\n // RSAKey.prototype.doPublic = RSADoPublic;\n // Perform raw public operation on \"x\": return x^e (mod n)\n RSAKey.prototype.doPublic = function (x) {\n return x.modPowInt(this.e, this.n);\n };\n // RSAKey.prototype.doPrivate = RSADoPrivate;\n // Perform raw private operation on \"x\": return x^d (mod n)\n RSAKey.prototype.doPrivate = function (x) {\n if (this.p == null || this.q == null) {\n return x.modPow(this.d, this.n);\n }\n // TODO: re-calculate any missing CRT params\n var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n while (xp.compareTo(xq) < 0) {\n xp = xp.add(this.p);\n }\n return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n };\n //#endregion PROTECTED\n //#region PUBLIC\n // RSAKey.prototype.setPublic = RSASetPublic;\n // Set the public key fields N and e from hex strings\n RSAKey.prototype.setPublic = function (N, E) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n }\n else {\n console.error(\"Invalid RSA public key\");\n }\n };\n // RSAKey.prototype.encrypt = RSAEncrypt;\n // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\n RSAKey.prototype.encrypt = function (text) {\n var maxLength = (this.n.bitLength() + 7) >> 3;\n var m = pkcs1pad2(text, maxLength);\n if (m == null) {\n return null;\n }\n var c = this.doPublic(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n var length = h.length;\n // fix zero before result\n for (var i = 0; i < maxLength * 2 - length; i++) {\n h = \"0\" + h;\n }\n return h;\n };\n // RSAKey.prototype.setPrivate = RSASetPrivate;\n // Set the private key fields N, e, and d from hex strings\n RSAKey.prototype.setPrivate = function (N, E,
Line truncated
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"RSAKey\": () => (/* binding */ RSAKey)\n/* harmony export */ });\n/* harmony import */ var _jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _rng__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rng */ \"./lib/lib/jsbn/rng.js\");\n// Depends on jsbn.js and rng.js\n// Version 1.1: support utf-8 encoding in pkcs1pad2\n// convert a (hex) string to a bignum object\n\n\n// function linebrk(s,n) {\n// var ret = \"\";\n// var i = 0;\n// while(i + n < s.length) {\n// ret += s.substring(i,i+n) + \"\\n\";\n// i += n;\n// }\n// return ret + s.substring(i,s.length);\n// }\n// function byte2Hex(b) {\n// if(b < 0x10)\n// return \"0\" + b.toString(16);\n// else\n// return b.toString(16);\n// }\nfunction pkcs1pad1(s, n) {\n if (n < s.length + 22) {\n console.error(\"Message too long for RSA\");\n return null;\n }\n var len = n - s.length - 6;\n var filler = \"\";\n for (var f = 0; f < len; f += 2) {\n filler += \"ff\";\n }\n var m = \"0001\" + filler + \"00\" + s;\n return (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(m, 16);\n}\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\nfunction pkcs1pad2(s, n) {\n if (n < s.length + 11) { // TODO: fix for utf-8\n console.error(\"Message too long for RSA\");\n return null;\n }\n var ba = [];\n var i = s.length - 1;\n while (i >= 0 && n > 0) {\n var c = s.charCodeAt(i--);\n if (c < 128) { // encode using utf-8\n ba[--n] = c;\n }\n else if ((c > 127) && (c < 2048)) {\n ba[--n] = (c & 63) | 128;\n ba[--n] = (c >> 6) | 192;\n }\n else {\n ba[--n] = (c & 63) | 128;\n ba[--n] = ((c >> 6) & 63) | 128;\n ba[--n] = (c >> 12) | 224;\n }\n }\n ba[--n] = 0;\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var x = [];\n while (n > 2) { // random non-zero pad\n x[0] = 0;\n while (x[0] == 0) {\n rng.nextBytes(x);\n }\n ba[--n] = x[0];\n }\n ba[--n] = 2;\n ba[--n] = 0;\n return new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(ba);\n}\n// \"empty\" RSA key constructor\nvar RSAKey = /** @class */ (function () {\n function RSAKey() {\n this.n = null;\n this.e = 0;\n this.d = null;\n this.p = null;\n this.q = null;\n this.dmp1 = null;\n this.dmq1 = null;\n this.coeff = null;\n }\n //#region PROTECTED\n // protected\n // RSAKey.prototype.doPublic = RSADoPublic;\n // Perform raw public operation on \"x\": return x^e (mod n)\n RSAKey.prototype.doPublic = function (x) {\n return x.modPowInt(this.e, this.n);\n };\n // RSAKey.prototype.doPrivate = RSADoPrivate;\n // Perform raw private operation on \"x\": return x^d (mod n)\n RSAKey.prototype.doPrivate = function (x) {\n if (this.p == null || this.q == null) {\n return x.modPow(this.d, this.n);\n }\n // TODO: re-calculate any missing CRT params\n var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n while (xp.compareTo(xq) < 0) {\n xp = xp.add(this.p);\n }\n return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n };\n //#endregion PROTECTED\n //#region PUBLIC\n // RSAKey.prototype.setPublic = RSASetPublic;\n // Set the public key fields N and e from hex strings\n RSAKey.prototype.setPublic = function (N, E) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n }\n else {\n console.error(\"Invalid RSA public key\");\n }\n };\n // RSAKey.prototype.encrypt = RSAEncrypt;\n // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\n RSAKey.prototype.encrypt = function (text) {\n var maxLength = (this.n.bitLength() + 7) >> 3;\n var m = pkcs1pad2(text, maxLength);\n if (m == null) {\n return null;\n }\n var c = this.doPublic(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n var length = h.length;\n // fix zero before result\n for (var i = 0; i < maxLength * 2 - length; i++) {\n h = \"0\" + h;\n }\n return h;\n };\n // RSAKey.prototype.setPrivate = RSASetPrivate;\n // Set the private key fields N, e, and d from hex strings\n RSAKey.prototype.setPrivate = function (N, E, D) {\n if (N
Line truncated
|
||||
|
||||
/***/
|
||||
}),
|
||||
/***/ }),
|
||||
|
||||
/***/
|
||||
"./lib/lib/jsbn/util.js":
|
||||
/*!******************************!*\
|
||||
!*** ./lib/lib/jsbn/util.js ***!
|
||||
\******************************/
|
||||
/***/
|
||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
/***/ "./lib/lib/jsbn/util.js":
|
||||
/*!******************************!*\
|
||||
!*** ./lib/lib/jsbn/util.js ***!
|
||||
\******************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"cbit\": () => (/* binding */ cbit),\n/* harmony export */ \"int2char\": () => (/* binding */ int2char),\n/* harmony export */ \"lbit\": () => (/* binding */ lbit),\n/* harmony export */ \"op_and\": () => (/* binding */ op_and),\n/* harmony export */ \"op_andnot\": () => (/* binding */ op_andnot),\n/* harmony export */ \"op_or\": () => (/* binding */ op_or),\n/* harmony export */ \"op_xor\": () => (/* binding */ op_xor)\n/* harmony export */ });\nvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\n//#region BIT_OPERATIONS\n// (public) this & a\nfunction op_and(x, y) {\n return x & y;\n}\n// (public) this | a\nfunction op_or(x, y) {\n return x | y;\n}\n// (public) this ^ a\nfunction op_xor(x, y) {\n return x ^ y;\n}\n// (public) this & ~a\nfunction op_andnot(x, y) {\n return x & ~y;\n}\n// return index of lowest 1-bit in x, x < 2^31\nfunction lbit(x) {\n if (x == 0) {\n return -1;\n }\n var r = 0;\n if ((x & 0xffff) == 0) {\n x >>= 16;\n r += 16;\n }\n if ((x & 0xff) == 0) {\n x >>= 8;\n r += 8;\n }\n if ((x & 0xf) == 0) {\n x >>= 4;\n r += 4;\n }\n if ((x & 3) == 0) {\n x >>= 2;\n r += 2;\n }\n if ((x & 1) == 0) {\n ++r;\n }\n return r;\n}\n// return number of 1 bits in x\nfunction cbit(x) {\n var r = 0;\n while (x != 0) {\n x &= x - 1;\n ++r;\n }\n return r;\n}\n//#endregion BIT_OPERATIONS\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/util.js?");
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"cbit\": () => (/* binding */ cbit),\n/* harmony export */ \"int2char\": () => (/* binding */ int2char),\n/* harmony export */ \"lbit\": () => (/* binding */ lbit),\n/* harmony export */ \"op_and\": () => (/* binding */ op_and),\n/* harmony export */ \"op_andnot\": () => (/* binding */ op_andnot),\n/* harmony export */ \"op_or\": () => (/* binding */ op_or),\n/* harmony export */ \"op_xor\": () => (/* binding */ op_xor)\n/* harmony export */ });\nvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\n//#region BIT_OPERATIONS\n// (public) this & a\nfunction op_and(x, y) {\n return x & y;\n}\n// (public) this | a\nfunction op_or(x, y) {\n return x | y;\n}\n// (public) this ^ a\nfunction op_xor(x, y) {\n return x ^ y;\n}\n// (public) this & ~a\nfunction op_andnot(x, y) {\n return x & ~y;\n}\n// return index of lowest 1-bit in x, x < 2^31\nfunction lbit(x) {\n if (x == 0) {\n return -1;\n }\n var r = 0;\n if ((x & 0xffff) == 0) {\n x >>= 16;\n r += 16;\n }\n if ((x & 0xff) == 0) {\n x >>= 8;\n r += 8;\n }\n if ((x & 0xf) == 0) {\n x >>= 4;\n r += 4;\n }\n if ((x & 3) == 0) {\n x >>= 2;\n r += 2;\n }\n if ((x & 1) == 0) {\n ++r;\n }\n return r;\n}\n// return number of 1 bits in x\nfunction cbit(x) {\n var r = 0;\n while (x != 0) {\n x &= x - 1;\n ++r;\n }\n return r;\n}\n//#endregion BIT_OPERATIONS\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/util.js?");
|
||||
|
||||
/***/
|
||||
}),
|
||||
/***/ }),
|
||||
|
||||
/***/
|
||||
"./lib/lib/jsrsasign/asn1-1.0.js":
|
||||
/*!***************************************!*\
|
||||
!*** ./lib/lib/jsrsasign/asn1-1.0.js ***!
|
||||
\***************************************/
|
||||
/***/
|
||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
/***/ "./lib/lib/jsrsasign/asn1-1.0.js":
|
||||
/*!***************************************!*\
|
||||
!*** ./lib/lib/jsrsasign/asn1-1.0.js ***!
|
||||
\***************************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KJUR\": () => (/* binding */ KJUR)\n/* harmony export */ });\n/* harmony import */ var _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _yahoo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./yahoo */ \"./lib/lib/jsrsasign/yahoo.js\");\n/* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license\n */\n/*\n * asn1.js - ASN.1 DER encoder classes\n *\n * Copyright (c) 2013-2017 Kenji Urushima (kenji.urushima@gmail.com)\n *\n * This software is licensed under the terms of the MIT License.\n * https://kjur.github.io/jsrsasign/license\n *\n * The above copyright and license notice shall be\n * included in all copies or substantial portions of the Software.\n */\n\n\n/**\n * @fileOverview\n * @name asn1-1.0.js\n * @author Kenji Urushima kenji.urushima@gmail.com\n * @version asn1 1.0.13 (2017-Jun-02)\n * @since jsrsasign 2.1\n * @license <a href=\"https://kjur.github.io/jsrsasign/license/\">MIT License</a>\n */\n/**\n * kjur's class library name space\n * <p>\n * This name space provides following name spaces:\n * <ul>\n * <li>{@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder</li>\n * <li>{@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL</li>\n * <li>{@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature\n * class and utilities</li>\n * </ul>\n * </p>\n * NOTE: Please ignore method summary and document of this namespace. This caused by a bug of jsdoc2.\n * @name KJUR\n * @namespace kjur's class library name space\n */\nvar KJUR = {};\n/**\n * kjur's ASN.1 class library name space\n * <p>\n * This is ITU-T X.690 ASN.1 DER encoder class library and\n * class structure and methods is very similar to\n * org.bouncycastle.asn1 package of\n * well known BouncyCaslte Cryptography Library.\n * <h4>PROVIDING ASN.1 PRIMITIVES</h4>\n * Here are ASN.1 DER primitive classes.\n * <ul>\n * <li>0x01 {@link KJUR.asn1.DERBoolean}</li>\n * <li>0x02 {@link KJUR.asn1.DERInteger}</li>\n * <li>0x03 {@link KJUR.asn1.DERBitString}</li>\n * <li>0x04 {@link KJUR.asn1.DEROctetString}</li>\n * <li>0x05 {@link KJUR.asn1.DERNull}</li>\n * <li>0x06 {@link KJUR.asn1.DERObjectIdentifier}</li>\n * <li>0x0a {@link KJUR.asn1.DEREnumerated}</li>\n * <li>0x0c {@link KJUR.asn1.DERUTF8String}</li>\n * <li>0x12 {@link KJUR.asn1.DERNumericString}</li>\n * <li>0x13 {@link KJUR.asn1.DERPrintableString}</li>\n * <li>0x14 {@link KJUR.asn1.DERTeletexString}</li>\n * <li>0x16 {@link KJUR.asn1.DERIA5String}</li>\n * <li>0x17 {@link KJUR.asn1.DERUTCTime}</li>\n * <li>0x18 {@link KJUR.asn1.DERGeneralizedTime}</li>\n * <li>0x30 {@link KJUR.asn1.DERSequence}</li>\n * <li>0x31 {@link KJUR.asn1.DERSet}</li>\n * </ul>\n * <h4>OTHER ASN.1 CLASSES</h4>\n * <ul>\n * <li>{@link KJUR.asn1.ASN1Object}</li>\n * <li>{@link KJUR.asn1.DERAbstractString}</li>\n * <li>{@link KJUR.asn1.DERAbstractTime}</li>\n * <li>{@link KJUR.asn1.DERAbstractStructured}</li>\n * <li>{@link KJUR.asn1.DERTaggedObject}</li>\n * </ul>\n * <h4>SUB NAME SPACES</h4>\n * <ul>\n * <li>{@link KJUR.asn1.cades} - CAdES long term signature format</li>\n * <li>{@link KJUR.asn1.cms} - Cryptographic Message Syntax</li>\n * <li>{@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)</li>\n * <li>{@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format</li>\n * <li>{@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL</li>\n * </ul>\n * </p>\n * NOTE: Please ignore method summary and document of this namespace.\n * This caused by a bug of jsdoc2.\n * @name KJUR.asn1\n * @namespace\n */\nif (typeof KJUR.asn1 == \"undefined\" || !KJUR.asn1)\n KJUR.asn1 = {};\n/**\n * ASN1 utilities class\n * @name KJUR.asn1.ASN1Util\n * @class ASN1 utilities class\n * @since asn1 1.0.2\n */\nKJUR.asn1.ASN1Util = new function () {\n this.integerToByteHex = function (i) {\n var h = i.toString(16);\n if ((h.length % 2) == 1)\n h = '0' + h;\n return h;\n };\n this.bigIntToMinTwosComplementsHex = function (bigIntegerValue) {\n var h = bigIntegerValue.toString(16);\n if (h.substr(0, 1) != '-') {\n if (h.length % 2 == 1) {\n h = '0' + h;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n h = '00' + h;\n }\n }\n }\n else {\n var hPos = h.substr(1);\n var xorLen = hPos.length;\n if (xorLen % 2 == 1) {\n xorLen += 1;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n xorLen += 2;\n }\n }\n var hMask = '';\n for (var i = 0; i < xorLen; i++) {\n hMask += 'f';\n
Line truncated
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KJUR\": () => (/* binding */ KJUR)\n/* harmony export */ });\n/* harmony import */ var _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _yahoo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./yahoo */ \"./lib/lib/jsrsasign/yahoo.js\");\n/* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license\n */\n/*\n * asn1.js - ASN.1 DER encoder classes\n *\n * Copyright (c) 2013-2017 Kenji Urushima (kenji.urushima@gmail.com)\n *\n * This software is licensed under the terms of the MIT License.\n * https://kjur.github.io/jsrsasign/license\n *\n * The above copyright and license notice shall be\n * included in all copies or substantial portions of the Software.\n */\n\n\n/**\n * @fileOverview\n * @name asn1-1.0.js\n * @author Kenji Urushima kenji.urushima@gmail.com\n * @version asn1 1.0.13 (2017-Jun-02)\n * @since jsrsasign 2.1\n * @license <a href=\"https://kjur.github.io/jsrsasign/license/\">MIT License</a>\n */\n/**\n * kjur's class library name space\n * <p>\n * This name space provides following name spaces:\n * <ul>\n * <li>{@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder</li>\n * <li>{@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL</li>\n * <li>{@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature\n * class and utilities</li>\n * </ul>\n * </p>\n * NOTE: Please ignore method summary and document of this namespace. This caused by a bug of jsdoc2.\n * @name KJUR\n * @namespace kjur's class library name space\n */\nvar KJUR = {};\n/**\n * kjur's ASN.1 class library name space\n * <p>\n * This is ITU-T X.690 ASN.1 DER encoder class library and\n * class structure and methods is very similar to\n * org.bouncycastle.asn1 package of\n * well known BouncyCaslte Cryptography Library.\n * <h4>PROVIDING ASN.1 PRIMITIVES</h4>\n * Here are ASN.1 DER primitive classes.\n * <ul>\n * <li>0x01 {@link KJUR.asn1.DERBoolean}</li>\n * <li>0x02 {@link KJUR.asn1.DERInteger}</li>\n * <li>0x03 {@link KJUR.asn1.DERBitString}</li>\n * <li>0x04 {@link KJUR.asn1.DEROctetString}</li>\n * <li>0x05 {@link KJUR.asn1.DERNull}</li>\n * <li>0x06 {@link KJUR.asn1.DERObjectIdentifier}</li>\n * <li>0x0a {@link KJUR.asn1.DEREnumerated}</li>\n * <li>0x0c {@link KJUR.asn1.DERUTF8String}</li>\n * <li>0x12 {@link KJUR.asn1.DERNumericString}</li>\n * <li>0x13 {@link KJUR.asn1.DERPrintableString}</li>\n * <li>0x14 {@link KJUR.asn1.DERTeletexString}</li>\n * <li>0x16 {@link KJUR.asn1.DERIA5String}</li>\n * <li>0x17 {@link KJUR.asn1.DERUTCTime}</li>\n * <li>0x18 {@link KJUR.asn1.DERGeneralizedTime}</li>\n * <li>0x30 {@link KJUR.asn1.DERSequence}</li>\n * <li>0x31 {@link KJUR.asn1.DERSet}</li>\n * </ul>\n * <h4>OTHER ASN.1 CLASSES</h4>\n * <ul>\n * <li>{@link KJUR.asn1.ASN1Object}</li>\n * <li>{@link KJUR.asn1.DERAbstractString}</li>\n * <li>{@link KJUR.asn1.DERAbstractTime}</li>\n * <li>{@link KJUR.asn1.DERAbstractStructured}</li>\n * <li>{@link KJUR.asn1.DERTaggedObject}</li>\n * </ul>\n * <h4>SUB NAME SPACES</h4>\n * <ul>\n * <li>{@link KJUR.asn1.cades} - CAdES long term signature format</li>\n * <li>{@link KJUR.asn1.cms} - Cryptographic Message Syntax</li>\n * <li>{@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)</li>\n * <li>{@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format</li>\n * <li>{@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL</li>\n * </ul>\n * </p>\n * NOTE: Please ignore method summary and document of this namespace.\n * This caused by a bug of jsdoc2.\n * @name KJUR.asn1\n * @namespace\n */\nif (typeof KJUR.asn1 == \"undefined\" || !KJUR.asn1)\n KJUR.asn1 = {};\n/**\n * ASN1 utilities class\n * @name KJUR.asn1.ASN1Util\n * @class ASN1 utilities class\n * @since asn1 1.0.2\n */\nKJUR.asn1.ASN1Util = new function () {\n this.integerToByteHex = function (i) {\n var h = i.toString(16);\n if ((h.length % 2) == 1)\n h = '0' + h;\n return h;\n };\n this.bigIntToMinTwosComplementsHex = function (bigIntegerValue) {\n var h = bigIntegerValue.toString(16);\n if (h.substr(0, 1) != '-') {\n if (h.length % 2 == 1) {\n h = '0' + h;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n h = '00' + h;\n }\n }\n }\n else {\n var hPos = h.substr(1);\n var xorLen = hPos.length;\n if (xorLen % 2 == 1) {\n xorLen += 1;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n xorLen += 2;\n }\n }\n var hMask = '';\n for (var i = 0; i < xorLen; i++) {\n hMask += 'f';\n }\n
Line truncated
|
||||
|
||||
/***/
|
||||
}),
|
||||
/***/ }),
|
||||
|
||||
/***/
|
||||
"./lib/lib/jsrsasign/yahoo.js":
|
||||
/*!************************************!*\
|
||||
!*** ./lib/lib/jsrsasign/yahoo.js ***!
|
||||
\************************************/
|
||||
/***/
|
||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
/***/ "./lib/lib/jsrsasign/yahoo.js":
|
||||
/*!************************************!*\
|
||||
!*** ./lib/lib/jsrsasign/yahoo.js ***!
|
||||
\************************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"YAHOO\": () => (/* binding */ YAHOO)\n/* harmony export */ });\n/*!\nCopyright (c) 2011, Yahoo! Inc. All rights reserved.\nCode licensed under the BSD License:\nhttp://developer.yahoo.com/yui/license.html\nversion: 2.9.0\n*/\nvar YAHOO = {};\nYAHOO.lang = {\n /**\n * Utility to set up the prototype, constructor and superclass properties to\n * support an inheritance strategy that can chain constructors and methods.\n * Static members will not be inherited.\n *\n * @method extend\n * @static\n * @param {Function} subc the object to modify\n * @param {Function} superc the object to inherit\n * @param {Object} overrides additional properties/methods to add to the\n * subclass prototype. These will override the\n * matching items obtained from the superclass\n * if present.\n */\n extend: function (subc, superc, overrides) {\n if (!superc || !subc) {\n throw new Error(\"YAHOO.lang.extend failed, please check that \" +\n \"all dependencies are included.\");\n }\n var F = function () { };\n F.prototype = superc.prototype;\n subc.prototype = new F();\n subc.prototype.constructor = subc;\n subc.superclass = superc.prototype;\n if (superc.prototype.constructor == Object.prototype.constructor) {\n superc.prototype.constructor = superc;\n }\n if (overrides) {\n var i;\n for (i in overrides) {\n subc.prototype[i] = overrides[i];\n }\n /*\n * IE will not enumerate native functions in a derived object even if the\n * function was overridden. This is a workaround for specific functions\n * we care about on the Object prototype.\n * @property _IEEnumFix\n * @param {Function} r the object to receive the augmentation\n * @param {Function} s the object that supplies the properties to augment\n * @static\n * @private\n */\n var _IEEnumFix = function () { }, ADD = [\"toString\", \"valueOf\"];\n try {\n if (/MSIE/.test(navigator.userAgent)) {\n _IEEnumFix = function (r, s) {\n for (i = 0; i < ADD.length; i = i + 1) {\n var fname = ADD[i], f = s[fname];\n if (typeof f === 'function' && f != Object.prototype[fname]) {\n r[fname] = f;\n }\n }\n };\n }\n }\n catch (ex) { }\n ;\n _IEEnumFix(subc.prototype, overrides);\n }\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/yahoo.js?");
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"YAHOO\": () => (/* binding */ YAHOO)\n/* harmony export */ });\n/*!\nCopyright (c) 2011, Yahoo! Inc. All rights reserved.\nCode licensed under the BSD License:\nhttp://developer.yahoo.com/yui/license.html\nversion: 2.9.0\n*/\nvar YAHOO = {};\nYAHOO.lang = {\n /**\n * Utility to set up the prototype, constructor and superclass properties to\n * support an inheritance strategy that can chain constructors and methods.\n * Static members will not be inherited.\n *\n * @method extend\n * @static\n * @param {Function} subc the object to modify\n * @param {Function} superc the object to inherit\n * @param {Object} overrides additional properties/methods to add to the\n * subclass prototype. These will override the\n * matching items obtained from the superclass\n * if present.\n */\n extend: function (subc, superc, overrides) {\n if (!superc || !subc) {\n throw new Error(\"YAHOO.lang.extend failed, please check that \" +\n \"all dependencies are included.\");\n }\n var F = function () { };\n F.prototype = superc.prototype;\n subc.prototype = new F();\n subc.prototype.constructor = subc;\n subc.superclass = superc.prototype;\n if (superc.prototype.constructor == Object.prototype.constructor) {\n superc.prototype.constructor = superc;\n }\n if (overrides) {\n var i;\n for (i in overrides) {\n subc.prototype[i] = overrides[i];\n }\n /*\n * IE will not enumerate native functions in a derived object even if the\n * function was overridden. This is a workaround for specific functions\n * we care about on the Object prototype.\n * @property _IEEnumFix\n * @param {Function} r the object to receive the augmentation\n * @param {Function} s the object that supplies the properties to augment\n * @static\n * @private\n */\n var _IEEnumFix = function () { }, ADD = [\"toString\", \"valueOf\"];\n try {\n if (/MSIE/.test(navigator.userAgent)) {\n _IEEnumFix = function (r, s) {\n for (i = 0; i < ADD.length; i = i + 1) {\n var fname = ADD[i], f = s[fname];\n if (typeof f === 'function' && f != Object.prototype[fname]) {\n r[fname] = f;\n }\n }\n };\n }\n }\n catch (ex) { }\n ;\n _IEEnumFix(subc.prototype, overrides);\n }\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/yahoo.js?");
|
||||
|
||||
/***/
|
||||
}),
|
||||
/***/ }),
|
||||
|
||||
/***/
|
||||
"./node_modules/process/browser.js":
|
||||
/*!*****************************************!*\
|
||||
!*** ./node_modules/process/browser.js ***!
|
||||
\*****************************************/
|
||||
/***/
|
||||
((module) => {
|
||||
/***/ "./node_modules/process/browser.js":
|
||||
/*!*****************************************!*\
|
||||
!*** ./node_modules/process/browser.js ***!
|
||||
\*****************************************/
|
||||
/***/ ((module) => {
|
||||
|
||||
eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess
Line truncated
|
||||
eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nf
Line truncated
|
||||
|
||||
/***/
|
||||
})
|
||||
/***/ })
|
||||
|
||||
/******/
|
||||
});
|
||||
/************************************************************************/
|
||||
/******/ // The module cache
|
||||
/******/
|
||||
var __webpack_module_cache__ = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/
|
||||
function __webpack_require__(moduleId) {
|
||||
/******/ // Check if module is in cache
|
||||
/******/
|
||||
var cachedModule = __webpack_module_cache__[moduleId];
|
||||
/******/
|
||||
if (cachedModule !== undefined) {
|
||||
/******/
|
||||
return cachedModule.exports;
|
||||
/******/
|
||||
}
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/
|
||||
var module = __webpack_module_cache__[moduleId] = {
|
||||
/******/ // no module.id needed
|
||||
/******/ // no module.loaded needed
|
||||
/******/
|
||||
exports: {}
|
||||
/******/
|
||||
};
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/
|
||||
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/
|
||||
return module.exports;
|
||||
/******/
|
||||
}
|
||||
/******/
|
||||
/************************************************************************/
|
||||
/******/
|
||||
/* webpack/runtime/define property getters */
|
||||
/******/
|
||||
(() => {
|
||||
/******/ // define getter functions for harmony exports
|
||||
/******/
|
||||
__webpack_require__.d = (exports, definition) => {
|
||||
/******/
|
||||
for (var key in definition) {
|
||||
/******/
|
||||
if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
||||
/******/
|
||||
Object.defineProperty(exports, key, {
|
||||
enumerable: true,
|
||||
get: definition[key]
|
||||
});
|
||||
/******/
|
||||
}
|
||||
/******/
|
||||
}
|
||||
/******/
|
||||
};
|
||||
/******/
|
||||
})();
|
||||
/******/
|
||||
/******/
|
||||
/* webpack/runtime/hasOwnProperty shorthand */
|
||||
/******/
|
||||
(() => {
|
||||
/******/
|
||||
__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
||||
/******/
|
||||
})();
|
||||
/******/
|
||||
/******/
|
||||
/* webpack/runtime/make namespace object */
|
||||
/******/
|
||||
(() => {
|
||||
/******/ // define __esModule on exports
|
||||
/******/
|
||||
__webpack_require__.r = (exports) => {
|
||||
/******/
|
||||
if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/
|
||||
Object.defineProperty(exports, Symbol.toStringTag, {
|
||||
value: 'Module'
|
||||
});
|
||||
/******/
|
||||
}
|
||||
/******/
|
||||
Object.defineProperty(exports, '__esModule', {
|
||||
value: true
|
||||
});
|
||||
/******/
|
||||
};
|
||||
/******/
|
||||
})();
|
||||
/******/
|
||||
/************************************************************************/
|
||||
/******/
|
||||
/******/ // startup
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ // This entry module can't be inlined because the eval devtool is used.
|
||||
/******/
|
||||
var __webpack_exports__ = __webpack_require__("./lib/index.js");
|
||||
/******/
|
||||
__webpack_exports__ = __webpack_exports__["default"];
|
||||
/******/
|
||||
/******/
|
||||
return __webpack_exports__;
|
||||
/******/
|
||||
})();
|
||||
/******/ });
|
||||
/************************************************************************/
|
||||
/******/ // The module cache
|
||||
/******/ var __webpack_module_cache__ = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/ // Check if module is in cache
|
||||
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
||||
/******/ if (cachedModule !== undefined) {
|
||||
/******/ return cachedModule.exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = __webpack_module_cache__[moduleId] = {
|
||||
/******/ // no module.id needed
|
||||
/******/ // no module.loaded needed
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/************************************************************************/
|
||||
/******/ /* webpack/runtime/define property getters */
|
||||
/******/ (() => {
|
||||
/******/ // define getter functions for harmony exports
|
||||
/******/ __webpack_require__.d = (exports, definition) => {
|
||||
/******/ for(var key in definition) {
|
||||
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
||||
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/ })();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
||||
/******/ (() => {
|
||||
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
||||
/******/ })();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/make namespace object */
|
||||
/******/ (() => {
|
||||
/******/ // define __esModule on exports
|
||||
/******/ __webpack_require__.r = (exports) => {
|
||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||
/******/ }
|
||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||
/******/ };
|
||||
/******/ })();
|
||||
/******/
|
||||
/************************************************************************/
|
||||
/******/
|
||||
/******/ // startup
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ // This entry module can't be inlined because the eval devtool is used.
|
||||
/******/ var __webpack_exports__ = __webpack_require__("./lib/index.js");
|
||||
/******/ __webpack_exports__ = __webpack_exports__["default"];
|
||||
/******/
|
||||
/******/ return __webpack_exports__;
|
||||
/******/ })()
|
||||
;
|
||||
});
|
||||
+1735
-1807
File diff suppressed because it is too large.
Load diff
+2
-5858
File diff suppressed because it is too large.
Load diff
Vendored
+2
-1439
File diff suppressed because it is too large.
Load diff
+146
@@ -0,0 +1,146 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# by @嗷呜
|
||||
import sys
|
||||
sys.path.append('..')
|
||||
from base.spider import Spider
|
||||
import requests
|
||||
|
||||
|
||||
class Spider(Spider):
|
||||
|
||||
def init(self, extend=""):
|
||||
pass
|
||||
|
||||
def getName(self):
|
||||
return "hitv"
|
||||
|
||||
def isVideoFormat(self, url):
|
||||
pass
|
||||
|
||||
def manualVideoCheck(self):
|
||||
pass
|
||||
|
||||
def destroy(self):
|
||||
pass
|
||||
|
||||
def homeContent(self, filter):
|
||||
result = {}
|
||||
cateManual = {
|
||||
# "直播": "live",
|
||||
'排行榜': 'rank',
|
||||
"电影": "1",
|
||||
"剧集": "2",
|
||||
"综艺": "3",
|
||||
"动画": "4",
|
||||
"短片": "5"
|
||||
}
|
||||
classes = []
|
||||
for k in cateManual:
|
||||
classes.append({
|
||||
'type_name': k,
|
||||
'type_id': cateManual[k]
|
||||
})
|
||||
result['class'] = classes
|
||||
return result
|
||||
|
||||
host = "https://wys.upfuhn.com"
|
||||
headers = {
|
||||
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
|
||||
"Chrome/80.0.3987.149 Safari/537.36"
|
||||
}
|
||||
|
||||
def list(self, list):
|
||||
videos = []
|
||||
for it in list:
|
||||
videos.append({
|
||||
"vod_id": it['video_site_id'],
|
||||
"vod_name": it['video_name'],
|
||||
"vod_pic": it['video_horizontal_url'] or it['video_vertical_url'],
|
||||
"vod_remarks": it['newest_series_num'],
|
||||
"vod_year": it['years'],
|
||||
})
|
||||
return videos
|
||||
|
||||
def homeVideoContent(self):
|
||||
url = f'{self.host}/v1/ys_video_sites/hot?t=1'
|
||||
data = requests.get(url, headers=self.headers).json()
|
||||
videos = self.list(data['data']['data'])
|
||||
result = {'list': videos}
|
||||
return result
|
||||
|
||||
def categoryContent(self, tid, pg, filter, extend):
|
||||
path = f'/v1/ys_video_sites?t={tid}&s_t=0&a&y&o=0&ps=21&pn={pg}'
|
||||
rank = False
|
||||
if tid == 'rank':
|
||||
if pg == 1:
|
||||
path = f'/v1/ys_video_sites/ranking'
|
||||
rank = True
|
||||
else:
|
||||
path = ''
|
||||
# elif tid == 'live' and pg == 1:
|
||||
# path = f'/v1/ys_live_tvs'
|
||||
videos = []
|
||||
result = {}
|
||||
try:
|
||||
data = requests.get(self.host + path, headers=self.headers).json()
|
||||
if rank:
|
||||
for video in data['data']:
|
||||
videos.extend(data['data'][video])
|
||||
else:
|
||||
videos = data['data']['data']
|
||||
result = {}
|
||||
result['list'] = self.list(videos)
|
||||
result['page'] = pg
|
||||
result['pagecount'] = 9999
|
||||
result['limit'] = 90
|
||||
result['total'] = 999999
|
||||
except:
|
||||
result['list'] = []
|
||||
return result
|
||||
|
||||
def detailContent(self, ids):
|
||||
tid = ids[0]
|
||||
url = f'{self.host}/v1/ys_video_series/by_vid/{tid}'
|
||||
data = requests.get(url, headers=self.headers).json()
|
||||
data1 = data['data']['ys_video_site']
|
||||
urls = []
|
||||
for it in data['data']['data']:
|
||||
urls.append(it['series_num'] + '$' + it['video_url'])
|
||||
vod = {
|
||||
'vod_name': data1['video_name'],
|
||||
'type_name': data1['tag'],
|
||||
'vod_year': data1['years'],
|
||||
'vod_area': data1['area'],
|
||||
'vod_director': data1['main_actor'],
|
||||
'vod_content': data1['video_desc'],
|
||||
'vod_play_from': '嗨皮在线',
|
||||
'vod_play_url': '#'.join(urls),
|
||||
}
|
||||
result = {
|
||||
'list': [
|
||||
vod
|
||||
]
|
||||
}
|
||||
return result
|
||||
|
||||
def searchContent(self, key, quick, pg=1):
|
||||
url = f'{self.host}/v1/ys_video_sites/search?s={key}&o=0&ps=200&pn={pg}'
|
||||
data = requests.get(url, headers=self.headers).json()
|
||||
videos = data['data']['video_sites']
|
||||
if data['data']['first_video_series'] is not None:
|
||||
videos = [data['data']['first_video_series']] + videos
|
||||
result = {}
|
||||
result['list'] = self.list(videos)
|
||||
result['page'] = pg
|
||||
return result
|
||||
|
||||
def playerContent(self, flag, id, vipFlags):
|
||||
result = {
|
||||
'url': id,
|
||||
'parse': 0,
|
||||
'header': self.headers
|
||||
}
|
||||
return result
|
||||
|
||||
def localProxy(self, param):
|
||||
pass
|
||||
+279
@@ -0,0 +1,279 @@
|
||||
# coding=utf-8
|
||||
# !/usr/bin/python
|
||||
# by嗷呜(finally)
|
||||
import sys
|
||||
import os
|
||||
sys.path.append("..")
|
||||
import re
|
||||
import hashlib
|
||||
import hmac
|
||||
import random
|
||||
import string
|
||||
from Crypto.Util.Padding import unpad
|
||||
from concurrent.futures import ThreadPoolExecutor
|
||||
from Crypto.PublicKey import RSA
|
||||
from Crypto.Cipher import PKCS1_v1_5, AES
|
||||
from base64 import b64encode, b64decode
|
||||
import json
|
||||
import time
|
||||
from base.spider import Spider
|
||||
|
||||
class Spider(Spider):
|
||||
|
||||
def getName(self):
|
||||
return "电影猎手"
|
||||
|
||||
def init(self, extend=""):
|
||||
self.device = self.device_id()
|
||||
self.host = self.gethost()
|
||||
pass
|
||||
|
||||
def isVideoFormat(self, url):
|
||||
pass
|
||||
|
||||
def manualVideoCheck(self):
|
||||
pass
|
||||
|
||||
def action(self, action):
|
||||
pass
|
||||
|
||||
def destroy(self):
|
||||
pass
|
||||
|
||||
t = str(int(time.time()))
|
||||
|
||||
def homeContent(self, filter):
|
||||
result = {}
|
||||
filters = {}
|
||||
classes = []
|
||||
bba = self.url()
|
||||
data = self.fetch(f"{self.host}/api/v1/app/config?pack={bba[0]}&signature={bba[1]}", headers=self.header()).text
|
||||
data1 = self.aes(data)
|
||||
dy = {"class":"类型","area":"地区","lang":"语言","year":"年份","letter":"字母","by":"排序","sort":"排序"}
|
||||
data1['data']['movie_screen']['sort'].pop(0)
|
||||
for item in data1['data']['movie_screen']['sort']:
|
||||
item['n'] = item.pop('name')
|
||||
item['v'] = item.pop('value')
|
||||
for item in data1['data']['movie_screen']['filter']:
|
||||
has_non_empty_field = False
|
||||
classes.append({"type_name": item["name"], "type_id": str(item["id"])})
|
||||
for key in dy:
|
||||
if key in item and item[key]:
|
||||
has_non_empty_field = True
|
||||
break
|
||||
if has_non_empty_field:
|
||||
filters[str(item["id"])] = []
|
||||
filters[str(item["id"])].append(
|
||||
{"key": 'sort', "name": '排序', "value": data1['data']['movie_screen']['sort']})
|
||||
for dkey in item:
|
||||
if dkey in dy and item[dkey]:
|
||||
item[dkey].pop(0)
|
||||
value_array = [
|
||||
{"n": value.strip(), "v": value.strip()}
|
||||
for value in item[dkey]
|
||||
if value.strip() != ""
|
||||
]
|
||||
filters[str(item["id"])].append(
|
||||
{"key": dkey, "name": dy[dkey], "value": value_array}
|
||||
)
|
||||
result["class"] = classes
|
||||
result["filters"] = filters
|
||||
return result
|
||||
|
||||
def homeVideoContent(self):
|
||||
bba = self.url()
|
||||
url = f'{self.host}/api/v1/movie/index_recommend?pack={bba[0]}&signature={bba[1]}'
|
||||
data = self.fetch(url, headers=self.header()).json()
|
||||
videos = []
|
||||
for item in data['data']:
|
||||
if len(item['list']) > 0:
|
||||
for it in item['list']:
|
||||
try:
|
||||
videos.append(self.voides(it))
|
||||
except Exception as e:
|
||||
continue
|
||||
result = {"list": videos}
|
||||
return result
|
||||
|
||||
def categoryContent(self, tid, pg, filter, extend):
|
||||
body = {"type_id": tid, "sort": extend.get("sort", "by_default"), "class": extend.get("class", "类型"),
|
||||
"area": extend.get("area", "地区"), "year": extend.get("year", "年份"), "page": str(pg),
|
||||
"pageSize": "21"}
|
||||
result = {}
|
||||
list = []
|
||||
bba = self.url(body)
|
||||
url = f"{self.host}/api/v1/movie/screen/list?pack={bba[0]}&signature={bba[1]}"
|
||||
data = self.fetch(url, headers=self.header()).json()['data']['list']
|
||||
for item in data:
|
||||
list.append(self.voides(item))
|
||||
result["list"] = list
|
||||
result["page"] = pg
|
||||
result["pagecount"] = 9999
|
||||
result["limit"] = 90
|
||||
result["total"] = 999999
|
||||
return result
|
||||
|
||||
def detailContent(self, ids):
|
||||
body = {"id": ids[0]}
|
||||
bba = self.url(body)
|
||||
url = f'{self.host}/api/v1/movie/detail?pack={bba[0]}&signature={bba[1]}'
|
||||
data = self.fetch(url, headers=self.header()).json()['data']
|
||||
video = {'vod_name': data.get('name'),'type_name': data.get('type_name'),'vod_year': data.get('year'),'vod_area': data.get('area'),'vod_remarks': data.get('dynami'),'vod_content': data.get('content')}
|
||||
play = []
|
||||
names = []
|
||||
tasks = []
|
||||
for itt in data["play_from"]:
|
||||
name = itt["name"]
|
||||
a = []
|
||||
if len(itt["list"]) > 0:
|
||||
names.append(name)
|
||||
play.append(self.playeach(itt['list']))
|
||||
else:
|
||||
tasks.append({"movie_id": ids[0], "from_code": itt["code"]})
|
||||
names.append(name)
|
||||
if tasks:
|
||||
with ThreadPoolExecutor(max_workers=len(tasks)) as executor:
|
||||
results = executor.map(self.playlist, tasks)
|
||||
for result in results:
|
||||
if result:
|
||||
play.append(result)
|
||||
else:
|
||||
play.append("")
|
||||
video["vod_play_from"] = "$$$".join(names)
|
||||
video["vod_play_url"] = "$$$".join(play)
|
||||
result = {"list": [video]}
|
||||
return result
|
||||
|
||||
def searchContent(self, key, quick, pg=1):
|
||||
body = {"keyword": key, "sort": "", "type_id": "0", "page": str(pg), "pageSize": "10",
|
||||
"res_type": "by_movie_name"}
|
||||
bba = self.url(body)
|
||||
url = f"{self.host}/api/v1/movie/search?pack={bba[0]}&signature={bba[1]}"
|
||||
data = self.fetch(url, headers=self.header()).json()['data'].get('list')
|
||||
videos = []
|
||||
for it in data:
|
||||
try:
|
||||
videos.append(self.voides(it))
|
||||
except Exception as e:
|
||||
continue
|
||||
result = {"list": videos, "page": pg}
|
||||
return result
|
||||
|
||||
def playerContent(self, flag, id, vipFlags):
|
||||
url = id
|
||||
if "m3u8" not in url and "mp4" not in url:
|
||||
try:
|
||||
add = id.split('|||')
|
||||
data = {"from_code": add[0], "play_url": add[1], "episode_id": add[2], "type": "play"}
|
||||
bba = self.url(data)
|
||||
data2 = self.fetch(f"{self.host}/api/v1/movie_addr/parse_url?pack={bba[0]}&signature={bba[1]}",
|
||||
headers=self.header()).json()['data']
|
||||
url = data2.get('play_url') or data2.get('download_url')
|
||||
try:
|
||||
url1 = self.fetch(url, headers=self.header(), allow_redirects=False).headers['Location']
|
||||
if url1 and "http" in url1:
|
||||
url = url1
|
||||
except:
|
||||
pass
|
||||
except Exception as e:
|
||||
pass
|
||||
if '.jpg' in url or '.jpeg' in url or '.png' in url:
|
||||
url = self.getProxyUrl() + "&url=" + b64encode(url.encode('utf-8')).decode('utf-8') + "&type=m3u8"
|
||||
result = {}
|
||||
result["parse"] = 0
|
||||
result["url"] = url
|
||||
result["header"] = {'user-agent': 'okhttp/4.9.2'}
|
||||
return result
|
||||
|
||||
def localProxy(self, param):
|
||||
url = b64decode(param["url"]).decode('utf-8')
|
||||
durl = url[:url.rfind('/')]
|
||||
data = self.fetch(url, headers=self.header()).content.decode("utf-8")
|
||||
lines = data.strip().split('\n')
|
||||
for index, string in enumerate(lines):
|
||||
# if 'URI="' in string and 'http' not in string:
|
||||
# lines[index] = index
|
||||
# 暂时预留,貌似用不到
|
||||
if '#EXT' not in string and 'http' not in string:
|
||||
lines[index] = durl + ('' if string.startswith('/') else '/') + string
|
||||
data = '\n'.join(lines)
|
||||
return [200, "application/vnd.apple.mpegur", data]
|
||||
|
||||
def device_id(self):
|
||||
characters = string.ascii_lowercase + string.digits
|
||||
random_string = ''.join(random.choices(characters, k=32))
|
||||
return random_string
|
||||
|
||||
def gethost(self):
|
||||
headers = {
|
||||
'User-Agent': 'okhttp/4.9.2',
|
||||
'Connection': 'Keep-Alive',
|
||||
}
|
||||
response = self.fetch('https://app-site.ecoliving168.com/domain_v5.json', headers=headers).json()
|
||||
url = response['api_service'].replace('/api/', '')
|
||||
return url
|
||||
|
||||
def header(self):
|
||||
headers = {
|
||||
'User-Agent': 'Android',
|
||||
'Accept': 'application/prs.55App.v2+json',
|
||||
'timestamp': self.t,
|
||||
'x-client-setting': '{"pure-mode":1}',
|
||||
'x-client-uuid': '{"device_id":' + self.device + '}, "type":1,"brand":"Redmi", "model":"M2012K10C", "system_version":30, "sdk_version":"3.1.0.7"}',
|
||||
'x-client-version': '3096 '
|
||||
}
|
||||
return headers
|
||||
|
||||
def url(self, id=None):
|
||||
if not id:
|
||||
id = {}
|
||||
id["timestamp"] = self.t
|
||||
public_key = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA02F/kPg5A2NX4qZ5JSns+bjhVMCC6JbTiTKpbgNgiXU+Kkorg6Dj76gS68gB8llhbUKCXjIdygnHPrxVHWfzmzisq9P9awmXBkCk74Skglx2LKHa/mNz9ivg6YzQ5pQFUEWS0DfomGBXVtqvBlOXMCRxp69oWaMsnfjnBV+0J7vHbXzUIkqBLdXSNfM9Ag5qdRDrJC3CqB65EJ3ARWVzZTTcXSdMW9i3qzEZPawPNPe5yPYbMZIoXLcrqvEZnRK1oak67/ihf7iwPJqdc+68ZYEmmdqwunOvRdjq89fQMVelmqcRD9RYe08v+xDxG9Co9z7hcXGTsUquMxkh29uNawIDAQAB'
|
||||
encrypted_text = json.dumps(id)
|
||||
public_key = RSA.import_key(b64decode(public_key))
|
||||
cipher = PKCS1_v1_5.new(public_key)
|
||||
encrypted_message = cipher.encrypt(encrypted_text.encode('utf-8'))
|
||||
encrypted_message_base64 = b64encode(encrypted_message).decode('utf-8')
|
||||
result = encrypted_message_base64.replace('+', '-').replace('/', '_').replace('=', '')
|
||||
key = '635a580fcb5dc6e60caa39c31a7bde48'
|
||||
sign = hmac.new(key.encode(), result.encode(), hashlib.md5).hexdigest()
|
||||
return result, sign
|
||||
|
||||
def playlist(self, body):
|
||||
try:
|
||||
bba = self.url(body)
|
||||
url = f'{self.host}/api/v1/movie_addr/list?pack={bba[0]}&signature={bba[1]}'
|
||||
data = self.fetch(url, headers=self.header()).json()['data']
|
||||
return self.playeach(data)
|
||||
except Exception:
|
||||
return []
|
||||
|
||||
def playeach(self,data):
|
||||
play_urls = []
|
||||
for it in data:
|
||||
if re.search(r"mp4|m3u8", it["play_url"]):
|
||||
play_urls.append(f"{it['episode_name']}${it['play_url']}")
|
||||
else:
|
||||
play_urls.append(
|
||||
f"{it['episode_name']}${it['from_code']}|||{it['play_url']}|||{it['episode_id']}"
|
||||
)
|
||||
return '#'.join(play_urls)
|
||||
|
||||
def voides(self, item):
|
||||
if item['name'] or item['title']:
|
||||
voide = {
|
||||
"vod_id": item.get('id') or item.get('click'),
|
||||
'vod_name': item.get('name') or item.get('title'),
|
||||
'vod_pic': item.get('cover') or item.get('image'),
|
||||
'vod_year': item.get('year') or item.get('label'),
|
||||
'vod_remarks': item.get('dynamic') or item.get('sub_title')
|
||||
}
|
||||
return voide
|
||||
|
||||
def aes(self, text):
|
||||
text = text.replace('-', '+').replace('_', '/') + '=='
|
||||
key = b"e6d5de5fcc51f53d"
|
||||
iv = b"2f13eef7dfc6c613"
|
||||
cipher = AES.new(key, AES.MODE_CBC, iv)
|
||||
pt = unpad(cipher.decrypt(b64decode(text)), AES.block_size).decode("utf-8")
|
||||
return json.loads(pt)
|
||||
-210
@@ -1,210 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# by @嗷呜
|
||||
import json
|
||||
import sys
|
||||
import threading
|
||||
import uuid
|
||||
import requests
|
||||
sys.path.append('..')
|
||||
from base.spider import Spider
|
||||
import time
|
||||
from Crypto.Hash import MD5, SHA1
|
||||
|
||||
class Spider(Spider):
|
||||
|
||||
def init(self, extend=""):
|
||||
if extend:
|
||||
hosts=json.loads(extend)['site']
|
||||
self.host = self.host_late(hosts)
|
||||
pass
|
||||
|
||||
def getName(self):
|
||||
pass
|
||||
|
||||
def isVideoFormat(self, url):
|
||||
pass
|
||||
|
||||
def manualVideoCheck(self):
|
||||
pass
|
||||
|
||||
def destroy(self):
|
||||
pass
|
||||
|
||||
def homeContent(self, filter):
|
||||
cdata = self.fetch(f"{self.host}/api/mw-movie/anonymous/get/filer/type", headers=self.getheaders()).json()
|
||||
fdata = self.fetch(f"{self.host}/api/mw-movie/anonymous/v1/get/filer/list", headers=self.getheaders()).json()
|
||||
result = {}
|
||||
classes = []
|
||||
filters={}
|
||||
for k in cdata['data']:
|
||||
classes.append({
|
||||
'type_name': k['typeName'],
|
||||
'type_id': str(k['typeId']),
|
||||
})
|
||||
sort_values = [{"n": "最近更新", "v": "2"},{"n": "人气高低", "v": "3"}, {"n": "评分高低", "v": "4"}]
|
||||
for tid, d in fdata['data'].items():
|
||||
current_sort_values = sort_values.copy()
|
||||
if tid == '1':
|
||||
del current_sort_values[0]
|
||||
filters[tid] = [
|
||||
{"key": "type", "name": "类型",
|
||||
"value": [{"n": i["itemText"], "v": i["itemValue"]} for i in d["typeList"]]},
|
||||
|
||||
*([] if not d["plotList"] else [{"key": "v_class", "name": "剧情",
|
||||
"value": [{"n": i["itemText"], "v": i["itemText"]}
|
||||
for i in d["plotList"]]}]),
|
||||
|
||||
{"key": "area", "name": "地区",
|
||||
"value": [{"n": i["itemText"], "v": i["itemText"]} for i in d["districtList"]]},
|
||||
|
||||
{"key": "year", "name": "年份",
|
||||
"value": [{"n": i["itemText"], "v": i["itemText"]} for i in d["yearList"]]},
|
||||
|
||||
{"key": "lang", "name": "语言",
|
||||
"value": [{"n": i["itemText"], "v": i["itemText"]} for i in d["languageList"]]},
|
||||
|
||||
{"key": "sort", "name": "排序", "value": current_sort_values}
|
||||
]
|
||||
result['class'] = classes
|
||||
result['filters'] = filters
|
||||
return result
|
||||
|
||||
def homeVideoContent(self):
|
||||
data1 = self.fetch(f"{self.host}/api/mw-movie/anonymous/v1/home/all/list", headers=self.getheaders()).json()
|
||||
data2=self.fetch(f"{self.host}/api/mw-movie/anonymous/home/hotSearch",headers=self.getheaders()).json()
|
||||
data=[]
|
||||
for i in data1['data'].values():
|
||||
data.extend(i['list'])
|
||||
data.extend(data2['data'])
|
||||
vods=self.getvod(data)
|
||||
return {'list':vods}
|
||||
|
||||
def categoryContent(self, tid, pg, filter, extend):
|
||||
|
||||
params = {
|
||||
"area": extend.get('area', ''),
|
||||
"filterStatus": "1",
|
||||
"lang": extend.get('lang', ''),
|
||||
"pageNum": pg,
|
||||
"pageSize": "30",
|
||||
"sort": extend.get('sort', '1'),
|
||||
"sortBy": "1",
|
||||
"type": extend.get('type', ''),
|
||||
"type1": tid,
|
||||
"v_class": extend.get('v_class', ''),
|
||||
"year": extend.get('year', '')
|
||||
}
|
||||
data = self.fetch(f"{self.host}/api/mw-movie/anonymous/video/list?{self.js(params)}", headers=self.getheaders(params)).json()
|
||||
result = {}
|
||||
result['list'] = self.getvod(data['data']['list'])
|
||||
result['page'] = pg
|
||||
result['pagecount'] = 9999
|
||||
result['limit'] = 90
|
||||
result['total'] = 999999
|
||||
return result
|
||||
|
||||
def detailContent(self, ids):
|
||||
data=self.fetch(f"{self.host}/api/mw-movie/anonymous/video/detail?id={ids[0]}",headers=self.getheaders({'id':ids[0]})).json()
|
||||
vod=self.getvod([data['data']])[0]
|
||||
vod['vod_play_from']='嗷呜有金牌'
|
||||
vod['vod_play_url'] = '#'.join(
|
||||
f"{i['name'] if len(vod['episodelist']) > 1 else vod['vod_name']}${ids[0]}@@{i['nid']}" for i in
|
||||
vod['episodelist'])
|
||||
vod.pop('episodelist', None)
|
||||
return {'list':[vod]}
|
||||
|
||||
def searchContent(self, key, quick, pg="1"):
|
||||
params = {
|
||||
"keyword": key,
|
||||
"pageNum": pg,
|
||||
"pageSize": "8",
|
||||
"sourceCode": "1"
|
||||
}
|
||||
data=self.fetch(f"{self.host}/api/mw-movie/anonymous/video/searchByWord?{self.js(params)}",headers=self.getheaders(params)).json()
|
||||
vods=self.getvod(data['data']['result']['list'])
|
||||
return {'list':vods,'page':pg}
|
||||
|
||||
def playerContent(self, flag, id, vipFlags):
|
||||
self.header = {
|
||||
'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',
|
||||
'sec-ch-ua-platform': '"Windows"',
|
||||
'DNT': '1',
|
||||
'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
|
||||
'sec-ch-ua-mobile': '?0',
|
||||
'Origin': self.host,
|
||||
'Referer': f'{self.host}/'
|
||||
}
|
||||
ids=id.split('@@')
|
||||
pdata = self.fetch(f"{self.host}/api/mw-movie/anonymous/v2/video/episode/url?clientType=1&id={ids[0]}&nid={ids[1]}",headers=self.getheaders({'clientType':'1','id': ids[0], 'nid': ids[1]})).json()
|
||||
vlist=[]
|
||||
for i in pdata['data']['list']:vlist.extend([i['resolutionName'],i['url']])
|
||||
return {'parse':0,'url':vlist,'header':self.header}
|
||||
|
||||
def localProxy(self, param):
|
||||
pass
|
||||
|
||||
def host_late(self, url_list):
|
||||
if isinstance(url_list, str):
|
||||
urls = [u.strip() for u in url_list.split(',')]
|
||||
else:
|
||||
urls = url_list
|
||||
if len(urls) <= 1:
|
||||
return urls[0] if urls else ''
|
||||
|
||||
results = {}
|
||||
threads = []
|
||||
|
||||
def test_host(url):
|
||||
try:
|
||||
start_time = time.time()
|
||||
response = requests.head(url, timeout=1.0, allow_redirects=False)
|
||||
delay = (time.time() - start_time) * 1000
|
||||
results[url] = delay
|
||||
except Exception as e:
|
||||
results[url] = float('inf')
|
||||
for url in urls:
|
||||
t = threading.Thread(target=test_host, args=(url,))
|
||||
threads.append(t)
|
||||
t.start()
|
||||
for t in threads:
|
||||
t.join()
|
||||
return min(results.items(), key=lambda x: x[1])[0]
|
||||
|
||||
def md5(self, sign_key):
|
||||
md5_hash = MD5.new()
|
||||
md5_hash.update(sign_key.encode('utf-8'))
|
||||
md5_result = md5_hash.hexdigest()
|
||||
return md5_result
|
||||
|
||||
def js(self, param):
|
||||
return '&'.join(f"{k}={v}" for k, v in param.items())
|
||||
|
||||
def getheaders(self, param=None):
|
||||
if param is None:param = {}
|
||||
t=str(int(time.time()*1000))
|
||||
param['key']='cb808529bae6b6be45ecfab29a4889bc'
|
||||
param['t']=t
|
||||
sha1_hash = SHA1.new()
|
||||
sha1_hash.update(self.md5(self.js(param)).encode('utf-8'))
|
||||
sign = sha1_hash.hexdigest()
|
||||
deviceid = str(uuid.uuid4())
|
||||
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',
|
||||
'Accept': 'application/json, text/plain, */*',
|
||||
'sign': sign,
|
||||
't': t,
|
||||
'deviceid':deviceid
|
||||
}
|
||||
return headers
|
||||
|
||||
def convert_field_name(self, field):
|
||||
field = field.lower()
|
||||
if field.startswith('vod') and len(field) > 3:
|
||||
field = field.replace('vod', 'vod_')
|
||||
if field.startswith('type') and len(field) > 4:
|
||||
field = field.replace('type', 'type_')
|
||||
return field
|
||||
|
||||
def getvod(self, array):
|
||||
return [{self.convert_field_name(k): v for k, v in item.items()} for item in array]
|
||||
|
||||
Binary file not shown.
Binary file not shown.
File renamed without changes.
File renamed without changes.
-743
@@ -1,743 +0,0 @@
|
||||
// 地址发布页 https://subaibai.vip/
|
||||
// 搜索数字验证
|
||||
var rule = {
|
||||
title: '素白白',
|
||||
// host:'https://www.subaibaiys.com',
|
||||
host: 'https://subaibai.vip',
|
||||
hostJs: 'print(HOST);let html=request(HOST,{headers:{"User-Agent":PC_UA}});let src = jsp.pdfh(html,".go:eq(0)&&a&&href");print(src);HOST=src', //网页域名根动态抓取js代码。通过HOST=赋值
|
||||
// url:'/fyclass/page/fypage',
|
||||
url: '/fyclassfyfilter',
|
||||
filterable: 1, //是否启用分类筛选,
|
||||
filter_url: '{{fl.area}}{{fl.year}}{{fl.class}}{{fl.cateId}}/page/fypage',
|
||||
filter: {
|
||||
"movie_bt": [{
|
||||
"key": "cateId",
|
||||
"name": "分类",
|
||||
"value": [{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
}, {
|
||||
"v": "/movie_bt_series/dongmanju",
|
||||
"n": "动漫剧"
|
||||
}, {
|
||||
"v": "/movie_bt_series/dongmandy",
|
||||
"n": "动漫电影"
|
||||
}, {
|
||||
"v": "/movie_bt_series/yindudy",
|
||||
"n": "印度电影"
|
||||
}, {
|
||||
"v": "/movie_bt_series/guochanju",
|
||||
"n": "国产剧"
|
||||
}, {
|
||||
"v": "/movie_bt_series/guochandy",
|
||||
"n": "国产电影"
|
||||
}, {
|
||||
"v": "/movie_bt_series/riju",
|
||||
"n": "日剧"
|
||||
}, {
|
||||
"v": "/movie_bt_series/rihandy",
|
||||
"n": "日韩电影"
|
||||
}, {
|
||||
"v": "/movie_bt_series/oumeiju",
|
||||
"n": "欧美剧"
|
||||
}, {
|
||||
"v": "/movie_bt_series/oumeidy",
|
||||
"n": "欧美电影"
|
||||
}, {
|
||||
"v": "/movie_bt_series/taiju",
|
||||
"n": "泰剧"
|
||||
}, {
|
||||
"v": "/movie_bt_series/thaidy",
|
||||
"n": "泰国电影"
|
||||
}, {
|
||||
"v": "/movie_bt_series/gangju",
|
||||
"n": "港台剧"
|
||||
}, {
|
||||
"v": "/movie_bt_series/gangtaidy",
|
||||
"n": "港台电影"
|
||||
}, {
|
||||
"v": "/movie_bt_series/documentary",
|
||||
"n": "纪录片"
|
||||
}, {
|
||||
"v": "/movie_bt_series/zongyi",
|
||||
"n": "综艺"
|
||||
}, {
|
||||
"v": "/movie_bt_series/hanju",
|
||||
"n": "韩剧"
|
||||
}, {
|
||||
"v": "/movie_bt_series/xianggangdy",
|
||||
"n": "香港经典电影"
|
||||
}]
|
||||
}, {
|
||||
"key": "class",
|
||||
"name": "类型",
|
||||
"value": [{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
}, {
|
||||
"v": "/movie_bt_tags/pop-popular",
|
||||
"n": "POP流行"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/biography",
|
||||
"n": "传记"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/child",
|
||||
"n": "儿童"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/adventure",
|
||||
"n": "冒险"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/plot",
|
||||
"n": "剧情"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/action",
|
||||
"n": "动作"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/anime",
|
||||
"n": "动漫"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/animation",
|
||||
"n": "动画"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/history",
|
||||
"n": "历史"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/costume",
|
||||
"n": "古装"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/antiquity",
|
||||
"n": "古风"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/homosexual",
|
||||
"n": "同性"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/comedy",
|
||||
"n": "喜剧"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/fantasy",
|
||||
"n": "奇幻"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/family",
|
||||
"n": "家庭"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/terror",
|
||||
"n": "恐怖"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/suspense",
|
||||
"n": "悬疑"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/erotic",
|
||||
"n": "情色"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/thriller",
|
||||
"n": "惊悚"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/drama",
|
||||
"n": "戏曲"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/war",
|
||||
"n": "战争"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/latin",
|
||||
"n": "拉丁"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/funny",
|
||||
"n": "搞笑"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/campus",
|
||||
"n": "校园"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/song-and-dance",
|
||||
"n": "歌舞"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/martial-arts",
|
||||
"n": "武侠"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/disaster",
|
||||
"n": "灾难"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/love",
|
||||
"n": "爱情"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/crime",
|
||||
"n": "犯罪"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/fancy",
|
||||
"n": "玄幻"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/reality-show",
|
||||
"n": "真人秀"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/short-film",
|
||||
"n": "短片"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/kehuan",
|
||||
"n": "科幻"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/documentary",
|
||||
"n": "纪录片"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/talkshow",
|
||||
"n": "脱口秀"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/stageart",
|
||||
"n": "舞台艺术"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/west",
|
||||
"n": "西部"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/sport",
|
||||
"n": "运动"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/youth",
|
||||
"n": "青春"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/music",
|
||||
"n": "音乐"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/ghost",
|
||||
"n": "鬼怪"
|
||||
}, {
|
||||
"v": "/movie_bt_tags/black-film",
|
||||
"n": "黑色电影"
|
||||
}]
|
||||
}, {
|
||||
"key": "area",
|
||||
"name": "地区",
|
||||
"value": [{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
}, {
|
||||
"v": "/movie_bt_cat/bhutan",
|
||||
"n": "不丹"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/china",
|
||||
"n": "中国"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/china-taiwan",
|
||||
"n": "中国台湾"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/china-mainland",
|
||||
"n": "中国大陆"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/china-hongkong",
|
||||
"n": "中国香港"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/denmark",
|
||||
"n": "丹麦"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/ukraine",
|
||||
"n": "乌克兰"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/uruguay",
|
||||
"n": "乌拉圭"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/israel",
|
||||
"n": "以色列"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/iraq",
|
||||
"n": "伊拉克"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/iran",
|
||||
"n": "伊朗"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/russia",
|
||||
"n": "俄罗斯"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/bulgaria",
|
||||
"n": "保加利亚"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/croatia",
|
||||
"n": "克罗地亚"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/iceland",
|
||||
"n": "冰岛"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/canada",
|
||||
"n": "加拿大"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/hungary",
|
||||
"n": "匈牙利"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/south-africa",
|
||||
"n": "南非"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/botswana",
|
||||
"n": "博茨瓦纳"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/qatar",
|
||||
"n": "卡塔尔"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/luxembourg",
|
||||
"n": "卢森堡"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/india",
|
||||
"n": "印度"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/indonesia",
|
||||
"n": "印度尼西亚"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/kazakhstan",
|
||||
"n": "哈萨克斯坦"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/colombia",
|
||||
"n": "哥伦比亚"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/turkey",
|
||||
"n": "土耳其"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/serbia",
|
||||
"n": "塞尔维亚"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/cyprus",
|
||||
"n": "塞浦路斯"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/mexico",
|
||||
"n": "墨西哥"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/dominica",
|
||||
"n": "多米尼加"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/austria",
|
||||
"n": "奥地利"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/venezuela",
|
||||
"n": "委内瑞拉"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/nigeria",
|
||||
"n": "尼日利亚"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/巴基斯坦",
|
||||
"n": "巴基斯坦"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/paraguay",
|
||||
"n": "巴拉圭"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/brazil",
|
||||
"n": "巴西"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/greece",
|
||||
"n": "希腊"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/germany",
|
||||
"n": "德国"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/italy",
|
||||
"n": "意大利"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/latvia",
|
||||
"n": "拉脱维亚"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/norway",
|
||||
"n": "挪威"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/chech",
|
||||
"n": "捷克"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/摩洛哥",
|
||||
"n": "摩洛哥"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/斯洛伐克",
|
||||
"n": "斯洛伐克"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/slovenia",
|
||||
"n": "斯洛文尼亚"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/singapore",
|
||||
"n": "新加坡"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/zealand",
|
||||
"n": "新西兰"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/japan",
|
||||
"n": "日本"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/chile",
|
||||
"n": "智利"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/north-korea",
|
||||
"n": "朝鲜"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/cambodia",
|
||||
"n": "柬埔寨"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/georgia",
|
||||
"n": "格鲁吉亚"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/belgium",
|
||||
"n": "比利时"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/saudi-arabia",
|
||||
"n": "沙特阿拉伯"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/france",
|
||||
"n": "法国"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/poland",
|
||||
"n": "波兰"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/puertorco",
|
||||
"n": "波多黎各"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/bohei",
|
||||
"n": "波黑"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/thailand",
|
||||
"n": "泰国"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/australia",
|
||||
"n": "澳大利亚"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/ireland",
|
||||
"n": "爱尔兰"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/estonia",
|
||||
"n": "爱沙尼亚"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/sweden",
|
||||
"n": "瑞典"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/switzerland",
|
||||
"n": "瑞士"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/belarus",
|
||||
"n": "白俄罗斯"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/peru",
|
||||
"n": "秘鲁"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/tunisia",
|
||||
"n": "突尼斯"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/lithuania",
|
||||
"n": "立陶宛"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/romania",
|
||||
"n": "罗马尼亚"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/america",
|
||||
"n": "美国"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/finland",
|
||||
"n": "芬兰"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/sovietunion",
|
||||
"n": "苏联"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/england",
|
||||
"n": "英国"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/netherlands",
|
||||
"n": "荷兰"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/philippines",
|
||||
"n": "菲律宾"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/葡萄牙",
|
||||
"n": "葡萄牙"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/west-germany",
|
||||
"n": "西德"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/spain",
|
||||
"n": "西班牙"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/vietnam",
|
||||
"n": "越南"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/argentina",
|
||||
"n": "阿根廷"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/korea",
|
||||
"n": "韩国"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/malaysia",
|
||||
"n": "马来西亚"
|
||||
}, {
|
||||
"v": "/movie_bt_cat/马耳他",
|
||||
"n": "马耳他"
|
||||
}]
|
||||
}, {
|
||||
"key": "year",
|
||||
"name": "年份",
|
||||
"value": [{
|
||||
"n": "全部",
|
||||
"v": ""
|
||||
}, {
|
||||
"v": "/year/2024",
|
||||
"n": "2024"
|
||||
}, {
|
||||
"v": "/year/2023",
|
||||
"n": "2023"
|
||||
}, {
|
||||
"v": "/year/2022",
|
||||
"n": "2022"
|
||||
}, {
|
||||
"v": "/year/2021",
|
||||
"n": "2021"
|
||||
}, {
|
||||
"v": "/year/2020",
|
||||
"n": "2020"
|
||||
}, {
|
||||
"v": "/year/2019",
|
||||
"n": "2019"
|
||||
}, {
|
||||
"v": "/year/2018",
|
||||
"n": "2018"
|
||||
}, {
|
||||
"v": "/year/2017",
|
||||
"n": "2017"
|
||||
}, {
|
||||
"v": "/year/2016",
|
||||
"n": "2016"
|
||||
}, {
|
||||
"v": "/year/2015",
|
||||
"n": "2015"
|
||||
}, {
|
||||
"v": "/year/2014",
|
||||
"n": "2014"
|
||||
}, {
|
||||
"v": "/year/2013",
|
||||
"n": "2013"
|
||||
}, {
|
||||
"v": "/year/2012",
|
||||
"n": "2012"
|
||||
}, {
|
||||
"v": "/year/2011",
|
||||
"n": "2011"
|
||||
}, {
|
||||
"v": "/year/2010",
|
||||
"n": "2010"
|
||||
}, {
|
||||
"v": "/year/2009",
|
||||
"n": "2009"
|
||||
}, {
|
||||
"v": "/year/2008",
|
||||
"n": "2008"
|
||||
}, {
|
||||
"v": "/year/2007",
|
||||
"n": "2007"
|
||||
}, {
|
||||
"v": "/year/2006",
|
||||
"n": "2006"
|
||||
}, {
|
||||
"v": "/year/2005",
|
||||
"n": "2005"
|
||||
}, {
|
||||
"v": "/year/2004",
|
||||
"n": "2004"
|
||||
}, {
|
||||
"v": "/year/2003",
|
||||
"n": "2003"
|
||||
}, {
|
||||
"v": "/year/2002",
|
||||
"n": "2002"
|
||||
}, {
|
||||
"v": "/year/2001",
|
||||
"n": "2001"
|
||||
}, {
|
||||
"v": "/year/2000",
|
||||
"n": "2000"
|
||||
}, {
|
||||
"v": "/year/1999",
|
||||
"n": "1999"
|
||||
}, {
|
||||
"v": "/year/1998",
|
||||
"n": "1998"
|
||||
}, {
|
||||
"v": "/year/1997",
|
||||
"n": "1997"
|
||||
}, {
|
||||
"v": "/year/1996",
|
||||
"n": "1996"
|
||||
}, {
|
||||
"v": "/year/1995",
|
||||
"n": "1995"
|
||||
}, {
|
||||
"v": "/year/1994",
|
||||
"n": "1994"
|
||||
}, {
|
||||
"v": "/year/1993",
|
||||
"n": "1993"
|
||||
}, {
|
||||
"v": "/year/1992",
|
||||
"n": "1992"
|
||||
}, {
|
||||
"v": "/year/1991",
|
||||
"n": "1991"
|
||||
}, {
|
||||
"v": "/year/1990",
|
||||
"n": "1990"
|
||||
}, {
|
||||
"v": "/year/1989",
|
||||
"n": "1989"
|
||||
}, {
|
||||
"v": "/year/1988",
|
||||
"n": "1988"
|
||||
}, {
|
||||
"v": "/year/1987",
|
||||
"n": "1987"
|
||||
}, {
|
||||
"v": "/year/1986",
|
||||
"n": "1986"
|
||||
}, {
|
||||
"v": "/year/1985",
|
||||
"n": "1985"
|
||||
}, {
|
||||
"v": "/year/1984",
|
||||
"n": "1984"
|
||||
}, {
|
||||
"v": "/year/1983",
|
||||
"n": "1983"
|
||||
}, {
|
||||
"v": "/year/1982",
|
||||
"n": "1982"
|
||||
}, {
|
||||
"v": "/year/1981",
|
||||
"n": "1981"
|
||||
}, {
|
||||
"v": "/year/1980",
|
||||
"n": "1980"
|
||||
}, {
|
||||
"v": "/year/1979",
|
||||
"n": "1979"
|
||||
}, {
|
||||
"v": "/year/1978",
|
||||
"n": "1978"
|
||||
}, {
|
||||
"v": "/year/1977",
|
||||
"n": "1977"
|
||||
}, {
|
||||
"v": "/year/1976",
|
||||
"n": "1976"
|
||||
}, {
|
||||
"v": "/year/1975",
|
||||
"n": "1975"
|
||||
}, {
|
||||
"v": "/year/1974",
|
||||
"n": "1974"
|
||||
}, {
|
||||
"v": "/year/1973",
|
||||
"n": "1973"
|
||||
}, {
|
||||
"v": "/year/1972",
|
||||
"n": "1972"
|
||||
}, {
|
||||
"v": "/year/1971",
|
||||
"n": "1971"
|
||||
}, {
|
||||
"v": "/year/1970",
|
||||
"n": "1970"
|
||||
}, {
|
||||
"v": "/year/1969",
|
||||
"n": "1969"
|
||||
}, {
|
||||
"v": "/year/1968",
|
||||
"n": "1968"
|
||||
}, {
|
||||
"v": "/year/1967",
|
||||
"n": "1967"
|
||||
}, {
|
||||
"v": "/year/1966",
|
||||
"n": "1966"
|
||||
}, {
|
||||
"v": "/year/1965",
|
||||
"n": "1965"
|
||||
}, {
|
||||
"v": "/year/1964",
|
||||
"n": "1964"
|
||||
}, {
|
||||
"v": "/year/1963",
|
||||
"n": "1963"
|
||||
}, {
|
||||
"v": "/year/1962",
|
||||
"n": "1962"
|
||||
}, {
|
||||
"v": "/year/1960",
|
||||
"n": "1960"
|
||||
}, {
|
||||
"v": "/year/1959",
|
||||
"n": "1959"
|
||||
}, {
|
||||
"v": "/year/1954",
|
||||
"n": "1954"
|
||||
}, {
|
||||
"v": "/year/1952",
|
||||
"n": "1952"
|
||||
}, {
|
||||
"v": "/year/1950",
|
||||
"n": "1950"
|
||||
}, {
|
||||
"v": "/year/1949",
|
||||
"n": "1949"
|
||||
}, {
|
||||
"v": "/year/1948",
|
||||
"n": "1948"
|
||||
}, {
|
||||
"v": "/year/1940",
|
||||
"n": "1940"
|
||||
}, {
|
||||
"v": "/year/1939",
|
||||
"n": "1939"
|
||||
}, {
|
||||
"v": "/year/1925",
|
||||
"n": "1925"
|
||||
}]
|
||||
}]
|
||||
},
|
||||
// searchUrl:'/search?q=**',
|
||||
searchUrl: '/search?q=**',
|
||||
searchable: 2, //是否启用全局搜索,
|
||||
quickSearch: 0, //是否启用快速搜索,
|
||||
headers: {
|
||||
'User-Agent': 'UC_UA',
|
||||
},
|
||||
class_parse: '.navlist&&li;a&&Text;a&&href;.*/([^/]+)',
|
||||
play_parse: true,
|
||||
// lazy:'',
|
||||
lazy: `js:
|
||||
pdfh = jsp.pdfh;
|
||||
var html = request(input);
|
||||
var ohtml = pdfh(html, '.videoplay&&Html');
|
||||
var url = pdfh(ohtml, "body&&iframe&&src");
|
||||
if (/Cloud/.test(url)) {
|
||||
var ifrwy = request(url);
|
||||
let code = ifrwy.match(/var url = '(.*?)'/)[1].split('').reverse().join('');
|
||||
let temp = '';
|
||||
for (let i = 0x0; i < code.length; i = i + 0x2) {
|
||||
temp += String.fromCharCode(parseInt(code[i] + code[i + 0x1], 0x10))
|
||||
}
|
||||
input = {
|
||||
jx: 0,
|
||||
url: temp.substring(0x0, (temp.length - 0x7) / 0x2) + temp.substring((temp.length - 0x7) / 0x2 + 0x7),
|
||||
parse: 0
|
||||
}
|
||||
} else if (/decrypted/.test(ohtml)) {
|
||||
var phtml = pdfh(ohtml, "body&&script:not([src])&&Html");
|
||||
eval(getCryptoJS());
|
||||
var scrpt = phtml.match(/var.*?\\)\\);/g)[0];
|
||||
var data = [];
|
||||
eval(scrpt.replace(/md5/g, 'CryptoJS').replace('eval', 'data = '));
|
||||
input = {
|
||||
jx: 0,
|
||||
url: data.match(/url:.*?[\\'\\"](.*?)[\\'\\"]/)[1],
|
||||
parse: 0
|
||||
}
|
||||
} else {
|
||||
input
|
||||
}
|
||||
`,
|
||||
limit: 6,
|
||||
推荐: '.leibox&&li;*;*;*;*',
|
||||
// double:true, // 推荐内容是否双层定位
|
||||
一级: '.mrb&&li;img&&alt;img&&data-original;.jidi&&Text;a&&href',
|
||||
二级: {
|
||||
"title": "h1&&Text;.moviedteail_list&&li:eq(0)&&Text",
|
||||
"img": ".dyimg&&img&&src",
|
||||
"desc": ".moviedteail_list&&li:eq(-1)&&Text;;;.moviedteail_list&&li:eq(7)&&Text;.moviedteail_list&&li:eq(5)&&Text",
|
||||
"content": ".yp_context&&p&&Text",
|
||||
"tabs": ".mi_paly_box .ypxingq_t--span",
|
||||
"lists": ".paly_list_btn:eq(#id) a"
|
||||
},
|
||||
搜索: '.search_list&&li;img&&alt;img&&data-original;.nostag&&Text;a&&href',
|
||||
}
|
||||
File renamed without changes.
File renamed without changes.
+1458
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"SiteUrl": "https://pan1.me",
|
||||
"Classes": [
|
||||
{
|
||||
"type_name": "电影",
|
||||
"type_id": "2"
|
||||
},
|
||||
{
|
||||
"type_name": "剧集",
|
||||
"type_id": "48"
|
||||
},
|
||||
{
|
||||
"type_name": "4K原盘",
|
||||
"type_id": "56"
|
||||
},
|
||||
{
|
||||
"type_name": "综艺",
|
||||
"type_id": "52"
|
||||
},
|
||||
{
|
||||
"type_name": "动漫",
|
||||
"type_id": "37"
|
||||
}
|
||||
],
|
||||
"Cookie": "bbs_sid=rrru52bda4v655kl9u1c87f00m; bbs_token=dZRAvHbHcUZkuJ7oHALqWoUs00C1fGqqXDXH7I8LH6hMddXP"
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
|
||||
"作者":"天天开心",
|
||||
|
||||
"站名":"骚火影视",
|
||||
|
||||
"主页url":"https://saohuo.vip/",
|
||||
|
||||
"简介":"+<p class=\"p_txt show_part\"&&</p>",
|
||||
|
||||
"导演":"</h1><p>* / 导演:&& /",
|
||||
|
||||
"主演":"主演:&&</p>",
|
||||
|
||||
"影片地区":"</h1><p>&& / ",
|
||||
|
||||
"影片年代":"<p>* / && /",
|
||||
|
||||
"影片状态":"v_note\">&&</div>",
|
||||
|
||||
"搜索url":"/search.php?searchword={wd}",
|
||||
|
||||
"线路二次截取":"<ul class=\"from_list\">&&</ul>",
|
||||
|
||||
"线路数组":"<li&&/li>",
|
||||
|
||||
"线路标题":"+>&&<[替换:1号线路>>骚火专线#2线路>>骚火备用]",
|
||||
|
||||
"跳转播放链接":"<iframe*src=\"&&\"",
|
||||
|
||||
"二次跳转播放链接":"https://hhjx.hhplayer.com/api.php;post;url=+var url*\"&&\"+&t=+var t*\"&&\"+&key=+var key*\"&&\"+&act=0+&play=1",
|
||||
|
||||
"三次跳转播放链接":"\"url\"*\"&&\"",
|
||||
|
||||
"嗅探词":".m3u8#.mp4#.m3u8?#freeok.mp4",
|
||||
|
||||
"分类url":"https://saohuo.vip/list/{cateId}-{catePg}.html[https://saohuo.vip/list/{cateId}.html];;kdvr1au0",
|
||||
|
||||
//"分类url":"https://saohuo.vip/search.php?page={catePg}&searchtype=5&order={by}&tid={cateId};;akd",
|
||||
|
||||
"分类":"电影$1#电视剧$2#韩剧$22#美剧$22#综艺$3#动漫$4"}
|
||||
+2238
File diff suppressed because it is too large.
Load diff
+1457
File diff suppressed because it is too large.
Load diff
+1703
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"规则名": "八号影视",
|
||||
"规则作者": "",
|
||||
"请求头参数": "User-Agent$手机#accept$text/html",
|
||||
"网页编码格式": "UTF-8",
|
||||
"图片是否需要代理": "0",
|
||||
"是否开启获取首页数据": "0",
|
||||
"首页推荐链接": "http://www.bahaotv.com",
|
||||
"首页列表数组规则": "body&&.show-vod-list",
|
||||
"首页片单列表数组规则": ".myui-vodbox-content",
|
||||
"首页片单是否Jsoup写法": "1",
|
||||
"分类起始页码": "1",
|
||||
"分类链接": "http://www.bahaotv.com/vodshow/{cateId}--------{catePg}---.html",
|
||||
"分类名称": "电影&电视剧&动漫",
|
||||
"分类名称替换词": "movie&tvseries&anime",
|
||||
"筛选数据": {},
|
||||
//"筛选数据": "ext",
|
||||
//{cateId}
|
||||
"筛选子分类名称": "",
|
||||
"筛选子分类替换词": "",
|
||||
//{class}
|
||||
"筛选类型名称": "",
|
||||
"筛选类型替换词": "*",
|
||||
//{area}
|
||||
"筛选地区名称": "",
|
||||
"筛选地区替换词": "*",
|
||||
//{year}
|
||||
"筛选年份名称": "",
|
||||
"筛选年份替换词": "*",
|
||||
//{lang}
|
||||
"筛选语言名称": "",
|
||||
"筛选语言替换词": "*",
|
||||
//{by}
|
||||
"筛选排序名称": "时间&人气&评分",
|
||||
"筛选排序替换词": "time&hits&score",
|
||||
"分类截取模式": "1",
|
||||
"分类列表数组规则": ".show-vod-list&&.myui-vodbox-content",
|
||||
"分类片单是否Jsoup写法": "1",
|
||||
"分类片单标题": ".title&&Text",
|
||||
"分类片单链接": "a&&href",
|
||||
"分类片单图片": "img&&src",
|
||||
"分类片单副标题": ".right&&Text",
|
||||
"分类片单链接加前缀": "http://www.bahaotv.com",
|
||||
"分类片单链接加后缀": "",
|
||||
"搜索请求头参数": "User-Agent$手机#accept$text/html",
|
||||
"搜索链接": "http://www.bahaotv.com/vodsearch/-------------.html?wd={wd}",
|
||||
"POST请求数据": "",
|
||||
"搜索截取模式": "1",
|
||||
"搜索列表数组规则": ".show-vod-list&&.myui-vodbox-content",
|
||||
"搜索片单是否Jsoup写法": "1",
|
||||
"搜索片单图片": "img&&src",
|
||||
"搜索片单标题": ".title&&Text",
|
||||
"搜索片单链接": "a&&href",
|
||||
"搜索片单副标题": ".right&&Text",
|
||||
"搜索片单链接加前缀": "http://www.bahaotv.com",
|
||||
"搜索片单链接加后缀": "",
|
||||
"链接是否直接播放": "0",
|
||||
"直接播放链接加前缀": "https://live.52sf.ga/huya/",
|
||||
"直接播放链接加后缀": "#isVideo=true#",
|
||||
"直接播放直链视频请求头": "authority$ku.peizq.online#Referer$https://play.peizq.online",
|
||||
"详情是否Jsoup写法": "1",
|
||||
"类型详情": "",
|
||||
"年代详情": "",
|
||||
"地区详情": "",
|
||||
"演员详情": ".detail-box&&.director,1&&Text!主演:",
|
||||
"简介详情": ".intro&&Text",
|
||||
"线路列表数组规则": ".nav-btn&&li",
|
||||
"线路标题": "Text",
|
||||
"播放列表数组规则": "body&&[id^=playlist]",
|
||||
"选集列表数组规则": "a",
|
||||
"选集标题链接是否Jsoup写法": "1",
|
||||
"选集标题": "a&&Text",
|
||||
"选集链接": "a&&href",
|
||||
"是否反转选集序列": "0",
|
||||
"选集链接加前缀": "http://www.bahaotv.com",
|
||||
"选集链接加后缀": "",
|
||||
"分析MacPlayer": "0",
|
||||
"是否开启手动嗅探": "0",
|
||||
"手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos",
|
||||
"手动嗅探视频链接过滤词": ".html#=http"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"简介": "tt\" style=*>&&</div>",
|
||||
"数组": "<a&&module-item-pic",
|
||||
"副标题": "module-item-text\">&&</div>",
|
||||
"搜索url": "https://xiuer.pro/vod/search/?wd={wd}",
|
||||
"分类url": "https://xiuer.pro/show/{cateId}/area/{area}/class/{class}/page/{catePg}/year/{year}/",
|
||||
"分类": "短剧$duanju#电视剧$dianshiju#电影$dianying#动漫$dongman#综艺$zongyi"
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
{
|
||||
|
||||
"作者":"天天开心",
|
||||
|
||||
"站名":"茶狐杯",
|
||||
|
||||
"主页url":"https://www.5jcd.com/",
|
||||
|
||||
"简介":"+col-pd\">&&</p>",
|
||||
|
||||
"线路数组":"<h3&&</h3>",
|
||||
|
||||
"线路标题":"+>&&",
|
||||
|
||||
"分类url":"https://www.5jcd.com/show_/area/{area}/by/{by}/class/{class}/id/{cateId}/lang/{lang}/page/{catePg}/year/{year}.html;;ax",
|
||||
|
||||
"分类":"电影$1#电视剧$2#综艺$3#动漫$4"}
|
||||
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"规则名": "骚火电影VIP",
|
||||
"规则作者": "",
|
||||
"请求头参数": "User-Agent$MOBILE_UA#Referer$https://saohuo.tv",
|
||||
"网页编码格式": "UTF-8",
|
||||
"图片是否需要代理": "0",
|
||||
"是否开启获取首页数据": "0",
|
||||
"首页推荐链接": "https://saohuo.tv/",
|
||||
"首页列表数组规则": "body&&.v_list",
|
||||
"首页片单列表数组规则": "li",
|
||||
"首页片单是否Jsoup写法": "1",
|
||||
"分类起始页码": "1",
|
||||
"分类链接": "https://saohuo.tv/list/{cateId}-{catePg}.html[firstPage=https://saohuo.tv/list/{cateId}.html]",
|
||||
"分类名称": "电影&电视剧&动漫",
|
||||
"分类名称替换词": "1&2&13",
|
||||
"筛选数据": {},
|
||||
//"筛选数据": "ext",
|
||||
//{cateId}
|
||||
"筛选子分类名称": "",
|
||||
"筛选子分类替换词": "",
|
||||
//{class}
|
||||
"筛选类型名称": "",
|
||||
"筛选类型替换词": "*",
|
||||
//{area}
|
||||
"筛选地区名称": "",
|
||||
"筛选地区替换词": "*",
|
||||
//{year}
|
||||
"筛选年份名称": "",
|
||||
"筛选年份替换词": "*",
|
||||
//{lang}
|
||||
"筛选语言名称": "",
|
||||
"筛选语言替换词": "*",
|
||||
//{by}
|
||||
"筛选排序名称": "时间&人气&评分",
|
||||
"筛选排序替换词": "time&hits&score",
|
||||
"分类截取模式": "1",
|
||||
"分类列表数组规则": ".v_list&&li",
|
||||
"分类片单是否Jsoup写法": "1",
|
||||
"分类片单标题": "a&&title",
|
||||
"分类片单链接": "a&&href",
|
||||
"分类片单图片": "img&&data-original",
|
||||
"分类片单副标题": ".v_note&&Text",
|
||||
"分类片单链接加前缀": "https://saohuo.tv",
|
||||
"分类片单链接加后缀": "",
|
||||
"搜索请求头参数": "User-Agent$手机#Accept$text/html",
|
||||
"搜索链接": "https://saohuo.tv/s-{wd}---------{SearchPg}.html",
|
||||
"POST请求数据": "",
|
||||
"搜索截取模式": "1",
|
||||
"搜索列表数组规则": ".v_list&&li",
|
||||
"搜索片单是否Jsoup写法": "1",
|
||||
"搜索片单图片": "img&&data-original",
|
||||
"搜索片单标题": "a&&title",
|
||||
"搜索片单链接": "a&&href",
|
||||
"搜索片单副标题": ".v_note&&Text",
|
||||
"搜索片单链接加前缀": "https://saohuo.tv",
|
||||
"搜索片单链接加后缀": "",
|
||||
"链接是否直接播放": "0",
|
||||
"直接播放链接加前缀": "",
|
||||
"直接播放链接加后缀": "",
|
||||
"直接播放直链视频请求头": "",
|
||||
"详情是否Jsoup写法": "1",
|
||||
"类型详情": "",
|
||||
"年代详情": "",
|
||||
"地区详情": "",
|
||||
"演员详情": "",
|
||||
"简介详情": ".p_txt&&Text",
|
||||
"线路列表数组规则": ".from_list&&li",
|
||||
"线路标题": "Text",
|
||||
"播放列表数组规则": ".play_list&&li",
|
||||
"选集列表数组规则": "a",
|
||||
"选集标题链接是否Jsoup写法": "1",
|
||||
"选集标题": "a&&Text",
|
||||
"选集链接": "a&&href",
|
||||
"是否反转选集序列": "1",
|
||||
"选集链接加前缀": "https://saohuo.tv",
|
||||
"选集链接加后缀": "",
|
||||
"分析MacPlayer": "0",
|
||||
"是否开启手动嗅探": "0",
|
||||
"手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos",
|
||||
"手动嗅探视频链接过滤词": ".html#=http"
|
||||
}
|
||||
Binary file not shown.
@@ -1 +0,0 @@
|
||||
adgHZD4T/7tWFulh0C127b9BxztLdgaMQTADJnxZKZbY3ckvairRpCHy4DPsalkJ9gSwgZCDLdy4KBeQLIkceHOCS3Mu2XUxmJoneDAGC0e0spaKT/5U94AdpsDRBWWNtIcqbBwDbaTbLNnjlCBq0AYJceS9Kjm06ECDMd2dGe/KW3J76qu/DmsPuAmnVKn8Q3uSL2uhtsTuukMiEo0/mpxwlwSnuzKnZZhEaplyj5eo4iB7gcnPUzFi8YAQxziTD0MQZYk4vAaV2bpzUMIYXCtb+643J0JYn3In71iBNnncqF4a7tVaO+sj1rAtYwtAHZfyVKRmK8VrIKRxMCT1g9GQ7XF7oxsC/nimhCSWy3Rd8AU91E7hWaFxFAteN7X3+eht6q6fIrpb0tmUHyAR3x5GpES0mSs21xmQk1WhDRwEJLdU/RHyODDhgR+fxALd5sa42IJG6GKMWUKaYBUcANzDdDrQle256UEeh1w9zN0AWQys2rlp5OTk+1yqtlR0/+yV/N+cKaC8G1IkBFEedcAdKlDMvSsxH2xzKuIfpdur1vc8gL72/5YLQt6lR4HRkcbFUjY7tHNY/VVAMkDzMVP4PHdq+kdXT7RpHOEwEukvaG/tsf8EaVKk83LikN98Xpa/HzRuTv4xmFvfb5bKCTHL+T9523/6tvUQaQ+mNyAA=
|
||||
+5958
-1048
File diff suppressed because it is too large.
Load diff
+1848
-1802
File diff suppressed because it is too large.
Load diff
Binary file not shown.
+12
-1
@@ -61,9 +61,20 @@
|
||||
"filterable": 0,
|
||||
"ext": "./json/wogg.json?moyuer"
|
||||
},
|
||||
{
|
||||
"key": "yt",
|
||||
"name": "🌀风中知秋┃4K纯净",
|
||||
"playerType": 1,
|
||||
"type": 3,
|
||||
"api": "csp_AppYsV2Guard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1,
|
||||
"ext": " http://110.42.45.218:8818/api.php/app/"
|
||||
},
|
||||
{
|
||||
"key": "移动",
|
||||
"name": "🍥移动急速┃4K纯净",
|
||||
"name": "🌀移动急速┃4K纯净",
|
||||
"type": 3,
|
||||
"api": "csp_YD",
|
||||
"searchable": 1,
|
||||
|
||||
+68
-68
@@ -38,7 +38,7 @@
|
||||
},
|
||||
{
|
||||
"key": "豆瓣1",
|
||||
"name": "📢【公众号欧歌APP网络收集】请勿演示贩卖,即将关闭公告❤更新:3/31❤",
|
||||
"name": "📢【公众号欧歌APP网络收集】请勿演示贩卖,即将关闭公告❤更新:4/3❤",
|
||||
"type": 3,
|
||||
"api": "csp_Notice",
|
||||
"searchable": 0,
|
||||
@@ -132,12 +132,10 @@
|
||||
{
|
||||
"key": "荐片",
|
||||
"name": "💡荐片|影视",
|
||||
"type": 3,
|
||||
"api": "csp_Jianpian",
|
||||
"type": 3,
|
||||
"playerType": 1,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1
|
||||
"ext": "http://api2.rinhome.com"
|
||||
},
|
||||
{
|
||||
"key": "巧技",
|
||||
@@ -181,14 +179,6 @@
|
||||
"quickSearch": 1,
|
||||
"filterable": 1
|
||||
},
|
||||
{
|
||||
"key": "光速",
|
||||
"name": "💡光速|影视",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 1,
|
||||
"ext": "jaHR0cDovLzU5LjE1My4xNjcuMTM3Ojg4OTl8NGQ4M2I4N2M0YzVlYTExMXw0ZDgzYjg3YzRjNWVhMTExfDQ2Mg=="
|
||||
},
|
||||
{
|
||||
"key": "雨滴",
|
||||
"name": "💡雨滴|影视",
|
||||
@@ -249,16 +239,6 @@
|
||||
"filterable": 0,
|
||||
"ext": "w7TCmsK8w5rDrcKYwoPCmcKkw57CmsK0wpnCocKbwqTCpMKgw6zCrcKpwqjDs8KXwqnCo8KUw7LDocObw6bDo8KWwpTCn8Kdw5rDnMOow6fDm8KgwpVeZsKxwqHDocOywrRkYGZnwrHCosOdwrLDp2XCmsKjYsKywqvDssKxwqzCm2ZfwpzCssOgwrLDm8OyZWPCmmLDqMKlw6rCssOrYsKUwqnCnsOaw6DDo8Ocw57CosKdwpHCmcOnw6HDm8Omw59hwqTCqMKkwqDCn8KawqDDjcKcwqTClcKFw6vDn8KhwrPCmlpXXFDCoMK8w6jDosOuworCn8KiwpTCoMKtwprCoMOjwqHCmcKkwobCqsKkwrPCoMKmU1fCpMKZw6nCmsK0wpnCocKO5Ya16YSY5o+V5ZGcwp/lh6bkvpDlkbFt5b6h6Ke26LW05ryJ562Mw5fCoMKmU1dxwpXDrMK+w5/DssKhbVBXwpvCssOiwq3DqcKswpZowpJnw6bCpsO0wqnDqWtXXFDCoMK0w5/DrMODwqlXalDCoMOewrPDqMKtwqNiwpNow5vCqsOnwqzDtGPCn2hXwqXCk8Khw53Dn8KWwqLCqcKgw63CvsOfw7LCoW1QV8Knw67DrMOjwq/CsGlXwq0="
|
||||
},
|
||||
{
|
||||
"key": "洽洽影视",
|
||||
"name": "💡洽洽|影视",
|
||||
"type": 3,
|
||||
"api": "csp_AppGZ",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1,
|
||||
"ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw5rDqsKcXmnCk8Oew5bCscKyw55hwpPCn8KdwqDCn8KawqDDrsKcwqBXasKZwprDleWHvumFouaPmOWQk1zlhpzkvpDlkarCtOW/quipgOi1t+a7gOesicKNwqDCn8KawqDDnsKYwpPCosKpw6nDp8OFw57Ds1pqUFfDsMOow7PDosKwaWZXwq0="
|
||||
},
|
||||
{
|
||||
"key": "爱看机器人",
|
||||
"name": "💡爱看|影视",
|
||||
@@ -295,25 +275,6 @@
|
||||
"quickSearch": 1,
|
||||
"filterable": 1
|
||||
},
|
||||
{
|
||||
"key": "瓜子影视",
|
||||
"name": "💡瓜子|影视",
|
||||
"type": 3,
|
||||
"api": "csp_Gz360",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1
|
||||
},
|
||||
{
|
||||
"key": "金牌影视",
|
||||
"name": "💡金牌|影视",
|
||||
"type": 3,
|
||||
"api": "csp_WebJP",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1,
|
||||
"ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw7DDscKqXsKbwqPDp8Ohw6LDm8OkYcKTwp/CncKgwp/CmsKgw67CnMKgV2rCmcKaw5Xlh77phaLmj5jlkJNc5Yac5L6Q5ZGqwrTlv6roqYDotbfmu4DnrInCjcKgwp/CmsKgw57CmMKTwqLCqcOpw6fDhcOew7NaalBXw7DDqMOzw6LCsGlmV8Kt"
|
||||
},
|
||||
{
|
||||
"key": "耐看影视123",
|
||||
"name": "💡耐看|影视",
|
||||
@@ -337,7 +298,7 @@
|
||||
"key": "预告",
|
||||
"name": "💡新片|预告",
|
||||
"type": 3,
|
||||
"api": "csp_YGP",
|
||||
"api": "csp_DouBan",
|
||||
"searchable": 0
|
||||
},
|
||||
{
|
||||
@@ -386,27 +347,25 @@
|
||||
},
|
||||
{
|
||||
"key": "厂长影视",
|
||||
"name": "💘厂长|弹幕",
|
||||
"name": "💡厂长|影视",
|
||||
"type": 3,
|
||||
"api": "csp_WebCzApp",
|
||||
"playerType": "2",
|
||||
"api": "csp_Czsapp",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 0,
|
||||
"ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDscKqwqdewpPDs8KjwqvCp8OwwpzCoFdcwpnCmsONw57Dm8KlwpPCmMKFw6vDn8KhwrPCmlrCmMKkwqTDqcOmwrTCqMKpwpbCqsKqwqnCp8Onw6nDqcKpwpfCkcKfwqnDqMOhw6HDo8OjwpjCm8KfwqPDocOcw5zDrsOtwpvCmcKpwp/DrsOVw6PDp8OhWlxQV8OMw5zDrsOew4/CpcKccsKRw6TCmsK0wpnCocKbwqTCpMKgw6zCrcKpwqjDscKqwqdewpPDs8Otw7PDr8OjwpfClcKfXsOcw6LDp8KgwqZTV8KkwpnDqcKawrTCmcKhwo7lhrXphJjmj5XlkZzCn+WHpuS+kOWRsW3lvqHop7botbTmvInnrYzDl8KgwqZTV8KUwpXDnMOlw7PDqcOufsKVwqlXwrPCk8Khw7DDr8KswplmZsKvwprDtw=="
|
||||
"filterable": 1,
|
||||
"ext": "http://www.czzyvideo.com"
|
||||
},
|
||||
{
|
||||
"key": "糯米影视",
|
||||
"name": "💘糯米|弹幕",
|
||||
"name": "💡糯米┃影视",
|
||||
"type": 3,
|
||||
"api": "csp_WebNM",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 0,
|
||||
"ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw7DDscKawqpewpPDp8KawqbCmcKhwqfCmcKgV8KzwpPCocOU5Ye/6YSb5o+V5ZCTXOWHpeS+iuWRscKz5b+r6Ke56LW05ruA56yJw5bCmsKmwpnCocKXwpXCk8Kiw7LDo8Ouw4TDn8KsV2pQwqDDqsOvw7LDo2lmZlfDtg=="
|
||||
"api": "csp_Wwys",
|
||||
"ext": "https://www.wwgz.cn"
|
||||
},
|
||||
{
|
||||
"key": "热播影视",
|
||||
"name": "💘热播|弹幕",
|
||||
"name": "💡热播|影视",
|
||||
"type": 3,
|
||||
"api": "csp_AppRJ",
|
||||
"searchable": 1,
|
||||
@@ -415,7 +374,7 @@
|
||||
},
|
||||
{
|
||||
"key": "天天影视",
|
||||
"name": "💘天天|弹幕",
|
||||
"name": "💡天天|影视",
|
||||
"type": 3,
|
||||
"api": "csp_AppRJ",
|
||||
"searchable": 1,
|
||||
@@ -425,7 +384,7 @@
|
||||
},
|
||||
{
|
||||
"key": "浪酷影视",
|
||||
"name": "💘浪酷|弹幕",
|
||||
"name": "💡浪酷|影视",
|
||||
"type": 3,
|
||||
"api": "csp_AppRJ",
|
||||
"searchable": 1,
|
||||
@@ -435,25 +394,16 @@
|
||||
},
|
||||
{
|
||||
"key": "耐看影视",
|
||||
"name": "💘耐看|弹幕",
|
||||
"name": "💡耐看|影视",
|
||||
"type": 3,
|
||||
"api": "csp_WebNK",
|
||||
"searchable": 0,
|
||||
"changeable": 0,
|
||||
"ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw7DDscKqXsKewpvDncOpw57Cp8OnwphXXFDCoMOnw6PDqcKhbVBXwovlh77phZvmkJ/lkZzCpuWGn+S9h+WQp2rlv6roqLnotr7mvInnrZPCkFdcUMKgw5fDn8Ocw6zCrMKgwqR7w57DrMKhwrPCmlrCp8KlwqnDosKpwrDCr8KhwrA="
|
||||
},
|
||||
{
|
||||
"key": "来看影视",
|
||||
"name": "💘来看|弹幕",
|
||||
"type": 3,
|
||||
"api": "csp_WebLK",
|
||||
"searchable": 0,
|
||||
"changeable": 0,
|
||||
"ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw6XDpcKpwp/ClF7DpsOYwqHCpcKaWsKkwpnCoMKgwq3CmsKgw5XlhrjphJjmj5XlkJPCpeWHn+S+keWRsMK05b6k6Ke26LW05ruA562Sw5DCocKlwppawpTClcKTw6vDrMOqw63DhcKYwqlXasKZwprDscOuw7PCnGZmZsKgw7A="
|
||||
},
|
||||
{
|
||||
"key": "一起影视",
|
||||
"name": "💘一起|弹幕",
|
||||
"name": "💡一起|影视",
|
||||
"type": 3,
|
||||
"api": "csp_AppFree4K",
|
||||
"searchable": 1,
|
||||
@@ -461,6 +411,56 @@
|
||||
"filterable": 0,
|
||||
"ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw5rDqsKjwpPCncKjwqfDmcOsw57Dn8KbwpRewqbDosOjwqHCpcKaWnvClcKpwqDCrcKawqDDnMKYZWNkwrHDl8Ogw5vCqsKWY8KTYsKxwqbCocKlwppaecKmV8KzwpPCocKuw6BoZGRpw53Dl8Krwq3CrWRjYmHCsMKawqbCmcKhdcKRwp7Cm8OHw5TDsMKgwrRTV+ecpOaTncKgwp/CmsKgw4rClMKiwqPClcOOw6XDpsKgwrRTV8KYwqTDrcOjw63Cs8KpYsKRwqDCoMOvwqTCqMOfw6zCmMKVwpjClMKnw6nDo8OpwqnCncKjwp/CnsKnw6PDosOpwrnCqMKiwpxtwqDCn8KawqDCvsKUwp59wqXDjsOlw6bCoMK0U1fCmMKkw63Do8OtwrPCqWLClMKdXsOvw5zDnsOzwqjClMKjwpnCkcKow5fDp8Okw69ib8KRwpPCtsOXw6fCn8OuwqLCm8KVwp7CtsOEw4PDhcK8dnh6dsOMwr/DkcOPw4B4e8KCVsOuw6XDpsK2wqFfUFfClMOew5bDrMOyw6rCp3vClcKpwqDCrcKawqDDscKowqnCmWbCr8KpwqHDtg=="
|
||||
},
|
||||
{
|
||||
"key": "私人影视",
|
||||
"name": "💡私人|影视",
|
||||
"type": 3,
|
||||
"api": "csp_Siren"
|
||||
},
|
||||
{
|
||||
"key": "云播影视",
|
||||
"name": "💡云播|影视",
|
||||
"type": 3,
|
||||
"api": "csp_Tvyb"
|
||||
},
|
||||
{
|
||||
"key": "奇优影视",
|
||||
"name": "💡奇优|影视",
|
||||
"type": 3,
|
||||
"api": "csp_Qiyou"
|
||||
},
|
||||
{
|
||||
"key": "苹果影视",
|
||||
"name": "💡苹果|影视",
|
||||
"type": 3,
|
||||
"api": "csp_LiteApple",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1
|
||||
},
|
||||
{
|
||||
"key": "全网影视",
|
||||
"name": "💡全看|影视",
|
||||
"type": 3,
|
||||
"api": "csp_Quanwk",
|
||||
"ext": "https://www.91qkw.com"
|
||||
},
|
||||
{
|
||||
"key": "火火影视",
|
||||
"name": "💡火火|影视",
|
||||
"type": 3,
|
||||
"api": "csp_SaoHuo",
|
||||
"playerType": 2,
|
||||
"ext": "https://shdy5.us"
|
||||
},
|
||||
{
|
||||
"key": "光速",
|
||||
"name": "💡光速|影视",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 1,
|
||||
"ext": "jaHR0cDovLzU5LjE1My4xNjcuMTM3Ojg4OTl8NGQ4M2I4N2M0YzVlYTExMXw0ZDgzYjg3YzRjNWVhMTExfDQ2Mg=="
|
||||
},
|
||||
{
|
||||
"key": "csp_XYQHiker_农民影视",
|
||||
"name": "🧿农民|影视",
|
||||
@@ -1033,7 +1033,7 @@
|
||||
},
|
||||
{
|
||||
"key": "欧uc",
|
||||
"name": "❤欧uc|4K弹幕",
|
||||
"name": "❤欧歌|uc4K弹幕",
|
||||
"type": 3,
|
||||
"api": "csp_PanWebShare",
|
||||
"searchable": 1,
|
||||
|
||||
+247
-252
File diff suppressed because it is too large.
Load diff
+11759
-692
File diff suppressed because it is too large.
Load diff
Binary file not shown.
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 2.9 KiB |
+185
-219
@@ -66,46 +66,38 @@
|
||||
"ext": "http://v.lkuys.cn"
|
||||
},
|
||||
{
|
||||
"key": "追剧弹幕",
|
||||
"name": "追剧|弹幕",
|
||||
"key": "腾讯视频",
|
||||
"name": "腾讯|视频",
|
||||
"type": 3,
|
||||
"api": "./js/drpy2.min.js",
|
||||
"ext": "./js/追剧弹幕.js"
|
||||
"ext": "./js/腾讯视频.js"
|
||||
},
|
||||
{
|
||||
"key": "腾讯弹幕",
|
||||
"name": "腾讯|弹幕",
|
||||
"key": "优酷视频",
|
||||
"name": "优酷|视频",
|
||||
"type": 3,
|
||||
"api": "./js/drpy2.min.js",
|
||||
"ext": "./js/腾讯弹幕.js"
|
||||
"ext": "./js/优酷视频.js"
|
||||
},
|
||||
{
|
||||
"key": "优酷弹幕",
|
||||
"name": "优酷|弹幕",
|
||||
"key": "芒果视频",
|
||||
"name": "芒果|视频",
|
||||
"type": 3,
|
||||
"api": "./js/drpy2.min.js",
|
||||
"ext": "./js/优酷弹幕.js"
|
||||
"ext": "./js/芒果视频.js"
|
||||
},
|
||||
{
|
||||
"key": "芒果弹幕",
|
||||
"name": "芒果|弹幕",
|
||||
"key": "爱奇艺",
|
||||
"name": "爱奇艺|视频",
|
||||
"type": 3,
|
||||
"api": "./js/drpy2.min.js",
|
||||
"ext": "./js/芒果弹幕.js"
|
||||
},
|
||||
{
|
||||
"key": "爱奇艺弹幕",
|
||||
"name": "爱奇艺|弹幕",
|
||||
"type": 3,
|
||||
"api": "./js/drpy2.min.js",
|
||||
"ext": "./js/爱奇艺弹幕.js"
|
||||
"ext": "./js/爱奇艺.js"
|
||||
},
|
||||
{
|
||||
"key": "三六零",
|
||||
"name": "三六零|弹幕",
|
||||
"name": "三六零|视频",
|
||||
"type": 3,
|
||||
"api": "./js/drpy2.min.js",
|
||||
"ext": "./js/三六零弹幕.js"
|
||||
"api": "csp_SP360"
|
||||
},
|
||||
{
|
||||
"key": "哔哩合集",
|
||||
@@ -126,68 +118,17 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "阿里云盘",
|
||||
"name": "阿里|云盘",
|
||||
"key": "西瓜视频",
|
||||
"name": "西瓜|视频",
|
||||
"type": 3,
|
||||
"api": "csp_PanAli",
|
||||
"searchable": 0,
|
||||
"api": "csp_AmuXiguaV2",
|
||||
"searchable": 1,
|
||||
"quickSearch": 0,
|
||||
"filterable": 0,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list",
|
||||
"ratio": 1.433
|
||||
},
|
||||
"ext": "./json/aliShare.json"
|
||||
},
|
||||
{
|
||||
"key": "夸克云盘",
|
||||
"name": "夸克|云盘",
|
||||
"type": 3,
|
||||
"api": "csp_PanQuark",
|
||||
"searchable": 0,
|
||||
"filterable": 0,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list",
|
||||
"ratio": 1.433
|
||||
},
|
||||
"ext": "./json/quarkShare.json"
|
||||
},
|
||||
{
|
||||
"key": "UC",
|
||||
"name": "UC|云盘",
|
||||
"type": 3,
|
||||
"api": "csp_PanUc",
|
||||
"searchable": 0,
|
||||
"filterable": 0,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list",
|
||||
"ratio": 1.433
|
||||
},
|
||||
"ext": "./json/ucShare.json"
|
||||
},
|
||||
{
|
||||
"key": "百度云盘",
|
||||
"name": "百度|云盘",
|
||||
"type": 3,
|
||||
"api": "csp_PanBaiDu",
|
||||
"searchable": 0,
|
||||
"filterable": 0,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list",
|
||||
"ratio": 1.433
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "短剧合集",
|
||||
"name": "短剧|合集",
|
||||
"type": 3,
|
||||
"api": "./js/quark.min.js",
|
||||
"ext": "./js/短剧合集.js",
|
||||
"style": {
|
||||
"type": "list"
|
||||
"type": "rect",
|
||||
"ratio": 1.597
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -351,13 +292,13 @@
|
||||
"filterable": 1,
|
||||
"changeable": 1,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"type": "list",
|
||||
"ratio": 1.433
|
||||
},
|
||||
"ext": "./json/lj.json?"
|
||||
},
|
||||
{
|
||||
"key": "概念",
|
||||
"key": "海绵",
|
||||
"name": "海绵|4K",
|
||||
"type": 3,
|
||||
"api": "csp_PanWebShareCloudHM",
|
||||
@@ -366,7 +307,7 @@
|
||||
"filterable": 1,
|
||||
"changeable": 1,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"type": "list",
|
||||
"ratio": 1.433
|
||||
},
|
||||
"ext": "./json/hm.json?"
|
||||
@@ -381,7 +322,7 @@
|
||||
"filterable": 1,
|
||||
"changeable": 1,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"type": "list",
|
||||
"ratio": 1.433
|
||||
},
|
||||
"ext": "./json/pan1.json?"
|
||||
@@ -547,7 +488,7 @@
|
||||
"type": 3,
|
||||
"api": "csp_Muou",
|
||||
"playerType": 2,
|
||||
"ext": "caHR0cDovLzExMC40MC42NC4yMjU6ODk0NXxHOGt6QjF2WHdRcDlaN21GfEc4a3pCMXZYd1FwOVo3bUZ8MTAw"
|
||||
"ext": "caHR0cHM6Ly9yeHlzeXlkcy5vc3MtY24tY2hlbmdkdS5hbGl5dW5jcy5jb20vZ2V0YXBwLnR4dHxlYmFkM2YxYTU4YjEzOTMzfGViYWQzZjFhNThiMTM5MzN8MTAw"
|
||||
},
|
||||
{
|
||||
"key": "星河",
|
||||
@@ -555,7 +496,15 @@
|
||||
"type": 3,
|
||||
"api": "csp_Muou",
|
||||
"playerType": 2,
|
||||
"ext": "caHR0cDovL2EubXVxaXhoLnRvcDo1NjIzfOW5leWQr+aYn+ays3w0LjEuOA=="
|
||||
"ext": "caHR0cDovL3Rlbmd4dW55dW5hbGl5dW4ub3NzLWNuLXNoYW5naGFpLmFsaXl1bmNzLmNvbS90ZW5neHVueXVuLnR4dHxmNWUydHg1M3lrcDZzMmM5fGY1ZTJ0eDUzeWtwNnMyYzl8MzYx"
|
||||
},
|
||||
{
|
||||
"key": "油条",
|
||||
"name": "油条|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Muou",
|
||||
"playerType": 2,
|
||||
"ext": "caHR0cDovLzU5LjE1My4xNjcuMTM3Ojg4OTl8NGQ4M2I4N2M0YzVlYTExMXw0ZDgzYjg3YzRjNWVhMTExfDQ2Mg=="
|
||||
},
|
||||
{
|
||||
"key": "二三",
|
||||
@@ -566,12 +515,68 @@
|
||||
"ext": "caHR0cHM6Ly8xMjN5c3cuY29tfDIz5b2x6KeGfDQuMS44"
|
||||
},
|
||||
{
|
||||
"key": "油条",
|
||||
"name": "油条|APP",
|
||||
"key": "主角",
|
||||
"name": "主角|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Muou",
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 2,
|
||||
"ext": "caHR0cDovLzU5LjE1My4xNjcuMTM3Ojg4OTl8NGQ4M2I4N2M0YzVlYTExMXw0ZDgzYjg3YzRjNWVhMTExfDQ2Mg=="
|
||||
"ext": "caHR0cHM6Ly9kdHltLnpqeXkuY2MvZ2ctZ2V0YXBwL2dldC1nZy50eHR8UE1LYVprQXY0UXA1M0VXbnxQTUthWmtBdjRRcDUzRVdufDQyNQ=="
|
||||
},
|
||||
{
|
||||
"key": "时常",
|
||||
"name": "时常|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 1,
|
||||
"ext": "jaHR0cDovLzExMS4xODAuMTk4LjQwOjExMTB8YXNnY3hoamt0czEyNDU3M3xhc2djeGhqa3RzMTI0NTczfDEwMQ=="
|
||||
},
|
||||
{
|
||||
"key": "雨滴",
|
||||
"name": "雨滴|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 1,
|
||||
"ext": "jaHR0cHM6Ly95ZHlzZHluYW1pY2RvbWFpbm5hbWUuNjguZ3k6MTA2NzgvYzltMmpzMjk4eDgyaDYvbDltOGJ4MjNqMm8ycDlxL2R5bmFtaWNkb21haW5uYW1lLnR4dHxrOW8zcDJjOGI3bTN6MG84fGs5bzNwMmM4YjdtM3owbzh8MTAw"
|
||||
},
|
||||
{
|
||||
"key": "现代",
|
||||
"name": "现代|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 1,
|
||||
"ext": "caHR0cHM6Ly9jbXMud2xiYnEueHl6fHNkZXYxNXJ3c2E5NmZzZGV8c2RldjE1cndzYTk2ZnNkZXwzMDA="
|
||||
},
|
||||
{
|
||||
"key": "淘气",
|
||||
"name": "淘气|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 1,
|
||||
"ext": "jaHR0cHM6Ly9za2FwLm9zcy1jbi1oYW5nemhvdS5hbGl5dW5jcy5jb20vZ2V0LnR4dHw0OTkwNDg4MjQ4OTA0ODg0fDQ5OTA0ODgyNDg5MDQ4ODR8MTA3"
|
||||
},
|
||||
{
|
||||
"key": "玉米",
|
||||
"name": "玉米|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 1,
|
||||
"ext": "jaHR0cHM6Ly93d3cuempjLmFwcC98YWI0ZTlhNDIxNjc1ZjE0YnxhYjRlOWE0MjE2NzVmMTRifDQ0Mg=="
|
||||
},
|
||||
{
|
||||
"key": "优质",
|
||||
"name": "优质|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 1,
|
||||
"ext": "jaHR0cHM6Ly9sYnlzYXBpZHR5bWd4LjY4Lmd5OjE2Nzg5L2xieXNhcGlkdHltL2FwcC50eHR8YXBpYXBwbGJ5c2tleTE2OHxhcGlhcHBsYnlza2V5MTY4fDEwNw=="
|
||||
},
|
||||
{
|
||||
"key": "木叶",
|
||||
"name": "木叶|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 2,
|
||||
"ext": "saHR0cDovLzExMy40NS4yNDMuMjMzL211eWUudHh0fFJ1TjlMUnZ3VFJncFFucEt8UnVOOUxSdndUUmdwUW5wS3w1NDc="
|
||||
},
|
||||
{
|
||||
"key": "龙虾",
|
||||
@@ -619,7 +624,15 @@
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 1,
|
||||
"ext": "jaHR0cDovLzExMS4xODAuMTk4LjQwOjExMTB8NDk0ODA4MDgwbGdneXNjb3w0OTQ4MDgwODBsZ2d5c2NvfDY2Ng=="
|
||||
"ext": "jaHR0cDovLzU5LjE1My4xNjcuMTg2OjEwMDk5fFBNS2Faa0F2NFFwNTNFV258UE1LYVprQXY0UXA1M0VXbnw0MjU="
|
||||
},
|
||||
{
|
||||
"key": "电影",
|
||||
"name": "电影|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 1,
|
||||
"ext": "jaHR0cHM6Ly9jOHcyb3Y3dTV3ZzJ6MW84cDIxYy5hbGl5dW5jcy5jbGljazoyNzg5OXxrOW8zcDJjOGI3bTN6MG84fGs5bzNwMmM4YjdtM3owbzh8MTAw"
|
||||
},
|
||||
{
|
||||
"key": "奇妙",
|
||||
@@ -629,54 +642,6 @@
|
||||
"playerType": 1,
|
||||
"ext": "jaHR0cDovLzE1NC4xMi45MS4yMTE6NjY4fDEyMzQ1Njc4OUFCQ0RFRkd8MTIzNDU2Nzg5QUJDREVGR3wxMDY="
|
||||
},
|
||||
{
|
||||
"key": "时常",
|
||||
"name": "时常|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 1,
|
||||
"ext": "jaHR0cHM6Ly9zYzEwODAudG9wfGU1OWQ0NGIyZWVmMDNiYTJ8ZTU5ZDQ0YjJlZWYwM2JhMnwxMzQ="
|
||||
},
|
||||
{
|
||||
"key": "雨滴",
|
||||
"name": "雨滴|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 1,
|
||||
"ext": "jaHR0cHM6Ly95ZHlzZHluYW1pY2RvbWFpbm5hbWUuNjguZ3k6MTA2NzgvYzltMmpzMjk4eDgyaDYvbDltOGJ4MjNqMm8ycDlxL2R5bmFtaWNkb21haW5uYW1lLnR4dHxrOW8zcDJjOGI3bTN6MG84fGs5bzNwMmM4YjdtM3owbzh8MTAw"
|
||||
},
|
||||
{
|
||||
"key": "现代",
|
||||
"name": "现代|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 1,
|
||||
"ext": "caHR0cHM6Ly94ZHlzLnZpcC9nZXRhcHAudHh0fHN6ZGp3ZGFwcHdjbm1kaGJ8c3pkandkYXBwd2NubWRoYnwxMTQ="
|
||||
},
|
||||
{
|
||||
"key": "玉米",
|
||||
"name": "玉米|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 1,
|
||||
"ext": "jaHR0cHM6Ly93d3cuempjLmFwcC98YWI0ZTlhNDIxNjc1ZjE0YnxhYjRlOWE0MjE2NzVmMTRifDQ0Mg=="
|
||||
},
|
||||
{
|
||||
"key": "优质",
|
||||
"name": "优质|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 1,
|
||||
"ext": "jaHR0cHM6Ly9keXl6dHZhcHBhcGlnb29kZ3guNjguZ3k6MTI2ODkvY2l3azI4dnUzOGlvOC9hcGl1cmwudHh0fGR5eXp0dmFwaWFwcHl5ZHN8ZHl5enR2YXBpYXBweXlkc3wxMDA="
|
||||
},
|
||||
{
|
||||
"key": "木叶",
|
||||
"name": "木叶|APP",
|
||||
"type": 3,
|
||||
"api": "csp_Xdai",
|
||||
"playerType": 2,
|
||||
"ext": "saHR0cDovLzExMy40NS4yNDMuMjMzL211eWUudHh0fFJ1TjlMUnZ3VFJncFFucEt8UnVOOUxSdndUUmdwUW5wS3w1NDc="
|
||||
},
|
||||
{
|
||||
"key": "格格",
|
||||
"name": "格格|APP",
|
||||
@@ -814,7 +779,8 @@
|
||||
"type": 3,
|
||||
"api": "csp_Wetv",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1
|
||||
"quickSearch": 1,
|
||||
"ext": "https://v.wetv.wang"
|
||||
},
|
||||
{
|
||||
"key": "低端影视",
|
||||
@@ -861,20 +827,6 @@
|
||||
"quickSearch": 1,
|
||||
"filterable": 1
|
||||
},
|
||||
{
|
||||
"key": "西瓜视频",
|
||||
"name": "西瓜|视频",
|
||||
"type": 3,
|
||||
"api": "csp_AmuXiguaV2",
|
||||
"searchable": 1,
|
||||
"quickSearch": 0,
|
||||
"filterable": 0,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "rect",
|
||||
"ratio": 1.597
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "采集之王",
|
||||
"name": "采集|合集",
|
||||
@@ -886,7 +838,7 @@
|
||||
"key": "爱看机器人",
|
||||
"name": "爱看|影视",
|
||||
"type": 3,
|
||||
"api": "csp_IkanBot",
|
||||
"api": "csp_Ikanbot",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1
|
||||
@@ -997,6 +949,13 @@
|
||||
"api": "./js/drpy2.min.js",
|
||||
"ext": "./js/思古影视.js"
|
||||
},
|
||||
{
|
||||
"key": "追剧影视",
|
||||
"name": "追剧|影视",
|
||||
"type": 3,
|
||||
"api": "./js/drpy2.min.js",
|
||||
"ext": "./js/追剧视频.js"
|
||||
},
|
||||
{
|
||||
"key": "魔力高清",
|
||||
"name": "魔力|影视",
|
||||
@@ -1729,68 +1688,58 @@
|
||||
"filterable": 1
|
||||
},
|
||||
{
|
||||
"key": "我的阿里",
|
||||
"name": "我的|阿里",
|
||||
"key": "阿里云盘",
|
||||
"name": "阿里|云盘",
|
||||
"type": 3,
|
||||
"api": "csp_MyAli",
|
||||
"api": "csp_PanAli",
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"filterable": 0,
|
||||
"indexs": 0,
|
||||
"ext": {
|
||||
"token": "http://127.0.0.1:9978/file/TVBox/token.txt"
|
||||
},
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "我的夸克",
|
||||
"name": "我的|夸克",
|
||||
"type": 3,
|
||||
"api": "csp_MyQuark",
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"filterable": 0,
|
||||
"indexs": 0,
|
||||
"ext": {
|
||||
"cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt"
|
||||
},
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "我的UC",
|
||||
"name": "我的|UC",
|
||||
"type": 3,
|
||||
"api": "csp_MyUc",
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"filterable": 0,
|
||||
"indexs": 0,
|
||||
"ext": {
|
||||
"uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt"
|
||||
},
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "阿里合集",
|
||||
"name": "阿里|合集",
|
||||
"type": 3,
|
||||
"api": "csp_AliShare",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"filterable": 0,
|
||||
"indexs": 0,
|
||||
"ext": {
|
||||
"token": "http://127.0.0.1:9978/file/TVBox/token.txt",
|
||||
"share": "./js/alishare.txt"
|
||||
},
|
||||
"style": {
|
||||
"type": "list"
|
||||
"type": "list",
|
||||
"ratio": 1.433
|
||||
},
|
||||
"ext": "./json/aliShare.json"
|
||||
},
|
||||
{
|
||||
"key": "夸克云盘",
|
||||
"name": "夸克|云盘",
|
||||
"type": 3,
|
||||
"api": "csp_PanQuark",
|
||||
"searchable": 0,
|
||||
"filterable": 0,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list",
|
||||
"ratio": 1.433
|
||||
},
|
||||
"ext": "./json/quarkShare.json"
|
||||
},
|
||||
{
|
||||
"key": "UC",
|
||||
"name": "UC|云盘",
|
||||
"type": 3,
|
||||
"api": "csp_PanUc",
|
||||
"searchable": 0,
|
||||
"filterable": 0,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list",
|
||||
"ratio": 1.433
|
||||
},
|
||||
"ext": "./json/ucShare.json"
|
||||
},
|
||||
{
|
||||
"key": "百度云盘",
|
||||
"name": "百度|云盘",
|
||||
"type": 3,
|
||||
"api": "csp_PanBaiDu",
|
||||
"searchable": 0,
|
||||
"filterable": 0,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
"type": "list",
|
||||
"ratio": 1.433
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1816,13 +1765,6 @@
|
||||
},
|
||||
"ext": "./json/alist.json"
|
||||
},
|
||||
{
|
||||
"key": "网络直播",
|
||||
"name": "网络|直播",
|
||||
"type": 3,
|
||||
"api": "csp_Living",
|
||||
"searchable": 1
|
||||
},
|
||||
{
|
||||
"key": "88看球",
|
||||
"name": "88|看球",
|
||||
@@ -2208,6 +2150,30 @@
|
||||
"playerType": 2,
|
||||
"timeout": 10
|
||||
},
|
||||
{
|
||||
"name": "虎牙一起看",
|
||||
"type": 3,
|
||||
"api": "csp_Feiyang",
|
||||
"url": "https://9877.kstore.space/Live/huyayqk.m3u",
|
||||
"timeout": 10,
|
||||
"ua": "okhttp/3.15"
|
||||
},
|
||||
{
|
||||
"name": "斗鱼一起看",
|
||||
"type": 3,
|
||||
"api": "csp_Feiyang",
|
||||
"url": "https://9877.kstore.space/Live/douyuyqk.m3u",
|
||||
"timeout": 10,
|
||||
"ua": "okhttp/3.15"
|
||||
},
|
||||
{
|
||||
"name": "YY轮播",
|
||||
"type": 3,
|
||||
"api": "csp_Feiyang",
|
||||
"url": "https://9877.kstore.space/Live/yylunbo.m3u",
|
||||
"timeout": 10,
|
||||
"ua": "okhttp/3.15"
|
||||
},
|
||||
{
|
||||
"name": "电视Live",
|
||||
"type": 0,
|
||||
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -202,48 +202,6 @@
|
||||
],
|
||||
"key": "area"
|
||||
},
|
||||
{
|
||||
"name": "语言",
|
||||
"value": [
|
||||
{
|
||||
"v": "国语",
|
||||
"n": "国语"
|
||||
},
|
||||
{
|
||||
"v": "英语",
|
||||
"n": "英语"
|
||||
},
|
||||
{
|
||||
"v": "粤语",
|
||||
"n": "粤语"
|
||||
},
|
||||
{
|
||||
"v": "闽南语",
|
||||
"n": "闽南语"
|
||||
},
|
||||
{
|
||||
"v": "韩语",
|
||||
"n": "韩语"
|
||||
},
|
||||
{
|
||||
"v": "日语",
|
||||
"n": "日语"
|
||||
},
|
||||
{
|
||||
"v": "法语",
|
||||
"n": "法语"
|
||||
},
|
||||
{
|
||||
"v": "德语",
|
||||
"n": "德语"
|
||||
},
|
||||
{
|
||||
"v": "其它",
|
||||
"n": "其它"
|
||||
}
|
||||
],
|
||||
"key": "lang"
|
||||
},
|
||||
{
|
||||
"name": "时间",
|
||||
"value": [
|
||||
@@ -604,48 +562,6 @@
|
||||
],
|
||||
"key": "area"
|
||||
},
|
||||
{
|
||||
"name": "语言",
|
||||
"value": [
|
||||
{
|
||||
"v": "国语",
|
||||
"n": "国语"
|
||||
},
|
||||
{
|
||||
"v": "英语",
|
||||
"n": "英语"
|
||||
},
|
||||
{
|
||||
"v": "粤语",
|
||||
"n": "粤语"
|
||||
},
|
||||
{
|
||||
"v": "闽南语",
|
||||
"n": "闽南语"
|
||||
},
|
||||
{
|
||||
"v": "韩语",
|
||||
"n": "韩语"
|
||||
},
|
||||
{
|
||||
"v": "日语",
|
||||
"n": "日语"
|
||||
},
|
||||
{
|
||||
"v": "法语",
|
||||
"n": "法语"
|
||||
},
|
||||
{
|
||||
"v": "德语",
|
||||
"n": "德语"
|
||||
},
|
||||
{
|
||||
"v": "其它",
|
||||
"n": "其它"
|
||||
}
|
||||
],
|
||||
"key": "lang"
|
||||
},
|
||||
{
|
||||
"name": "时间",
|
||||
"value": [
|
||||
@@ -998,48 +914,6 @@
|
||||
],
|
||||
"key": "area"
|
||||
},
|
||||
{
|
||||
"name": "语言",
|
||||
"value": [
|
||||
{
|
||||
"v": "国语",
|
||||
"n": "国语"
|
||||
},
|
||||
{
|
||||
"v": "英语",
|
||||
"n": "英语"
|
||||
},
|
||||
{
|
||||
"v": "粤语",
|
||||
"n": "粤语"
|
||||
},
|
||||
{
|
||||
"v": "闽南语",
|
||||
"n": "闽南语"
|
||||
},
|
||||
{
|
||||
"v": "韩语",
|
||||
"n": "韩语"
|
||||
},
|
||||
{
|
||||
"v": "日语",
|
||||
"n": "日语"
|
||||
},
|
||||
{
|
||||
"v": "法语",
|
||||
"n": "法语"
|
||||
},
|
||||
{
|
||||
"v": "德语",
|
||||
"n": "德语"
|
||||
},
|
||||
{
|
||||
"v": "其它",
|
||||
"n": "其它"
|
||||
}
|
||||
],
|
||||
"key": "lang"
|
||||
},
|
||||
{
|
||||
"name": "时间",
|
||||
"value": [
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+44
-23
@@ -4,7 +4,7 @@
|
||||
"sites": [
|
||||
{
|
||||
"key": "豆",
|
||||
"name": "Fix优汐原【神秘的哥哥们】",
|
||||
"name": "【神秘的哥哥们】",
|
||||
"type": 3,
|
||||
"api": "csp_DouDouGuard",
|
||||
"indexs": 1,
|
||||
@@ -77,7 +77,7 @@
|
||||
"name": "☀原创┃不卡",
|
||||
"type": 3,
|
||||
"api": "csp_YCyzGuard",
|
||||
"timeout": 15,
|
||||
"timeout": 10,
|
||||
"playerType": 1,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
@@ -88,6 +88,7 @@
|
||||
"name": "🍎苹果┃不卡",
|
||||
"type": 3,
|
||||
"api": "csp_LiteAppleGuard",
|
||||
"timeout": 10,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
@@ -97,6 +98,7 @@
|
||||
"name": "🍓糯米┃秒播",
|
||||
"type": 3,
|
||||
"api": "csp_NmyswvGuard",
|
||||
"timeout": 10,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
@@ -106,6 +108,7 @@
|
||||
"name": "🐟白白┃秒播",
|
||||
"type": 3,
|
||||
"api": "csp_SbaibaiGuard",
|
||||
"timeout": 10,
|
||||
"playerType": 2,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
@@ -116,6 +119,7 @@
|
||||
"name": "🐻小熊┃秒播",
|
||||
"type": 3,
|
||||
"api": "csp_AppSKGuard",
|
||||
"timeout": 10,
|
||||
"searchable": 1,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
@@ -126,6 +130,7 @@
|
||||
"name": "🌟立播┃秒播",
|
||||
"type": 3,
|
||||
"api": "csp_LibvioGuard",
|
||||
"timeout": 10,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1,
|
||||
@@ -139,7 +144,7 @@
|
||||
"name": "🍊在线┃秒播",
|
||||
"type": 3,
|
||||
"api": "csp_ZxzjGuard",
|
||||
"timeout": 15,
|
||||
"timeout": 10,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1,
|
||||
@@ -147,19 +152,21 @@
|
||||
},
|
||||
{
|
||||
"key": "溢彩",
|
||||
"name": "💡溢彩┃秒播",
|
||||
"name": "💡流光┃秒播",
|
||||
"type": 3,
|
||||
"api": "csp_AppSxGuard",
|
||||
"timeout": 10,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1,
|
||||
"ext": "rfOX1voDIQhH8epBwpmIsuS/sSCZ0NTplTombcqjS1xHcE9fpWUjrfFiL+kMh4cw4jGBLJBFjnM="
|
||||
"ext": "rfOb1uAWbkRHp7hdxprG9un3+T/f19e82TUvZMviAElDfhsS/jcju7U0fe1MnN1h63CTaYIPjmEw9C0qVsgBO8um85+eGlSkG/r2q6m0DA=="
|
||||
},
|
||||
{
|
||||
"key": "比特",
|
||||
"name": "🍄比特┃秒播",
|
||||
"name": "🍄比特┃手机",
|
||||
"type": 3,
|
||||
"api": "csp_BttwooGuard",
|
||||
"timeout": 10,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
@@ -169,6 +176,7 @@
|
||||
"name": "⏮️低端┃外剧",
|
||||
"type": 3,
|
||||
"api": "csp_DdrkGuard",
|
||||
"timeout": 10,
|
||||
"playerType": "2",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
@@ -179,6 +187,7 @@
|
||||
"name": "👀萌米┃多线",
|
||||
"type": 3,
|
||||
"api": "csp_AppTTGuard",
|
||||
"timeout": 10,
|
||||
"playerType": 2,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
@@ -190,6 +199,7 @@
|
||||
"name": "🍊水星┃多线",
|
||||
"type": 3,
|
||||
"api": "csp_AppSxGuard",
|
||||
"timeout": 10,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1,
|
||||
@@ -197,19 +207,21 @@
|
||||
},
|
||||
{
|
||||
"key": "火星",
|
||||
"name": "🌞火星┃多线",
|
||||
"name": "🌞星空┃多线",
|
||||
"type": 3,
|
||||
"api": "csp_AppSxGuard",
|
||||
"timeout": 10,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1,
|
||||
"ext": "rfOX1voDIQhH8epBwpmIsuSlujLK3srq3iIoaYP8Hh5fZE0d4nF48/dsb7YNi44z/yjNcsFajjBz6XJtDuw2FdqR/a6UV3ywWevO"
|
||||
"ext": "rfOb1uAWbkRHp7hdxprGv+T3+2qcnI67lW1iKsuzUE0beEMA/nE2s7EhOq5X1M8s5yK9aPYa5Fgv9l9CG+gdBtq3uqM="
|
||||
},
|
||||
{
|
||||
"key": "热播",
|
||||
"name": "📺热播┃多线",
|
||||
"type": 3,
|
||||
"api": "csp_AppTTGuard",
|
||||
"timeout": 10,
|
||||
"playerType": 2,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
@@ -221,6 +233,7 @@
|
||||
"name": "👓欢视┃多线",
|
||||
"type": 3,
|
||||
"api": "csp_AppTTGuard",
|
||||
"timeout": 10,
|
||||
"playerType": 2,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
@@ -232,6 +245,7 @@
|
||||
"name": "💮文采┃秒播",
|
||||
"type": 3,
|
||||
"api": "csp_JpysGuard",
|
||||
"timeout": 10,
|
||||
"playerType": 2,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
@@ -242,6 +256,7 @@
|
||||
"name": "📔厂长┃不卡",
|
||||
"type": 3,
|
||||
"api": "csp_NewCzGuard",
|
||||
"timeout": 10,
|
||||
"playerType": 2,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
@@ -253,7 +268,7 @@
|
||||
"name": "🏝奥特┃多线",
|
||||
"type": 3,
|
||||
"api": "csp_AueteGuard",
|
||||
"timeout": 15,
|
||||
"timeout": 10,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1,
|
||||
@@ -264,6 +279,7 @@
|
||||
"name": "🐭荐片┃P2P",
|
||||
"type": 3,
|
||||
"api": "csp_JPJGuard",
|
||||
"timeout": 10,
|
||||
"playerType": 2,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
@@ -274,6 +290,7 @@
|
||||
"name": "🧲新6V┃磁力",
|
||||
"type": 3,
|
||||
"api": "csp_SixVGuard",
|
||||
"timeout": 10,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0,
|
||||
@@ -284,6 +301,7 @@
|
||||
"name": "🚌巴士┃动漫",
|
||||
"type": 3,
|
||||
"api": "csp_Dm84Guard",
|
||||
"timeout": 10,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
@@ -293,6 +311,7 @@
|
||||
"name": "🎀异界┃动漫",
|
||||
"type": 3,
|
||||
"api": "csp_YsjGuard",
|
||||
"timeout": 10,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
@@ -302,6 +321,7 @@
|
||||
"name": "🐾日本┃动漫",
|
||||
"type": 3,
|
||||
"api": "csp_Anime1Guard",
|
||||
"timeout": 10,
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 1
|
||||
@@ -311,6 +331,7 @@
|
||||
"name": "⚽926┃看球",
|
||||
"type": 3,
|
||||
"api": "csp_kanqiu926Guard",
|
||||
"timeout": 10,
|
||||
"searchable": 0,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
@@ -322,6 +343,7 @@
|
||||
"name": "⚽88┃看球",
|
||||
"type": 3,
|
||||
"api": "csp_Sir88Guard",
|
||||
"timeout": 10,
|
||||
"searchable": 0,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
@@ -333,6 +355,7 @@
|
||||
"name": "⚽看球┃直播",
|
||||
"type": 3,
|
||||
"api": "csp_KanqiuGuard",
|
||||
"timeout": 10,
|
||||
"searchable": 0,
|
||||
"changeable": 0,
|
||||
"style": {
|
||||
@@ -348,6 +371,7 @@
|
||||
"style": {
|
||||
"type": "list"
|
||||
},
|
||||
"timeout": 10,
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0
|
||||
@@ -362,6 +386,7 @@
|
||||
"type": "rect",
|
||||
"ratio": 1.597
|
||||
},
|
||||
"timeout": 10,
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0
|
||||
@@ -379,7 +404,7 @@
|
||||
"quickSearch": 0,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"json": "./json/MTV.json"
|
||||
"json": "https://im.feelec.com.cn/res/file.html?id=2c9a91099584ed490195f7bf50ac60b9"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -392,6 +417,7 @@
|
||||
"type": "rect",
|
||||
"ratio": 1.755
|
||||
},
|
||||
"timeout": 10,
|
||||
"playerType": "2",
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
@@ -407,6 +433,7 @@
|
||||
"type": "rect",
|
||||
"ratio": 1.755
|
||||
},
|
||||
"timeout": 10,
|
||||
"playerType": "2",
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
@@ -422,6 +449,7 @@
|
||||
"type": "rect",
|
||||
"ratio": 1
|
||||
},
|
||||
"timeout": 10,
|
||||
"searchable": 0,
|
||||
"quickSearch": 0,
|
||||
"changeable": 0
|
||||
@@ -439,19 +467,6 @@
|
||||
"ratio": 3.8
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "PanSso",
|
||||
"name": "🐌盘他┃三盘",
|
||||
"type": 3,
|
||||
"api": "csp_PanSsoGuard",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"changeable": 0,
|
||||
"ext": {
|
||||
"Cloud-drive": "tvfan/Cloud-drive.txt",
|
||||
"from": "4k|auto"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "YpanSo",
|
||||
"name": "🐟盘她┃三盘",
|
||||
@@ -683,6 +698,12 @@
|
||||
],
|
||||
"logo": "https://s1.imagehub.cc/images/2025/01/15/e8b21391c58ed454c13ade26c003e857.gif",
|
||||
"lives": [
|
||||
{
|
||||
"name": "牛播一(仅新版影视仓┃ok影视)",
|
||||
"type": 0,
|
||||
"url": "http://127.0.0.1:9978/proxy?do=饭太硬&type=liveList",
|
||||
"epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
|
||||
},
|
||||
{
|
||||
"name": "V4聚合(卡顿请按左┃右键换线)",
|
||||
"type": 0,
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
var rule = {
|
||||
title:'有声小说吧',
|
||||
编码:'gb18030',
|
||||
host:'http://m.ysxs8.vip',
|
||||
host:'http://m.ysxs8.top',
|
||||
url:'/downlist/fyclass_fypage.html',
|
||||
searchUrl:'/search.asp?page=fypage&searchword=**&searchtype=-1',
|
||||
searchable:2,
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
{"class":[{"type_name":"登陆配置","type_id":"peizhi"},{"type_name":"MV","type_id":"MV"},{"type_name":"抖音音乐","type_id":"抖音音乐MV"},{"type_name":"快手音乐","type_id":"快手音乐MV"},{"type_name":"酷狗音乐","type_id":"酷狗音乐MV"},{"type_name":"酷我音乐","type_id":"酷我音乐MV"},{"type_name":"QQ音乐","type_id":"QQ音乐MV"},{"type_name":"无损音乐","type_id":"无损音乐"},{"type_name":"助眠曲","type_id":"助眠曲MV"},{"type_name":"钢琴曲","type_id":"钢琴曲MV"},{"type_name":"舞曲","type_id":"舞曲超清"},{"type_name":"卡点","type_id":"影视卡点超清"},{"type_name":"时光音乐会","type_id":"时光音乐会MV"},{"type_name":"好声音","type_id":"中国好声音MV"},{"type_name":"粤语","type_id":"粤语MV"},{"type_name":"2023年热榜","type_id":"2023年热门MV"},{"type_name":"KTV热门","type_id":"KTV热门MV"},{"type_name":"滚石经典","type_id":"滚石MV"},{"type_name":"经典老歌","type_id":"经典老歌"},{"type_name":"古风MV","type_id":"古风MV"},{"type_name":"闽南语MV","type_id":"闽南语MV"},{"type_name":"印度歌舞","type_id":"印度歌舞MV"},{"type_name":"网红翻唱","type_id":"网红翻唱MV"},{"type_name":"韩国女团","type_id":"韩国女团MV"},{"type_name":"A阿黛尔","type_id":"阿黛尔MV"},{"type_name":"Blackpink","type_id":"blackpinkMV"},{"type_name":"Beyond","type_id":"beyondMV"},{"type_name":"B坂井泉水","type_id":"坂井泉水MV"},{"type_name":"B宝丽金","type_id":"宝丽金MV"},{"type_name":"B布兰妮","type_id":"布兰妮MV"},{"type_name":"C程响","type_id":"程响MV"},{"type_name":"C陈晓竹","type_id":"陈晓竹MV"},{"type_name":"C崔健","type_id":"崔健MV"},{"type_name":"C蔡依林","type_id":"蔡依林MV"},{"type_name":"C草蜢","type_id":"草蜢MV"},{"type_name":"Coldplay","type_id":"coldplayMV"},{"type_name":"C陈慧娴","type_id":"陈慧娴MV"},{"type_name":"C陈百强","type_id":"陈百强MV"},{"type_name":"C陈淑桦","type_id":"陈淑桦MV"},{"type_name":"C陈瑞","type_id":"陈瑞MV"},{"type_name":"C陈慧琳","type_id":"陈慧琳MV"},{"type_name":"D邓丽君","type_id":"邓丽君MV"},{"type_name":"D邓紫棋","type_id":"邓紫棋MV"},{"type_name":"D刀郎","type_id":"刀郎MV"},{"type_name":"D达明一派","type_id":"刘以达MV"},{"type_name":"F费玉清","type_id":"费玉清MV"},{"type_name":"F飞图","type_id":"飞图MV"},{"type_name":"G谷村新司","type_id":"谷村新司MV"},{"type_name":"G郭富城","type_id":"郭富城MV"},{"type_name":"G关淑怡","type_id":"关淑怡MV"},{"type_name":"H黄凯芹","type_id":"黄凯芹MV"},{"type_name":"J降央卓玛","type_id":"降央卓玛MV"},{"type_name":"J江慧","type_id":"江慧MV"},{"type_name":"J吉永小百合","type_id":"吉永小百合MV"},{"type_name":"J金庸","type_id":"金庸影视MV"},{"type_name":"K柯以敏","type_id":"柯以敏MV"},{"type_name":"K邝美云","type_id":"邝美云MV"},{"type_name":"L刘惜君","type_id":"刘惜君MV"},{"type_name":"L梁雁翎","type_id":"梁雁翎MV"},{"type_name":"L刘德华","type_id":"刘德华MV"},{"type_name":"Lady Gaga","type_id":"Lady GagaMV"},{"type_name":"L龙飘飘","type_id":"龙飘飘MV"},{"type_name":"L李贞贤","type_id":"李贞贤MV"},{"type_name":"L李秀英","type_id":"李秀英MV"},{"type_name":"L罗大佑","type_id":"罗大佑MV"},{"type_name":"L林志炫","type_id":"林志炫MV"},{"type_name":"L林忆莲","type_id":"林忆莲MV"},{"type_name":"L李知恩","type_id":"李知恩MV"},{"type_name":"L梁静茹","type_id":"梁静茹MV"},{"type_name":"L冷漠","type_id":"冷漠MV"},{"type_name":"L李克勤","type_id":"李克勤MV"},{"type_name":"L林子祥","type_id":"林子祥MV"},{"type_name":"L黎明","type_id":"黎明MV"},{"type_name":"L刘若英","type_id":"刘若英MV"},{"type_name":"M莫文蔚","type_id":"莫文蔚MV"},{"type_name":"M孟庭苇","type_id":"孟庭苇MV"},{"type_name":"M麦当娜","type_id":"麦当娜MV"},{"type_name":"M迈克杰克逊","type_id":"迈克杰克逊MV"},{"type_name":"N雅尼紫禁城","type_id":"雅尼紫禁城MV"},{"type_name":"P潘越云","type_id":"潘越云MV"},{"type_name":"P潘美辰","type_id":"潘美辰MV"},{"type_name":"Q齐秦","type_id":"齐秦MV"},{"type_name":"R任贤齐","type_id":"任贤齐MV"},{"type_name":"S苏慧伦","type_id":"苏慧伦MV"},{"type_name":"T童安格","type_id":"童安格MV"},{"type_name":"TFBOYS","type_id":"TFBOYSMV"},{"type_name":"T太极乐队","type_id":"太极乐队MV"},{"type_name":"T唐朝摇滚","type_id":"唐朝摇滚MV"},{"type_name":"T谭咏麟","type_id":"谭咏麟MV"},{"type_name":"W王琪","type_id":"王琪MV"},{"type_name":"W伍珂玥","type_id":"伍珂玥MV"},{"type_name":"W王杰","type_id":"王杰MV"},{"type_name":"W伍佰","type_id":"伍佰MV"},{"type_name":"W温兆伦","type_id":"温兆伦MV"},{"type_name":"W王菲","type_id":"王菲MV"},{"type_name":"X夏婉安","type_id":"夏婉安MV"},{"type_name":"X徐小凤","type_id":"徐小凤MV"},{"type_name":"X席琳迪翁","type_id":"席琳迪Line truncated
|
||||
+5958
-1048
File diff suppressed because it is too large.
Load diff
+1848
-1802
File diff suppressed because it is too large.
Load diff
Binary file not shown.
+1392
-1368
File diff suppressed because it is too large.
Load diff
+238
-192
@@ -5,78 +5,125 @@ AMC电影,http://104.244.79.187:5050/litv/4gtv-4gtv017
|
||||
AXN,http://122.117.71.103:8557/http/61.222.53.250:8081/hls/71/813/ch43.m3u8
|
||||
BTV卡通,http://113.57.20.158:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV-4K 超高清,http://27.222.3.214/liveali-tp4k.cctv.cn/live/4K10M.stream/playlist.m3u8
|
||||
CCTV1,http://36.105.100.208:35455/gaoma/cctv1.m3u8
|
||||
CCTV1,http://115.159.35.169:35455/gaoma/cctv1.m3u8
|
||||
CCTV10,http://115.159.35.169:35455/gaoma/cctv10.m3u8
|
||||
CCTV10,http://39.164.160.249:9901/tsfile/live/0010_1.m3u8
|
||||
CCTV11,http://39.164.160.249:9901/tsfile/live/0011_1.m3u8
|
||||
CCTV11,http://36.105.100.208:35455/gaoma/cctv11.m3u8
|
||||
CCTV12,http://112.81.218.254:35455/gaoma/cctv12.m3u8
|
||||
CCTV12,http://39.164.160.249:9901/tsfile/live/0012_1.m3u8
|
||||
CCTV11,http://39.164.160.249:9901/tsfile/live/0011_1.m3u8
|
||||
CCTV12,http://115.159.35.169:35455/gaoma/cctv12.m3u8
|
||||
CCTV13,http://115.159.35.169:35455/gaoma/cctv13.m3u8
|
||||
CCTV13,http://112.81.218.254:35455/gaoma/cctv13.m3u8
|
||||
CCTV14,http://115.159.35.169:35455/gaoma/cctv14.m3u8
|
||||
CCTV14,http://39.77.34.83:35455/gaoma/cctv14.m3u8
|
||||
CCTV14,http://36.105.100.208:35455/gaoma/cctv14.m3u8
|
||||
CCTV15,http://36.105.100.208:35455/gaoma/cctv15.m3u8
|
||||
CCTV15,http://39.164.160.249:9901/tsfile/live/0015_1.m3u8
|
||||
CCTV15,http://39.77.34.83:35455/gaoma/cctv15.m3u8
|
||||
CCTV16,http://115.159.35.169:35455/gaoma/cctv16.m3u8
|
||||
CCTV17,http://36.105.100.208:35455/gaoma/cctv17.m3u8
|
||||
CCTV17,http://39.77.34.83:35455/gaoma/cctv17.m3u8
|
||||
CCTV2,http://36.105.100.208:35455/gaoma/cctv2.m3u8
|
||||
CCTV16,http://36.105.100.208:35455/gaoma/cctv16.m3u8
|
||||
CCTV17,http://117.14.55.26:35455/gaoma/cctv17.m3u8
|
||||
CCTV2,http://39.164.160.249:9901/tsfile/live/0002_1.m3u8
|
||||
CCTV3,http://112.81.218.254:35455/gaoma/cctv3.m3u8
|
||||
CCTV3,http://58.57.40.22:9901/tsfile/live/1002_1.m3u8
|
||||
CCTV3,http://36.105.100.208:35455/gaoma/cctv3.m3u8
|
||||
CCTV5,http://115.159.35.169:35455/gaoma/cctv5.m3u8
|
||||
CCTV5+,http://115.159.35.169:35455/gaoma/cctv5p.m3u8
|
||||
CCTV5+,http://36.105.100.208:35455/gaoma/cctv5p.m3u8
|
||||
CCTV4,http://115.159.35.169:35455/gaoma/cctv4k.m3u8
|
||||
CCTV4,http://115.159.35.169:35455/gaoma/cctv4.m3u8
|
||||
CCTV5,http://39.77.34.83:35455/gaoma/cctv5.m3u8
|
||||
CCTV5+,http://117.169.124.46:6410/ysten-businessmobile/live/hdcctv05plus/1.m3u8
|
||||
CCTV5+,http://112.81.218.254:35455/gaoma/cctv5p.m3u8
|
||||
CCTV5+,http://39.77.34.83:35455/gaoma/cctv5p.m3u8
|
||||
CCTV6,http://117.169.124.36:6610/ysten-businessmobile/live/cctv-6/1.m3u8
|
||||
CCTV6,http://58.57.40.22:9901/tsfile/live/1006_1.m3u8
|
||||
CCTV6,http://39.134.115.163:8080/PLTV/88888910/224/3221225632/index.m3u8
|
||||
CCTV6,http://39.134.115.163:8080/PLTV/88888910/224/3221225650/index.m3u8
|
||||
CCTV6,http://113.140.12.230:8888/newlive/live/hls/7/live.m3u8
|
||||
CCTV7,http://112.81.218.254:35455/gaoma/cctv7.m3u8
|
||||
CCTV7,http://36.105.100.208:35455/gaoma/cctv7.m3u8
|
||||
CCTV6,http://110.53.52.63:8888/newlive/live/hls/8/live.m3u8
|
||||
CCTV8,http://117.169.124.36:6610/ysten-businessmobile/live/cctv-8/1.m3u8
|
||||
CCTV9,http://112.81.218.254:35455/gaoma/cctv9.m3u8
|
||||
CCTV9,http://39.77.34.83:35455/gaoma/cctv9.m3u8
|
||||
CCTV9,http://39.164.160.249:9901/tsfile/live/0009_1.m3u8
|
||||
CCTV世界地理,http://111.61.236.247:9081/hls/62/index.m3u8
|
||||
CCTV世界地理,http://120.76.248.139/live/bfgd/4200000177.m3u8
|
||||
CCTV世界地理,http://36.129.204.117:9003//hls/78/index.m3u8
|
||||
CCTV世界地理,http://60.7.56.33:4000/udp/239.253.92.113:8066
|
||||
CCTV世界地理,http://180.213.174.225:9901/tsfile/live/1051_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV央视台球,http://183.11.239.36:808/hls/73/index.m3u8
|
||||
CCTV央视台球,http://36.129.204.117:9003//hls/71/index.m3u8
|
||||
CCTV央视台球,http://183.11.239.36:808/hls/73/index.m3u8
|
||||
CCTV女性时尚,http://120.76.248.139/live/bfgd/4200000176.m3u8
|
||||
CCTV女性时尚,http://111.61.236.247:9081/hls/59/index.m3u8
|
||||
CCTV女性时尚,http://180.213.174.225:9901/tsfile/live/1054_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV少儿,http://123.138.22.30:9901/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV怀旧剧场,http://120.76.248.139/live/bfgd/4200000224.m3u8
|
||||
CCTV怀旧剧场,http://111.61.236.247:9081/hls/67/index.m3u8
|
||||
CCTV怀旧剧场,http://121.19.134.200:808/tsfile/live/1035_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV怀旧剧场,http://180.213.174.225:9901/tsfile/live/1049_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV电视指南,http://120.76.248.139/live/bfgd/4200000164.m3u8
|
||||
CCTV第一剧场,http://60.7.56.33:4000/udp/239.253.93.138:6428
|
||||
CCTV第一剧场,http://180.213.174.225:9901/tsfile/live/1050_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV第一剧场,http://121.19.134.200:808/tsfile/live/1033_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV第一剧场,http://180.213.174.225:9901/tsfile/live/1048_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV第一剧场,http://60.7.56.33:4000/udp/239.253.93.138:6428
|
||||
CCTV风云剧场,http://121.19.134.200:808/tsfile/live/1034_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CCTV风云足球,http://111.61.236.247:9081/hls/58/index.m3u8
|
||||
CCTV风云足球,http://183.11.239.36:808/hls/133/index.m3u8
|
||||
CCTV风云足球,http://120.76.248.139/live/bfgd/4200000225.m3u8
|
||||
CCTV风云足球,http://183.11.239.36:808/hls/11/index.m3u8
|
||||
CCTV风云足球,http://36.105.100.208:35455/itv/5000000011000031207.m3u8?cdn=bestzb
|
||||
CCTV风云音乐,http://121.19.134.200:808/tsfile/live/1036_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CETV1,http://120.198.95.220:9901/tsfile/live/1039_1.m3u8?key=txiptv
|
||||
CHC动作电影,http://218.15.183.23:9901/tsfile/live/23039_1.m3u8
|
||||
CHC动作电影,http://120.238.94.82:9901/tsfile/live/1052_1.m3u8
|
||||
CHC动作电影,http://119.32.12.17:2901/udp/224.1.100.131:11111
|
||||
CHC动作电影,http://120.198.95.220:9901/tsfile/live/1038_1.m3u8?key=txiptv
|
||||
CHC动作电影,http://58.19.38.162:9901/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CHC华诚影视,http://120.76.248.139/live/bfgd/4200000289.m3u8
|
||||
CHC家庭影院,http://61.162.52.6:8088/newlive/live/hls/60/live.m3u8
|
||||
CHC家庭影院,http://110.53.52.63:8888/newlive/live/hls/53/live.m3u8
|
||||
CHC家庭影院,http://120.198.101.106:9901/tsfile/live/1051_1.m3u8?key=txiptv
|
||||
CHC家庭影院,http://58.19.38.162:9901/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CHC影迷电影,http://110.53.52.63:8888/newlive/live/hls/52/live.m3u8
|
||||
CHC电影,http://180.213.174.225:9901/tsfile/live/1029_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CHC影迷电影,http://58.19.38.162:9901/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CHC电影,http://218.15.183.23:9901/tsfile/live/23044_1.m3u8
|
||||
CHC电影,http://183.237.95.108:9901/tsfile/live/1008_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||
CINEMAX,http://122.117.71.103:8558/http/61.222.53.250:8081/hls/71/813/ch42.m3u8
|
||||
DogTV,http://180.213.174.225:9901/tsfile/live/1042_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
CN卡通,http://50.7.234.10:8278/momo1_twn/playlist.m3u8?ct=19225&tid=MA0A4898983648989836&tsum=bd109117d126916f203880b1f2063d5e
|
||||
HBO,http://122.117.71.103:8556/http/61.222.53.250:8081/hls/71/813/ch41.m3u8
|
||||
HBO家庭,http://50.7.234.10:8278/fyi_twn/playlist.m3u8?tid=18186902&ct=17988&&tsum=7a21abab0a5912afb0ebc01db111e59f
|
||||
IPTV经典电影,http://43.138.0.72:35455/yy/1382754187
|
||||
KBC,http://119.200.131.11:1935/KBCTV/tv/playlist.m3u8
|
||||
KCTV,http://119.77.96.184:1935/chn05/chn05/chunklist.m3u8
|
||||
NewTV东北热剧,http://45.8.113.249:50001/TVOD/2000000003000000051/hnbblive/index.m3u8
|
||||
NewTV东北热剧,http://39.134.64.87:6610/PLTV/88888888/224/3221225741/index.m3u8?IASHttpSessionId=
|
||||
NewTV军事评论,http://45.8.113.249:50001/TVOD/2000000003000000022/hnbblive/index.m3u8
|
||||
NewTV军事评论,http://39.134.64.87:6610/PLTV/88888888/224/3221225668/index.m3u8?IASHttpSessionId=
|
||||
NewTV军旅剧场,http://45.8.113.249:50001/TVOD/2000000003000000014/hnbblive/index.m3u8
|
||||
NewTV军旅剧场,http://39.134.64.87:6610/PLTV/88888888/224/3221225676/index.m3u8?IASHttpSessionId=
|
||||
NewTV农业致富,http://45.8.113.249:50001/TVOD/2000000003000000003/hnbblive/index.m3u8
|
||||
NewTV农业致富,http://39.134.64.87:6610/PLTV/88888888/224/3221225683/index.m3u8?IASHttpSessionId=
|
||||
NewTV古装剧场,http://45.8.113.249:50001/TVOD/2000000003000000024/hnbblive/index.m3u8
|
||||
NewTV哒啵电竞,http://39.134.64.87:6610/PLTV/88888888/224/3221225675/index.m3u8?IASHttpSessionId=
|
||||
NewTV家庭剧场,http://45.8.113.249:50001/TVOD/2000000003000000012/hnbblive/index.m3u8
|
||||
NewTV家庭剧场,http://45.8.113.249:50001/TVOD/1000000004000008284/ystenlive/index.m3u8
|
||||
NewTV家庭剧场,http://39.134.64.87:6610/PLTV/88888888/224/3221225677/index.m3u8?IASHttpSessionId=
|
||||
NewTV怡伴健康,http://45.8.113.249:50001/TVOD/2000000003000000023/hnbblive/index.m3u8
|
||||
NewTV怡伴健康,http://45.8.113.249:50001/TVOD/1000000005000266011/ystenlive/index.m3u8
|
||||
NewTV怡伴健康,http://39.134.64.87:6610/PLTV/88888888/224/3221225673/index.m3u8?IASHttpSessionId=
|
||||
NewTV惊悚悬疑,http://45.8.113.249:50001/TVOD/2000000003000000015/hnbblive/index.m3u8
|
||||
NewTV惊悚悬疑,http://45.8.113.249:50001/TVOD/1000000004000024282/ystenlive/index.m3u8
|
||||
NewTV惊悚悬疑,http://39.134.64.87:6610/PLTV/88888888/224/3221225665/index.m3u8?IASHttpSessionId=
|
||||
NewTV明星大片,http://45.8.113.249:50001/TVOD/2000000003000000016/hnbblive/index.m3u8
|
||||
NewTV明星大片,http://39.134.64.87:6610/PLTV/88888888/224/3221225664/index.m3u8?IASHttpSessionId=
|
||||
NewTV欢乐剧场,http://45.8.113.249:50001/TVOD/2000000003000000050/hnbblive/index.m3u8
|
||||
NewTV欢乐剧场,http://45.8.113.249:50001/TVOD/1000000005000266012/ystenlive/index.m3u8
|
||||
NewTV欢乐剧场,http://39.134.64.87:6610/PLTV/88888888/224/3221225742/index.m3u8?IASHttpSessionId=
|
||||
NewTV武搏世界,http://39.134.64.87:6610/PLTV/88888888/224/3221225680/index.m3u8?IASHttpSessionId=
|
||||
NewTV潮妈辣婆,http://45.8.113.249:50001/TVOD/2000000003000000018/hnbblive/index.m3u8
|
||||
NewTV潮妈辣婆,http://39.134.64.87:6610/PLTV/88888888/224/3221225685/index.m3u8?IASHttpSessionId=
|
||||
NewTV炫舞未来,http://45.8.113.249:50001/TVOD/2000000003000000044/hnbblive/index.m3u8
|
||||
NewTV炫舞未来,http://45.8.113.249:50001/TVOD/1000000001000000515/ystenlive/index.m3u8
|
||||
NewTV爱情喜剧,http://45.8.113.249:50001/TVOD/2000000003000000010/hnbblive/index.m3u8
|
||||
NewTV精品体育,http://39.134.64.87:6610/PLTV/88888888/224/3221225674/index.m3u8?IASHttpSessionId=
|
||||
NewTV精品大剧,http://45.8.113.249:50001/TVOD/2000000003000000020/hnbblive/index.m3u8
|
||||
NewTV精品大剧,http://45.8.113.249:50001/TVOD/1000000004000013968/ystenlive/index.m3u8
|
||||
NewTV精品大剧,http://39.134.64.87:6610/PLTV/88888888/224/3221225670/index.m3u8?IASHttpSessionId=
|
||||
NewTV精品纪录,http://45.8.113.249:50001/TVOD/1000000004000013730/ystenlive/index.m3u8
|
||||
NewTV精品纪录,http://39.134.64.87:6610/PLTV/88888888/224/3221225672/index.m3u8?IASHttpSessionId=
|
||||
NewTV精品萌宠,http://45.8.113.249:50001/TVOD/2000000003000000067/hnbblive/index.m3u8
|
||||
NewTV精品萌宠,http://45.8.113.249:50001/TVOD/1000000006000032328/ystenlive/index.m3u8
|
||||
NewTV精品萌宠,http://39.134.64.87:6610/PLTV/88888888/224/3221226505/index.m3u8?IASHttpSessionId=
|
||||
NewTV超级电影,http://45.8.113.249:50001/TVOD/2000000003000000031/hnbblive/index.m3u8
|
||||
NewTV超级电影,http://45.8.113.249:50001/TVOD/1000000001000012884/ystenlive/index.m3u8
|
||||
NewTV超级电影,http://45.8.113.249:50001/TVOD/1000000004000002120/ystenlive/index.m3u8
|
||||
NewTV超级电视剧,http://45.8.113.249:50001/TVOD/1000000006000268003/ystenlive/index.m3u8
|
||||
NewTV超级电视剧,http://45.8.113.249:50001/TVOD/2000000003000000032/hnbblive/index.m3u8
|
||||
NewTV超级电视剧,http://45.8.113.249:50001/TVOD/1000000001000008139/ystenlive/index.m3u8
|
||||
cctv10,http://61.136.172.236:9901/tsfile/live/0010_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
cctv12,http://61.136.172.236:9901/tsfile/live/0012_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.m3u8
|
||||
七彩戏剧,http://36.105.100.208:35455/itv/5000000011000031116.m3u8?cdn=bestzb
|
||||
万州三峡移民,http://123.146.162.24:8013/tslslive/PU2vzMI/hls/live_sd.m3u8
|
||||
@@ -93,8 +140,8 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
三沙卫视,http://111.160.17.2:59901/tsfile/live/0001_45.m3u8
|
||||
三沙卫视,http://119.36.148.115:59901/tsfile/live/1009_1.m3u8
|
||||
三沙卫视,http://61.138.128.226:19901/tsfile/live/1020_1.m3u8
|
||||
上海东方卫视,http://180.213.174.225:9901/tsfile/live/1017_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
上海第一财经,http://36.105.100.208:35455/itv/5000000010000027146.m3u8?cdn=bestzb
|
||||
上海纪实,http://39.134.115.163:8080/PLTV/88888910/224/3221225655/index.m3u8
|
||||
东南卫视,http://117.169.124.37:6610/ysten-businessmobile/live/dongnanstv/yst.m3u8
|
||||
东南卫视,http://58.57.40.22:9901/tsfile/live/1037_1.m3u8
|
||||
东南卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225657/index.m3u8
|
||||
@@ -104,20 +151,19 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
东方卫视,http://58.57.40.22:9901/tsfile/live/1030_1.m3u8
|
||||
东方卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225659/index.m3u8
|
||||
东方卫视,http://112.46.85.60:8009/hls/31/index.m3u8
|
||||
东方财经,http://124.248.69.76:26781/douyu/9548279
|
||||
东方财经,http://61.133.118.228:5001/douyu/9548279
|
||||
东森幼幼,http://122.117.71.103:8515/http/61.222.53.250:8081/hls/63/805/ch09.m3u8
|
||||
东森戏剧,http://122.117.71.103:8529/http/61.222.53.250:8081/hls/64/803/ch13.m3u8
|
||||
东森戏剧,http://122.117.71.103:8529/http/61.222.53.250:8081/hls/64/806/ch13.m3u8
|
||||
中华小当家,http://61.221.215.25:8800/hls/40/index.m3u8
|
||||
中华美食,http://61.133.118.228:5001/yy/1354930954
|
||||
中国天气,http://36.105.100.208:35455/itv/5000000005000031974.m3u8?cdn=bestzb
|
||||
中国教育,http://113.57.20.158:9901/tsfile/live/1018_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
乐游,http://36.105.100.208:35455/itv/5000000011000031112.m3u8?cdn=bestzb
|
||||
乐至综合,http://175.155.106.72:89/live1/live1.m3u8
|
||||
乐至综合,http://175.155.106.72:89/live1/live1.m3u8?zsicd
|
||||
乐至综合,http://175.155.106.72:89/live1/live1.m3u8?zsicd;http://rmlive.lzxrmtzx.com/live1/live1.m3u8?zsicd
|
||||
云南卫视,http://39.164.160.249:9901/tsfile/live/0119_1.m3u8
|
||||
云南卫视,http://58.57.40.22:9901/tsfile/live/1047_1.m3u8
|
||||
云南卫视,http://110.53.52.63:8888/newlive/live/hls/26/live.m3u8
|
||||
云南卫视,http://36.32.174.67:60080/newlive/live/hls/45/live.m3u8
|
||||
云浮综合,http://125.89.163.44:8888/udp/239.77.0.253:5146
|
||||
伊拉克life,http://195.142.3.105/artidijital_lifetv/lifetv/chunks.m3u8?autoplay=1
|
||||
伊犁哈萨克,http://110.153.180.106:55555/out_3/index.m3u8
|
||||
伊犁哈萨克,http://110.153.180.106:55555/out_3/index.m3u8?zxinjd
|
||||
@@ -128,12 +174,14 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
伊犁维吾尔,http://110.153.180.106:55555/out_2/index.m3u8
|
||||
伊犁维吾尔,http://110.153.180.106:55555/out_2/index.m3u8?zxinjd
|
||||
优漫卡通,http://58.221.214.82:9901/tsfile/live/0008_2.m3u8
|
||||
优漫卡通,http://119.32.12.17:2901/udp/224.1.100.119:11111
|
||||
优漫卡通,http://123.138.22.30:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
优漫卡通,http://39.134.115.163:8080/PLTV/88888910/224/3221225665/index.m3u8
|
||||
优漫卡通,http://110.53.218.182:9902/tsfile/live/1006_1.m3u8
|
||||
优漫卡通,http://36.105.100.208:35455/itv/1000000002000010063.m3u8?cdn=ystenlive
|
||||
优漫卡通,http://58.221.214.82:9901/tsfile/live/0008_2.m3u8?key=txiptv
|
||||
佛山公共,http://125.89.163.44:8888/udp/239.253.43.53:5146
|
||||
佛山影视,http://125.89.163.44:8888/udp/239.253.43.56:5146
|
||||
佛山综合,http://125.89.163.44:8888/udp/239.253.43.57:5146
|
||||
佳木斯新闻综合,http://39.134.65.106/PLTV/88888888/224/3221225993/1.m3u8?
|
||||
俄国NordTV,http://195.142.3.105/artidijital_noratv/noratv/chunks.m3u8?autoplay=1
|
||||
兵团八师石河子影文体,http://124.88.144.73:1935/live/jjsh/playlist.m3u8?zxinjd
|
||||
兵团八师石河子教育,http://124.88.144.73:1935/live/jiaoyu/playlist.m3u8
|
||||
@@ -143,73 +191,81 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
兵团八师石河子经济生活,http://124.88.144.73:1935/live/dywt/playlist.m3u8?zxinjd
|
||||
兵团卫视,http://183.11.239.36:808/hls/7/index.m3u8
|
||||
兵团卫视,http://120.76.248.139/live/bfgd/4200000124.m3u8
|
||||
兵团卫视,http://218.89.240.144:59901/tsfile/live/0115_1.m3u8
|
||||
兵团卫视,http://218.13.14.6:60050/tsfile/live/1053_1.m3u8
|
||||
兵团卫视,http://110.80.17.38:9901/tsfile/live/0015_1.m3u8
|
||||
内蒙卫视,http://58.220.219.14:9901/tsfile/live/0114_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
内蒙古卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225667/index.m3u8
|
||||
内蒙古卫视,http://110.53.52.63:8888/newlive/live/hls/45/live.m3u8
|
||||
内蒙古卫视,http://111.61.236.247:9081/hls/48/index.m3u8
|
||||
内蒙古卫视,http://183.11.239.36:808/hls/60/index.m3u8
|
||||
内蒙古卫视,http://120.76.248.139/live/bfgd/4200000110.m3u8
|
||||
农林卫视,http://120.76.248.139/live/bfgd/4200000122.m3u8
|
||||
农林卫视,http://124.116.183.146:9901/tsfile/live/1004_1.m3u8
|
||||
农林卫视,http://8.138.7.223/【公众号:榴芒电视】/农林卫视.m3u8
|
||||
农林卫视,http://112.46.85.60:8009/hls/27/index.m3u8
|
||||
凉山新闻综合,http://118.122.8.156:11111/lstv1/LSTV1.flv
|
||||
凤凰卫视,http://221.7.175.154:8445/tsfile/live/1020_1.m3u8
|
||||
凤凰卫视,http://119.32.12.17:2901/udp/224.1.100.3:11111
|
||||
凤凰卫视,http://120.198.101.106:9901/tsfile/live/1062_1.m3u8?key=txiptv
|
||||
刘德华,http://124.248.69.76:26781/huya/11342424
|
||||
功夫片,http://124.248.69.76:26781/huya/11352941
|
||||
动漫秀场,http://36.129.204.117:9003//hls/67/index.m3u8
|
||||
动漫秀场,http://180.213.174.225:9901/tsfile/live/1034_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
动漫秀场,http://60.7.56.33:4000/udp/239.253.93.225:6403
|
||||
动漫秀场,http://60.2.190.206:4000/udp/239.253.93.225:6403
|
||||
动漫秀场,http://60.29.124.66:6080/hls/62/index.m3u8
|
||||
动漫秀场,http://120.238.94.10:9901/tsfile/live/1037_1.m3u8
|
||||
动漫秀场,http://36.105.100.208:35455/itv/5000000011000031113.m3u8?cdn=bestzb
|
||||
动漫秀场,http://183.237.95.108:9901/tsfile/live/1104_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||
动漫秀场,http://36.105.100.208:35455/itv/5000000011000031123.m3u8?cdn=bestzb
|
||||
动物星球,http://61.221.215.25:8800/hls/57/index.m3u8
|
||||
劲爆体育,http://120.238.94.82:9901/tsfile/live/1086_1.m3u8
|
||||
劲爆体育,http://150.230.250.89:50001/TVOD/5000000002000029972/bestzb/index.m3u8
|
||||
劲爆体育,http://146.56.165.66:7788/TVOD/5000000002000029972/bestzb/index.m3u8
|
||||
劲爆体育,http://119.32.12.17:2901/udp/224.1.100.129:11111
|
||||
劲爆体育,http://36.105.100.208:35455/itv/5000000002000029972.m3u8?cdn=bestzb
|
||||
北京中华特产,http://120.76.248.139/live/bfgd/4200000158.m3u8
|
||||
北京优优宝贝,http://120.76.248.139/live/bfgd/4200000153.m3u8
|
||||
北京北京纪实科教,http://120.76.248.139/live/bfgd/4200000113.m3u8
|
||||
北京卫视,http://39.164.160.249:9901/tsfile/live/0122_1.m3u8
|
||||
北京卫视,http://58.57.40.22:9901/tsfile/live/1032_1.m3u8
|
||||
北京卫视,http://110.53.52.63:8888/newlive/live/hls/18/live.m3u8
|
||||
北京卫视,http://36.32.174.67:60080/newlive/live/hls/25/live.m3u8
|
||||
北京纪实,http://39.134.115.163:8080/PLTV/88888910/224/3221225675/index.m3u8
|
||||
华数4K,http://36.105.100.208:35455/itv/2000000004000000014.m3u8?cdn=hnbblive
|
||||
北京四海钓鱼,http://120.76.248.139/live/bfgd/4200000229.m3u8
|
||||
北京环球旅游,http://120.76.248.139/live/bfgd/4200000147.m3u8
|
||||
北京生态环境频道,http://120.76.248.139/live/bfgd/4200000149.m3u8
|
||||
北京纪实科教,http://39.134.65.106/PLTV/88888888/224/3221225670/1.m3u8?
|
||||
北京车迷频道,http://120.76.248.139/live/bfgd/4200000146.m3u8
|
||||
南京少儿,http://221.226.51.220:50080/newlive/live/hls/46/live.m3u8
|
||||
南方卫视,http://182.91.124.224:9901/tsfile/live/1059_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||
卡酷少儿,http://58.57.40.22:9901/tsfile/live/1060_1.m3u8
|
||||
卡酷少儿,http://218.13.170.98:9901/tsfile/live/1021_1.m3u8
|
||||
卡酷少儿,http://61.138.128.226:19901/tsfile/live/1017_1.m3u8
|
||||
卡酷少儿,http://60.29.124.66:6080/hls/58/index.m3u8
|
||||
卡酷少儿,http://61.157.139.15:9901/tsfile/live/2418_1.m3u8
|
||||
卡酷少儿,http://183.66.15.146:60901/tsfile/live/0126_2.m3u8
|
||||
厦门卫视,http://183.11.239.36:808/hls/17/index.m3u8
|
||||
厦门卫视,http://110.80.17.38:9901/tsfile/live/0128_1.m3u8
|
||||
厦门卫视,http://123.132.233.194:352/tsfile/live/0119_1.m3u8
|
||||
厦门卫视,http://220.161.87.62:8090/hls/0/index.m3u8?zfud
|
||||
厦门卫视,http://36.105.100.208:35455/itv/1000000005000266006.m3u8?cdn=ystenlive
|
||||
厦门卫视,http://125.42.150.114:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
双流综合,http://171.221.250.130:18888/27e684978eb642eeb90ab815f6cc51bf/c41893de5e8645b3b43aef1640859b0d.m3u8?zsicd,
|
||||
双流综合,http://171.221.250.130:18888/27e684978eb642eeb90ab815f6cc51bf/c41893de5e8645b3b43aef1640859b0d.m3u8?zsicd
|
||||
吉木萨尔综合,http://218.31.201.189:9000/api/material/local/mnt/shiping1/prog_index.m3u8?zxinjd
|
||||
吉林乡村,http://36.129.204.117:9003//hls/23/index.m3u8
|
||||
吉林卫视,http://220.164.192.48:50085/tsfile/live/0118_1.m3u8
|
||||
吉林卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225680/index.m3u8
|
||||
吉林卫视,http://58.57.40.22:9901/tsfile/live/1050_1.m3u8
|
||||
吉林卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225680/index.m3u8
|
||||
吉林卫视,http://110.53.52.63:8888/newlive/live/hls/34/live.m3u8
|
||||
吉林卫视,http://36.32.174.67:60080/newlive/live/hls/40/live.m3u8
|
||||
吉林生活,http://36.129.204.117:9003//hls/22/index.m3u8
|
||||
吉林都市,http://36.129.204.117:9003//hls/20/index.m3u8
|
||||
周星驰,http://124.248.69.76:26781/huya/11342412
|
||||
哈哈炫动,http://120.238.94.10:9901/tsfile/live/1037_1.m3u8
|
||||
哈哈炫动,http://39.134.115.163:8080/PLTV/88888910/224/3221225720/index.m3u8
|
||||
哈哈炫动,http://58.57.40.22:9901/tsfile/live/1061_1.m3u8
|
||||
哈哈炫动,http://111.29.9.33:6610/000000001000/5000000011000031123/index.m3u8?channel-id=bestzb&Contentid=5000000011000031123&livemode=1&stbId=3
|
||||
哈哈炫动,http://39.134.65.106/PLTV/88888888/224/3221225534/1.m3u8?
|
||||
哈哈炫动,http://61.138.128.226:19901/tsfile/live/1016_1.m3u8
|
||||
哒啵电竞,http://36.105.100.208:35455/itv/1000000006000032327.m3u8?cdn=ystenlive
|
||||
哈尔滨新闻综合,http://39.134.65.106/PLTV/88888888/224/3221226093/1.m3u8?
|
||||
哈尔滨生活,http://39.134.65.106/PLTV/88888888/224/3221226095/1.m3u8?
|
||||
嘉佳卡通,http://183.11.239.36:808/hls/8/index.m3u8
|
||||
嘉佳卡通,http://218.89.240.144:59901/tsfile/live/1003_1.m3u8
|
||||
嘉佳卡通,http://61.157.139.15:9901/tsfile/live/2420_1.m3u8
|
||||
嘉佳卡通,http://183.11.239.36:808/hls/8/index.m3u8
|
||||
嘉佳卡通,http://61.138.128.226:19901/tsfile/live/1019_1.m3u8
|
||||
嘉佳卡通,http://121.33.239.242:9901/tsfile/live/1001_1.m3u8
|
||||
四川卫视,http://220.164.192.48:50085/tsfile/live/0143_1.m3u8
|
||||
四川卫视,http://58.57.40.22:9901/tsfile/live/1046_1.m3u8
|
||||
四川卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225733/index.m3u8
|
||||
四川卫视,http://110.53.52.63:8888/newlive/live/hls/31/live.m3u8
|
||||
@@ -217,27 +273,20 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
四川科教,http://182.150.115.21:8030/pcgacg/pcgacg_0.m3u8
|
||||
四川科教,http://8.138.7.223/【公众号:榴芒电视】/四川科教.m3u8
|
||||
垫江综合,http://123.146.162.24:8013/tslslive/noEX9SG/hls/live_sd.m3u8?zzhongqd
|
||||
大湾区卫视,http://183.11.239.36:808/hls/132/index.m3u8
|
||||
大庆新闻综合,http://39.134.65.106/PLTV/88888888/224/3221226052/1.m3u8?
|
||||
大湾区卫视,http://222.128.55.152:9080/live/dwq.m3u8
|
||||
大湾区卫视,http://183.11.239.36:808/hls/132/index.m3u8
|
||||
大湾区卫视,http://36.105.100.208:35455/itv/1000000002000011619.m3u8?cdn=ystenlive
|
||||
大湾区卫视,http://183.237.95.108:9901/tsfile/live/1037_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||
天元围棋,http://120.76.248.139/live/bfgd/4200000633.m3u8
|
||||
天津卫视,http://220.164.192.48:50085/tsfile/live/0130_1.m3u8
|
||||
天津卫视,http://58.57.40.22:9901/tsfile/live/1034_1.m3u8
|
||||
天津卫视,http://112.46.85.60:8009/hls/44/index.m3u8
|
||||
天津卫视,http://110.53.52.63:8888/newlive/live/hls/42/live.m3u8
|
||||
天津卫视,http://36.32.174.67:60080/newlive/live/hls/26/live.m3u8
|
||||
天津影视,http://180.213.174.225:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
天津文艺,http://180.213.174.225:9901/tsfile/live/0019_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
天津新闻,http://111.160.17.2:59901/tsfile/live/0001_22.m3u8?key=txiptv&playlive=1&authid=0
|
||||
天津新闻,http://180.213.174.225:9901/tsfile/live/0018_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
天津都市,http://180.213.174.225:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
奎屯哈萨克语,http://218.84.12.186:8002/hls/main/playlist.m3u8
|
||||
奎屯哈萨克语,http://218.84.12.186:8002/hls/main/playlist.m3u8?zxinjd
|
||||
宁夏卫视,http://58.57.40.22:9901/tsfile/live/1054_1.m3u8
|
||||
宁夏卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225726/index.m3u8
|
||||
宁夏卫视,http://110.53.52.63:8888/newlive/live/hls/39/live.m3u8
|
||||
宁夏卫视,http://36.32.174.67:60080/newlive/live/hls/49/live.m3u8
|
||||
宁夏卫视,http://58.19.43.46:9901/tsfile/live/1003_1.m3u8
|
||||
安多卫视,http://39.134.65.166/PLTV/88888888/224/3221225531/1.m3u8
|
||||
安多卫视,http://39.134.66.66/PLTV/88888888/224/3221225531/1.m3u8
|
||||
安多卫视,http://39.134.65.106/PLTV/88888888/224/3221225531/1.m3u8?
|
||||
@@ -248,20 +297,24 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
安徽卫视,http://110.53.52.63:8888/newlive/live/hls/24/live.m3u8
|
||||
安徽卫视,http://36.32.174.67:60080/newlive/live/hls/34/live.m3u8
|
||||
安徽影视,http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be/hls.m3u8
|
||||
安徽影视,http://43.129.81.169/live.ahsx.ahtv.cn/live/ystv.m3u8
|
||||
安徽影视,http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be.flv
|
||||
安徽影视,http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be/hls.m3u8?zanhd#http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be/hls.m3u8#http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be.flv
|
||||
安徽影视,http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be/hls.m3u8?zanhd
|
||||
安徽影院,http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be/hls.m3u8?zanhd,
|
||||
安徽经济生活,http://112.30.194.221:20080/live/eac499adad7b49ff9cfa79ba84693959/hls.m3u8
|
||||
安徽经济生活,http://43.129.81.169/live.ahsx.ahtv.cn/live/jjshtv.m3u8
|
||||
安徽经济生活,http://112.30.194.221:20080/live/eac499adad7b49ff9cfa79ba84693959.flv
|
||||
安徽经济生活,http://112.30.194.221:20080/live/eac499adad7b49ff9cfa79ba84693959/hls.m3u8#http://112.30.194.221:20080/live/eac499adad7b49ff9cfa79ba84693959/hls.m3u8?zanhd#http://112.30.194.221:20080/live/eac499adad7b49ff9cfa79ba84693959.flv
|
||||
安徽经济生活,http://112.30.194.221:20080/live/eac499adad7b49ff9cfa79ba84693959/hls.m3u8?zanhd
|
||||
安徽综艺体育,http://112.30.194.221:20080/live/c41f112b83f644ddb082669501c8ecd3/hls.m3u8
|
||||
安徽综艺体育,http://43.129.81.169/live.ahsx.ahtv.cn/live/zytytv.m3u8
|
||||
安徽综艺体育,http://112.30.194.221:20080/live/c41f112b83f644ddb082669501c8ecd3.flv
|
||||
安徽综艺体育,http://112.30.194.221:20080/live/c41f112b83f644ddb082669501c8ecd3/hls.m3u8?zanhd%EF%BC%9F%E4%B8%96%E7%95%8C%E6%9D%AF%E4%B8%96%E7%95%8C%E6%9D%AF
|
||||
安徽综艺体育,http://112.30.194.221:20080/live/c41f112b83f644ddb082669501c8ecd3/hls.m3u8?zanhd
|
||||
家庭影院,http://60.172.130.146:352/tsfile/live/1010_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
少儿动画,http://218.15.183.23:9901/tsfile/live/23045_1.m3u8
|
||||
少儿动画,http://61.138.128.226:19901/tsfile/live/1017_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
山东体育,http://58.57.40.22:9901/tsfile/live/1020_1.m3u8
|
||||
山东体育,http://123.132.233.194:352/tsfile/live/1001_1.m3u8
|
||||
山东体育,http://61.156.228.12:8154/tsfile/live/1006_1.m3u8
|
||||
山东体育,http://111.14.181.15:9901/tsfile/live/1022_1.m3u8
|
||||
山东农科,http://58.57.40.22:9901/tsfile/live/1022_1.m3u8
|
||||
@@ -270,47 +323,46 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
山东卫视,http://110.53.52.63:8888/newlive/live/hls/29/live.m3u8
|
||||
山东卫视,http://36.32.174.67:60080/newlive/live/hls/42/live.m3u8
|
||||
山东少儿,http://111.14.181.15:9901/tsfile/live/1005_1.m3u8
|
||||
山东少儿,http://123.132.233.194:352/tsfile/live/1002_1.m3u8
|
||||
山东少儿,http://58.57.40.22:9901/tsfile/live/1024_1.m3u8
|
||||
山东少儿,http://111.14.181.15:9901/tsfile/live/1005_1.m3u8?key=tvbox6_com&playlive=1&authid=0
|
||||
山东少儿,http://123.129.70.178:9901/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
山东少儿,http://123.132.233.194:352/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
山东少儿,http://221.2.148.205:8154/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
山东教育,http://183.11.239.36:808/hls/72/index.m3u8
|
||||
山东教育,http://121.19.134.222:808/tsfile/live/1033_1.m3u8
|
||||
山东教育,http://120.238.94.10:9901/tsfile/live/1062_1.m3u8
|
||||
山东教育,http://183.11.239.36:808/hls/72/index.m3u8
|
||||
山东教育卫视,http://58.57.40.22:9901/tsfile/live/1026_1.m3u8
|
||||
山东教育卫视,http://120.76.248.139/live/bfgd/4200000112.m3u8
|
||||
山东教育卫视,http://123.132.233.194:352/tsfile/live/1003_1.m3u8
|
||||
山东文旅,http://58.57.40.22:9901/tsfile/live/1023_1.m3u8
|
||||
山东文旅,http://221.2.148.205:8154/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
山东文旅,http://60.209.125.254:352/tsfile/live/1004_1.m3u8?ace
|
||||
山东新闻,http://221.2.148.205:8154/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
山东新闻,http://123.129.70.178:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
山东新闻,http://221.2.148.205:8154/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
山东生活,http://58.57.40.22:9901/tsfile/live/1018_1.m3u8
|
||||
山东生活,http://123.129.70.178:9901/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
山东生活,http://221.2.148.205:8154/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
山东综艺,http://123.129.70.178:9901/tsfile/live/1001_1.m3u8
|
||||
山东综艺,http://111.14.181.15:9901/tsfile/live/1004_1.m3u8
|
||||
山东综艺,http://58.57.40.22:9901/tsfile/live/1021_1.m3u8
|
||||
山东综艺,http://123.132.233.194:352/tsfile/live/1000_1.m3u8
|
||||
山东综艺,http://123.129.70.178:9901/tsfile/live/1001_1.m3u8
|
||||
山东综艺,http://221.2.148.205:8154/tsfile/live/1003_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
山东综艺,http://111.14.181.15:9901/tsfile/live/1004_1.m3u8?key=tvbox6_com&playlive=1&authid=0
|
||||
山东综艺,http://123.132.233.194:352/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
山东齐鲁,http://124.128.73.58:9901/tsfile/live/1000_1.m3u8
|
||||
山东齐鲁,http://61.156.228.12:8154/tsfile/live/1001_1.m3u8
|
||||
山东齐鲁,http://123.132.233.194:352/tsfile/live/1019_1.m3u8
|
||||
山东齐鲁,http://123.130.84.106:8154/tsfile/live/1001_1.m3u8
|
||||
山东齐鲁,http://111.14.181.15:9901/tsfile/live/1000_1.m3u8
|
||||
山东齐鲁,http://61.156.228.12:8154/tsfile/live/1001_1.m3u8
|
||||
山东齐鲁,http://123.129.70.178:9901/tsfile/live/0019_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
山西卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225730/index.m3u8
|
||||
山西卫视,http://110.53.52.63:8888/newlive/live/hls/43/live.m3u8
|
||||
山西卫视,http://36.32.174.67:60080/newlive/live/hls/43/live.m3u8
|
||||
山西卫视,http://113.140.12.230:8888/newlive/live/hls/41/live.m3u8
|
||||
山西卫视,http://58.19.43.46:9901/tsfile/live/1009_1.m3u8
|
||||
山西卫视,http://36.32.174.67:60080/newlive/live/hls/43/live.m3u8
|
||||
山西影视,http://60.223.224.176:8888/newlive/live/hls/54/live.m3u8
|
||||
广东体育,http://120.238.94.10:9901/tsfile/live/1012_1.m3u8
|
||||
广东体育,http://218.13.14.6:60050/tsfile/live/1021_1.m3u8
|
||||
广东体育,http://218.15.183.23:9901/tsfile/live/23012_1.m3u8
|
||||
广东体育,http://120.238.94.82:9901/tsfile/live/1012_1.m3u8
|
||||
广东体育,http://120.198.95.220:9901/tsfile/live/1010_1.m3u8?key=txiptv
|
||||
广东体育,http://121.33.239.242:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
广东体育,http://183.11.239.36:808/hls/2/index.m3u8
|
||||
广东体育,http://218.13.170.98:9901/tsfile/live/0019_1.m3u8
|
||||
广东体育,http://119.32.12.17:2901/udp/224.1.100.34:11111
|
||||
广东公共,http://218.13.14.6:60050/tsfile/live/1020_1.m3u8
|
||||
广东卫视,http://39.164.160.249:9901/tsfile/live/0125_1.m3u8
|
||||
广东卫视,http://58.57.40.22:9901/tsfile/live/1039_1.m3u8
|
||||
@@ -319,36 +371,40 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
广东少儿,http://121.33.239.242:9901/tsfile/live/0130_2.m3u8?key=txiptv&playlive=1&authid=0
|
||||
广东影视,http://121.33.239.242:9901/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
广东新闻,http://218.13.14.6:60050/tsfile/live/1019_1.m3u8
|
||||
广东新闻,http://218.15.183.23:9901/tsfile/live/23010_1.m3u8
|
||||
广东新闻,http://120.238.94.10:9901/tsfile/live/1010_1.m3u8
|
||||
广东民生,http://183.11.239.36:808/hls/18/index.m3u8
|
||||
广东民生,http://121.33.239.242:9901/tsfile/live/1003_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
广东民生,http://119.32.12.17:2901/udp/224.1.100.4:11111
|
||||
广东民生,http://183.237.95.108:9901/tsfile/live/1032_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||
广东民生,http://121.33.239.242:9901/tsfile/live/1003_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
广东民生,http://121.11.160.7:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
广东珠江,http://218.13.14.6:60050/tsfile/live/1018_1.m3u8
|
||||
广东珠江,http://120.238.94.10:9901/tsfile/live/1009_1.m3u8
|
||||
广东珠江,http://218.15.183.23:9901/tsfile/live/23009_1.m3u8
|
||||
广东珠江,http://183.11.239.36:808/hls/83/index.m3u8
|
||||
广州新闻,http://125.89.163.44:8888/udp/239.253.43.72:5146
|
||||
广州新闻,http://119.32.12.17:2901/udp/224.1.100.38:11111
|
||||
广州竞赛,http://119.32.12.17:2901/udp/224.1.100.105:11111
|
||||
广州综合,http://119.32.12.17:2901/udp/224.1.100.36:11111
|
||||
广西卫视,http://58.57.40.22:9901/tsfile/live/1049_1.m3u8
|
||||
广西卫视,http://110.53.52.63:8888/newlive/live/hls/25/live.m3u8
|
||||
广西卫视,http://36.32.174.67:60080/newlive/live/hls/38/live.m3u8
|
||||
广西卫视,http://111.160.17.2:59901/tsfile/live/0001_44.m3u8
|
||||
广西卫视,http://183.11.239.36:808/hls/56/index.m3u8
|
||||
广西新闻,http://116.9.204.242:9901/tsfile/live/1001_1.m3u8
|
||||
康巴卫视,http://218.89.240.144:59901/tsfile/live/1010_1.m3u8
|
||||
康巴卫视,http://39.134.66.66/PLTV/88888888/224/3221225527/1.m3u8
|
||||
康巴卫视,http://61.157.139.15:9901/tsfile/live/2415_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
康巴卫视,http://61.157.139.15:9901/tsfile/live/2415_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
康巴卫视,http://36.105.100.208:35455/itv/1000000005000266002.m3u8?cdn=ystenlive
|
||||
延边卫视,http://120.76.248.139/live/bfgd/4200000117.m3u8
|
||||
延边卫视,http://39.134.67.108/PLTV/88888888/224/3221226040/1.m3u8
|
||||
延边卫视,http://36.105.100.208:35455/itv/1000000005000266008.m3u8?cdn=ystenlive
|
||||
延边卫视,http://61.138.128.226:19901/tsfile/live/1008_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
当涂新闻综合,http://112.30.194.221:20080/live/4f38ef59c79e4d4bac1a995681102573/hls.m3u8
|
||||
快乐垂钓,http://180.213.174.225:9901/tsfile/live/1028_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
快乐购,http://116.128.242.83:9901/tsfile/live/1003_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
怡家,http://180.213.174.225:9901/tsfile/live/1031_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
新疆卫视,http://39.164.160.249:9901/tsfile/live/0110_1.m3u8
|
||||
新疆卫视,http://58.57.40.22:9901/tsfile/live/1055_1.m3u8
|
||||
新疆卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225725/index.m3u8
|
||||
新疆卫视,http://110.53.52.63:8888/newlive/live/hls/37/live.m3u8
|
||||
新疆卫视,http://113.140.12.230:8888/newlive/live/hls/35/live.m3u8
|
||||
新疆卫视,http://36.32.174.67:60080/newlive/live/hls/47/live.m3u8
|
||||
新疆奎屯汉语综合,http://218.84.12.186:8001/hls/main/playlist.m3u8
|
||||
新疆奎屯汉语综合,http://218.84.12.186:8001/hls/main/playlist.m3u8?zxinjd
|
||||
@@ -361,7 +417,6 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
旅游卫视,http://113.57.93.165:9900/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
旅游卫视,http://113.57.20.158:9901/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
旅游卫视,http://124.128.73.58:9901/tsfile/live/0114_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
旅游卫视,http://180.213.174.225:9901/tsfile/live/0114_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
时尚台FTV,http://80.94.54.42/fashiontv/stream/playlist.m3u8
|
||||
星空卫视,http://218.202.220.2:5000/nn_live.ts?id=STARTV#rtmp://58.200.131.2:1935/livetv/startv#rtmp://ivi.bupt.edu.cn:1935/livetv/startv
|
||||
星空卫视,http://122.224.58.42:85/tsfile/live/1024_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
@@ -372,25 +427,25 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
有线财经资讯,http://61.10.2.145/live_freedirect/freehd208_h.live/chunklist.m3u8
|
||||
朝阳新闻综合,http://120.76.248.139/live/bfgd/4200000282.m3u8
|
||||
李连杰,http://124.248.69.76:26781/huya/11342390
|
||||
杭州明珠,http://120.198.101.106:9901/tsfile/live/1008_1.m3u8?key=txiptv
|
||||
极速汽车,http://180.213.174.225:9901/tsfile/live/1037_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
梨园,http://61.163.181.78:9901/tsfile/live/1006_1.m3u8
|
||||
梨园频道,http://60.7.56.33:4000/udp/239.253.92.152:8086
|
||||
梨园频道,http://60.7.56.33:4000/udp/239.253.93.133:6441
|
||||
梨园频道,http://42.225.117.174:11199/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
梨园频道,http://60.2.190.206:4000/udp/239.253.92.152:8086
|
||||
欢笑剧场,http://36.105.100.208:35455/itv/2000000002000000014.m3u8?cdn=hnbblive
|
||||
欢笑剧场,http://180.213.174.225:9901/tsfile/live/1036_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
欢笑剧场,http://36.105.100.208:35455/itv/5000000002000009455.m3u8?cdn=bestzb
|
||||
武乡新闻综合,http://60.220.198.84:81/0.m3u8
|
||||
求索动物,http://39.134.65.106/PLTV/88888888/224/3221225730/1.m3u8?
|
||||
求索动物,http://36.105.100.208:35455/itv/2000000004000000009.m3u8?cdn=hnbblive
|
||||
求索生活,http://36.105.100.208:35455/itv/2000000004000000008.m3u8?cdn=hnbblive
|
||||
求索科学,http://36.105.100.208:35455/itv/2000000004000000011.m3u8?cdn=hnbblive
|
||||
求索纪录,http://36.105.100.208:35455/itv/2000000004000000010.m3u8?cdn=hnbblive
|
||||
求索生活,http://39.134.65.106/PLTV/88888888/224/3221225715/1.m3u8?
|
||||
求索科学,http://39.134.65.106/PLTV/88888888/224/3221225728/1.m3u8?
|
||||
求索纪录,http://39.134.65.106/PLTV/88888888/224/3221225713/1.m3u8?
|
||||
求索纪录,http://60.2.190.206:4000/udp/239.253.93.236:6414
|
||||
汕头文旅,http://125.89.163.44:8888/udp/239.77.1.132:5146
|
||||
汕头经济,http://125.89.163.44:8888/udp/239.77.1.131:5146
|
||||
汕头综合,http://125.89.163.44:8888/udp/239.77.1.130:5146
|
||||
江夏新闻综合,http://59.175.226.142:280/gb28181/xwzh.m3u8?zhubd
|
||||
江夏新闻综合,http://59.175.226.142:280/gb28181/xwzh.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||
江津新闻综合,http://222.179.155.21:1935/ch1.m3u8
|
||||
江津新闻综合,http://222.179.155.21:1935/ch1.m3u8?zzhongqd
|
||||
江苏体育,http://58.221.214.82:9901/tsfile/live/0006_2.m3u8
|
||||
江苏卫视,http://39.164.160.249:9901/tsfile/live/0127_1.m3u8
|
||||
江苏卫视,http://58.57.40.22:9901/tsfile/live/1031_1.m3u8
|
||||
江苏卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225702/index.m3u8
|
||||
@@ -399,11 +454,21 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
江苏城市,http://58.210.168.86:10800/newlive/live/hls/52/live.m3u8
|
||||
江苏教育,http://58.221.214.82:9901/tsfile/live/0012_2.m3u8?key=txiptv
|
||||
江苏综艺,http://58.220.219.14:9901/tsfile/live/0120_4.m3u8?key=txiptv&playlive=1&authid=0
|
||||
江西公共农业,http://43.129.81.169/yun-live.jxtvcn.com.cn/live-jxtv/tv_jxtv5.m3u8
|
||||
江西卫视,http://39.164.160.249:9901/tsfile/live/0138_1.m3u8
|
||||
江西卫视,http://58.57.40.22:9901/tsfile/live/1043_1.m3u8
|
||||
江西卫视,http://43.129.81.169/yun-live.jxtvcn.com.cn/live-jxtv/tv_jxtv1.m3u8
|
||||
江西卫视,http://110.53.52.63:8888/newlive/live/hls/41/live.m3u8
|
||||
江西卫视,http://58.17.48.228:808/hls/17/index.m3u8
|
||||
江西少儿,http://43.129.81.169/yun-live.jxtvcn.com.cn/live-jxtv/tv_jxtv6.m3u8
|
||||
江西影视旅游,http://43.129.81.169/yun-live.jxtvcn.com.cn/jxtv-jxtv/tv_jxtv4.m3u8
|
||||
江西教育,http://58.17.48.228:808/hls/24/index.m3u8
|
||||
江西新闻,http://43.129.81.169/yun-live.jxtvcn.com.cn/live-jxtv/tv_jxtv7.m3u8
|
||||
江西经济生活,http://43.129.81.169/yun-live.jxtvcn.com.cn/live-jxtv/tv_jxtv3_hd.m3u8
|
||||
江西都市,http://43.129.81.169/yun-live.jxtvcn.com.cn/live-jxtv/tv_jxtv2.m3u8
|
||||
江西陶瓷,http://43.129.81.169/yun-live.jxtvcn.com.cn/live-jxtv/tv_taoci.m3u8
|
||||
江门侨乡生活,http://125.89.163.44:8888/udp/239.77.0.202:5146
|
||||
江门综合,http://125.89.163.44:8888/udp/239.77.0.201:5146
|
||||
河北农民,http://124.239.135.194:11080/live/hbnm/index.m3u8
|
||||
河北农民,http://121.19.134.222:808/tsfile/live/1005_1.m3u8
|
||||
河北卫视,http://39.164.160.249:9901/tsfile/live/0117_1.m3u8
|
||||
@@ -412,14 +477,14 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
河北少儿科教,http://124.239.135.194:11080/live/sekj/index.m3u8
|
||||
河北都市,http://124.239.135.194:11080/live/hbds/index.m3u8
|
||||
河北都市,http://121.19.134.222:808/tsfile/live/1001_1.m3u8
|
||||
河北都市,http://121.19.134.222:808/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
河南卫视,http://39.164.160.249:9901/tsfile/live/0139_1.m3u8
|
||||
河南卫视,http://58.57.40.22:9901/tsfile/live/1048_1.m3u8
|
||||
河南卫视,http://110.53.52.63:8888/newlive/live/hls/32/live.m3u8
|
||||
河南卫视,http://36.32.174.67:60080/newlive/live/hls/35/live.m3u8
|
||||
河南卫视,http://175.31.21.146:4480/hls/19/index.m3u8
|
||||
河南卫视,http://36.32.174.67:60080/newlive/live/hls/35/live.m3u8
|
||||
河南民生,http://61.163.181.78:85/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
河南都市,http://61.163.181.78:9901/tsfile/live/1004_1.m3u8
|
||||
河源公共,http://125.89.163.44:8888/udp/239.253.43.214:5146
|
||||
河源公共,http://120.234.5.28:6000/udp/239.21.0.49:3536
|
||||
河源综合,http://120.234.5.28:6000/udp/239.21.0.48:3532
|
||||
河源综合,http://125.89.163.44:8888/udp/239.253.43.213:5146
|
||||
@@ -430,17 +495,17 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
济南综合,http://124.128.73.58:9901/tsfile/live/1003_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
济宁公共,http://111.14.181.15:9901/tsfile/live/1009_1.m3u8
|
||||
济宁公共,http://111.14.181.15:9901/tsfile/live/1009_1.m3u8?key=tvbox6_com&playlive=1&authid=0
|
||||
济宁综合,http://111.14.181.15:9901/tsfile/live/1007_1.m3u8
|
||||
济宁综合,http://111.14.181.15:9901/tsfile/live/1007_1.m3u8?key=tvbox6_com&playlive=1&authid=0
|
||||
浙江卫视,http://220.164.192.48:50085/tsfile/live/0127_1.m3u8
|
||||
浙江卫视,http://58.57.40.22:9901/tsfile/live/1029_1.m3u8
|
||||
浙江卫视,http://112.46.85.60:8009/hls/34/index.m3u8
|
||||
浙江卫视,http://110.53.52.63:8888/newlive/live/hls/23/live.m3u8
|
||||
浙江卫视,http://175.31.21.146:4480/hls/28/index.m3u8
|
||||
浙江卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225703/index.m3u8
|
||||
浙江卫视测试,http://180.213.174.225:9901/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
海南卫视,http://220.164.192.48:50085/tsfile/live/1003_1.m3u8
|
||||
海南卫视,http://58.57.40.22:9901/tsfile/live/1000_1.m3u8
|
||||
海南卫视,http://36.32.174.67:60080/newlive/live/hls/46/live.m3u8
|
||||
海南卫视,http://183.11.239.36:808/hls/124/index.m3u8
|
||||
海南卫视,http://120.76.248.139/live/bfgd/4200000473.m3u8
|
||||
海峡卫视,http://38.64.72.148:80/hls/modn/list/4009/chunklist0.m3u8
|
||||
海峡卫视,http://38.64.72.148:80/hls/modn/list/4009/playlist.m3u8
|
||||
海绵宝宝,http://124.248.69.76:26781/huya/11352919
|
||||
@@ -454,16 +519,14 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
深圳少儿,http://183.11.239.36:808/hls/157/index.m3u8
|
||||
深圳少儿,http://125.89.163.44:8888/udp/239.77.1.244:5146
|
||||
深圳移动电视,http://125.89.163.44:8888/udp/239.77.1.175:5146
|
||||
深圳财经生活,http://183.11.239.36:808/hls/151/index.m3u8
|
||||
游戏风云,http://36.105.100.208:35455/itv/5000000011000031114.m3u8?cdn=bestzb
|
||||
湖北卫视,http://220.164.192.48:50085/tsfile/live/0123_1.m3u8
|
||||
湖北卫视,http://58.57.40.22:9901/tsfile/live/1038_1.m3u8
|
||||
湖北卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225699/index.m3u8
|
||||
湖北卫视,http://110.53.52.63:8888/newlive/live/hls/33/live.m3u8
|
||||
湖北卫视,http://36.32.174.67:60080/newlive/live/hls/28/live.m3u8
|
||||
湖北卫视,http://60.223.224.176:8888/newlive/live/hls/33/live.m3u8
|
||||
湖北垄上,http://58.19.43.46:9901/tsfile/live/1015_1.m3u8
|
||||
湖北垄上,http://113.57.20.158:9901/tsfile/live/1015_1.m3u8
|
||||
湖北垄上,http://119.36.148.115:59901/tsfile/live/1006_1.m3u8
|
||||
湖北垄上,http://113.57.20.158:9901/tsfile/live/1015_1.m3u8
|
||||
湖北垄上,http://113.57.20.158:9901/tsfile/live/1015_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖北影视,http://58.19.43.46:9901/tsfile/live/1016_1.m3u8
|
||||
湖北影视,http://113.57.20.158:9901/tsfile/live/1016_1.m3u8
|
||||
@@ -471,27 +534,29 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
湖北经视,http://58.19.43.46:9901/tsfile/live/1017_1.m3u8
|
||||
湖北经视,http://183.94.1.118:8801/tsfile/live/1017_1.m3u8
|
||||
湖北经视,http://113.57.93.165:9900/tsfile/live/1017_1.m3u8
|
||||
湖北经视,http://113.57.93.165:9900/tsfile/live/1017_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖北经视,http://119.36.148.115:59901/tsfile/live/1004_1.m3u8?key=txiptv
|
||||
湖北经视,http://113.57.20.158:9901/tsfile/live/1017_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖北综合,http://58.19.133.144:9901
|
||||
湖南公共,http://116.128.242.83:9901/tsfile/live/0117_1.m3u8
|
||||
湖南公共,http://116.128.242.83:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖南卫视,http://39.164.160.249:9901/tsfile/live/0128_1.m3u8
|
||||
湖南卫视,http://58.57.40.22:9901/tsfile/live/1028_1.m3u8
|
||||
湖南卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225704/index.m3u8
|
||||
湖南卫视,http://110.53.52.63:8888/newlive/live/hls/22/live.m3u8
|
||||
湖南卫视,http://175.31.21.146:4480/hls/36/index.m3u8
|
||||
湖南娱乐,http://116.128.242.83:9901/tsfile/live/0125_1.m3u8
|
||||
湖南娱乐,http://116.128.243.121:85/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖南娱乐,http://116.128.242.83:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖南导视,http://116.128.242.83:9901/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖南电影,http://110.53.52.63:8888/newlive/live/hls/50/live.m3u8
|
||||
湖南电影,http://116.128.242.83:9901/tsfile/live/1009_1.m3u8
|
||||
湖南电视剧,http://116.128.242.83:9901/tsfile/live/0120_1.m3u8
|
||||
湖南电视剧,http://116.128.242.83:9901/tsfile/live/0120_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖南经视,http://110.53.218.182:9902/tsfile/live/1004_1.m3u8
|
||||
湖南经视,http://116.128.242.83:9901/tsfile/live/0131_1.m3u8
|
||||
湖南经视,http://116.128.243.121:85/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖南经视,http://116.128.242.83:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖南都市,http://110.53.218.182:9902/tsfile/live/0127_1.m3u8
|
||||
湖南都市,http://116.128.243.121:85/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖南都市,http://116.128.242.83:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
湖南金鹰纪实,http://180.213.174.225:9901/tsfile/live/1012_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
漫画解说,http://124.248.69.76:26781/douyu/5907076
|
||||
漫画解说,http://61.133.118.228:5001/yy/1382735568
|
||||
漳浦综合,http://220.161.87.62:8090/hls/0/index.m3u8
|
||||
@@ -501,19 +566,19 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
潞城新闻综合,http://59.48.42.6:62204/lucheng.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||
潞城新闻综合,http://59.48.42.6:62204/lucheng.m3u8?zshanxd
|
||||
灾难片,http://124.248.69.76:26781/huya/11602075
|
||||
炫动卡通,http://218.15.183.23:9901/tsfile/live/23042_1.m3u8
|
||||
炫动卡通,http://120.198.95.220:9901/tsfile/live/1034_1.m3u8?key=txiptv
|
||||
炫动卡通,http://183.237.95.108:9901/tsfile/live/1100_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||
爱体育,http://36.105.100.208:35455/itv/1000000001000009601.m3u8?cdn=ystenlive
|
||||
爱情喜剧,http://36.105.100.208:35455/itv/2000000003000000010.m3u8?cdn=hnbblive
|
||||
玛纳斯综合,http://218.84.127.245:1026/hls/main1/playlist.m3u8
|
||||
玛纳斯综合,http://218.84.127.245:1026/hls/main1/playlist.m3u8?zxinjd,
|
||||
环映,http://180.213.174.225:9901/tsfile/live/1032_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
璧山综合,http://222.179.42.129:8181/hls1.m3u8
|
||||
甄子丹,http://124.248.69.76:26781/huya/11352935
|
||||
甘肃卫视,http://58.57.40.22:9901/tsfile/live/1056_1.m3u8
|
||||
甘肃卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225724/index.m3u8
|
||||
甘肃卫视,http://58.57.40.22:9901/tsfile/live/1056_1.m3u8
|
||||
甘肃卫视,http://43.129.81.169/9bwaz8y2.gzstv.com/live/CH01_lo.m3u8
|
||||
甘肃卫视,http://110.53.52.63:8888/newlive/live/hls/35/live.m3u8
|
||||
生活时尚,http://146.56.165.66:7788/TVOD/5000000002000019634/bestzb/index.m3u8
|
||||
电影丧尸片,http://124.248.69.76:26781/huya/21059578
|
||||
电影喜乐影院,http://124.248.69.76:26781/huya/21059580
|
||||
电影强森,http://124.248.69.76:26781/huya/21059581
|
||||
@@ -521,7 +586,6 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
电影战争片,http://124.248.69.76:26781/huya/21059574
|
||||
电影救援,http://124.248.69.76:26781/huya/21059594
|
||||
电影梁家辉,http://124.248.69.76:26781/huya/11342429
|
||||
电影死神来了,http://124.248.69.76:26781/huya/11352903
|
||||
电影犯罪片,http://124.248.69.76:26781/huya/11352974
|
||||
电影玄幻,http://124.248.69.76:26781/huya/11342414
|
||||
电影盗墓,http://124.248.69.76:26781/huya/21059552
|
||||
@@ -529,14 +593,11 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
电影贺岁,http://124.248.69.76:26781/huya/11601971
|
||||
睛彩广场舞,http://36.105.100.208:35455/itv/2000000003000000062.m3u8?cdn=hnbblive
|
||||
睛彩河北,http://124.239.135.194:11080/live/qchb/index.m3u8
|
||||
睛彩竞技,http://138.2.61.159:5000/2000000003000000060/hnbblive/index.m3u8
|
||||
睛彩竞技,http://138.2.61.159:5000/1000000006000270001/ystenlive/index.m3u8
|
||||
睛彩篮球,http://138.2.61.159:5000/2000000003000000061/hnbblive/index.m3u8
|
||||
睛彩篮球,http://138.2.61.159:5000/2000000003000000065/hnbblive/index.m3u8
|
||||
睛彩篮球,http://138.2.61.159:5000/1000000006000270002/ystenlive/index.m3u8
|
||||
睛彩篮球,http://138.2.61.159:5000/1000000006000270006/ystenlive/index.m3u8
|
||||
睛彩竞技,http://39.134.65.106/PLTV/88888888/224/3221225897/1.m3u8?
|
||||
睛彩篮球,http://39.134.67.108/PLTV/88888888/224/3221225895/1.m3u8
|
||||
睛彩篮球,http://36.105.100.208:35455/itv/2000000003000000061.m3u8?cdn=hnbblive
|
||||
睛彩青少,http://36.105.100.208:35455/itv/1000000006000270007.m3u8?cdn=ystenlive
|
||||
睛彩篮球,http://39.134.65.106/PLTV/88888888/224/3221225895/1.m3u8?
|
||||
睛彩篮球,http://39.134.65.106/PLTV/88888888/224/3221226027/1.m3u8?
|
||||
石家庄新闻综合,http://124.239.135.194:11080/live/sjzxwzh/index.m3u8
|
||||
石河子影视文体,http://124.88.144.73:1935/live/jjsh/playlist.m3u8#@http://202.107.188.141:5002/shiheziyinshiwenti_hdgq.m3u8?token=guoziyun#@http://202.107.188.139:5002/shiheziyinshiwenti_hdcq.m3u8?token=guoziyun
|
||||
石河子教育,http://124.88.144.73:1935/live/xwzh/playlist.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||
@@ -549,36 +610,39 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
福建旅游,http://110.81.206.138:49231/tsfile/live/23027_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
福建电视剧,http://110.81.206.138:49231/tsfile/live/23026_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
福建综合,http://110.81.206.138:49231/tsfile/live/23023_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
精品体育,http://39.134.115.163:8080/PLTV/88888910/224/3221225709/index.m3u8
|
||||
精品体育,http://146.56.165.66:7788/TVOD/2000000003000000021/hnbblive/index.m3u8
|
||||
精彩影视,http://36.105.100.208:35455/itv/6000000006000320630.m3u8?cdn=wasusyt
|
||||
纪实科教,http://36.105.100.208:35455/itv/1000000001000001910.m3u8?cdn=ystenlive
|
||||
纪实科教8K,http://111.31.106.140/downflv.brtvcloud.com/8klive/8kliveok.m3u8
|
||||
纬来体育,http://122.117.71.103:8562/http/61.222.53.250:8081/hls/75/817/ch59.m3u8
|
||||
纬来电影台,http://122.117.71.103:8554/http/61.222.53.250:8081/hls/69/811/ch35.m3u8
|
||||
纯享4K,http://36.105.100.208:35455/itv/1000000004000011651.m3u8?cdn=ystenlive
|
||||
经典动漫,http://61.133.118.228:5001/yy/24180320
|
||||
经典电影,http://61.163.181.78:9901/tsfile/live/1059_1.m3u8
|
||||
经典电影,http://120.238.94.10:9901/tsfile/live/1040_1.m3u8
|
||||
经典电影,http://60.172.130.146:352/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
经典电影,http://61.163.181.78:9901/tsfile/live/1059_1.m3u8
|
||||
经典电影,http://61.133.118.228:5001/yy/1356363815
|
||||
绵阳综合,http://119.6.59.216:60033/tsfile/live/1007_1.m3u8?key=txiptv
|
||||
自贡综合,http://110.189.153.160:1001/zhpd.flv?zsicd
|
||||
茶,http://180.213.174.225:9901/tsfile/live/1041_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
茶频道,http://36.105.100.208:35455/itv/5000000011000031209.m3u8?cdn=bestzb
|
||||
芜湖新闻综合,http://43.129.81.169/live.ahsx.ahtv.cn/live/whpd.m3u8
|
||||
苏州文化生活,http://61.155.203.93:5021/live_hls/3/.m3u8
|
||||
苏州生活资讯,http://61.155.203.93:5021/live_hls/4/.m3u8
|
||||
茂名公共,http://125.89.163.44:8888/udp/239.77.0.207:5146
|
||||
茂名综合,http://125.89.163.44:8888/udp/239.77.0.206:5146
|
||||
西安1套,http://112.46.85.60:8009/hls/28/index.m3u8
|
||||
西安2套,http://112.46.85.60:8009/hls/29/index.m3u8
|
||||
西藏卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225723/index.m3u8
|
||||
西藏卫视,http://110.53.52.63:8888/newlive/live/hls/36/live.m3u8
|
||||
西藏卫视,http://36.32.174.67:60080/newlive/live/hls/48/live.m3u8
|
||||
西藏卫视,http://111.61.236.247:9081/hls/52/index.m3u8
|
||||
西藏卫视,http://183.11.239.36:808/hls/64/index.m3u8
|
||||
贵州卫视,http://39.164.160.249:9901/tsfile/live/0120_1.m3u8
|
||||
贵州卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225728/index.m3u8
|
||||
贵州卫视,http://58.57.40.22:9901/tsfile/live/1042_1.m3u8
|
||||
贵州卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225728/index.m3u8
|
||||
贵州卫视,http://110.53.52.63:8888/newlive/live/hls/28/live.m3u8
|
||||
贵州卫视,http://58.19.43.46:9901/tsfile/live/1011_1.m3u8
|
||||
超级体育,http://111.29.9.33:6610/000000001000/1000000004000007755/index.m3u8?channel-id=bestzb&Contentid=1000000004000007755&livemode=1&stbId=3
|
||||
超级体育,http://39.134.115.163:8080/PLTV/88888910/224/3221225622/index.m3u8
|
||||
超级体育,http://39.134.65.106/PLTV/88888888/224/3221225635/1.m3u8?
|
||||
超级电影,http://111.29.9.33:6610/000000001000/1000000001000012884/index.m3u8?channel-id=bestzb&Contentid=1000000001000012884&livemode=1&stbId=3
|
||||
超级电影,http://39.134.65.106/PLTV/88888888/224/3221225644/1.m3u8?
|
||||
超级电影,http://36.105.100.208:35455/itv/1000000003000012426.m3u8?cdn=ystenlive
|
||||
超级电视剧,http://36.105.100.208:35455/itv/1000000004000024993.m3u8?cdn=ystenlive
|
||||
超级综艺,http://39.134.115.163:8080/PLTV/88888910/224/3221225620/index.m3u8
|
||||
超级综艺,http://39.134.65.106/PLTV/88888888/224/3221225642/1.m3u8?
|
||||
超级综艺,http://111.29.9.33:6610/000000001000/1000000004000023658/index.m3u8?channel-id=bestzb&Contentid=1000000004000023658&livemode=1&stbId=3
|
||||
辽宁体育,http://120.76.248.139/live/bfgd/4200000611.m3u8
|
||||
辽宁公共,http://120.76.248.139/live/bfgd/4200000077.m3u8
|
||||
@@ -587,7 +651,7 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
辽宁卫视,http://39.164.160.249:9901/tsfile/live/0121_1.m3u8
|
||||
辽宁卫视,http://58.57.40.22:9901/tsfile/live/1035_1.m3u8
|
||||
辽宁卫视,http://110.53.52.63:8888/newlive/live/hls/46/live.m3u8
|
||||
辽宁卫视,http://58.19.43.46:9901/tsfile/live/1041_1.m3u8
|
||||
辽宁卫视,http://222.219.183.103:8089/hls/35/index.m3u8
|
||||
辽宁影视剧,http://120.76.248.139/live/bfgd/4200000070.m3u8
|
||||
辽宁教育青少,http://120.76.248.139/live/bfgd/4200000075.m3u8
|
||||
辽宁生活,http://120.76.248.139/live/bfgd/4200000073.m3u8
|
||||
@@ -597,32 +661,29 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
辽宁都市,http://120.76.248.139/live/bfgd/4200000610.m3u8
|
||||
都市剧场,http://36.105.100.208:35455/itv/5000000011000031111.m3u8?cdn=bestzb
|
||||
都市剧场,http://222.179.155.21:1935/ch1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||
都市剧场,http://183.64.174.171:40123/ch1.m3u8?zzhongqd
|
||||
都市剧场,http://180.213.174.225:9901/tsfile/live/1040_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
都市剧场,http://183.237.95.108:9901/tsfile/live/1069_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||
鄂托克旗电视台,http://110.19.181.138:10080/hls/F509Rh7GR/F509Rh7GR_live.m3u8?zneimd
|
||||
重庆卫视,http://58.57.40.22:9901/tsfile/live/0142_1.m3u8
|
||||
重庆卫视,http://110.53.52.63:8888/newlive/live/hls/30/live.m3u8
|
||||
重庆卫视,http://111.160.17.2:59901/tsfile/live/0001_31.m3u8
|
||||
重庆卫视,http://183.11.239.36:808/hls/53/index.m3u8
|
||||
重庆卫视,http://120.76.248.139/live/bfgd/4200000107.m3u8
|
||||
重庆汽摩,http://120.76.248.139/live/bfgd/4200000168.m3u8
|
||||
重庆汽摩,http://183.230.184.51:65500/tntv1.m3u8?zzhongqd
|
||||
重庆汽摩,http://218.89.240.144:59901/tsfile/live/1010_1.m3u8?key=txiptv
|
||||
重庆璧山综合,http://222.179.42.129:8181/hls1.m3u8?zzhongqd
|
||||
金川乡村,http://139.203.180.9:90/live/jcxc.m3u8
|
||||
金川新闻综合,http://139.203.180.9:90/live/zhxw.m3u8
|
||||
金牌综艺,http://111.29.9.33:6610/000000001000/1000000004000026167/index.m3u8?channel-id=bestzb&Contentid=1000000004000026167&livemode=1&stbId=3
|
||||
金色学堂,http://36.105.100.208:35455/itv/5000000010000026105.m3u8?cdn=bestzb
|
||||
金鹰卡通,http://58.19.43.46:9901/tsfile/live/1000_1.m3u8
|
||||
金牌综艺,http://39.134.115.163:8080/PLTV/88888910/224/3221225711/index.m3u8
|
||||
金牌综艺,http://39.134.65.106/PLTV/88888888/224/3221225525/1.m3u8?
|
||||
金鹰卡通,http://218.15.183.23:9901/tsfile/live/23041_1.m3u8
|
||||
金鹰卡通,http://111.160.17.2:59901/tsfile/live/0001_33.m3u8
|
||||
金鹰卡通,http://121.33.239.242:9901/tsfile/live/38727_1.m3u8
|
||||
金鹰卡通,http://113.57.20.158:9901/tsfile/live/1000_1.m3u8
|
||||
金鹰卡通,http://110.53.52.63:8888/newlive/live/hls/49/live.m3u8
|
||||
金鹰卡通,http://110.80.17.38:9901/tsfile/live/0016_2.m3u8
|
||||
金鹰卡通,http://39.134.115.163:8080/PLTV/88888910/224/3221225721/index.m3u8
|
||||
金鹰纪实,http://120.238.94.10:9901/tsfile/live/1059_1.m3u8
|
||||
金鹰纪实,http://121.19.134.222:808/tsfile/live/1037_1.m3u8
|
||||
金鹰纪实,http://183.11.239.36:808/hls/171/index.m3u8
|
||||
金鹰纪实,http://58.57.40.22:9901/tsfile/live/1070_1.m3u8
|
||||
铜梁综合,http://183.64.174.171:40123/ch1.m3u8
|
||||
陕西1套,http://112.46.85.60:8009/hls/18/index.m3u8
|
||||
陕西1套,http://123.138.22.30:9901/tsfile/live/1000_1.m3u8
|
||||
陕西1套,http://112.46.85.60:8009/hls/18/index.m3u8
|
||||
陕西1套,http://124.116.183.146:9901/tsfile/live/1000_1.m3u8
|
||||
陕西2套,http://123.138.22.30:9901/tsfile/live/1001_1.m3u8
|
||||
陕西2套,http://124.116.183.146:9901/tsfile/live/1001_1.m3u8
|
||||
@@ -637,107 +698,98 @@ iHOT爱体育,http://146.56.165.66:7788/TVOD/2000000004000000060/hnbblive/index.
|
||||
陕西卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225729/index.m3u8
|
||||
陕西卫视,http://110.53.52.63:8888/newlive/live/hls/40/live.m3u8
|
||||
陕西卫视,http://36.32.174.67:60080/newlive/live/hls/44/live.m3u8
|
||||
陕西卫视,http://58.19.43.46:9901/tsfile/live/1013_1.m3u8
|
||||
陕西新闻资讯,http://113.200.148.203:85/tsfile/live/1011_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
陕西新闻资讯,http://124.116.183.146:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
雅趣,http://180.213.174.225:9901/tsfile/live/1033_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
青海卫视,http://58.57.40.22:9901/tsfile/live/1057_1.m3u8
|
||||
青海卫视,http://220.164.192.48:50085/tsfile/live/0140_1.m3u8
|
||||
青海卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225727/index.m3u8
|
||||
青海卫视,http://110.53.52.63:8888/newlive/live/hls/38/live.m3u8
|
||||
青海卫视,http://120.76.248.139/live/bfgd/4200000111.m3u8
|
||||
魅力足球,http://146.56.165.66:7788/TVOD/5000000011000031207/bestzb/index.m3u8
|
||||
魅力足球,http://36.105.100.208:35455/itv/5000000011000031206.m3u8?cdn=bestzb
|
||||
鹤岗新闻综合,http://39.134.65.106/PLTV/88888888/224/3221226043/1.m3u8?
|
||||
鹤岗新闻综合,http://39.134.65.106/PLTV/88888888/224/3221226073/1.m3u8?
|
||||
黎城综合,http://111.53.96.67:8081/live/1/index.m3u8
|
||||
黎城综合,http://111.53.96.67:8081/live/1/index.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||
黑莓动画,http://111.29.9.33:6610/000000001000/1000000004000021734/index.m3u8?channel-id=bestzb&Contentid=1000000004000021734&livemode=1&stbId=3
|
||||
黑莓动画,http://39.134.115.163:8080/PLTV/88888910/224/3221225672/index.m3u8
|
||||
黑莓动画,http://36.105.100.208:35455/itv/1000000004000021734.m3u8?cdn=ystenlive
|
||||
黑莓电影,http://146.56.165.66:7788/TVOD/2000000003000000001/hnbblive/index.m3u8
|
||||
黑莓电影,http://111.29.9.33:6610/000000001000/1000000004000019624/index.m3u8?channel-id=bestzb&Contentid=1000000004000019624&livemode=1&stbId=3
|
||||
黑莓电影,http://36.105.100.208:35455/itv/1000000004000019624.m3u8?cdn=ystenlive
|
||||
黑莓电影,http://39.134.65.106/PLTV/88888888/224/3221225681/1.m3u8?
|
||||
黑龙江卫视,http://39.164.160.249:9901/tsfile/live/0143_1.m3u8
|
||||
黑龙江卫视,http://58.57.40.22:9901/tsfile/live/1040_1.m3u8
|
||||
黑龙江卫视,http://39.134.115.163:8080/PLTV/88888910/224/3221225690/index.m3u8
|
||||
黑龙江卫视,http://110.53.52.63:8888/newlive/live/hls/44/live.m3u8
|
||||
黑龙江卫视,http://113.140.12.230:8888/newlive/live/hls/42/live.m3u8
|
||||
黑龙江卫视,http://183.131.246.250:9901/tsfile/live/0143_1.m3u8
|
||||
黑龙江少儿,http://39.134.67.108/PLTV/88888888/224/3221225979/1.m3u8
|
||||
黑龙江少儿,http://112.99.193.34:9901/tsfile/live/1030_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
黑龙江少儿,http://39.134.65.106/PLTV/88888888/224/3221225979/1.m3u8?
|
||||
黑龙江少儿,http://39.134.65.106/PLTV/88888888/224/3221226002/1.m3u8?
|
||||
黑龙江影视,http://39.134.67.108/PLTV/88888888/224/3221225973/1.m3u8
|
||||
黑龙江影视,http://112.99.193.34:9901/tsfile/live/1025_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
黑龙江影视,http://39.134.65.106/PLTV/88888888/224/3221225971/1.m3u8?
|
||||
黑龙江影视,http://39.134.65.106/PLTV/88888888/224/3221225973/1.m3u8?
|
||||
黑龙江文体,http://39.134.67.108/PLTV/88888888/224/3221225965/1.m3u8
|
||||
黑龙江文体,http://112.99.193.34:9901/tsfile/live/1022_1.m3u8?
|
||||
黑龙江新闻,http://112.99.193.34:9901/tsfile/live/1024_1.m3u8?
|
||||
黑龙江文体,http://39.134.65.106/PLTV/88888888/224/3221225965/1.m3u8?
|
||||
黑龙江文体,http://39.134.65.106/PLTV/88888888/224/3221226012/1.m3u8?
|
||||
黑龙江新闻法治,http://39.134.67.108/PLTV/88888888/224/3221225967/1.m3u8
|
||||
黑龙江都市,http://39.134.67.108/PLTV/88888888/224/3221225969/1.m3u8
|
||||
黑龙江都市,http://112.99.193.34:9901/tsfile/live/1027_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
黑龙江都市,http://39.134.65.106/PLTV/88888888/224/3221225969/1.m3u8?
|
||||
黑龙江都市,http://39.134.65.106/PLTV/88888888/224/3221225990/1.m3u8?
|
||||
齐鲁,http://124.128.73.58:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||
龙华卡通,http://122.117.71.103:8516/http/61.222.53.250:8068/hls/14/80/cstv14.m3u8
|
||||
龙华戏剧,http://122.117.71.103:8533/http/61.222.53.250:8081/hls/75/817/ch59.m3u8
|
||||
龙华戏剧,http://122.117.71.103:8533/http/61.222.53.250:8068/hls/13/80/cstv13.m3u8
|
||||
龙华洋片,http://50.7.234.10:8278/lunghuawestern_twn/playlist.m3u8?tid=MC1C3944472239444722&ct=19226&tsum=99c0c7c82e2fc48b16605865c3eaeb82
|
||||
龙华电影,http://122.117.71.103:8555/http/61.222.53.250:8068/hls/10/80/cstv10.m3u8
|
||||
龙华电影,http://122.117.71.103:8555/http/61.222.53.250:8081/hls/75/817/ch59.m3u8
|
||||
|
||||
# IPv6 Streams
|
||||
CCTV-1 综合,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226559/index.m3u8
|
||||
CCTV-10 科教,http://[2409:8087:1a01:df::4077]:80/PLTV/88888888/224/3221225677/index.m3u8
|
||||
CCTV-11 戏曲,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226565/index.m3u8
|
||||
CCTV-12 社会与法,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225731/index.m3u8
|
||||
CCTV-13 新闻,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226537/index.m3u8
|
||||
CCTV-14 少儿,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225732/index.m3u8
|
||||
CCTV-15 音乐,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226476/index.m3u8
|
||||
CCTV-16 奥林匹克,http://[2409:8087:1a01:df::4077]:80/PLTV/88888888/224/3221225893/index.m3u8
|
||||
CCTV-17 农业农村,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225765/index.m3u8
|
||||
CCTV-2 财经,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226540/index.m3u8
|
||||
CCTV-3 综艺,http://[2409:8087:1a01:df::4077]:80/PLTV/88888888/224/3221225799/index.m3u8
|
||||
CCTV-4 中文国际,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226428/index.m3u8
|
||||
CCTV-5 体育,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226019/index.m3u8
|
||||
CCTV-5+ 体育赛事,http://[2409:8087:1a01:df::4077]:80/PLTV/88888888/224/3221225507/index.m3u8
|
||||
CCTV-6 电影,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226010/index.m3u8
|
||||
CCTV-7 国防军事,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225733/index.m3u8
|
||||
CCTV-8 电视剧,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226008/index.m3u8
|
||||
CCTV-9 纪录,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225734/index.m3u8
|
||||
CCTV1,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225642/index.m3u8
|
||||
CCTV1,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225618/2/index.m3u8
|
||||
CCTV1,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225642/2/index.m3u8
|
||||
CCTV1,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225501/2/index.m3u8
|
||||
CCTV10,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225627/2/index.m3u8
|
||||
CCTV12,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225637/2/index.m3u8
|
||||
CCTV12,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225495/2/index.m3u8
|
||||
CCTV15,http://[2409:8087:1a01:df::4033]:80/TVOD/88888888/224/3221226127/main.m3u8
|
||||
CCTV16,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221226230/index.m3u8
|
||||
CCTV17,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225908/2/index.m3u8
|
||||
CCTV17,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225907/2/index.m3u8
|
||||
CCTV17,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225909/2/index.m3u8
|
||||
CCTV17,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225909/index.m3u8
|
||||
CCTV10,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225636/2/index.m3u8
|
||||
CCTV10,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225636/index.m3u8
|
||||
CCTV10,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225496/2/index.m3u8
|
||||
CCTV17,http://[2409:8087:1a01:df::4025]:80/TVOD/88888888/224/3221225708/main.m3u8
|
||||
CCTV2,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225643/2/index.m3u8
|
||||
CCTV3,http://[2409:8087:1a01:df::4041]:80/TVOD/88888888/224/3221225799/main.m3u8
|
||||
CCTV5,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225633/index.m3u8
|
||||
CCTV5+,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225649/2/index.m3u8
|
||||
CCTV6,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225650/2/index.m3u8
|
||||
CCTV6,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225632/index.m3u8
|
||||
CCTV6,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225632/2/index.m3u8
|
||||
CCTV7,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225624/index.m3u8
|
||||
CCTV7,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225624/2/index.m3u8
|
||||
CCTV7,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225644/2/index.m3u8
|
||||
CCTV7,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225499/2/index.m3u8
|
||||
CCTV8,http://[2409:8087:1a01:df::4051]:80/TVOD/88888888/224/3221225795/main.m3u8
|
||||
上海纪实,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225655/index.m3u8
|
||||
东北热剧,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225741/index.m3u8
|
||||
东南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226341/index.m3u8
|
||||
东南卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225657/2/index.m3u8
|
||||
东南卫视,http://[2409:8087:1a01:df::4035]:80/TVOD/88888888/224/3221225950/main.m3u8
|
||||
东南卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225585/2/index.m3u8
|
||||
东南卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225585/index.m3u8?fmt=ts2hls
|
||||
东方卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226345/index.m3u8
|
||||
东方卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225659/index.m3u8
|
||||
东方卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225658/2/index.m3u8
|
||||
东方卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225659/2/index.m3u8
|
||||
东方卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225489/2/index.m3u8
|
||||
北京卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226450/index.m3u8
|
||||
吉林卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226397/index.m3u8
|
||||
咪咕,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221226240/2/index.m3u8
|
||||
哒啵赛事,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225675/index.m3u8
|
||||
四川卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226338/index.m3u8
|
||||
天津卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226459/index.m3u8
|
||||
天津卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225698/index.m3u8
|
||||
天津卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225698/2/index.m3u8
|
||||
天津卫视,http://[2409:8087:1a01:df::4030]:80/TVOD/88888888/224/3221225972/main.m3u8
|
||||
天津卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225485/2/index.m3u8
|
||||
天津卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225739/2/index.m3u8
|
||||
安徽卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226391/index.m3u8
|
||||
山东卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226456/index.m3u8
|
||||
山东卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225484/index.m3u8?fmt=ts2hls
|
||||
山东卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225484/2/index.m3u8
|
||||
山东卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225738/2/index.m3u8
|
||||
山东卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225697/2/index.m3u8
|
||||
山西卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225730/2/index.m3u8
|
||||
广东卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226248/index.m3u8
|
||||
广西卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226549/index.m3u8
|
||||
@@ -748,21 +800,17 @@ CCTV8,http://[2409:8087:1a01:df::4051]:80/TVOD/88888888/224/3221225795/main.m3u8
|
||||
武术世界,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225508/2/index.m3u8
|
||||
江苏卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226310/index.m3u8
|
||||
江西卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226344/index.m3u8
|
||||
江西卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225705/2/index.m3u8
|
||||
江西卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225746/2/index.m3u8
|
||||
江西卫视,http://[2409:8087:1a01:df::4027]:80/TVOD/88888888/224/3221225935/main.m3u8
|
||||
江西卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225492/2/index.m3u8
|
||||
江西卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225492/index.m3u8?fmt=ts2hls
|
||||
河北卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226406/index.m3u8
|
||||
河北卫视,http://[2409:8087:1a01:df::4035]:80/TVOD/88888888/224/3221225961/main.m3u8
|
||||
河南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226480/index.m3u8
|
||||
浙江卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226339/index.m3u8
|
||||
浙江卫视,http://[2409:8087:1a01:df::4043]:80/TVOD/88888888/224/3221225959/main.m3u8
|
||||
海南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226465/index.m3u8
|
||||
深圳卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226313/index.m3u8
|
||||
深圳卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225598/index.m3u8?fmt=ts2hls
|
||||
湖北卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226477/index.m3u8
|
||||
湖南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226307/index.m3u8
|
||||
甘肃卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225724/2/index.m3u8
|
||||
睛彩竞技,http://[2409:8087:1a01:df::4061]:80/TVOD/88888888/224/3221225899/main.m3u8
|
||||
睛彩篮球,http://[2409:8087:1a01:df::4055]:80/TVOD/88888888/224/3221225901/main.m3u8
|
||||
精品体育,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225709/2/index.m3u8
|
||||
@@ -772,20 +820,18 @@ CCTV8,http://[2409:8087:1a01:df::4051]:80/TVOD/88888888/224/3221225795/main.m3u8
|
||||
西藏卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225723/2/index.m3u8
|
||||
贵州卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226474/index.m3u8
|
||||
贵州卫视,http://[2409:8087:1a01:df::4030]:80/TVOD/88888888/224/3221225974/main.m3u8
|
||||
贵州卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225483/index.m3u8?fmt=ts2hls
|
||||
超级体育,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225715/index.m3u8
|
||||
超级体育,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225622/2/index.m3u8
|
||||
超级电影,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225717/index.m3u8
|
||||
超级综艺,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225714/index.m3u8
|
||||
超级视剧,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225716/index.m3u8
|
||||
辽宁卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226546/index.m3u8
|
||||
重庆卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226409/index.m3u8
|
||||
重庆卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225612/index.m3u8?fmt=ts2hls
|
||||
金牌综艺,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225666/index.m3u8
|
||||
金鹰纪实,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888910/224/3221225595/index.m3u8?fmt=ts2hls
|
||||
陕西卫视,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225729/2/index.m3u8
|
||||
黑莓电影,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225764/2/index.m3u8
|
||||
鹤岗新闻综合,http://[2409:8087:1a01:df::4059]:80/TVOD/88888888/224/3221226073/main.m3u8
|
||||
黑莓电影,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225769/2/index.m3u8
|
||||
黑莓电影,http://[2409:8087:3869:8021:1001::e5]:6610/PLTV/88888888/224/3221225764/2/index.m3u8
|
||||
黑龙江卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226327/index.m3u8
|
||||
黑龙江文体,http://[2409:8087:1a01:df::4025]:80/TVOD/88888888/224/3221225965/main.m3u8
|
||||
黑龙江都市,http://[2409:8087:1a01:df::4055]:80/TVOD/88888888/224/3221225969/main.m3u8
|
||||
Reference in new issue
Block a user