网站侧边栏添加随机小姐姐跳舞视频组件
下午不忙,网上闲逛,无意中发现一篇博文,讲解了如何添加随机小姐姐热舞的api教程。
于是便参考教程,给站点侧边栏成功添加了视频组件。
首先,创建两个文件list.php和data.txt(文件名可随便起)
1、list.php
<?php
// 检查请求是否来自浏览器
$browserUserAgents = ['Mozilla', 'Chrome', 'Safari', 'Opera', 'Edge', 'Firefox'];
$userAgent = $_SERVER['HTTP_USER_AGENT'];
$isBrowser = false;
foreach ($browserUserAgents as $browser) {
if (strpos($userAgent, $browser) !== false) {
$isBrowser = true;
break;
}
}
if (!$isBrowser) {
header('HTTP/1.1 403 Forbidden');
die('禁止非浏览器访问!');
}
// 视频文件名所在的文本文件路径
$dataFilePath = __DIR__ . '/data.txt';
// 检查data.txt文件是否存在且可读
if (!file_exists($dataFilePath) || !is_readable($dataFilePath)) {
http_response_code(500);
echo "data.txt 文件不存在或不可读。";
exit();
}
// 读取data.txt文件的所有行到一个数组中
$videoFileLines = file($dataFilePath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
// 检查是否有视频文件名行
if (empty($videoFileLines)) {
http_response_code(404);
echo "data.txt 文件中没有视频文件名。";
exit();
}
// 保存在文件中已经随机选择的视频文件名,避免重复
$logFilePath = __DIR__ . '/selected_videos_list.txt';
// 读取已选视频文件名,如果文件存在
$selectedVideos = [];
if (file_exists($logFilePath)) {
$selectedVideos = file($logFilePath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
}
// 过滤掉已经选择过的视频文件名
$remainingVideos = array_diff($videoFileLines, $selectedVideos);
// 如果剩余的视频文件少于30个,我们就选择所有剩余的视频
if (count($remainingVideos) < 30) {
// 如果剩余的视频少于30个,使用所有剩余的视频
$videosToSelectFrom = $videoFileLines;
} else {
// 否则从剩余的视频中随机选择30个
$videosToSelectFrom = array_slice($remainingVideos, 0, 30);
}
// 随机选择一个视频文件名
$randomLineIndex = array_rand($videosToSelectFrom);
$videoFileName = $videosToSelectFrom[$randomLineIndex];
// 假设视频文件存储在某个固定的URL路径下,这里只是拼接文件名
$videoUrlBase = "https://videos.xxapi.cn/";
$videoUrl = $videoUrlBase . $videoFileName;
// 将已选的视频文件名追加到日志文件
$selectedVideos[] = $videoFileName;
file_put_contents($logFilePath, implode(PHP_EOL, $selectedVideos), LOCK_EX);
//================================= 日志记录 ===================================================
// 获取客户端IP地址的函数
function getClientIP() {
$keys = array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'REMOTE_ADDR');
foreach ($keys as $key) {
if (array_key_exists($key, $_SERVER)) {
if (filter_var($_SERVER[$key], FILTER_VALIDATE_IP)) {
return $_SERVER[$key];
}
}
}
return 'UNKNOWN';
}
// 获取页面地址的函数
function getCurrentUrl() {
$protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$host = $_SERVER['HTTP_HOST'];
$url = $protocol . $host . $_SERVER['REQUEST_URI'];
return $url;
}
$currentUrl = getCurrentUrl();
// 使用函数获取IP地址
$ip = getClientIP();
// 日志文件路径,请使用绝对路径,并放在网站根目录外。
$logFile = __DIR__ . '/list_log.php'; // 日志文件名,改为当前目录下的log.php
$message = "IP: " . $ip . " - 文件名:" . $videoFileName. " - 用户代理: " . $_SERVER['HTTP_USER_AGENT'] . PHP_EOL . "</br>";
// 将变量内容追加到日志文件
$result = file_put_contents($logFile, date('Y-m-d H:i:s') . " - " . $message, FILE_APPEND);
// 错误处理
if ($result === false) {
error_log("Failed to write to log file: " . $logFile);
}
//================================= 日志记录 End ==============================================
// 重定向到视频文件的URL
header("Location: $videoUrl");
exit(); // 确保重定向后脚本停止执行
?>
2、data.txt
587c2cd0e0093b1c.mp4
45e2650310d27f8c.mp4
14a13aabbac8f665.mp4
d9164d03d5d4b96f.mp4
8978f0f1a71ae7c2.mp4
b160bd4d5310fdc0.mp4
e72de3fd15f06826.mp4
9de7285d30fcb217.mp4
e831ef07963b1899.mp4
3c7e57a5edaf0b00.mp4
70e3c74c84175bf6.mp4
614ae5a0b9b2c923.mp4
因有1400+视频,导致篇幅太太太长,故截图一丢丢贴在这里,完整的点击下方链接获取
上传上面两个文件到站点根目录,也可以是某个文件夹下。
然后在外观-小工具-添加自定义html,输入以下代码
<video style="display: block;
width: 100%;
max-width: 430px;
margin: auto;
border-radius: 12px;" autoplay="" muted="" onended="this.src='https://vss.plus/video/list.php'" src="https://vss.plus/list.php">
</video>
保存,刷新网页即可。(其中自定义代码里的网址路径需与上传的list.php和data.txt路径统一)
原文出自:【希米日志】
Vind
我还以为这个小姐姐是你的妹妹或女儿呢我还以为这个小姐姐是你的妹妹或女儿呢。
VSS
@Vind 当然不是 就网络上的美女视频集合
耳朵的主人
API播放视频,这个会不会风险太高,比如API源替换成不穿衣服的呢,这样在你这里展示了。
可以自己做视频源,自己玩,不过带宽需求就大了。
VSS
@耳朵的主人 有道理 那我还是删掉
耳朵的主人
@帅帅鸭 可能别人没我想的这么坏,哈哈,是我小人之心度君子之腹。
VSS
@耳朵的主人 一个大的api平台,按道理不会出现这样的情况,不过当时看到别人这样弄,就想着也折腾一下,折腾完了,感觉也没啥意思了,删掉也无所谓了,博客嘛,不就是折腾嘛
耳朵的主人
@帅帅鸭 嗯嗯,目的就在于折腾,哈哈哈,以前我用爬虫把视频资源都爬下来,然后自建了一个本地资源,后面带宽太大了,放在谷歌存储里,跑起来流量费一个月要两千多美金,实在无用,就关停了。
VSS
@耳朵的主人 一看就是已经实现财务自由的人了,一个月一万多的折腾,像我.life两百多一年的域名都舍不得注册,哈哈哈
耳朵的主人
@帅帅鸭 没有没有,我只是把喝酒的钱省下来实现爱好,哈哈
VSS
@耳朵的主人 不是 你这越说越扎心了 酒钱抵得上咱俩月工资了
耳朵的主人
@帅帅鸭 罪过罪过,我不该。
obaby
怪不得不跳了呢,都怪评论区
VSS
@obaby 跳了好几天了,老跳太晃眼了😂