commit 3ae6a9894d4ba9754002201313041d2202316d9d Author: x Date: Mon Jul 22 16:00:46 2024 +0800 上传文件至 / diff --git a/xVideo b/xVideo new file mode 100644 index 0000000..4f21474 --- /dev/null +++ b/xVideo @@ -0,0 +1,66 @@ +#!/bin/bash + +###############初始化配置区域############################ +#默认使用Linux本地下载工具,若配置该变量则远程调用Windows工具下载 +m3u8DownloadByWin="http://bwg.xyzbeta.xyz:10005" + +#######以下配置请勿随意修改 +#Linux下载工具获取地址 +m3u8ToolDown="https://github.com/llychao/m3u8-downloader/releases/download/v2.2.3/m3u8-linux-amd64" + +##################视频来源地址逻辑处理区域######################## +###hsex.men +function hsex(){ + local CDNURL="cdn.bigcloud.click" + title="$(echo -e ${pageInfo} | grep -o '

.*

' | sed 's/

//;s/<\/h3>//' | sed 's/ //g')" + author="$(echo -e ${pageInfo} | grep -o '
作者:.*
' | sed 's/.*">\(.*\)<\/a><\/div>/\1/' | sed 's/ //g')" + dlUrl=$(echo -e "${pageInfo}" | grep m3u8 | grep -o 'src="[^"]*' | cut -d'"' -f2 | sed 's/hsex.tv/'"${CDNURL}"'/') +} + +###51cg.fun +function 51cg(){ + title="$(echo -e ${pageInfo} | grep post-title | sed -n 's/.*]*>\([^<]*\)<\/h1>.*/\1/p' | sed 's/ //g')" + dlUrl="$(echo -e ${pageInfo} | grep m3u8 | sed -n 's/.*"url":"\([^"]*\)".*/\1/p' | sed 's/\\//g')" +} + +####################视频下载实现区域################################# +function download(){ + if [ -z "${dlUrl}" ]; then + echo -e "未成功获取视频下载地址,终止下载。" && exit 1 + elif [ -z "${title}" ];then + echo -e "未成功获取视频标题,终止下载。" && exit 1 + fi + + if [ -z "${m3u8DownloadByWin}" ];then + #如果为配置Windows下载工具调用地址,则使用Linux下载工具下载 + local downloadTool="$(dirname "$(readlink -f "$0")")/tools/m3u8-linux-amd64" + if [ ! -e "${downloadTool}" ];then + mkdir -p "$(dirname "$(readlink -f "$0")")/tools" + wget -O ${downloadTool} "${m3u8ToolDown}" -q && chmod +x ${downloadTool} || $(echo -e "Linux平台${downloadTool}不存在,终止下载 && exit 3") + fi + ${downloadTool} -u="${dlUrl}" -o="${title}@${author}" -sp="$(dirname "$(readlink -f "$0")")/download" + else + #远程调用Windows下载工具下载 + if telnet $(echo ${m3u8DownloadByWin} | awk -F[/:] '{print $4,$5}') &1 | grep -q "Connection"; then + result=$(curl -s --location --request POST "${m3u8DownloadByWin}/downloadbyurl" --header 'Content-Type: text/plain' -d '{"url":"'${dlUrl}'","name":"'${title}@${author}'"}') + if echo -e ${result} | grep -q "成功";then + echo -e "调用成功:${title}@${author}@${dlUrl}" + else + echo -e "调用失败:${title}@${author}@${dlUrl}\n错误信息:${result}" + fi + else + echo -e "远程下载服务异常,终止下载." && exit 2 + fi + fi +} + +#####################业务逻辑执行区域(主入口)###################### +pageInfo="$(wget --no-check-certificate -qO- ${1})" + +if echo "$1" | grep -q -E "hsex"; then + hsex +elif echo "$1" | grep -q -E "o1liavlsam|kgmijujun|vhl82g"; then + 51cg +fi + +download