云播系统一条龙服务 篇一:系统搭建+资源下载
前言:
本系列是一个基于网盘系统的自建媒体服务器攻略,包含资源搜索、下载、刮削、整理、上传、字幕搜索、网盘播放。
篇幅过长,拆分成几个部分。分享搭建填坑记录希望对大家有所帮助
宿主机选择
传统NAS(unraid、群晖、PVE)+内网穿透
VPS
本地NAS的优势是方便扩展硬盘,VPS自带公网IP,在线率也有保证。
不过不管VPS还是NAS接入网盘实现混合存储是趋势
本文以国内VPS为宿主机,常规linux X64系统
网盘挂载阿里云+115实现硬盘扩容
资源下载
资源检索
PT(玩PT的都是大佬,这里就不介绍了)
jacket索引PT+BT,文章也较多也不重复介绍了
油猴脚本—豆瓣资源下载大师
易用性和资源来讲肯定是PT+jacket更好
轻量使用推荐豆瓣资源下载大师
可以在豆瓣页面自动检索对应资源点击跳转下载即可
可以在豆瓣页面自动检索对应资源点击跳转下载即可
下载工具
qbittorrent(全载推送)
115优化大师离线推送
aria2
目前影视资源绝大部分是P2P资源,所aria2可以不安装
qbittorrent建议安装中国优化版
在国内无法访问github 所以要等几分钟才能访问WEBUI
docker run
--name=qbittorrent
-e WEBUI_PORT=8080
-e TZ=Asia/Shanghai
-p 6881:6881
-p 6881:6881/udp
-p 8080:8080
-v /配置文件位置:/config
-v /下载位置:/downloads
--restart unless-stopped
superng6/qbittorrent:latest
输入 docker logs qbittorrent 查看默认密码
qbittorrent是有一个缺点是不能像aria2那样远程推送
所以写了一个简单脚兼容rpc推送下载任务
这里qbituser qbitpasswd 对应用户名和密码
savepath 下载目录
http://172.17.0.1:9080 修改成对应IP端口
run(app, host="0.0.0.0", port=6800, reload=False) 这里的端口修改rpc成监听端口
依赖 pip3 install fastapi uvicorn python-qbittorrent
from fastapi import FastAPI, HTTPException, Request
from uvicorn import run
import json
from qbittorrent import Client
app = FastAPI()
qbituser = 'admin'
qbitpasswd = 'bilibili'
savepath = '/downloads'
qb = Client('http://172.17.0.1:9080/', verify=False)
qb.login(qbituser, qbitpasswd)
@app.post("/jsonrpc")
async def process_jsonrpc(request: Request):
try:
data = await request.body()
json_data = json.loads(data.decode('utf-8'))
method = json_data.get("method")
params = json_data.get("params", [])
if method == "aria2.addUri" and len(params) == 2:
token, magnet_links = params
if isinstance(token, str) and token.startswith("token:"):
token = token[len("token:"):]
if isinstance(magnet_links, list) and all(isinstance(link, str) for link in magnet_links):
if token == qbitpasswd:
qb.download_from_link(magnet_links, savepath=savepath)
return {"status": "success"}
else:
raise HTTPException(status_code=400, detail="Invalid 'params' format")
else:
raise HTTPException(status_code=400, detail="Invalid 'token' format")
else:
raise HTTPException(status_code=400, detail="Invalid JSON-RPC request")
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
if __name__ == "__main__":
run(app, host="0.0.0.0", port=6800, reload=False)
推送使用油猴脚本 全载—设置—添加自定义配置
注意修改对应IP和token,保存后刷新网页就可以用了
p:http://192.168.32.1:6800/jsonrpc?id=$random&jsonrpc=2.0&method=aria2.addUri¶ms=["token:bilibili",["$url"]]@@Aria2RPC@@@@@@df2a00
主力使用115离线,不过短时间下载过多会触发验证
有时候磁力链的地址不能显示下载按钮
可以按按alt+x触发资源嗅探
比如在音范丝这种网站不需要下拉网页直接嗅探资源更快捷
如何开机自动运行py脚本需要自行解决
如果觉得操作困难也不用怕
回头会有整合包
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
塞壬
校验提示文案
塞壬
校验提示文案