From e4f86cbd5a9ed4c51996f60bedb49a47750e6b6e Mon Sep 17 00:00:00 2001
From: dong <16491509+dongge86@user.noreply.gitee.com>
Date: Thu, 12 Feb 2026 07:32:59 +0000
Subject: [PATCH] aaa
Signed-off-by: dong <16491509+dongge86@user.noreply.gitee.com>
---
lib/0XBPQ详细说明_202508011(1).json | 1501 +++++++++++++++++++++++
1 file changed, 1501 insertions(+)
create mode 100644 lib/0XBPQ详细说明_202508011(1).json
diff --git a/lib/0XBPQ详细说明_202508011(1).json b/lib/0XBPQ详细说明_202508011(1).json
new file mode 100644
index 0000000..ac105d7
--- /dev/null
+++ b/lib/0XBPQ详细说明_202508011(1).json
@@ -0,0 +1,1501 @@
+{
+/**
+一、基础功能
+
+1.截取方式
+有四种:
+☆这四种方式可在✚(+)拼接、指定、轮询、并发以及整个配置的任意位置混合使用,在工具中使用这四种截取方式,需要使用规定的功能符号,不能与工具外的功能符冲突
+
+(1)&&(正则匹配任意字符串)
+这是最灵活,但也是运行效率最低的方法,在工具中,功能符"&&"换成"截取"
+*所有截取前后用&&连接,如果只有功能&&,没有前后字符串,表示直接使用原始字符串,省略前面字符串表示从头开始截取,省略后面字符串表示截取到末尾
+*&&前后可以是数字,正数从右往右数(1代表第一个字符),负数从右往左数(-1代表倒数第一个字符),比如"1&&-1"表示从第一个截取到最后一个,等同于"&&"
+*不使用&&表示用指定字符串,如使用固定标题,固定图片,"标题":"正片" "图片":"http://xxx.xxx.com/uplod0034.jpg"
+*末尾如果是"整页",会在整页查找截取,比如a&&b整页
+*&&前可以使用通配符*和**,*在单个html标签内匹配,不超出<>范围,如&&;**在整个html文档中匹配,不限制范围,一个字段可以使用任意数量的通配符,*或**不能同时使用
+*支持在响应头中截取:响应头(a&&b)
+*指定网页截取:url:http...$sub:a&&b⊕c&&d,省略$sub:及后面截取规则,直接返回源码
+☆新增截取方式:/正则表达式/g
+☆真实域名(参数),用重定向后的链接替换此方法,参数可以是链接,可以是截取规则
+☆随机图片(参数),用随机图片替换此方法,参数可以是本地txt,里面包含图片列表,可以是网址,自动从网站获取随机图片,多个txt或网址之间用#分隔
+
+(2)j:(使用Gson操作json对象)
+*对于json文档,可使用json方式截取,j:开头,以示区别,在工具中使用时,将"j:"改为"json截取:"
+*普通网页中的json数据,需要截取包括大括号{}在内的标准json数据
+*示例:j:data.list[1].name,或:j:/data/list/1/name,表示获取json对象"data"的json数组"list"的第1个json对象的"name"属性值。
+*json数组可指定下标,最小下标为自然1(第一个),可以为负数,最大为-1(倒数第一个),可指定范围,如:j:data.list[1,-1],或者:j:data.list/1,-1,中间不能有空格。不指定就获取完整数组,如:j:data.list
+*可以使用变量,可以在末尾使用[替换...][包含...][不含...][工具...]
+*.json截取路径中间允许数组,比如线路标题可以一次到位
+*json截取路径可使用*,获取当前json所有键的值作为数组,比如:
+{
+ "urls": {
+ "1": {
+ "name": "第01集",
+ "url": "http1"
+ },
+ "2": {
+ "name": "第02集",
+ "url": "http2"
+ },
+ "3": {
+ "name": "第03集",
+ "url": "http3"
+ }
+ }
+}
+用url.1、url.2都得不到完整列表,只能用urls.*去截取,才能得到完整列表:
+[
+ {
+ "name": "第01集",
+ "url": "http1"
+ },
+ {
+ "name": "第02集",
+ "url": "http2"
+ },
+ {
+ "name": "第03集",
+ "url": "http3"
+ }
+]
+
+(3)p:(使用jsoup选择器操作html文档)
+*对于html文档,可使用jsoup选择器获取标签列表或属性,p:开头,以示区别,在工具中使用时,将"p:"改为"jsoup截取:"
+*路径与属性之间用->分隔,比如p:a->text、p:a->href
+*只有路径,不指定属性,一般用于获取数组、播放数组、播放列表,会获取所有该标签的完整内容,比如p:li a,将获取所有li标签下面所有a标签完整内容
+*没有路径,只指定属性,一般用于标题、图片、链接、播放标题、播放链接等等,将获取相应属性,比如以"项1"为例,可能通过p:->href得到"l1",通过p:->text得"到项1",属性的分隔符->不能少
+*支持jsoup全部语法,比如使用通配符*,p:ul[class*="v_list"] li,表示选择class包含v_list的ul标签下所有li标签,homec_v_list、search_v_list、v_list都在选择范围内。再比如多项选择,p:ul[class*="v_list"],ul[id="list"] li,表示选择class包含v_list或id为list的ul标签下所有li标签
+
+(4)a&&b分割(分割符)(使用split把字符串分割成数组)
+这个方法运行效率最高,不需要正则匹配,也不需要解析json或html,使用split一次性分割
+*功能分两部分:指定范围和分割,a&&b用于指定分割范围,可以是多个范围,分割(分割符)用于分割成数组
+*不需要指定范围时,直接使用&&分割(分割符),如:"播放列表":"&&分割(#)",
+*分割符支持补到原位,以"前:"开头的分割符,补到分割内容前端,如:"数组":"\"list\"&&分割(前:分割(后:)",
+*分割符支持轮询,用"或"分隔,如:"数组":"\"list\"&&分割(前:)",如果里面的"或"不是轮询符,写成"\\或"
+*指定范围和分割可以分别使用替换、过滤和工具,如:"分类数组":"[包含:>电影<]分割(后:)[不含:首页#直播#留言#APP]",
+*一般于快速高效截取分类数组、数组、播放数组、播放列表,可以获得整个数组,其他地方使用只会得到一个字符串,可以使用筛选来得到想要的那个字符串,如:"播放标题":"&&分割($)[含序号:1]",
+
+2.过滤
+[只含:xx#xx]、[包含:xx#xx]、[必含:xx#xx]、[不含:xx#xx]、[含序号:n#m-n]、[不含序号:-n#m-],在工具中使用时,[]换成〔〕
+*按关键词筛选:只含、包含、必含或不含,用#分隔多个关键词,全部英文符号,只含是和任一关键词完全相同,包含是包含任一关键词,必含是包含所有关键词,不含是不含所有关键词。例
+如"分类数组": "class=\"nav\"&&[不含:首页#资讯]",
+*按位次筛选:含序号(不含序号)是按截取内容出现的位次进行筛选,可以是单个序号,也可以是多个(用#分隔)或连续序号(用-连接),连续序号可以省略首尾,表示从头或到末尾。例
+如"数组": "class=\"hl-list-item&&[含序号:1#4-7#9-]",
+
+3.替换:
+*可在截取信息末尾用中括号修改替换显示内容,替换与被替换之间用>>分隔,用#分隔多个替换项,替换为汉字空时表示删除被替换词
+*被替换词可以用通配符*,比如(*),会替换掉包含括号的左右括号之间的全部字符。替换内容也可以使用*,作用等同于&&截取,表示替换内容从网页获取,例
+"线路数组": "class=\"hl-tabs-btn hl-slide-swiper&&
[替换:线路1>>腾腾#播放>>空#(*)>>空]",
+*数组或列表的替换可以使用<序号>来从1开始按顺序编号,如[替换:v>>?ep=<序号>.mp4]
+☆新增替换方式:[替换:/正则表达式/g>>/正则表达式/g]
+*替换时的一些特殊符号:"\\n"代表看不见的换行符,"\\\\n"代表能看见换行符字符(\n或\r\n),"\\空"代表单斜杠(\),
+*以下符号需要用\\转义:#、[、],"\\空"后面如果不是挨着这三个符号,也不挨着\\,可以省略\\后面的"空",以删除反斜杠为例,[替换:\\空>>空]可以写成[替换:\\>>空]
+*被替换内容如果是"空"可以省略这个"空",如[替换:\\>>空]可以写成[替换:\\>>]
+
+4.拼接:
+一般情况下默认功能符为+,为了避免和一些密文中的+冲突,可结合快捷命令;;✚使用✚作为拼接功能符,工具中一律用⊕,以+为例对此功能说明如下:
+*+号拼接支持指定字符串与截取字符串混合拼接,如:/play/+/vod/&&.html+-1-1.html,表示把/vod/id编号.html拼接成/play/id编号-1-1.html
+*可无限拼接
+*可从其他页面截取内容来拼接,举例:
+a&&b+url:http://.....$sub:c&&d⊕x&&y+e&&f
+没有url:....$sub:的都从当前网页截取,有这个的,从指定网页截取,指定网页的拼接用⊕,不指定网页的拼接用+
+*当使用快捷命令✚时,用✚作为截取拼接符号,避免密文的+号冲突,避免工具中转义替换,提高运行速度
+*工具中的截取拼接始终使用⊕
+*所有url也支持+url:拼接,+url:http.....放末尾
+*链接中如果有"时间戳",会自动替换成即时毫秒值
+*链接中如果有md5(字符串),会自动对"字符串"进行md5编码,默认utf-8编码,如果是iso-8859-1编码,使用md5(字符串,iso)
+
+5.指定、轮询、并发截取:
+*指定功能符--,多个指定之间用||分隔,工具中使用∬分隔
+*当功能符与某些网址的--冲突时有两种解决方案:转义网址中的--为\\-\\-,或者结合快捷命令→使用→→
+*嗅探规则和跳转播放支持按线路指定截取,其他字段支持按分类指定截取
+*指定方式:默认--a&&b||l连续剧--c&&d||首页--e&&f||搜索--g&&h,未指定的使用第一组,所有截取方式均可指定;
+*首页和搜索也可以指定截取,都在获取分类字段中填写,搜索字段为空或只有"搜索url"时,搜索指定截取才生效
+*轮询方式:未指定分类的多个以||分隔的截取,会进行轮询,直到得到非空结果或轮询完毕,比如:a&&b||c&&d||e&&f||g&&h
+*指定与轮询可以并存,如果第一个是默认--,只指定,不轮询
+*并发方式:以@@分隔的多个截取,会使用列出的所有方式截取后将数据合并,仅适用于数组、列表类,字符类的结果与轮询一样,只取第一个数据
+*没有分类的单个文件或网页,可通过在地址后加?{cateId}(如果地址中已经有?,使用&),然后指定截取的方式进行分类展示
+*示例:
+{
+ "key": "live直播",
+ "name": "live直播",
+ "type": 3,
+ "playerType": 1,
+ "api": "csp_XBPQ",
+ "searchable": 0,
+ "quickSearch": 0,
+ "filterable": 0,
+ "ext": {
+"主页url":"./lives/live.txt",
+"直接播放":"1",
+"链接前缀":"http",
+"副标题":"group-title=\"&&\"",
+"分类":"央视$1#卫视$2#地方$3",//1,2,3随意编,只要不重复就行
+"分类url":"./lives/live.txt?{cateId}",
+"二次截取":"央视--\\#\\#央视&&\\#\\#||卫视--\\#\\#卫视&&\\#\\#||地方--\\#\\#地方&&\\#\\#",//我在文件中手动加入##央视和##,作为央视列表的前后分割符,不影响直播,也能点播,因为#是XBPQ使用的连接符,这时要用\\转义。也可以用其他的,随意
+"数组":"INF:&&EXT",
+"标题":",&&http",
+"图片":"http://",
+"链接":"http+http&&\\#",
+"嗅探词":"m3u8"
+}},
+
+6.转义符:
+*XBPQ使用到的连接符($ # & * [ ] ( ) +)用于表示本义并与功能符冲突时,需要用\\转义,比如:要截取href="?cat&token=5543tdd5779fd87554gfy"中的token=5543tdd5779fd87554gfy,href=\"?cat\\&&&\"
+
+7.Base64()
+*整个html如果是Base64编码,可在二次截取处填写"Base64()"表示不截取,只解码,如果截取数据是Base64编码,可在Base64()括号内填写截取字段,比如Base64(a&&b),表示对截取的结果进行Base64解码后再使用
+*用于url类型时,表示用Bse64编码括号中的内容替换整个函数
+
+8.urlDecode()
+*一般用于链接,比如urlDecode(a&&b),表示对截取的内容进行Url地址解码,跳转播放链接截取后自动解码,此方法只在其他地方作备用
+
+9.post请求
+支持5种模式:
+*application/x-www-form-urlencoded
+ http....;post;a=b&c=d
+☆如果不允许post的值进行二次url编码,post体中附加&u2=0,比如http....;post;a=b&c=d&u2=0
+*application/json
+ http....;post;{\"a\":\b\",\"c\":\"d\"}
+*text/plain
+ text:后面可以是明文也可以是gzip压缩字符串
+ http....;post;text:abdc
+*application/xml
+ xml:后面可以是明文也可以是gzip压缩字符串
+ http....;post;xml:c