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

clouddrive2

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.
挂载网盘,此步骤重要
挂载的目标存储空间需要和alist路径相同,举个例子,alist挂载的网盘存储为 115网盘,那么 cd2也需要是 115网盘,如图,alist中115的存储空间为alist路径那么cd2中也需要挂载115网盘 115网盘 (需要进入存储再点击挂载),挂载点为/CloudNAS。
4.挂载完成后,进入终端,cd到步骤1中挂载/CloudNAS的目录,查看是否有挂载的网盘,如果出现则表示挂载成功。
5.为了后面的转存,最好在网盘中创建一个专门用于转存的文件夹,并且将转存文件夹的缓存设置为40s,存储影片的文件夹缓存设置为0。
四:生成strm文件
1.下载auto_symlink
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
下载MP

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文件。可以通过搜索关键字 超级管理员 快速定位密码位置。)在插件中找到目录监控,监控目录路径可参考路径。为了方便转存,你需要创建一个转存目录,信存入的影片存入到转存目录,经过插件后,会搜刮影片的元数据并且将影片和元数据一起转存到目标目录,然后触发auto_symlink的实时监控,生成新的strm文件。可以访问auto_symlink后台查看日志,是否能够实时生成strm文件。

六:搭建emby-nginx
这个项目是为了让emby能够实现对alist的重定向,不走vps上的流量。如果你需要其他功能,如添加调用外部播放器按钮,可以访问embyExternalUrl项目
1.新建一个emby2Alist文件夹,如mkdir /home/emby2Alist,下载embyExternalUrl,解压后将emby2Alist下的nginx放到新创建的/home/emby2Alist文件夹,此时的目录结构就是/home/emby2Alist/nginx,cd到nginx目录下,运行

emby2alist

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

其中/home/emby2Alist/修改为你创建emby2Alist的路径。
2.修改/nginx/conf.d/constant.js,这里有3处需要修改,分别为embyHostembyApiKeymediaMountPath。embyhost改为emby源地址,api通过emby后台获取,mediaMountPath改为[""]。
3.修改/conf.d/config/constant-mount.js,这里有3处需要修改,分别为alistAddralistTokenalistPublicAddr。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的流量。

相关网站

embyhttps://emby.media/download.html | https://emby.media/docker-server.html
alisthttps://github.com/sbwml/luci-app-alist/releases | https://alist.nn.ci/zh/
Auto_Symlinkhttps://github.com/shenxianmq/Auto_Symlink
MoviePilothttps://github.com/jxxghp/MoviePilot
embyExternalUrlhttps://github.com/bpking1/embyExternalUrl

最后修改:2025 年 04 月 12 日
如果觉得我的文章对你有用,请随意赞赏