这是我家庭媒体库的支线任务,毕竟我的数据库方案也已经七七八八了,之所以搞这个方案和验证,主要是开发的大佬描述的能力太强了,相对原来的cd2/alist+AutoSymlink+Media302方案,省去了AutoSymlink,同时对文件挂载有难度的人来说,门槛降低了许多,我会尽量把我折腾并最终顺利跑起来的步骤记录,按照操作肯定没啥难度的.
0x00 说明
本次实验并不是从零开始的,相反,很多环节都是原来就存在的节点,我们只是把strm生成这个步骤简化了,还可以跟你原来的emby、media302等方案无缝衔接.
0x01 必要准备
很多人之前可能并没有使用python-115
,那么我个人建议,你可以通过学习和了解python-115来快速知道,我们接下来要做的事情.
部署web-302-115-simple
这是开发大佬的高性能简化版302后端,python文件可以在这里找到,拿到这个文件后,可以在你的本地执行验证一下:
1 | python3 web_115_302_simple.py |
你还可以指定服务在那个端口上启动:
1 | python3 web_115_302_simple.py -p 8998 |
建议在同目录放置115的cookie文件,名字设置为115-cookies.txt
就行,里面是字符串格式的Cookie.这样就能在遇到需要验证的时候,自动完成切换.
0x02 部署python-alist
相较于前面的web-302-115-simple的极简部署,python-alist可能更加简单,但是因为依赖的东西可能比较多,我整理成一个脚本,让你看起来只要每次启动这个脚本就行,看起来清爽很多.
先安装一下python-alist:
1 | pip3 install -U python-alist |
再安装一下fuse相关的应用和依赖:
1 | sudo apt install libfuse2 |
如果是非root用户在跑这些应用,可能还需要修改/etc/fuse.conf
,把user_allow_other
前的#
删掉并保存.
然后,整理一下几个参数备用:
1 | alist 服务的地址 |
0x03 写个简单的脚本
脚本就叫alist-fise.sh
,把你准备好的参数,放到我下面的脚本内容中,并保存到alist-fise.sh
:
注意:
- –base-dir 是你在alist里面挂载的115的路径,不一定是/115,根据需要修改;
- –strm-make 前面配置的web-302-115-simple的服务地址
- –open-file 前面配置的web-302-115-simple的服务地址
- 最后一行的–不要删,后面跟着的是你要挂载的目标目录,目录必须存在并且文件夹内是空的
1 | alist 服务的地址 |
然后跑起来吧:
1 | sh alist-fuse.sh |
1 | ubuntu@VM-0-6-ubuntu:~$ sh alist-fise.sh |
检查一下你的挂载目录,是不是文件都来了,是不是媒体文件都变成了同名的strm文件,剩下的就是去emby里面添加对应的媒体库,指向这些目录吧,如果原来你是同结构的strm,那么还可以清空原目录,直接挂载过去,emby都不需要重新设置.
0x04 问题待优化
目前媒体元数据的图片这些也是走302连接,但是因为fuse2的问题,可能存在图片显示不完整问题,开发大佬表示已经在优化了,后面解决了如果部署步骤有更新我会说明.