24年11月份的时候,115网盘开始了大规模风控。在这之前,可以使用infuse+alist+115的方案,但是因为infuse每次都需要扫盘,这种行为会造成115风控,所以从24年11月份开始,该方案已不再使用。
应对这一问题,一种解决方法就是入Nas(),另外一种方案就是使用emby + strm + alist +emby2alist。方案可能有点复杂,但是折腾折腾还是可以弄出来的。
需要准备的一些东西(看个人情况准备):
1.vps(用来搭建emby、nginx等)
2.软路由(用来搭建alist)
3.115网盘账号(其他盘也可,应该
流程:
一:搭建emby
ps.正好有闲置的小鸡,所以就把emby搭建在小鸡上了,如果没有小鸡的话,在软路由上搭建应该也可以,但是没有实测过。。
1.emby官网分为套件版和docker版,我使用的是套件版,更加方便一些。
根据自己vps的发行版本lsb_release -a
,在官网选择适合自己的版本下载(可以使用wget)、安装即可。
2.开发防火墙8096端口,浏览器输入vps ip + 8096,能正常访问emby即可。
二:搭建alist
本人软路由配置:斐讯n1盒子 + openwrt 6.1.32-flippy-83+
1.终端输入命令opkg print-architecture
查看架构,进入luci-app-alist(此为软路由版本alist)选择合适自己架构的alist压缩文件,解压后会得到三个文件
2.进入openwrt -> 系统 -> 软件包 -> 过滤器输入alist,如果有,将查找到的三个alist文件全部移除,没有就跳过此步骤。
3.进入openwrt -> 系统 -> 文件传输 -> 选择文件,将解压出来的三个alist文件依此上传,防火墙开启5244端口。浏览器输入软路由 ip + 5244 ,能够正常访问则说明安装成功。
4.添加存储可参考官方文档
三:挂载网盘到vps/软路由上
ps.cd2,rclone都可,在此演示cd2
1.docker安装cd2
docker run -d \
--name clouddrive2 \
--restart unless-stopped \
--env CLOUDDRIVE_HOME=/Config \
-v /opt/CloudNAS:/CloudNAS:shared \
-v ~/cloudnas/Config:/Config \
-v /opt/CloudNAS:/media:shared \
-p 19798:19798 \
--privileged \
--device /dev/fuse:/dev/fuse \
cloudnas/clouddrive2
挂载路径根据自己情况设置(挂载路径在后面需要用到),浏览器输入ip + 19798,进入cd2页面表示安装成功。
2.登录网盘(非VIP只能挂载一个,不过也够用了),左上角添加网盘,根据页面提示登录网盘账号。
3.
4.挂载完成后,进入终端,cd到步骤1中挂载/CloudNAS的目录,查看是否有挂载的网盘,如果出现则表示挂载成功。
5.为了后面的转存,最好在网盘中创建一个专门用于转存的文件夹,并且将转存文件夹的缓存设置为40s,存储影片的文件夹缓存设置为0。
四:生成strm文件
1.下载auto_symlink,
mkdir -p /home/auto_symlink/config
docker run -d \
--name auto_symlink \
-e TZ=Asia/Shanghai \
-v /opt/CloudNAS:/opt/CloudNAS:rslave \
-v /home/alist/strm_files:/home/alist/strm_files \
-v /home/alist/auto_symlink:/app/config \
-p 8095:8095 \
--user 0:0 \
--restart unless-stopped \
shenxianmq/auto_symlink:latest
其中/opt/CloudNAS为上一步骤中挂载的网盘路径,需要确保左右路径保持一致、/home/alist/strm_files为创建软连接的位置,详细可以访问作者github。安装完成后访问8095端口,能正常访问说明安装成功。
2.登录页面后(默认admin、password),添加同步,为项目起个名称,媒体目录为步骤1中容器内映射网盘的路径,本地目录为步骤1中容器内映射软连接的路径,排除目录可以选择需要转存的网盘路径
ps.首次生成时同步状态可以打上勾,网盘内的资源全部生成后完关闭即可。
3.登录emby源站,来到后台添加媒体库,路径为创建软链接的目录,我这里为/home/alist/strm_files,如图
五:搭建MoviePilot
由于在步骤四中打开了实时监控开关,而cd2实时监控需要会员,所以可以借助MoviePilot这个项目,在这个项目中有实时监控等插件,可以配合auto_symlink的监控使用,以下简称MP。
1.docker下载MoviePilot,
mkdir -p /media/docker/moviepilot/{config,core}
mkdir -p /media/docker/moviepilot/{config,core}
docker run -itd \
--name moviepilot \
--hostname moviepilot \
-p 3000:3000 \
-v /opt/:/media \
-v /opt/moviepilot/config:/config \
-v /opt/moviepilot/core:/moviepilot/.cache/ms-playwright \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-e 'NGINX_PORT=3000' \
-e 'PORT=3001' \
-e 'PUID=0' \
-e 'PGID=0' \
-e 'UMASK=000' \
-e 'TZ=Asia/Shanghai' \
-e 'SUPERUSER=admin' \
-e 'API_TOKEN=建议大于16位的复杂字符串' \
--restart always \
jxxghp/moviepilot:latest
其中
-v /opt/:/media \
/opt/为挂载网盘的路径,这里我写的是/opt/,可以写的更加精确,如/opt/CloudNas/115网盘,具体参数可以查看官方文档,运行成功后可以访问3000端口。2.登录成功后(首次登录密码在日志文件路径为/config对应映射目录下logs/moviepilot.log文件。可以通过搜索关键字 超级管理员 快速定位密码位置。)在插件中找到目录监控,监控目录路径可参考
六:搭建emby-nginx
这个项目是为了让emby能够实现对alist的重定向,不走vps上的流量。如果你需要其他功能,如添加调用外部播放器按钮,可以访问embyExternalUrl项目
1.新建一个emby2Alist文件夹,如mkdir /home/emby2Alist
,下载embyExternalUrl,解压后将emby2Alist下的nginx放到新创建的/home/emby2Alist文件夹,此时的目录结构就是/home/emby2Alist/nginx,cd到nginx目录下,运行
docker run -d \
--name=emby-nginx \
-e PUID=0 \
-e PGID=0 \
-e TZ=Asia/Shanghai \
-v /home/emby2Alist/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /home/emby2Alist/nginx/conf.d:/etc/nginx/conf.d \
-v /home/emby2Alist/nginx/embyCache:/var/cache/nginx/emby \
-v /home/emby2Alist/nginx/log:/var/log/nginx \
--restart=always \
-p 8092:8091 \
nginx:latest
2.修改
/nginx/conf.d/constant.js
,这里有3处需要修改,分别为embyHost
、embyApiKey
和mediaMountPath
。embyhost改为emby源地址,api通过emby后台获取,mediaMountPath改为[""]。3.修改
/conf.d/config/constant-mount.js
,这里有3处需要修改,分别为alistAddr
、alistToken
和alistPublicAddr
。alistAddr和alistPublicAddr改为alist的公网地址即可,如果alist是装在软路由上,可以使用内网穿透。alistToken在alist后台可以找到,需要注意的是,alist的签名需要关闭。4.来到emby源站,随便点击一个影片,找到媒体信息,例如/opt/CloudNAS/115网盘/剧/剧/xxx/xxx/xxx.mkv,接下来访问alist,找到相同的影片,发现路径为/115网盘/剧/剧/xxx/xxx/xxx.mkv,那么/opt/CloudNAS/就是多余出来的部分。修改
/conf.d/config/constant-pro.js
,找到mediaPathMapping,修改第一个数组,为[0, 1, "/opt/CloudNAS", ""],/opt/CloudNAS修改为你emby相对于alist多余出来的部分。5.重启容器,访问8092端口,此时观看的影片都应该为alist重定向后的地址,不消耗vps流量,可以在nginx目录下使用命令
tail -f log/error.log
,随便点击一个影片,如果日志中redirect to后面出现了alist或115相关链接,则说明重定向成功。6.在infuse或者emby添加服务器时,一定要使用emby2Alist这个项目的端口,即8082,否则消耗的是vps的流量。
emby:https://emby.media/download.html | https://emby.media/docker-server.html
alist:https://github.com/sbwml/luci-app-alist/releases | https://alist.nn.ci/zh/
Auto_Symlink:https://github.com/shenxianmq/Auto_Symlink
MoviePilot:https://github.com/jxxghp/MoviePilot
embyExternalUrl:https://github.com/bpking1/embyExternalUrl