
前提条件
有大容量的阿里云盘并且开启会员和高速流量(劝退),并且要购买clouddrive2会员,有一台2C4G以上配置的vps机器,物质成本大约600元/年。另外有大量额外的时间成本,不如直接购买影视VIP方便,还是老老实实买NAS吧,坑大!!!
流程图 & 原理介绍——编辑中

通过 alist 将 阿里云 网盘资源转成可以通过网络编辑和管理 webdav 协议。
通过 clouddrive2 将 webdav 协议的资源挂载到本地硬盘
embyserver 读取、刮削、入库 「2」 挂载好的资源
安装 nginx 实现对访问 embyserver 的流量进行转发、重写。将: 静态资源转发到 embyserver 服务上,视频资源的访问直接转发到 alist,从而利用 alist 的 302 转发实现直接访问网盘资源。(如图,少走了 alist -> webdav -> rclone -> emby 的过程,实现不走主机流量,直连网盘)
安装
测试服务器: 阿里云服务器测试环境: 纯 docker
建议跟着我的步骤来,打开一个记事本,记录所有教程中要求记下的值(我会以红色标记)
docker run -d --restart=always -v /home/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e LMASK=022 --name=alist xhofe/alist:latest
设置密码
docker exec -it alist ./alist admin set password
记录 alist 帐号密码,示例: admin, password
访问 http://外网ip:5244, 登录管理后台,添加 115 网盘,按需配置,对配置项不太理解的朋友建议直接抄我的
记录: alist 外网地址,示例: http://119.119.119.119
115网盘.png记录 alist token 值,示例: alist-56aed914-dc75-4exxxxx
alist.png
记录 alist 内网 IP 地址,示例: 172.17.0.2
docker inspect –format=”{{.NetworkSettings.Networks.bridge.IPAddress}}” alist
待编辑待编辑待编辑
# 如果你只想通过 nginx 反代后的访问可以不开端口
docker run -d --restart=always --name emby -p 8096:8096 -e TZ=Asia/Shanghai -e PUID=0 -e PGID=0 -v /home/emby:/config --volume /mnt/alist:/mnt/alist:shared emby/embyserver:latest
记录 embyserver 的内网地址,示例: 172.17.0.3
docker inspect --format="{{.NetworkSettings.Networks.bridge.IPAddress}}" emby
创建 & 记录 embyserver 的 APIKEY,示例: a159ebxxxxxx
访问 http://外网ip:8096, 初始化 emby,生成并记录 embyserver 的 API KEY

其他配置
关闭转码等

安装 nginx
生成配置文件
mkdir /home/nginx && docker run -d –name nginx registry.cn-shenzhen.aliyuncs.com/hicane/emby-nginx:latest&& docker cp nginx:/etc/nginx/conf.d/constant.js /home/nginx/constant.js && docker stop nginx && docker rm nginx
修改配置
在 /home/nginx 目录下,有一个 constant.js 文件,按需修改
nginx配置.png
创建 & 运行容器
docker run -d -p 8097:80 --name nginx -v /home/nginx/constant.js:/etc/nginx/conf.d/constant.js -v /home/nginx/embyCache:/var/cache/nginx/emby registry.cn-shenzhen.aliyuncs.com/hicane/emby-nginx:latest
播放
网页版
我这里网页版一直播放不成功,不过 nginx 脚本作者说可以通过安装 modify header 解决跨域问题来播放
[
{
“alwaysOn”:true,
“respHeaders”:[
{
“enabled”:true,
“name”:”Access-Control-Allow-Origin”,
“value”:”*”
}
],
“shortTitle”:”1″,
“title”:”CORS Support”,
“urlFilters”:[
{
“enabled”:true,
“urlRegex”:”*.115.com”
}
],
“version”:2
}
]
亲测无效,不知是哪里出了问题,有需要的可以测试一下
modify header1.pngmodify header2.pngmodify header3.png
客户端
需要注意的是,要连接的是 nginx 的端口号,而不是 embyserver 的端口号
client.png经测试,客户端是走的 阿里云盘 直链,播放速度可达最大带宽(我的测试服务器带宽只有 5Mbps)
