code:
#+TITLE: Guile Algorithms
#+AUTHOR: Zelphir Kaltstahl
#+STARTUP: content
#+STARTUP: indent
#+STARTUP: align
#+STARTUP: inlineimages
#+STARTUP: hideblocks
#+STARTUP: entitiesplain
#+STARTUP: nologdone
#+STARTUP: nologreschedule
#+STARTUP: nologredeadline
#+STARTUP: nologrefile
#+TODO: TODO INPROGRESS | DONE CANCELLED
#+DATE: [2022-12-16 Fr]
#+LANGUAGE: English
#+PRIORITIES: A E E
#+KEYWORDS: guile algorithm example

* guile-algorithms
:PROPERTIES:
:CUSTOM_ID: guile-algorithms
:END:

This repository contains a collection of algorithms written in GNU Guile.

* NOTICE
:PROPERTIES:
:CUSTOM_ID: notice
:END:

This repository is moved to [[https://codeberg.org/ZelphirKaltstahl/guile-algorithms]].


code:
# restaurant_nearme

Grills Seafood Fresh seafood served in a relaxing waterfront atmosphere . Are you looking for Grilled food nearby? Here you can find grill restaurants near me  and grill cuisines near your location that are open now.


code:
{

//请勿传播
"spider":"https://www.notabug.org/ZID/1/raw/jar/18.jar;md5;58BACE2715918A6FD783931D03586372",

	"lives": [{
		    "name": "live",
		    "type": 0,
		    "url": "https://www.notabug.org/ZID/1/raw/s/Live-18.txt",
		    "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}",
		    "logo": "https://epg.112114.xyz/logo/{name}.png"
	    }],

"sites":[

         {
      "key": "直播转点播",
      "name": "🕷-💛-微信公众号：RedCat",
      "type": 4,
      "api": "http://120.53.102.254/live?url=aHR0cHM6Ly93d3cubm90YWJ1Zy5vcmcvWklELzEvcmF3L3MvTGl2ZS0xOC50eHQ=",
      "searchable": 1,
      "quickSearch": 1,
      "filterable": 1
    },

{"key": "csp_xBPQ_香蕉直播","name": "🏆香蕉直播","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E9%A6%99%E8%95%89%E7%9B%B4%E6%92%AD.json"},

{
"key": "草莓资源",
"name": "🔞草莓",
"type": 1,
"api": "https://caiji.caomeiapi.com/inc/apijson_vod.php",
"searchable": 1,
"quickSearch": 1,
"filterable": 1
},

{
"key": "鲨鱼资源",
"name": "🔞鲨鱼",
"type": 1,
"api": "https://shayuapi.com/api.php/provide/vod/",
"searchable": 1,
"quickSearch": 1,
"filterable": 1
},
{"key":"drpy_js_猫了个咪","name":"猫了个咪[DRPY18]","type":3,"api":"https://notabug.org/ZID/zhanghong1983/raw/main/JS/lib/drpy.min.js","searchable":1,"quickSearch":1,"filterable":1,"ext":"https://notabug.org/ZID/zhanghong1983/raw/main/JS/js/%e7%8c%ab%e4%ba%86%e4%b8%aa%e5%92%aa.js"},

{"key":"*色窝资源","name":"🔞AI换脸","type":1,"api":"https://sewozyapi.com/api.php/provide/vod/","searchable":1,"quickSearch":1},

{"key":"AList",	"name":"🔞AList",	"type":3,"api":"csp_AList",	"searchable":1,"filterable":1,"ext":"🔞9T$https://drive.9t.ee#🔞木偶$https://www.kugutsu.ml",	"jar": "https://gitlab.com/ygbh1/666/-/raw/main/JAR/cs.jar"},
		{
            "key" : "drpy_js_喵了个咪",
            "name" : "🔞喵了个咪[请更换解析]",
            "type" : 3,
            "api" : "https://agit.ai/guot54/TVBOXbh/raw/branch/main/JS/lib/drpy.min.js",
            "ext" : "https://agit.ai/guot54/ygbh/raw/branch/master/JS/%e7%8c%ab%e4%ba%86%e4%b8%aa%e5%92%aa.js"
        },
		 {"key": "csp_xBPQ_juyou","name": "🏆聚优直播","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://codeberg.org/ygbh8888/xingkongbujian/raw/branch/main/H/ju2.json"},
         {"key": "csp_xBPQ_香蕉AV解说","name": "🏆香蕉解说","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E9%A6%99%E8%95%89%E8%A7%A3%E8%AF%B4.json"},
    {"key": "csp_xBPQ_香蕉资源","name": "🏆香蕉资源","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E9%A6%99%E8%95%89%E8%B5%84%E6%BA%90.json"},
    {"key": "csp_xBPQ_香蕉超清","name": "🏆香蕉超清","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E9%A6%99%E8%95%89%E8%B6%85%E6%B8%85.json","jar":"https://gitlab.com/ygbh1/666/-/raw/main/H/h.jar"},

    {"key": "csp_xBPQ_香蕉久久热","name": "🏆香蕉久久热","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E9%A6%99%E8%95%89%E4%B9%85%E4%B9%85%E7%83%AD.json"},
    {"key": "csp_xBPQ_香蕉废柴","name": "🏆香蕉废柴","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E9%A6%99%E8%95%89%E5%BA%9F%E6%9F%B4.json"},
    {"key": "csp_xBPQ_香蕉直播","name": "🏆香蕉直播","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E9%A6%99%E8%95%89%E7%9B%B4%E6%92%AD.json"},
    {"key": "csp_xBPQ_香蕉搜索","name": "🏆香蕉搜索","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E9%A6%99%E8%95%89%E6%90%9C%E7%B4%A2.json"},
    {"key": "csp_xBPQ_天天综合","name": "🏆天天综合","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://codeberg.org/ygbh8888/xingkongbujian/raw/branch/main/H/%E5%A4%A9%E5%A4%A9%E7%BB%BC%E5%90%88.json"},
    {"key": "csp_xBPQ_右手影院","name": "🏆右手影院","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://codeberg.org/ygbh8888/xingkongbujian/raw/branch/main/H/%E5%8F%B3%E6%89%8B%E5%BD%B1%E9%99%A2.json"},
    {"key": "csp_xBPQ_实时直播","name": "🏆实时直播","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://codeberg.org/ygbh8888/xingkongbujian/raw/branch/main/H/%E5%AE%9E%E6%97%B6%E7%9B%B4%E6%92%AD.json"},
    {"key": "csp_xBPQ_左临右射","name": "🏆左临右射","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://codeberg.org/ygbh8888/xingkongbujian/raw/branch/main/H/%E5%B7%A6%E4%B8%B4%E5%8F%B3%E5%B0%84.json"},
    {"key": "csp_xBPQ_色华堂","name": "🏆色花堂","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://codeberg.org/ygbh8888/xingkongbujian/raw/branch/main/H/%E8%89%B2%E8%8A%B1%E5%A0%82.json"},
    {"key": "csp_xBPQ_黄瓜TV","name": "🏆黄瓜TV","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://codeberg.org/ygbh8888/xingkongbujian/raw/branch/main/H/%E9%BB%84%E7%93%9CTV.json"},
    {"key": "csp_xBPQ-爱看影院","name": "🏆爱看影院","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://codeberg.org/ygbh8888/xingkongbujian/raw/branch/main/H/%E7%88%B1%E7%9C%8B%E5%BD%B1%E9%99%A2.json"},
    {"key": "csp_xBPQ_麻豆映画","name": "🏆麻豆映画","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://gitlab.com/ygbh1/666/-/raw/main/H/%E9%BA%BB%E8%B1%86%E6%98%A0%E7%94%BB.json"},
    {"key": "csp_xBPQ_香蕉","name": "🏆香蕉","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E9%A6%99%E8%95%89.json"},
    {"key": "csp_xBPQ_性欲轮回","name": "🏆性欲轮回","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E6%80%A7%E6%AC%B2%E8%BD%AE%E5%9B%9E.json"},
    {"key": "csp_xBPQ_性欲轮回[分类]","name": "🏆性欲轮回[分类]","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E6%80%A7%E6%AC%B2%E8%BD%AE%E5%9B%9E_%E5%88%86%E7%B1%BB_.json"},
    {"key": "csp_xBPQ_精东影业1","name": "🏆精东影业1","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E7%B2%BE%E4%B8%9C%E5%BD%B1%E4%B8%9A1.json"},
    {"key": "csp_xBPQ_精东影业2","name": "🏆精东影业2","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E7%B2%BE%E4%B8%9C%E5%BD%B1%E4%B8%9A2.json"},
    {"key": "csp_xBPQ_玩偶","name": "💘玩偶姐姐(墙外）","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "https://codeberg.org/ygbh8888/xingkongbujian/raw/branch/main/H/%E7%8E%A9%E5%81%B6%E5%A7%90%E5%A7%90.json"},

    {"key": "csp_xBPQ_AVideo","name": "🏆AVideo","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/AVideo.json"},

    {"key": "csp_XBiu_小丑撸","name": "🍁小丑撸(XB)","type": 3,"api": "csp_XBiubiu","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E5%B0%8F%E4%B8%91%E6%92%B8.json"},
    {"key": "csp_XBiu_国产传媒","name": "🍁国产传媒(XB)","type": 3,"api": "csp_XBiubiu","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E5%9B%BD%E4%BA%A7%E4%BC%A0%E5%AA%92.json"},
    {"key": "csp_XBiu_老鸭","name": "🍁老鸭(XB)","type": 3,"api": "csp_XBiubiu","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E8%80%81%E9%B8%AD.json"},
    {"key": "csp_XBiu_掏爱撸","name": "🍁掏爱撸(XB)","type": 3,"api": "csp_XBiubiu","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E6%8E%8F%E7%88%B1%E6%92%B8.json"},
    {"key": "csp_XBiu_国产屋","name": "🍁国产屋(XB)","type": 3,"api": "csp_XBiubiu","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E5%9B%BD%E4%BA%A7%E5%B1%8B.json"},
    {"key": "csp_XBiu_爱污传媒","name": "🍁爱污传媒(XB)","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "https://codeberg.org/ygbh8888/xingkongbujian/raw/branch/main/H/%E7%88%B1%E6%B1%A1%E4%BC%A0%E5%AA%92.json"},
    {"key": "csp_XBiu_猫咪","name": "🍁猫咪(XB)","type": 3,"api": "csp_XBiubiu","searchable": 1,"quickSearch": 1,"filterable": 1,"ext": "https://jihulab.com/ygbh1/box/-/raw/main/H/%E7%8C%AB%E5%92%AA.json"},
	{"key":"XYQBiu_测试2",	"name":"🔞zb(QXB)","type":3,"api":"csp_XYQBiu","searchable":1,"quickSearch":1,"filterable":0,"ext":"https://agit.ai/guot54/ygbh/raw/branch/master/XB/zb.json",		"jar": "https://agit.ai/guot54/ygbh/raw/branch/master/JAR/1103.jar"},
	{"key":"XYQBiu_测试3",	"name":"🔞cqzy(QXB)","type":3,"api":"csp_XYQBiu","searchable":1,"quickSearch":1,"filterable":0,"ext":"https://agit.ai/guot54/ygbh/raw/branch/master/XB/cqzy.json",	"jar": "https://agit.ai/guot54/ygbh/raw/branch/master/JAR/1103.jar"},
	{"key":"XYQBiu_测试4",	"name":"🔞nsss(QXB)","type":3,"api":"csp_XYQBiu","searchable":1,"quickSearch":1,"filterable":0,"ext":"https://agit.ai/guot54/ygbh/raw/branch/master/XB/nsss.json",	"jar": "https://agit.ai/guot54/ygbh/raw/branch/master/JAR/1103.jar"},
	{"key":"csp_hsck",		"name":"🔞Hsck","api":"csp_Hsck","type":3,"filterable":1,"quickSearch":1,"searchable":1,"ext":"https://www.javsee.men/","jar": "http://52bsj.vip:81/api/v3/file/get/61635/18.jar?sign=TqxkdwFQQUaAK59b950h1sgG8P6HKPbIGIFgvsBrhtQ%3D%3A0"},
    {
      "key": "18AV",
      "name": "🔞18AV",
      "type": 3,
      "api": "csp_Eighteen",
      "searchable": 1,
      "filterable": 1,"jar":"https://agit.ai/guot54/ygbh/raw/branch/master/JAR/118.jar"
    },
{"key":"*色南国资源","name":"*🔞色南国资源","type":1,"api":"https://api.sexnguon.com/api.php/provide/vod/","searchable":0,"quickSearch":0},
{"key":"*狼友资源","name":"*🔞狼友资源","type":1,"api":"https://www.langyouzy.com/api.php/provide/vod/","searchable":0,"quickSearch":0},
{"key":"*皇冠资源","name":"*🔞皇冠资源","type":1,"api":"https://hghhh.com/api.php/provide/vod/","searchable":0,"quickSearch":0},
{"key": "*AIvin","name": "*🔞AIvin","type": 0,"api": "http://lbapiby.com/api.php/provide/vod/at/xml"},
{"key":"csp_biubiu_GAOAA","name":"*🔞GAOAA(XB)","type":3,"api":"csp_XBiubiu","searchable":1,"quickSearch":1,"filterable":1,"ext":"http://52bsj.vip:81/api/v3/file/get/42848/GAOAA.json?sign=RTEogEmpqCt7cdlDCudsxV_SNXZR11Qx11Z5_bDuEYE%3D%3A0"},

{ "key": "(18+)SS资源", "name": "*🔞SS资源", "type": 0, "api": "http://secj8.com/inc/sapi.php?ac=videolist", "searchable": 1, "quickSearch": 1, "filterable": 0 },
{ "key": "(18+)JAV名优", "name": "*🔞JAV名优", "type": 0, "api": "http://mygzycj.com/api.php?ac=list", "searchable": 1, "quickSearch": 1, "filterable": 0 },
{ "key": "(18+)秀色资源", "name": "🔞秀色资源", "type": 0, "api": "https://api.xiuseapi.com/api.php/provide/vod/at/xml", "playUrl": "https://player.leyuzy.net/?url=", "searchable": 1, "quickSearch": 1, "filterable": 0 },
{"key": "精工厂","name": "*🔞精工厂","type": 0,"api": "https://jgczyapi.com/home/cjapi/kld2/mc/vod/xml","searchable":0,"quickSearch":0,"filterable":0,"jar":"https://share.nite07.com/api/v3/file/source/18178/18.jar?sign=4snwZEDuzr88tmVvCLDre0Jjbt5hOKh7zrtE37bQV30%3D%3A0"},

{"key": "美少女","name": "*🔞美少女","type": 0,"api": "https://www.msnii.com/api/xml.php","searchable":0,"quickSearch":0,"filterable": 1,"jar":"https://share.nite07.com/api/v3/file/source/18178/18.jar?sign=4snwZEDuzr88tmVvCLDre0Jjbt5hOKh7zrtE37bQV30%3D%3A0"},

{"key": "哥哥妹妹","name": "*🔞有哥妹","type": 0,"api": "http://www.ggmmzy.com:9999/inc/xml","searchable": 0,"quickSearch": 0,"filterable": 0,"jar":"https://share.nite07.com/api/v3/file/source/18178/18.jar?sign=4snwZEDuzr88tmVvCLDre0Jjbt5hOKh7zrtE37bQV30%3D%3A0"},
{"key": "*CK资源","name": "*🔞纯在线","type": 1,"api": "http://www.feifei67.com/api.php/provide/vod/","searchable":0,"quickSearch":0,"filterable": 0,"jar":"https://share.nite07.com/api/v3/file/source/18178/18.jar?sign=4snwZEDuzr88tmVvCLDre0Jjbt5hOKh7zrtE37bQV30%3D%3A0"},
{"key": "*博天堂","name": "*🔞博天堂","type": 0,"api": "http://bttcj.com/inc/sapi.php","searchable":0,"quickSearch":0,"filterable": 0,"jar":"https://share.nite07.com/api/v3/file/source/18178/18.jar?sign=4snwZEDuzr88tmVvCLDre0Jjbt5hOKh7zrtE37bQV30%3D%3A0"},
{"key":"*色猫资源","name":"*🔞色猫资源","type":1,"api":"https://api.maozyapi.com/inc/apijson_vod.php","searchable":0,"quickSearch":0},
{"key":"小姐姐资源","name":"*🔞小姐姐资源","type":0,"api":"https://xjjzyapi.com/home/cjapi/askl/mc10/vod/xml","searchable":1,"quickSearch":1},

{"key":"*精工厂资源","name":"*🔞精工厂资源","type":0,"api":"https://jgczyapi.com/home/cjapi/kld2/mc10/vod/xml","searchable":0,"quickSearch":0},

{"key":"*大MM资源","name":"*🔞大MM资源","type":0,"api":"https://www.dmmapi.com/home/cjapi/asd2c7/mc10/vod/xml","searchable":0,"quickSearch":0},

{"key":"*酷豆资源","name":"*🔞酷豆资源","type":1,"api":"https://kudouzy.com/api.php/provide/vod/","searchable":0,"quickSearch":0},
{"key":"*酷豆2","name":"*🔞酷豆2","type":1,"api":"https://api.kdapi.info/api.php/provide/vod/","searchable":0,"quickSearch":0},
{"key":"*酷伦理","name":"*🔞酷伦理","type":1,"api":"https://api.kudian70.com/api.php/provide/vod/","searchable":0,"quickSearch":0},
{"key":"*影库资源","name":"*🔞影库资源","type":1,"api":"https://api.ykapi.net/api.php/provide/vod/","searchable":0,"quickSearch":0},
{"key":"*奶茶资源","name":"*🔞奶茶资源","type":1,"api":"https://caiji.naichaapi.com/inc/apijson_vod.php","searchable":0,"quickSearch":0},

{"key":"*美少女资源","name":"*🔞美少女资源","type":0,"api":"https://www.msnii.com/api/xml.php","searchable":0,"quickSearch":0},
{"key":"*淫水机资源","name":"*🔞淫水机资源","type":0,"api":"https://www.xrbsp.com/api/xml.php","searchable":0,"quickSearch":0},
{"key":"*香奶儿资源","name":"*🔞香奶儿资源","type":0,"api":"https://www.gdlsp.com/api/xml.php","searchable":0,"quickSearch":0},
{"key":"*白嫖资源","name":"*🔞白嫖资源","type":0,"api":"https://www.kxgav.com/api/xml.php","searchable":0,"quickSearch":0},
{"key":"*小湿妹资源","name":"*🔞小湿妹资源","type":0,"api":"https://www.afasu.com/api/xml.php","searchable":0,"quickSearch":0},
{"key":"*大地资源","name":"*🔞大地资源","type":0,"api":"https://dadiapi.com/api.php","searchable":0,"quickSearch":0},
{"key":"*CK资源","name":"*🔞CK资源","type":1,"api":"http://www.feifei67.com/api.php/provide/vod/","searchable":0,"quickSearch":0},
{"key":"*老鸭资源","name":"*🔞老鸭资源","type":1,"api":"https://api.apilyzy.com/api.php/provide/vod/","searchable":0,"quickSearch":0},
{
      "key": "老鸭2",
      "name": "*🔞老鸭2",
      "type": 1,
      "api": "https://lbapi9.com/api.php/provide/vod/",
      "playUrl": "json:https://player.77lehuo.com/aliplayer/?url=",
      "searchable": 1,
      "quickSearch": 1,
      "filterable": 0
    },

{"key":"*乐播资源","name":"*🔞乐播资源","type":1,"api":"https://lbapi9.com/api.php/provide/vod/","searchable":0,"quickSearch":0},
{"key":"*博天堂","name":"*🔞博天堂","type":0,"api":"http://bttcj.com/inc/sapi.php","searchable":0,"quickSearch":0},
{"key":"*环亚资源","name":"*🔞环亚资源","type":0,"api":"http://wmcj8.com/inc/sapi.php","searchable":0,"quickSearch":0},
{ "key": "(18+)天堂福利", "name": "🔞天堂福利", "type": 0, "api": "https://bttcj.com/inc/sapi.php", "searchable": 1, "quickSearch": 1, "filterable": 0 },
{ "key": "afasu", "name": "🔞小湿妹资源(已修复)", "type": 0, "api": "https://www.afasu.com/api/xml.php", "searchable": 1, "quickSearch": 1, "filterable": 1 },
        { "key": "KpgxdyE", "name": "🔞黄AV资源(已修复)", "type": 0, "api": "https://www.pgxdy.com/api/xml.php", "searchable": 1, "quickSearch": 1, "filterable": 1 },
//{"key":"*AVZY6888资源","name":"*🔞AVZY6888资源","type":1,"api":"http://m.7777688.com/inc/apijson.php","searchable":0,"quickSearch":0},
{"key":"*色色资源","name":"*🔞色色资源","type":0,"api":"http://secj8.com/inc/sapi.php?ac=videolist","searchable":0,"quickSearch":0},
{"key":"*玖玖资源","name":"*🔞玖玖资源","type":0,"api":"http://99zywcj.com/inc/sapi.php?ac=videolist","searchable":0,"quickSearch":0},
{"key":"*狼少年","name":"*🔞狼少年","type":0,"api":"http://cjmygzy.com/inc/sapi.php?ac=videolist","searchable":0,"quickSearch":0},
{"key":"*佳丽资源","name":"*🔞佳丽资源","type":1,"api":"http://www.jializyzapi.com/api.php/provide/vod/","searchable":0,"quickSearch":0},
{"key":"*番号资源","name":"*🔞番号资源","type":1,"api":"http://fhapi9.com/api.php/provide/vod/","searchable":0,"quickSearch":0},
//{"key":"*鲨鱼资源","name":"*🔞鲨鱼资源","type":1,"api":"https://shayuapi.com/api.php/provide/vod/","searchable":0,"quickSearch":0},
{"key":"*速度资源","name":"*🔞速度资源","type":0,"api":"http://www.ggmmzy.com:9999/inc/xml","searchable":0,"quickSearch":0},
//{"key":"*丝袜资源","name":"*🔞丝袜资源","type":1,"api":"https://siwazyw.cc/api.php/provide/vod/at/json/","searchable":0,"quickSearch":0},
//{"key":"*芒果资源","name":"*🔞芒果资源","type":1,"api":"https://mgzyz1.com/api.php/provide/vod/","searchable":0,"quickSearch":0},
{"key":"*KK写真资源","name":"*🔞KK写真资源","type":1,"api":"https://kkzy.me/api.php/provide/vod/","searchable":0,"quickSearch":0},

{"key":"csp_xml_红牛资源","name":"🐝红牛资源","type":1,"api":"https://www.hongniuzy3.com/api.php/provide/vod/","playUrl":"","searchable":1,"quickSearch":1},
{"key":"csp_xml_8090资源","name":"🐝8090官采","type":1,"api":"https://zy.yilans.net:8090/api.php/provide/vod/","playUrl":"","searchable":1,"quickSearch":1},
{"key":"csp_xml_M3U8TV资源","name":"🐝M3U8TV","type":1,"api":"https://www.zycaiji.net:7788/api.php/provide/vod/","playUrl":"","searchable":1,"quickSearch":1},
{"key":"csp_xml_樱花资源","name":"🐝樱花资源","type":1,"api":"https://m3u8.apiyhzy.com/api.php/provide/vod/","playUrl":"","searchable":1,"quickSearch":1},
{"key":"csp_xml_鱼乐资源","name":"🐝鱼乐资源","type":1,"api":"https://api.ylzy1.com/api.php/provide/vod/","playUrl":"","searchable":1,"quickSearch":1},
{"key":"csp_xml_天猫资源","name":"🐝天猫资源","type":1,"api":"https://www.tianmaozy.com/api.php/provide/vod/","playUrl":"","searchable":1,"quickSearch":1},

{"key":"csp_xml_金鹰资源","name":"🐝金鹰资源","type":1,"api":"https://jyzyapi.com/api.php/provide/vod/","playUrl":"","searchable":1,"quickSearch":1},
{"key":"csp_xml_新浪资源","name":"🐝新浪资源","type":1,"api":"https://api.xinlangapi.com/xinlangapi.php/provide/vod/","playUrl":"","searchable":1,"quickSearch":1},
{"key":"csp_xml_光速资源","name":"🐝光速资源","type":1,"api":"https://api.guangsuapi.com/api.php/provide/vod/","playUrl":"","searchable":1,"quickSearch":1},
{"key":"csp_xml_红牛资源","name":"🐝红牛资源","type":1,"api":"https://www.hongniuzy3.com/api.php/provide/vod/","playUrl":"","searchable":1,"quickSearch":1},
{"key":"csp_xml_无尽资源","name":"🐝无尽资源","type":1,"api":"https://api.wujinapi.me/api.php/provide/vod/","playUrl":"","searchable":1,"quickSearch":1},
{"key":"csp_xml_飞速采集","name":"🐝飞速采集","type":1,"api":"https://m3u8.feisuzyapi.com/api.php/provide/vod/","playUrl":"","searchable":1,"quickSearch":1},
{"key":"csp_xml_ikun资源","name":"🐝ikun资源","type":1,"api":"https://ikunzyapi.com/api.php/provide/vod/","playUrl":"","searchable":1,"quickSearch":1},
{"key":"量子采集","name":" 🐝量子资源","type":0,"api":"https://cj.lziapi.com/api.php/provide/vod/at/xml/","searchable":1,"quickSearch":0,"filterable":0}

],

"parses":[
    {
            "name": "Json轮询",
            "type": 2,
            "url": "Sequence"
        },
        {
            "name": "Json并发",
            "type": 2,
            "url": "Parallel"
        },
        {
            "name": "解析聚合",
            "type": 3,
            "url": "Demo"
        },
        {
            "name": "瞄影嗅探",
            "type": 0,
            "url": "http://www.miaoys.cc/vip/?url="
        },
  {"name":"lk","type":1,"url":"https://k.json.icu/home/api?type=ys&uid=6399107&key=bdlmrswBDHIKZ01238&url="},
 { "name": "TVB云播","type": 1,"url": "https://jxm.qwrev534.top/?url="},
{
            "name": "星辰云解析",
            "type": 1,
            "url": "http://xn--wnup5g.xn--z7x900a.love:63/Art/analysis.php?v=",
            "ext": {
                "flag": [
                    "qq",
                    "腾讯",
                    "企鹅",
                    "IQiYi",
                    "qiyi",
                    "爱奇艺",
                    "奇艺",
                    "youku",
                    "YouKu",
                    "优酷",
                    "sohu",
                    "SoHu",
                    "搜狐",
                    "letv",
                    "LeShi",
                    "乐视",
                    "imgo",
                    "mgtv",
                    "MangGuo",
                    "芒果",
                    "SLYS4k",
                    "BYGA",
                    "luanzi",
                    "AliS",
                    "dxzy",
                    "bilibili",
                    "QEYSS",
                    "xigua",
                    "西瓜视频",
                    "腾讯视频",
                    "奇艺视频",
                    "优酷视频",
                    "芒果视频",
                    "乐视视频"
                ]
            }
        },
 {"name":"777","type": 0,"url":"https://jx.777jiexi.com/player/?url="},
 {"name": "1","type":0,"url":"https://jxdp.codermart.net/?url="},
 {"name":"AG","type":0,"url":"https://www.codjx.com/?url="},
 {
      "name": "月",
      "type": 0,
      "url": "https://jx.xmflv.com/?url="
    },
{"name":"光","type":1,"url":"http://pandown.pro/app/ysmjx.php?url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"],"header":{"User-Agent":"okhttp/4.1.0"}}},
{"name":"宝","type":1,"url":"http://jx.fuqizhishi.com:63/API.php?appkey=feimao&url="},
{"name":"盒","type":0,"url":" https://tljiaqing.nde.tw/m3u8/?url="},
{"name":"BOX","type":1,"url":"http://45.248.10.163:4433/json.php?wap=0&url="},
{"name":"解析","type":0,"url":"https://h5.freejson.xyz/player/?url="},
{"name":"解析2","type":1,"url":"rxjx.kuanjv.com/allm3u8.php?url="},
{"name":"解析4","type":1,"url":"http://lanlan.ckflv.cn/?url=","ext":{"flag":["qiyi","qq","letv","sohu","youku","mgtv","bilibili","wasu","xigua","1905"]}},
{"name":"解析5","type":1,"url":"https://www.1920lgzy.top/json.php?url=","ext":{"header":{"User-Agent":"Mozilla/5.0"}}},
{"name":"解析6","type":1,"url":"https://hc.izny.cn/json.php?url="},
{"name":"解析7","type":1,"url":"https://rx.bt5v.com/json/jsonindex.php/?url="},
{"name":"解析8","type":1,"url":"https://www.nxflv.com/?url=","header":{"User-Agent":"Mozilla/5.0"}},
{"name":"解析9","type":1,"url":"http://3.37.195.161:54371/parse/api/无名.js?url=","header":{"User-Agent":"Mozilla/5.0"}}
],

"rules": [
{"host":"*","rule":["default.365yg.com"]},{"host":"dyxs20.com","rule":[".m3u8"]},{"host":"www.agemys.cc","rule":["cdn-tos","obj/tos-cn"]},{"host":"zjmiao.com","rule":["play.videomiao.vip/API.php","time="]},{"host":"www.sharenice.net","rule":["http.*?/play.{0,3}\\?[^url]{2,8}=.*"]},{"host":"www.sharenice.net","rule":["qianpailive.com","vid="]},{"host":"*","rule":["douyin.com/aweme","video_id="]},{"host":"*","rule":["huoshan.com","/item/video/"]},{"host":"*","rule":["http((?!http).){12,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a)\\?.*"]},{"host":"*","rule":["http((?!http).){12,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a)"]}
],

"flags":["youku","qq","QQ","iqiyi","qiyi","letv","sohu","tudou","pptv","PPTV","mgtv","ltnb","rx","CL4K","xfyun","wuduzy","wasu","bilibili","renrenmi","xmm","xigua","m1905 ","funshion ","优酷","芒果","腾讯","爱奇艺","奇艺","哔哩哔哩","哔哩"],
"ijk":[
{"group":"软解码","options":[
{"category":4,"name":"opensles","value":"0"},
{"category":4,"name":"overlay-format","value":"842225234"},
{"category":4,"name":"framedrop","value":"1"},
{"category":4,"name":"soundtouch","value":"1"},
{"category":4,"name":"start-on-prepared","value":"1"},
{"category":1,"name":"http-detect-range-support","value":"0"},
{"category":1,"name":"fflags","value":"fastseek"},
{"category":2,"name":"skip_loop_filter","value":"48"},
{"category":4,"name":"reconnect","value":"1"},
{"category":4,"name":"enable-accurate-seek","value":"0"},
{"category":4,"name":"mediacodec","value":"0"},
{"category":4,"name":"mediacodec-auto-rotate","value":"0"},
{"category":4,"name":"mediacodec-handle-resolution-change","value":"0"},
{"category":4,"name":"mediacodec-hevc","value":"0"},
{"category":1,"name":"dns_cache_timeout","value":"600000000"}
]},
{"group":"硬解码","options":[
{"category":4,"name":"opensles","value":"0"},
{"category":4,"name":"overlay-format","value":"842225234"},
{"category":4,"name":"framedrop","value":"1"},
{"category":4,"name":"soundtouch","value":"1"},
{"category":4,"name":"start-on-prepared","value":"1"},
{"category":1,"name":"http-detect-range-support","value":"0"},
{"category":1,"name":"fflags","value":"fastseek"},
{"category":2,"name":"skip_loop_filter","value":"48"},
{"category":4,"name":"reconnect","value":"1"},
{"category":4,"name":"enable-accurate-seek","value":"0"},
{"category":4,"name":"mediacodec","value":"1"},
{"category":4,"name":"mediacodec-auto-rotate","value":"1"},
{"category":4,"name":"mediacodec-handle-resolution-change","value":"1"},
{"category":4,"name":"mediacodec-hevc","value":"1"},
{"category":1,"name":"dns_cache_timeout","value":"600000000"}
]}
],
"wallpaper":"http://www.kf666888.cn/api/tvbox/img",
"ads":["mimg.0c1q0l.cn","www.googletagmanager.com","www.google-analytics.com","mc.usihnbcq.cn","mg.g1mm3d.cn","mscs.svaeuzh.cn","cnzz.hhttm.top","tp.vinuxhome.com","cnzz.mmstat.com","www.baihuillq.com","s23.cnzz.com","z3.cnzz.com","c.cnzz.com","stj.v1vo.top","z12.cnzz.com","img.mosflower.cn","tips.gamevvip.com","ehwe.yhdtns.com","xdn.cqqc3.com","www.jixunkyy.cn","sp.chemacid.cn","hm.baidu.com","s9.cnzz.com","z6.cnzz.com","um.cavuc.com","mav.mavuz.com","wofwk.aoidf3.com","z5.cnzz.com","xc.hubeijieshikj.cn","tj.tianwenhu.com","xg.gars57.cn","k.jinxiuzhilv.com","cdn.bootcss.com","ppl.xunzhuo123.com","xomk.jiangjunmh.top","img.xunzhuo123.com","z1.cnzz.com","s13.cnzz.com","xg.huataisangao.cn","z7.cnzz.com","xg.huataisangao.cn","z2.cnzz.com","s96.cnzz.com","q11.cnzz.com","thy.dacedsfa.cn","xg.whsbpw.cn","s19.cnzz.com","z8.cnzz.com","s4.cnzz.com","f5w.as12df.top","ae01.alicdn.com","www.92424.cn","k.wudejia.com","vivovip.mmszxc.top","qiu.xixiqiu.com","cdnjs.hnfenxun.com","cms.qdwght.com"]
}

license: unknown


code:
#### 仓库：

[![官方风格](https://gitee.com/as5555/sss/raw/%E5%9B%BE%E6%A0%87/%E5%9B%BE%E6%A0%87/GF.png)](https://github.com/q215613905/TVBoxOS)[![FM风格](https://gitee.com/as5555/sss/raw/%E5%9B%BE%E6%A0%87/%E5%9B%BE%E6%A0%87/FM.png)](https://github.com/FongMi/TV)[![99风格](https://gitee.com/as5555/sss/raw/%E5%9B%BE%E6%A0%87/%E5%9B%BE%E6%A0%87/99.png)](https://github.com/takagen99/Box)

[![网址链接生成器](https://img.shields.io/badge/直播源-生成器-blue.svg?logo=InternetExplorer)](http://www.all-tool.cn/Tools/link_get/?&rand=45e69fc9e8ace801c2102c5296d2cf46)

[![极狐](https://img.shields.io/badge/直播源-生成器-blue.svg?logo=github)](http://www.all-tool.cn/Tools/link_get/?&rand=45e69fc9e8ace801c2102c5296d2cf46)

#### 编辑：https://kvymin.github.io/CatVodTVJsonEditor/ 丨 http://cron.qiqiv.cn/cron/abc/123/

#### 外链：

1、https://gitea.com/ 已开始限制，清理

2、https://gitee.com/

3、https://agit.ai/

4、云储： https://yunchu.cxoip.com/

5、腾讯云： https://coding.net/

6、瑞典外链网盘：https://anonfiles.com/

7、比邻： https://pan.bilnn.com 收费了，能在线编辑

8、惜染 https://mpimg.cn/ 不能在线编辑

9、枫铭网盘： https://pan.dkpoi.com 不能编辑

10、https://out.zxglife.top 不能编辑

11、OpenDrive: https://www.opendrive.com/ 能在线编辑，慢

12、nite07网盘 https://share.nite07.com

13、ifilespace https://demo.ifile.space/main

14、七彩云存储： https://cloud.06dn.com/login

15、豆子外链： http://zuoye.free.fr/index.php 限制文件格式

16、棱束链： https://www.lingshulian.com/

17、凯速网https://my.ksust.com

18、乐分发存储：https://pan.leffs.cn/Login

19、https://www.jsdelivr.com/

20、恩华云盘：https://pan.ehvip.cn

21、诺灸：https://www.cloudewl.cn

22、https://gitcode.net/explore

23、吾爱云盘：http://52bsj.vip:81/login

24、https://codeberg.org/

25、https://www.notabug.org

26、书源 http://shuyuan.miaogongzi.net/index.php

#### 短链：
https://gg.gg

https://qiu.moe

https://www.c1n.cn

https://0dlj.cn

https://0a.fit

http://mtw.so

https://sd4.cn

https://pqu.cn

https://88d.cn

https://loveer.win

https://mtool.chinaz.com/dwz

https://waurl.cn

https://dwz.dk

#### 壁纸：

—-必应：https://bing.img.run/rand.php

—-美女：https://cdn.seovx.com/?mom=302

—-普通：https://picsum.photos/1280/720

—-高清：https://api.ixiaowai.cn/gqapi/gqapi.php

—-古风：https://cdn.seovx.com/ha/?mom=302

—-环境：http://api.btstu.cn/sjbz/?lx=fengjing

#### 解析：

http://www.36nu.com/apiTest

#### 更新：

多jar链接写法，根据app版本来： Pluto Player版本： {"key":"","name":"","api":"","type":3,"filterable":1,"quickSearch":1,"searchable":1,"plugin":"http:///.jar"},

这个： {"key":"","name":"","type":3,"api":"","searchable":1,"quickSearch":1,"filterable":1,"spider":"http:///.jar"},

俊佬版本多jar链接写法： {"key":"","name":"","type":3,"api":"***","searchable":1,"quickSearch":1,"filterable":1,"jar":"your_other_jar"},

#### 收集：

云星：https://shou.eruu.cn/

奇奇：http://bbs.qiqiv.cn/thread-11973-1-1.html

https://github.com/tv-player/TvBox

#### 编辑：

https://kvymin.github.io/CatVodTVJsonEditor/

http://cron.qiqiv.cn/cron/abc/123/

#### 符号：

https://funletu.com/emoji/

https://www.emojiall.com/zh-hans

#### 网盘：

Cloudreve个人网盘GitHub开源地址：
https://github.com/cloudreve/Cloudreve

#### 仓库：

唐三大佬仓库地址：https://github.com/Tangsan99999/TvJar 删库了

于俊大佬：

https://github.com/q215613905/TVBoxOS

takagen99大佬：

https://github.com/takagen99/TVBoxOSC

FongMi-TV:

https://github.com/FongMi/TV

TV猫盒：

https://github.com/kensonmiao/CatVodTVOSC

pluto-player：不开源 A佬。魔改，改动大，功能多，能在线升级，目前不支持低版本安卓。

https://github.com/pluto-player/updates

o0HalfLife0o：

https://github.com/o0HalfLife0o/TVBoxOSC

https://github.com/o0HalfLife0o/AlphaTV

clanTV：

https://github.com/clanTV/clanTV

BearTV:

https://github.com/haha459862/BearTV

官仓：终结于2022年7月18日。封仓。

https://github.com/CatVodTVOfficial/TVBoxOSC

多线路TV版本仓库：

https://github.com/tv-player

自己动手升级PYthon版本参照下面仓库：里边有操作说明，复制代码，粘贴就行。

https://github.com/UndCover/PyramidStore

手残的话，用下边这个方法，一键生成，不用自己复制代码。根据自己需要稍稍修改一下子。

https://github.com/lm317379829/TVBoxDIY

#### 工具：

免魔法电报，也是个开源项目，用前自己上网查询这个怎么样。

https://github.com/NekoX-Dev/NekoX

文本比较、json格式化： https://tsq.lanzouf.com/b0c4rjpsb 密码:123

开发者工具箱： https://1024tools.com/

文本处理： http://www.txttool.com/

直播源批量检测工具： https://tsq.lanzouf.com/b0c4p2fba 密码:123

MXPlayer-Pro-1.46.10高级解锁版： https://tsq.lanzouf.com/b0c4p1nyf 密码:123

MD5获取小工具：http://www.metools.info/

MD5在TVbox中的填写格式："spider": "https://j***.jar;md5;***",

json内资源格式参数介绍 {"key":"key_〔资源名称〕",

"name":"资源名称",

"type":0,

"api":"csp_〔jar内文件名称〕",

"searchable":1,

"quickSearch":1,

"filterable":0,

"jar":"〔jar文件地址〕",

"ext":"〔txt json文件地址〕",

"playUrl": "〔播放解析地址〕",

"click": "ddys.tv;#vjsp > button"

"categories":["〔自定义资源列表〕",

"〔自定义资源列表〕"] }

jar修改学习：要想实现jar包自由，多关注以下仓库，慢慢积累经验学习吧。看看谁常更新，盯住学习就行。 jar打包：在jar仓库里依次点击：actions-workflows-spider jar gen cl-run workflow。和打包TVBOX一样。

jar打包成功实例仓库：仅供参考，自行添加新的，删除或者修改失效的。https://github.com/dlgt7/TvJar

https://github.com/Kimlee-cmd/TvJar

https://github.com/Kvymin/CatVod

传说中的T4类型，仓库地址如下，自己研究。

https://github.com/sec-an/TV_Spider

#### 软件：

0、首推吾爱破解工具包：

https://down.52pojie.cn/Tools/

1、下载解压编译器 AndroidKiller https://mydown.yesky.com/pcsoft/413552646.html

2、安装 java8 环境 http://soft.onlinedown.net/soft/10044859.htm

3、下载编码器，

改名为 ShakaApktool.jar 替换 AndroidKiller\bin\apktool\apktool https://bitbucket.org/iBotPeaches/apktool/downloads/

jar包缝合教程：暴力缝合，非代码修改。 准备工作：MT管理器或者NP管理器，B包要用的包，A包要导出的包。

开始：A包中merge重命名，展开重命名的merge，选中需要导出的文件，导出。打开B包，导入刚才导出的重命名的merge文件，保存退出。B包就是缝合好的包。

多试几次，关键是找个好用的MT或者NP。不是你不会，是因为你的MT或着NP没那个功能。

1、打开需要导出的包：

1

2、给他重命名：

2

3、选中，并导出你需要的文件：

3

4、随便取个名字，自己能找到就行，理解就好。

4

5、打开你最终要用的包，导入刚才那个包导出的东西。

5

6、导入完成后的样子：

6 7

试试吧，不一定对。

今天看到一个新的教程： 【教程】Pluto player影视软件新姿势_无密码挂载alist_免费观看原画

8款网盘可同时挂载到Kodi播放器，支持Mac和Windows平台

教程在仓库里：https://github.com/dlgt7/TVbox-interface PDF文件格式，需下载查看，感觉不清楚的话，文件里写有教程出处，都是公众号文章。

api解释：

csp_XPath 普通套娃

csp_XPathMac 直链套娃

csp_XPathFilter 普通套娃带筛选

csp_XPathMacFilter 直链套娃带筛选

csp_XPathEgg 蛋蛋赞自定义套娃

套娃依赖自定义爬虫jar，同样需要在自定义json中加入相应的配置，type=3, api为csp_XPath，套娃相关规则配置在ext字段中，注意：ext字段值只能是字符串

为控制配置文件容量，同时支持在ext字段中直接配置规则和拉取规则的网址。 2021.10.21 by 小黄瓜

接口指定播放器写法示例：

{

"key": "csp_key",

"name": "api(SP)",

"type": 3,

"api": "csp_api",

"playerType": 1, // 新增字段，用来为该爬虫指定播放器 0:system, 1:ijk, 2:exo, 10:mx，11:Reex,12:Kodi.默认-1为配置页面设置的播放器(app/src/main/java/com/github/tvbox/osc/util/PlayerHelper.java...161行)

"searchable": 1,

"quickSearch": 1,

"filterable": 1

},

exo会清晰点。exo不能播阿里系，小苹果。

直播文件设置密码： VIP高清秒播1_0709,#genre# 　　　　密码：0709

默认播放器设置：

App default settings can be set here : /src/main/java/com/github/tvbox/osc/base/App.java

private void initParams() {

putDefault(HawkConfig.HOME_REC, 2); // Home Rec 0=豆瓣, 1=推荐, 2=历史

putDefault(HawkConfig.PLAY_TYPE, 1); // Player 0=系统, 1=IJK, 2=Exo

putDefault(HawkConfig.IJK_CODEC, "硬解码");// IJK Render 软解码, 硬解码

putDefault(HawkConfig.HOME_NUM, 2); // History Number

putDefault(HawkConfig.DOH_URL, 2); // DNS

putDefault(HawkConfig.SEARCH_VIEW, 2); // Text or Picture }

https://gitee.com/cloumap/TVBox


code:
<?php
$seed = time();
$num = rand(1,5);
$picpath = "https://notabug.org/ZID/1/api/img/(".$num.").jpg";
echo $picpath
?>


作者: 小橙子

简介: 【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+详情：&&</div>

导演: 导演：&&</li>

主演: 主演：&&</li>

影片状态: 状态：&&</li>

影片类型: data vodTag">&&</li>

数组: list-width volistwidthb">&&</li>

标题: title="&&"

副标题: list-remarks hidden">&&</span>

图片: data-original="&&"

搜索数组: img lazy eclazy br"&&</a>

搜索标题: title="&&"

搜索副标题: list-remarks hidden">&&</span>

搜索图片: data-original="&&"

repo_name: wzx/xcz


站名: TVB云播

请求头: 手机

影片类型: 分类：&&主演

导演: 导演：&&

主演: 主演：&&

简介: 【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+class="sketch content">&&</span>

副标题: pic-tag pic-tag-top">&&</span>

搜索数组: myui-vodlist__thumb img-lg-150 img-md-150 img-sm-150 img-xs-100 lazyload"&&</a>

线路标题: 🍊小橙子接口🍊+title">&&<

类型

key: cateId

n: 全部类型

n: 动作片

n: 喜剧片

n: 爱情片

n: 科幻片

n: 恐怖片

n: 剧情片

n: 战争片

剧情

key: class

n: 全部剧情

n: 喜剧

v: 喜剧

n: 爱情

v: 爱情

n: 恐怖

v: 恐怖

n: 动作

v: 动作

n: 科幻

v: 科幻

n: 剧情

v: 剧情

n: 战争

v: 战争

n: 警匪

v: 警匪

n: 犯罪

v: 犯罪

n: 动画

v: 动画

n: 奇幻

v: 奇幻

n: 武侠

v: 武侠

n: 冒险

v: 冒险

n: 枪战

v: 枪战

n: 悬疑

v: 悬疑

n: 惊悚

v: 惊悚

n: 经典

v: 经典

n: 青春

v: 青春

n: 文艺

v: 文艺

n: 微电影

v: 微电影

n: 古装

v: 古装

n: 历史

v: 历史

n: 运动

v: 运动

n: 农村

v: 农村

n: 儿童

v: 儿童

n: 网络电影

v: 网络电影

地区

key: area

n: 全部地区

n: 大陆

v: 大陆

n: 香港

v: 香港

n: 台湾

v: 台湾

n: 美国

v: 美国

n: 法国

v: 法国

n: 英国

v: 英国

n: 日本

v: 日本

n: 韩国

v: 韩国

n: 德国

v: 德国

n: 泰国

v: 泰国

n: 印度

v: 印度

n: 意大利


站名: 七月影视

简介: 【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+剧情：&&aaa

影片状态: 集数：&&</div>

影片类型: video-tag-icon">&&立即播放

副标题: module-item-note">&&</div>

搜索数组: module-card-item-class">&&</a>

搜索副标题: module-item-note">&&</div>

线路标题: 🍊小橙子接口🍊+&&[替换:本地>>专线#（快）>>(推荐)#>>共]+集

线路数组: data-dropdown-value=&&</div>


站名: 55影视

简介: 【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+<p class="col-pd"&&

线路数组: <h3 class="title">&&/h3>

线路标题: 🥚小橙子接口🥚+>&&<


站名: 农民影视

简介: 【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+简        介：&&</p>

影片年代: 年代：&&</span>

标题: sTit"&&</span>

副标题: <span>&&<em>

图片: data-echo="&&"

搜索数组: <div class="pic">&&<em

搜索副标题: sStyle">&&</span>

搜索图片: data-src="&&"

线路数组: javascript:;"&&</li>[替换:默认>>🍊小橙子接口🍊农民线路][不包含:奇艺#腾讯#优酷#芒果]

线路标题: 🍊小橙子接口🍊+>&&</a>

类型

n: 全部类型

n: 动作片

n: 喜剧片

n: 爱情片

n: 科幻片

n: 恐怖片

n: 剧情片

n: 战争片

n: 惊悚片

n: 奇幻片

n: 新加坡

v: 新加坡

n: 马来西亚

v: 马来西亚

n: 加拿大

v: 加拿大

n: 西班牙

v: 西班牙

n: 俄罗斯

v: 俄罗斯

n: 其它

v: 其它

时间

key: year

n: 全部时间

排序

key: by

n: 全部排序

n: 时间排序

v: time

n: 人气排序

v: hits

n: 评分排序

v: score

类型

n: 国产剧

n: 港台泰

n: 日韩剧

n: 欧美剧


站名: 土豪影视

简介: 【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+video-info-content vod_content"&&</span>

导演: 导演：&&</div>

主演: 主演：&&</div>

影片状态: video-info-item">&&</div>

影片类型: video-info-aux scroll-content"&&立即播放

图片: data-src="&&"

副标题: module-item-text">&&</div>

线路标题: 🍊小橙子接口🍊+&&[替换:蓝光一线>>蓝光#超清高速>>超清#>>共]+集

播放数组: sort-item"&&</div>

搜索数组: lazy lazyload"&&<h3>

n: 全部类型

n: 动作片

n: 喜剧片

n: 爱情片

n: 恐怖片

n: 犯罪片

n: 科幻片

n: 惊悚片

n: 战争片

n: 悬疑片

n: 灾难片

n: 冒险片

n: 剧情片

n: 武侠片

n: 动画片

n: 历史片

n: 传记片

n: 歌舞片

n: 其他片

剧情

n: 全部剧情

n: 动作

v: 动作

n: 警匪

v: 警匪

n: 恐怖

v: 恐怖

n: 科幻

v: 科幻

n: 喜剧

v: 喜剧

n: 爱情

v: 爱情

n: 剧情

v: 剧情

n: 战争

v: 战争

n: 犯罪

v: 犯罪

n: 动画

v: 动画

n: 奇幻

v: 奇幻

n: 武侠

v: 武侠

n: 冒险

v: 冒险

n: 枪战

v: 枪战

n: 悬疑

v: 悬疑

n: 惊悚

v: 惊悚

n: 经典

v: 经典

n: 青春

v: 青春

n: 文艺

v: 文艺

n: 微电影

v: 微电影

n: 古装

v: 古装

n: 历史

v: 历史

n: 运动

v: 运动

n: 农村

v: 农村

n: 儿童

v: 儿童

n: 网络电影

v: 网络电影

地区

n: 全部地区

n: 大陆

v: 大陆

n: 香港

v: 香港

n: 台湾

v: 台湾

n: 美国

v: 美国

n: 法国


站点: 奇优影院

简介: 【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+在线免费观看，&&</div>

影片类型: 类型：&&立即播放

副标题: text-right">&&</span>

搜索数组: v-thumb stui-vodlist__thumb&&</a>

搜索副标题: text-right">&&</span>

线路数组: data-toggle="tab"&&</li>[替换:播放源1>>🍊小橙子接口🍊线路①#播放源2>>🍊小橙子接口🍊线路②#播放源3>>🍊小橙子接口🍊线路③#播放源4>>🍊小橙子接口🍊线路④#播放源5>>🍊小橙子接口🍊线路⑤#播放源6>>🍊小橙子接口🍊线路⑥]

播放数组: stui-content__playlist clearfix&&</ul>

排序

n: 时间排序

v: time

n: 人气排序

v: score

n: 评分排序

v: hits


作者: 荷城茶秀

站名: vs影视

简介: 【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+onclick="MyTheme.Layer.Text('剧情简介','&&','500','350')

线路数组: #playlist&&</li>[不包含:无尽#八戒][排序:秒播>爱坤>优质>量子]

线路标题: 🍊小橙子接口🍊+>&&</a>+线路


站名: 疯狗影视

简介: 【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+该站点无剧情介绍，暂时无法提供简介…

数组: <li class="col-xs-4">&&/span>

副标题: continu">&&<

线路标题: 🍊小橙子接口🍊+&&

播放数组: <ul class="list-unstyled row&&


站名: 真不卡影视

简介: 【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+detail-sketch">&&<a class="detail-more

影片类型: 类型：&&

副标题: pic-text text-right"&&</span>

线路数组: <h3 class="title"&&/h3>[不包含:W云#S云]

线路标题: 🍊小橙子接口🍊+>&&<

播放数组: column8 clearfix">&&</ul>

类型

n: 全部类型

n: 动作片

n: 喜剧片

n: 爱情片

n: 科幻片

n: 恐怖片

n: 剧情片

n: 战争片

n: 粤语片

n: 院线片

n: 纪录片

n: 青春片

n: 邵氏电影

剧情

n: 全部剧情

n: 喜剧

v: 喜剧

n: 爱情

v: 爱情

n: 恐怖

v: 恐怖

n: 动作

v: 动作

n: 科幻

v: 科幻

n: 剧情

v: 剧情

n: 战争

v: 战争

n: 警匪

v: 警匪

n: 犯罪

v: 犯罪

n: 动画

v: 动画

n: 奇幻

v: 奇幻

n: 武侠

v: 武侠

n: 冒险

v: 冒险

n: 枪战

v: 枪战

n: 悬疑

v: 悬疑

n: 惊悚

v: 惊悚

n: 经典

v: 经典

n: 青春

n: 文艺

地区

v: 法国

n: 英国

v: 英国

n: 日本

v: 日本

n: 韩国

v: 韩国

n: 德国

v: 德国

n: 泰国

v: 泰国


站名: 蛋蛋影视

简介: 【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+<p class="col-pd">&&蛋蛋剧不参与

影片类型: 类型：&&<span class="split-line">

影片地区: 地区：&&<span class="split-line">

数组: ewave-vodlist__thumb lazyload"&&</a>

线路数组: #playlist&&</li>


站名: 觅知影视

简介: 【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+<p>&&</p>

影片类型: module-info-tag">&&立即播放

线路标题: 🍊小橙子接口🍊+&&[替换:资源>>空#>>共]+集


站名: 超前B站

简介: 【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+<div class="summary detailsTxt"*>&&<div

导演: 暂无

标题: title=*>&&</div>

副标题: movie-rating cor4">&&</div>

搜索标题: title=*>&&</div>

搜索副标题: movie-rating cor4">&&<

线路数组: titleName cr3&&/a>


站名: 达达龟影视

简介: 【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+none;">&&</span>

影片类型: 类型：&& /

搜索副标题: pic-text text-right"&&</span>

线路标题: 🍊小橙子接口🍊+>&&<[替换:自营云播>>自营#量子云播>>量子#非凡云播>>非凡]

播放数组: playlist clearfix">&&</ul>

剧情

n: 全部剧情

n: 喜剧

v: 喜剧

n: 爱情

v: 爱情

n: 恐怖

v: 恐怖

n: 动作

v: 动作

n: 科幻

v: 科幻

n: 剧情

v: 剧情

n: 战争

v: 战争

n: 警匪

v: 青春

v: 文艺

n: 微电影

v: 微电影

n: 古装

v: 古装

n: 历史

v: 历史

n: 运动

v: 运动

n: 农村

v: 农村

n: 网络电影

v: 网络电影

n: 全部地区

n: 大陆

v: 大陆

n: 香港

v: 香港

n: 台湾

v: 台湾

n: 美国

v: 美国

n: 法国

n: 印度

v: 印度

n: 意大利

v: 意大利

n: 西班牙

v: 西班牙

n: 加拿大

v: 加拿大

n: 其他

v: 其他

语言

key: lang

n: 全部语言

n: 国语

v: 国语

n: 英语

v: 英语


站名: 骚火影视

简介: 【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+<p class="p_txt show_part"&&

线路标题: 🍊小橙子接口🍊+>&&<[替换:1号线路>>骚火专线#2号线路>>骚火备用]


站名: 黑狐影视

简介:
【小橙子】提醒您请勿相信影片中的广告，以免上当受骗！欢迎进入小橙子影视。+剧情介绍
&&

影片地区: 地区：&&

影片年代: 年份：&&

搜索数组: stui-vodlist__thumb lazyload"&&</h3>


code:
avatar/
files/
file/
local/
logs/
log/
run/
config.php
.htaccess
httpd.conf
dataobject.ini
*.bak
*.orig
*.rej
TODO.rym
config-*.php
good-config.php
*.mo
/vendor/

repo_name: ksuudilla/gnu

path: .gitignore

license: mit


code:
# GNU social - Log of Changes

## 2.0.0 - THIS. IS. GNU SOCIAL!!! [WIP]

Release name chosen after 300 by Frank Miller where the main protagonist Leonidas, King of Sparta, declines peace with the
Persians, after being disrespected, by shouting at the Persian Messenger "This is Sparta!" and kicking him into a large well
proceeded by the killing of the other Persian messengers.

### Major changes from previous release:

Load and Storage:
- New media handling system
- GS is now structurely divided in includes and public
- OEmbed upgraded to Embed plugin (Now we provide Open Graph information too)
- Added Redis based caching and queues
- Improved memcached support

Federation:
- Added ActivityPub support
- RemoteFollow: Remote follow ActivityPub and OStatus remote actors via the click of a button
- ActorLists: Allow to create collections of Actors and to interact with them - supports both OStatus and ActivityPub
- The Free Network: Automagically migrate internal remote profiles between Free Network protocols
- Enabled the search box to import remote notices and profiles
- Improvements on Nodeinfo (and new route)

General:
- Composer was integrated

Modules:
- Restored built-in plugins
- New modules system: core plugins and plugins physically separated
- Bug fixes of core modules logic
- Improved plugin management tool (now all available plugins are shown and third party can be uploaded and deleted)

## v1.20.9release - The Invicta Crusade

Dropped Support for PHP5.6.x. Minimum PHP version now is 7.0.0.

Release name chosen after Porto city. Porto is one of the oldest cities in Europe and thanks to its fierce resistance during
two battles and sieges in history, it has earned the epithet of ‘Cidade Invicta’ (Invincible City). The dev team behind this
release studies in Porto, Portugal.

Major changes from previous release:

- Various patches on PEAR related components
- Various database related improvements
- Improved XMPP support
- Added Nodeinfo support
- Various i18n and l10n bug fixes
- Improvements on Internal Session Handler
- Improvements on OpenID support
- Improved Media handling and safer upload
- Redirect to previous page after login
- Initial work on full conversion to PHP7
- Initial work on a better documentation
- Allow login with email
- Various bug fixes

## v1.2.0beta4 - The good reign of PHP5

Dropped support for PHP5.4.

New this version

This is the development branch for the 1.2.x version of GNU social. All daring 1.1.x admins should upgrade to this version.

So far it includes the following changes:

- Backing up a user's account is more and more complete.
- Emojis 😸 (utf8mb4 support)

The last release, 1.1.3, gave us these improvements:

- XSS security fix (thanks Simon Waters, https://www.surevine.com/)
- Many improvements to ease adoption of the Qvitter front-end https://github.com/hannesmannerheim/qvitter
- Protocol adaptions for improved performance and stability

Upgrades from StatusNet 1.1.1 will also experience these improvements:

- Fixes for SQL injection errors in profile lists.
- Improved ActivityStreams JSON representation of activities and objects.
- Upgrade to the Twitter 1.1 API.
- More robust handling of errors in distribution.
- Fix error in OStatus subscription for remote groups.
- Fix error in XMPP distribution.
- Tracking of conversation URI metadata (more coherent convos)

## v1.1.3release - The Spanish Invasion

New this version

This is a security fix and bug fix release since 1.1.3-beta2. All 1.1.x sites should upgrade to this version.

So far it includes the following changes:

- XSS security fix (thanks Simon Waters, https://www.surevine.com/)
- Many improvements to ease adoption of the Qvitter front-end https://github.com/hannesmannerheim/qvitter
- Protocol adaptions for improved performance and stability
- Backing up a user's account now appears to work as it should

Upgrades from StatusNet 1.1.1 will also experience these improvements:

- Fixes for SQL injection errors in profile lists.
- Improved ActivityStreams JSON representation of activities and objects.
- Upgrade to the Twitter 1.1 API.
- More robust handling of errors in distribution.
- Fix error in OStatus subscription for remote groups.
- Fix error in XMPP distribution.
- Tracking of conversation URI metadata (more coherent convos)


code:
## Code of Conduct

### Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.

### Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
  address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
  professional setting

### Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

### Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

### Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at mattl@gnu.org. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

### Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [http://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

## The Code of Conflict

GNU social has a high submission standard and we want to keep quality code in the
codebase and bad code out of it. As such your code will be closely scrutinized,
and you might take this criticism personally. Please understand that this is
meant to keep the standards of the codebase up, and isn't meant personally. All
the same, this isn't an excuse for poor behaviour, and a reviewer shouldn't be
misbehaving towards submitters.

If however, anyone feels personally abused, threatened, or otherwise
uncomfortable due to this process, that is not acceptable.  If so, please
contact the project team at mattl@gnu.org, and they will work to resolve the issue
to the best of their ability.

As a reviewer of code, please strive to keep things civil and focused on the
technical issues involved.  We are all humans, and frustrations can be high on
both sides of the process.  Try to keep in mind the immortal words of Bill and
Ted, "Be excellent to each other."


code: GNU social's contributing resources and instructions are made available at [DOCUMENTATION/DEVELOPERS](https://notabug.org/diogo/gnu-social/src/nightly/DOCUMENTATION/DEVELOPERS).


code:
Credits for GNU social
======================
The following is an incomplete list of developers
who've worked on GNU social, or its predecessors
StatusNet and Free Social. Apologies for any
oversight; please let mattl@gnu.org know if
anyone's been overlooked in error.

Current team
------------
* Matt Lee
* Mikael Nordfeldth
* Diogo Cordeiro
* Bruno Casteleiro
* Miguel Dantas
* Alexei Sorokin

Additional Contributors
-----------------------
* Ciaran Gultnieks
* Michael Landers
* Ori Avtalion
* Garret Buell
* Mike Cochrane
* Matthew Gregg
* Sean Murphy
* Leslie Michael Orchard
* Eric Helgeson
* Ken Sedgwick
* Brian Hendrickson
* Tobias Diekershoff
* Dan Moore
* Fil
* Jeff Mitchell
* Brenda Wallace
* Jeffery To
* Federico Marani
* mEDI
* Brett Taylor
* Brigitte Schuster
* Craig Andrews
* Donald Robertson
* Deb Nicholson
* Ian Denhart
* Steven DuBois
* Blaine Cook
* Henry Story
* Melvin Carvalho
* Stéphane Bérubé
* Akio
* Maiyannah Bishop
* Bob Mottram
* David Yip
* Neil E Hodges
* Moonman
* Normandy
* Verius
* Daniel Supernault

Credits for StatusNet
--------------
Leads
* Evan Prodromou
* Zach Copley

Team
* Earle Martin
* Marie-Claude Doyon
* Sarven Capadisli
* Robin Millette
* Brion Vibber
* James Walker
* Samantha Doherty
* Florian Biree
* Erik Stambaugh
* 'drry'
* Gina Haeussge
* Tryggvi Björgvinsson
* Adrian Lang
* Ori Avtalion
* Meitar Moscovitz
* Ken Sheppardson
* Simon Waters, Surevine
* Joshua Judson Rosen (rozzin)

Translators
-----------
* Siebrand Mazeland
* Tiago 'gouki' Faria
* TranslateWiki.net

A special thanks to the thousands of people who
have tried out GNU social, told their friends, and
built the fediverse network to what it is today.

License help from
-----------------
* Bradley M. Kuhn


code:
<?php
// This file is part of GNU social - https://www.gnu.org/software/social
//
// GNU social is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// GNU social is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with GNU social.  If not, see <http://www.gnu.org/licenses/>.

/**
 * Description of this file.
 *
 * @package   samples
 * @author    Diogo Cordeiro <diogo@fc.up.pt>
 * @copyright 2019 Free Software Foundation, Inc http://www.fsf.org
 * @license   https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
 */

namespace samples;

defined('GNUSOCIAL') || die();

require_once __DIR__ . DIRECTORY_SEPARATOR . 'SampleHandler.php';

/**
 * Description of this class.
 *
 * @copyright 2019 Free Software Foundation, Inc http://www.fsf.org
 * @license   https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
 */
class MySampleClass
{
    /**
     * Constructor for the sample class.
     *
     * @param string $dummy_word just because.
     * @param int $result another just because.
     */
    public function __construct(string $dummy_word = '', ?int $result = null)
    {
        global $demo;
        $this->niceWorld();
    }

    /**
     * How cool is this function.
     *
     * @return string
     */
    public function niceWorld(): string
    {
        return 'hello, world.';
    }
}


code:
GNU social Coding Style
===========================

Please comply with [PSR-12](https://www.php-fig.org/psr/psr-12/) and the following standard when working on GNU social
if you want your patches accepted and modules included in supported releases.

If you see code which doesn't comply with the below, please fix it :)

Strings
-------------------------------------------------------------------------------
Use `'` instead of `"` for strings, where substitutions aren't required.
This is a performance issue, and prevents a lot of inconsistent coding styles.
When using substitutions, use curly braces around your variables - like so:

    $var = "my_var: {$my_var}";

Comments and Documentation
-------------------------------------------------------------------------------
Comments go on the line ABOVE the code, NOT to the right of the code, unless it is very short.
All functions and methods are to be documented using PhpDocumentor - https://docs.phpdoc.org/guides/

File Headers
-------------------------------------------------------------------------------
File headers follow a consistent format, as such:

    // This file is part of GNU social - https://www.gnu.org/software/social
    //
    // GNU social is free software: you can redistribute it and/or modify
    // it under the terms of the GNU Affero General Public License as published by
    // the Free Software Foundation, either version 3 of the License, or
    // (at your option) any later version.
    //
    // GNU social is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    // GNU Affero General Public License for more details.
    //
    // You should have received a copy of the GNU Affero General Public License
    // along with GNU social.  If not, see <http://www.gnu.org/licenses/>.

    /**
     * Description of this file.
     *
     * @package   samples
     * @author    Diogo Cordeiro <diogo@fc.up.pt>
     * @copyright 2019 Free Software Foundation, Inc http://www.fsf.org
     * @license   https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
     */

Please use it.

A few notes:

*  The description of the file doesn't have to be exhaustive.  Rather it's
   meant to be a short summary of what's in this file and what it does.  Try
   to keep it to 1-5 lines.  You can get more in-depth when documenting
   individual functions!

*  You'll probably see files with multiple authors, this is by
   design - many people contributed to GNU social or its forebears!  If you
   are modifying an existing file, APPEND your own author line, and update
   the copyright year if needed. Do not replace existing ones.

You may find `boilerplate.php` useful when creating a new file from scratch.

Paragraph spacing
-------------------------------------------------------------------------------
Where-ever possible, try to keep the lines to 80 characters.  Don't
sacrifice readability for it though - if it makes more sense to have it in
one longer line, and it's more easily read that way, that's fine.

With assignments, avoid breaking them down into multiple lines unless
neccesary, except for enumerations and arrays.

'If' statements format
-------------------------------------------------------------------------------
Use switch statements where many else if's are going to be used. Switch/case is faster

    if ($var == 'example') {
        echo 'This is only an example';
    } else {
        echo 'This is not a test.  This is the real thing';
    }

Do NOT make if statements like this:

    if ($var == 'example'){ echo 'An example'; }

    OR this

    if($var = 'example')
            echo "An {$var}";

Associative arrays
-------------------------------------------------------------------------------
Always use `[]` instead of `array()`. Associative arrays must be written in the
following manner:

    $array = [
        'var' => 'value',
        'var2' => 'value2'
    ];

Note that spaces are preferred around the '=>'.

A note about shorthands
-------------------------------------------------------------------------------
Some short hands are evil:

- Use the long format for `<?php`.  Do NOT use `<?`.
- Use the long format for `<?php` echo. Do NOT use `<?=`.

Naming conventions
-------------------------------------------------------------------------------
Respect PSR-12 first.

- Classes use PascalCase (e.g. MyClass).
- Functions/Methods use camelCase (e.g. myFunction).
- Variables use snake_case (e.g. my_variable).

A note on variable names, etc. It must be possible to understand what is meant
without neccesarialy seeing it in context, because the code that calls something
might not always make it clear.

So if you have something like:

    $notice->post($contents);

Well I can easily tell what you're doing there because the names are straight-
forward and clear.

Something like this:

    foo->bar();

Is much less clear.

Also, whereever possible, avoid ambiguous terms.  For example, don't use text
as a term for a variable.  Call back to "contents" above.

Arrays
-------------------------------------------------------------------------------
Even though PSR-12 doesn't specifically specify rules for array formatting, it
is in the spirit of it to have every array element on a new line like is done
for function and class method arguments and condition expressions, if there is
more than one element.
In this case, even the last element should end on a comma, to ease later
element addition.

    $foo = ['first' => 'unu'];
    $bar = [
        'first'  => 'once',
        'second' => 'twice',
        'third'  => 'thrice',
    ];

Comparisons
-------------------------------------------------------------------------------
Always use symbol based comparison operators (&&, ||) instead of text based
operators (and, or) in an "if" clause as they are evaluated in different order
and at different speeds.
This is will prevent any confusion or strange results.

Use English
-------------------------------------------------------------------------------
All variables, classes, methods, functions and comments must be in English.
Bad english is easier to work with than having to babelfish code to work out
how it works.

Encoding
-------------------------------------------------------------------------------
Files should be in UTF-8 encoding with UNIX line endings.

No ending tag
-------------------------------------------------------------------------------
Files should not end with an ending php tag "?>".  Any whitespace after the
closing tag is sent to the browser and cause errors, so don't include them.

Nesting Functions
-------------------------------------------------------------------------------
Avoid, if at all possible.  When not possible, document the living daylights
out of why you're nesting it.  It's not always avoidable, but PHP 5 has a lot
of obscure problems that come up with using nested functions.

If you must use a nested function, be sure to have robust error-handling.
This is a must and submissions including nested functions that do not have
robust error handling will be rejected and you'll be asked to add it.

Scoping
-------------------------------------------------------------------------------
Properly enforcing scope of functions is something many PHP programmers don't
do, but should.

In general:
*  Variables unique to a class should be protected and use interfacing to
   change them.  This allows for input validation and making sure we don't have
   injection, especially when something's exposed to the API, that any program
   can use, and not all of them are going to be be safe and trusted.

*  Variables not unique to a class should be validated prior to every call,
   which is why it's generally not a good idea to re-use stuff across classes
   unless there's significant performance gains to doing so.

*  Classes should protect functions that they do not want overriden, but they
   should avoid protecting the constructor and destructor and related helper
   functions as this prevents proper inheritance.

Typecasting
-------------------------------------------------------------------------------
PHP is a soft-typed language and it falls to us developers to make sure that
we are using the proper inputs.  Where ever possible use explicit type casting.
Where it in't, you're going to have to make sure that you check all your
inputs before you pass them.

All outputs should be cast as an explicit PHP type.

Not properly typecasting is a shooting offence.  Soft types let programmers
get away with a lot of lazy code, but lazy code is buggy code, and frankly, I
don't want it in GNU social if it's going to be buggy.

Consistent exception handling
-------------------------------------------------------------------------------
Consistency is key to good code to begin with, but it is especially important
to be consistent with how we handle errors.  GNU social has a variety of built-
in exception classes.  Use them, wherever it's possible and appropriate, and
they will do the heavy lifting for you.

Additionally, ensure you clean up any and all records and variables that need
cleanup in a function using try { } finally { } even if you do not plan on
catching exceptions (why wouldn't you, though?  That's silly.)

If you do not call an exception handler, you must, at a minimum, record errors
to the log using common_log(level, message)

Ensure all possible control flows of a function have exception handling and
cleanup, where appropriate.  Don't leave endpoints with unhandled exceptions.
Try not to leave something in an error state if it's avoidable.

Return values
-------------------------------------------------------------------------------
All functions must return a value.  Every single one.  This is not optional.

If you are simply making a procedure call, for example as part of a helper
function, then return boolean TRUE on success, and the exception on failure.

When returning the exception, return the whole nine yards, which is to say the
actual PHP exception object, not just an error message.

All return values not the above should be type cast, and you should sanitize
anything returned to ensure it fits into the cast.  You might technically make
an integer a string, for instance, but you should be making sure that integer
SHOULD be a string, if you're returning it, and that it is a valid return
value.

A vast majority of programming errors come down to not checking your inputs
and outputs properly, so please try to do so as best and thoroughly as you can.

Layout and Location of files
-------------------------------------------------------------------------------
`/actions/` contains files that determine what happens when something "happens":
for instance, when someone favourites or repeats a notice.  Code that is
related to a "happening" should go here.

`/classes/` contains abstract definitions of certain "things" in the codebase
such as a user or notice.  If you're making a new "thing", it goes here.

`/lib/` is basically the back-end.  Actions will call something in here to get
stuff done usually, which in turn will probably manipulate information stored
in one or more records represented by a class.

`/extlib/` is where external libraries are located.  If you include a new
external library, it goes here.

`/plugins/` This is a great way to modularize your own new features.  If you want
to create new core features for GNU social, it is probably best to create a
module unless you absolutely must override or modify the core behaviours.


code:
Submission Checklist
================================================================================
This document serves as a handy checklist for submitted merges and patches to
the GNU social project. Following it isn't a gaurantee a patch will be accepted,
but it will help you avoid common problems.

1. Ensure all code control paths in all functions return a value.

2. Ensure all exceptions are trapped in an exception class, or minimally,
   written to the log with common_log

3. Ensure the coding format standards are adhered to (see coding_standards.md)

4. Ensure that any new class that deals in public data has a corresponding new
   API endpoint.

5. Ensure that all new API endpoints sanitize inputs and outputs properly.

6. Ensure that your version of the code works with PHP 7 on a standard
   LAMP and LEMP stack (Linux+Apache+MariaDB+PHP and Linux+nginx+MariaDB+PHP)

7. If implementing new database functions, ensure they work with MariaDB
   and postgreSQL.

8. Ensure all data that federates does so properly and has mechanisms to
   catch and accomodate for federation transmission failure.

9. Ensure that nothing is left in an error state when it is avoidable.

10. Ensure that all code submitted is properly documented.

11. Ensure that there are no PHP Strict Standards or Parse errors in the code.