首页
关于
留言
友链
电台
壁纸
我的足迹
推荐
知易而行MCP
Search
1
乐橙CMS影视管理系统最全版本
109,277 阅读
2
VIP视频解析破解电影解析模拟破解影视解析
77,795 阅读
3
乐橙CMS影视管理系统4.0.18版本
16,934 阅读
4
新浪图片链接修复教程集合
15,125 阅读
5
反调试代码调试死机代码禁止F12代码
12,093 阅读
语言
PHP
Java
Go
JavaScript
CSS
Vue
资源教程
网络杂谈
技术文章
影视交流
软件工具
Mac
知易而行
登录
Search
标签搜索
PHP
AI
LINUX
微信
MYSQL
OpenClaw
ESP32S3
小智AI
P2P
JS
破解
乐橙cms
支付
uniapp
人工智能
技术趋势
智能玩具
公众号
typecho
xshell
子沐~
累计撰写
121
篇文章
累计收到
372
条评论
首页
栏目
语言
PHP
Java
Go
JavaScript
CSS
Vue
资源教程
网络杂谈
技术文章
影视交流
软件工具
Mac
知易而行
页面
关于
留言
友链
电台
壁纸
我的足迹
推荐
知易而行MCP
搜索到
56
篇与
的结果
2019-03-31
Linux网络优化加速一键脚本
在之前的文章里我说过:对于出口带宽,我们常常采用BBR,锐速等TCP加速软件来争夺带宽提高自己的速度。但是原版的BBR并没有太多侵略性,在这个人人都用TCP加速的大环境下,BBR的加速功效就略显不足了。loc的大佬专门改进了下这个BBR,使BBR具有了侵略性。最近我也连续购买了几个服务器,每次都手动搭建,感觉到十分麻烦,干脆写个脚本吧。由于是第一次接触shell脚本这一方面的内容,写起来感觉十分吃力,且与一般的高级语言语法差别有些大。所有有些不足的地方欢迎在下方评论反馈。同时也加入了锐速一键换内核,锐速一键安装,自动根据vps情况优化锐速参数,一键优化内核参数。也可以在锐速,BBR,BBR魔改版中自由切换。 wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" chmod +x tcp.sh ./tcp.sh脚本说明[scode type="green"]支持系统Centos 6+ / Debian 7+ / Ubuntu 14+BBR魔改版不支持Debian 8[/scode]如果在删除内核环节出现这样一张图注意选择NO根据自己需求操作,重启后再使用./tcp.sh命令接着操作脚本会自动检测安装的情况,请注意脚本菜单下的状态检测即可。
2019年03月31日
2,375 阅读
0 评论
0 点赞
2019-03-31
P2P云点播
P2P对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。“Peer”在英语里有“对等者、伙伴、对端”的意义。因此,从字面上,P2P可以理解为对等计算或对等网络。国内一些媒体将P2P翻译成“点对点”或者“端对端”,学术界则统一称为对等网络(Peer-to-peer networking)或对等计算(Peer-to-peer computing),其可以定义为:网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源、服务和内容的提供者(Server),又是资源、服务和内容的获取者(Client)。在P2P网络环境中,彼此连接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,无主从之分,一台计算机既可作为服务器,设定共享资源供网络中其他计算机所使用,又可以作为工作站,整个网络一般来说不依赖专用的集中服务器,也没有专用的工作站。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求做出响应,提供资源、服务和内容。通常这些资源和服务包括:信息的共享和交换、计算资源(如CPU计算能力共享)、存储共享(如缓存和磁盘空间的使用)、网络共享、打印机共享等。简单的说,P2P就是直接将人们联系起来,让人们通过互联网直接交互。P2P使得网络上的沟通变得容易、更直接共享和交互,真正地消除中间商。目前P2P点播的P2P环境将由WebTorrent实现,尽可能的通过WebRTC进行对等传输,H5的对等网络P2P环境诞生。<?php echo 111;?>
2019年03月31日
1,980 阅读
0 评论
0 点赞
2019-03-28
根据浏览器判断微信还是支付宝
<?php //判断是否微信浏览器 function isWechat(){ if(strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger') !==false){ return true; }else{ return false; } } //判断是不是支付宝 function isAlipay() { if (strpos($_SERVER['HTTP_USER_AGENT'], 'AlipayClient') !== false) { return true; }else { return false; } } ?>
2019年03月28日
1,678 阅读
0 评论
1 点赞
2018-09-11
PHP代码网站对接公众号,实现自动回复
<?php // -----可配置区域开始------------- //微信令牌,请与微信公众号后台同步 define("TOKEN", "weixin"); //解析地址 define("API", "你的解析地址"); //显示数量 define("NUM", "5"); //公众号名称 define("TITLE", "橙子影视"); //默认图片 define("PIC", "默认图片地址"); //留言本地址 define("BOOK", "留言本地址"); // -----可配置区域结束------------- $wechatObj = new wechatCallbackapiTest(); $wechatObj->valid(); class wechatCallbackapiTest { public function CheckUrl($url) { return preg_match('/(http|https|ftp):\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is',$url); } public function valid() { $echoStr = $_GET["echostr"]; if($echoStr==""){ $this->responseMsg(); }elseif($this->checkSignature()){ echo $echoStr; exit; } } public function responseMsg(){ $postStr = addslashes(file_get_contents('php://input')); if (empty($postStr)){exit("你好!请关注【".TITLE."】微信公众号获取服务");} $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $time=$postObj->CreateTime; $keyword = trim($postObj->Content); $event = $postObj->Event; $textTpl = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content></xml>"; $newsTpl = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime> <MsgType><![CDATA[news]]></MsgType> <ArticleCount>1</ArticleCount><Articles><item><Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description><PicUrl><![CDATA[%s]]></PicUrl><Url><![CDATA[%s]]></Url></item></Articles></xml>"; switch($postObj->MsgType){ case 'event': if($event == 'subscribe'){ //关注后的回复 $contentStr = "欢迎关注".TITLE."\r\n本公众号提供在线影视观看,免广告看VIP视频,持续关注,精彩多多。\r\n输入格式:\r\n 1.输入电影名,如: 西游记 即可在线观看!\r\n2.输入视频网址,支持爱奇艺,优酷,腾讯等主流视频网站免VIP播放。\r\n3.回复数字:\r\n 【0】 显示帮助\r\n 【1】打开留言板"; $msgType = 'text'; $textTpl = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $textTpl; break; } case 'text': //输入文字 if(preg_match('/[\x{4e00}-\x{9fa5}]+/u',$keyword)) { $result = file_get_contents(API."/api.php?tp=json&wd=".$keyword); $result= json_decode($result,true); if($result && $result["success"]){ $txt .="恭喜,成功找到视频,请点击播放:\r\n\n"; $i=1; foreach( $result["info"] as $row){ $title = $row['title']; $url=API."/?wd=".urlencode($title)."&id=".$row['id']."&flag=".$row['flag']."&type=".$row['type']; $url=self::getContentLink($url); $pic= $row['pic']; $txt .= "<a href='".$url."'>·".urldecode($title)."</a>\r\n\n"; $i++; if($i>NUM){break;} } $contentStr = $txt.'<a href="'.API."/?wd=".$keyword.'">【更多】...</a>'; $msgType = 'text'; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; } else{ //没有查找到的时候的回复 $title = "资源未找到,点击图片留言反馈! "; $des1 =""; //图片地址 $picUrl1 =PIC; //跳转链接 $url=self::getContentLink(BOOK); $resultStr= sprintf($newsTpl, $fromUsername, $toUsername, $time, $title, $des1, $picUrl1, $url) ; echo $resultStr; } //其他 }else if($this->CheckUrl($keyword)){ $title = '点击开始播放'; $des1 =""; //图片地址 $picUrl1 =PIC; //跳转链接 $url=API."/?url=".$keyword.""; $url=self::getContentLink($url); $resultStr= sprintf($newsTpl, $fromUsername, $toUsername, $time, $title, $des1, $picUrl1, $url) ; echo $resultStr; }else if($keyword=="0"){ $contentStr = "欢迎关注".TITLE."\r\n本公众号提供在线影视观看,免广告看VIP视频,持续关注,精彩多多。\r\n输入格式:\r\n 1.输入电影名,如: 西游记 即可在线观看!\r\n2.输入视频网址,支持爱奇艺,优酷,腾讯等主流视频网站免VIP播放。\r\n3.回复数字:\r\n 【0】 显示帮助\r\n 【1】打开留言板"; $msgType = 'text'; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; }else if($keyword=="1" ){ $title = '点击打开留言板'; $des1 =""; //图片地址 $picUrl1 =PIC; //跳转链接 $url=self::getContentLink(BOOK); $resultStr= sprintf($newsTpl, $fromUsername, $toUsername, $time, $title, $des1, $picUrl1, $url) ; echo $resultStr; }else{ $contentStr = "输入格式:\r\n 1.输入电影名,如: 西游记 即可在线观看!\r\n2.输入视频网址,支持爱奇艺,优酷,腾讯等主流视频网站免VIP播放。\r\n 3.回复数字:\r\n 【0】 显示帮助\r\n 【1】打开留言板 "; $msgType = 'text'; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; }; break; default: break; }// switch end } private function checkSignature(){ // you must define TOKEN by yourself if (!defined("TOKEN")) { throw new Exception('TOKEN is not defined!'); } $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); // use SORT_STRING rule sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } } private function getContentLink($url){ $api="http://api.t.sina.com.cn/short_url/shorten.json?source=2815391962&url_long="; $result = file_get_contents($api.$url); $result= json_decode($result,true); return $result[0]["url_short"]; } }
2018年09月11日
1,744 阅读
0 评论
0 点赞
2017-10-16
乐视视频解析源码,VIP影片需要提供账号
<?php $id = Le::parse($url); $video_info = Le::parseVideoUrl($id); echo json_encode($video_info); /** * */ class Le { public static function parse($url) { preg_match('#vplay/(.*?).htm#',$url,$ids); if ($ids[1]) { $name = "LE-".md5($ids[1]); }else{ $name = "LE-".md5($url); } if (file_exists(NAME_PATH.$name)) { $data = json_decode(file_get_contents(NAME_PATH.$name),true); $pay = $data['pay']; $vid = $data['vid']; $title = $data['title']; $poster = $data['poster']; }else{ $content = self::curl($url); preg_match('#vid: (.*?),#',$content,$vids); preg_match('#title:"(.*?)",#',$content,$titles); preg_match('#videoPic:"(.*?)",#',$content,$pics); preg_match('#isPay: (.*?),#',$content,$isPay); $vid = $vids[1]; $title = $titles[1]; $poster = !empty($pics[1]) ? str_replace('320_200','640_320',$pics[1]) : ''; $pay = $isPay[1];//是否付费 file_put_contents(NAME_PATH.$name, json_encode(array("vid"=>$vid,"pay"=>$pay,"title"=>$title,"poster"=>$poster))); } return $vid; } public static function parseVideoUrl($vid){ $time = number_format(microtime(true),3,'.',''); $tkey = self::getMmsKey($time); $tss = GlobalBase::is_ipad() ? "no" : "ios"; $splatid = GlobalBase::is_ipad() ? 107 : 105; $domain = GlobalBase::is_ipad() ? 'm.le.com' : 'www.le.com'; $source = GlobalBase::is_ipad() ? '1001' : '1000'; //$url = "http://player-pc.le.com/mms/out/video/playJson?id={$vid}&format=1&tkey={$tkey}&domain=www.le.com&dvtype=1000®ion=cn&accessyx=1&platid=3&splatid=304&source=1000&tss=no"; $url = "http://player-pc.le.com/mms/out/video/playJson?id={$vid}&platid=1&splatid={$splatid}&format=1&tkey={$tkey}&domain={$domain}&dvtype=720p&devid=70A6E0A1FB93DA437B79DA594B3C9D03B428043B®ion=cn&source={$source}&accessyx=1&tss={$tss}";//&tss=tvts $data = self::curl($url); //print_r($data);exit; $content = json_decode($data,true); $playurl = $content["msgs"]["playurl"]; $point = $content["msgs"]["point"]; $hot = $point["hot"]; $seek = $point["skip"][0]; $pic = $playurl["picAll"]["640*320"]; $domains = array("http://play.g3proxy.lecloud.com","http://bplay.g3proxy.lecloud.com","http://g3.letv.com"); $domain = $domains[0];//$domains[mt_rand(0,count($domains)-1)]; $dispatch = $playurl["dispatch"]; $duration = $playurl["duration"]; foreach ($dispatch as $key => $value) { switch ($key) { case '350':$def = "流畅";break; case '1000':$def = "超清";break; case '1300':$def = "原画";break; case '720p':$def = "720P";break; case '1080p':$def = "1080P";break; } $vurl = $domain.$value[0];//self::getVideoUrl($domain.$value[0]."&format=1&expect=3&sign=letv"); //&format=1为json &format=1为xml preg_replace("#/vod/v2/#","/ if (GlobalBase::is_ipad()) { if($key =="1000"){ $videoinfo['code'] = 200; //$videoinfo['type'] = 'le'; //$videoinfo['play'] = 'h5mp4'; $videoinfo["data"]["url"] = $vurl; return $videoinfo;exit; } }else{ if ($key == '1300' && $vurl != '') { $fdata[0]['url'] = $vurl; $fdata[0]['def'] = '原画'; } if ($key == '1080p' && $vurl != '') { $fdata[1]['url'] = $vurl; $fdata[1]['def'] = '1080P'; } if ($key == '1000' && $vurl != '') { $fdata[2]['url'] = $vurl; $fdata[2]['def'] = '超清'; } if ($key == '720p' && $vurl != '') { $fdata[3]['url'] = $vurl; $fdata[3]['def'] = '720P'; } if ($key == '350' && $vurl != '') { $fdata[4]['url'] = $vurl; $fdata[4]['def'] = '流畅'; } } } for ($i=0; $i <= 10 ; $i++) { if ($fdata[$i] == '') {continue;} $key_arrays[]=$fdata[$i]; } $videoinfo['code'] = 200; $videoinfo['poster'] = $img; $videoinfo['name'] = $video_info["coreVideoInfo"]["videoName"]; $videoinfo['play'] = ''; $videoinfo["data"]["video"]["file"] = $key_arrays[0]['url']; $videoinfo["data"]["video"]["type"] = "video/m3u8"; return $videoinfo; } public static function curl($url,$cookie="") { $params["ua"] = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"; $params["cookie"] = $cookie; return GlobalBase::curl($url,$params); } //==================================================以下代码不需要修改========================================================== /** * [getVideoUrl 获取视频最终地址] * @param [type] $url [description] * @return [type] [description] */ private static function getVideoUrl($url){ $data = GlobalBase::curl($url); $content = json_decode($data,true); $location = $content["location"]; $nodelist = $content["nodelist"]; $vurl = $nodelist[mt_rand(0,count($nodelist)-1)]["location"]; return $location; } //========================================= 方式二 ================================================= /** * [getMmsKey 获取tkey] * @param [type] $e [时间] * @return [type] [description] */ private static function getMmsKey($e) { $t = 185025305; $r = 8; $n = $e; $n = self::rotateRight($n, $r); $o = self::s2v("O",$n, $t); return $o; } private static function rotateRight($e, $t) { for ($r, $n = 0; self::s2v("g",$t, $n); $n++){ $r = self::s2v("o",1,$e); $e >>= 1; $r <<= 31; $e += $r; } return $e; } private static function s2v($k,$y,$r){ switch ($k) { case 'D':return $y | $r;break; case 'd':return $y % $r;break; case 'O':return $y ^ $r;break; case 'k':return $y < $r;break; case 'J':return $y >> $r;break; case 'R':return $y === $r;break; case 'g':return $y > $r;break; case 'o':return $y & $r;break; case 'l':return $y !== $r;break; case 'L':return $y != $r;break; case 'a':return $y - $r;break; case 'u':return $y == $r;break; case 'e':return $y << $r;break; } } } ?>
2017年10月16日
1,756 阅读
0 评论
0 点赞
2017-08-31
锁定DNS不被更改
最近在修改VPS的DNS后,经常出现重启后就恢复原来的DNS。简单搜索一下,发现主要是因为设置通过DHCP来获取IP地址、网关、Dns等信息,每次重新从网卡出获取DNS并且写入到/etc/resolv.conf的文件中。看了网上的修改方法大多都是修改eth0的网卡配置,但其实不用那么麻烦,只需要给/etc/resolv.conf添加只读属性,即可解决。修改/etc/resolv.conf文件后执行:chattr +i /etc/resolv.conf如果想修改请先执行:chattr -i /etc/resolv.conf
2017年08月31日
2,075 阅读
0 评论
0 点赞
1
...
5
6