在使用nas下载pt后,由于pt保种需要文件夹名以及文件夹下所有内容都维持不变,所以一旦文件命名不符合常规规范,我们使用的影音播放器的搜刮器就可能无法获取影音信息。
因此我们最好可以使用不同的文件夹区分pt下载和nas共享,并且在nas文件夹下建立所有的pt文件夹下的影音内容的软链接,这样就算命名不规范,我们也可以修改软链接的名称。
我们建立软链接首先需要明白影音刮削器的工作原理
文件类型 | 识别项目 |
---|---|
电影 | 电影文件的名称 |
电视剧 | 电视剧文件夹的名称 |
而刮削器所要求的电影名称规范为电影名.年份.[视频信息.发布者].视频格式
例如What.Did.You.Eat.Yesterday.SP.2020.Paravi.WEB-DL.1080p.H264.AAC-AREY.mp4
其中视频信息
和发布者
都可以省略,而如果年份
省略了则可能识别错系列电影的第几部
而对于电视剧而言,命名规则和上面一样,但是是需要对其文件夹命名
其次,对于识别电视中的每一集的命名格式为[电视剧名]S01E01.[其他信息].视频格式
即需要明确第几季第几集,其中电视剧名可以省略,因为电视剧是通过文件夹的名称来识别的
并且如果电视剧只有一季那么S01可以省略,如果电视剧只有一季E01需要变成EP
首先我们需要明确搜刮器的识别方法,我们再说如何建立软链接
由于pt下载大部分是会新建一个子文件夹,不论是电影、电视还是其他,所以
- 映射
下载文件夹
和共享文件夹
,为了方便扩展,该映射为多对一关系 - 默认先建立
文件夹
的软链接,如果不行则转3 - 删除该文件夹的软链接,递归新建真实文件夹,并将下面所有文件都建立软链接
- 额外说明
- 由于递归软链接的文件夹没有映射,所以需要在数据库中指定其映射关系,方便自动跳转
- 防止递归软链接成环或者其他问题,当建立新的软链接时,限制原路径不能在数据库的目标路径列出现
- 递增软链接
我们在追剧的时候可能会在下载文件夹中递增新的电视剧集,如果我们此时是递归软链接,新的电视剧集不会被软链接,所以我们需要递增地建立新的软链接 - 定时自动软链接
我们肯定不可能每个都手动添加软链接,所以需要一个自动程序,但是采用那种软链接以及哪些文件夹需要被排除等都可以额外配置 - 批量修改文件名
这个非常重要,我们可以直接使用linux的rename
程序,如果不会可自行学习,并且提供预览 - webUI中添加直达功能
目前构思左右两边两个框,左边显示下载文件夹,右边显示共享文件夹,每次切换共享文件夹可以一键映射回左边的原下载文件夹
- 相同文件夹下的文件的链接
由于只提供了默认软链接方法,所以名字会重复,不能在同文件夹下添加 - 文件移动 这个实现简单,但是希望做成UI
需要一个前端docker: mopip77/symbol-link-mapper-web
, 其public path为link
在此之前还需要建立对应数据库和表,sql文件在resources/db/migration
下
由于后台程序需要对整个服务器文件系统进行管理,所有该后台程序需要在服务器以jar包方式执行,需要参数为springboot所需要的四个数据库配置和运行端口
- spring.datasource.url=jdbc:mysql:///symbol_link_mapper
- spring.datasource.username=root
- spring.datasource.password=xxxx
- server.port=3009
分别启动后,处理好对应nginx即可