跳转到内容

Quark-auto-save+Smartstrm,追剧追综艺,秒入库丝滑体验

原链接:https://zhuanlan.zhihu.com/p/1943376528730756600

作者:SunnyD(知乎)

前言

大家好,我是桑尼,一个 0 程序基础却爱玩 nas 的小白,今天跟大家分享 Cp0204 大佬的宝藏 docker 项目 Quark-auto-save+Smartstrm,让你在没有"私人资源站"的情况下自动追剧、丝滑建立自己的影视库。

项目原地址,请大家去关注原作者并打上 star,cp0204 大佬是非常耐斯的大佬,大家支持支持哈。

一、需求分析

众所周知,现在追个剧追个综艺可难了:

  1. 国内三大运营商对 pcdn、"私人资源站"等大流量上传尤其是跨省流量的管理越来越严格,一不小心触发风控轻则限速重则收回公网 ip 甚至封号查水表,加上"私人资源站"平台的考核任务,让很多小白望而却步;

  2. 另一方面,很多影视节目命名混乱,动辄先导片、精编版、幕后花絮等等一堆乱七八糟的文件导致转存时痛苦万分,且容易剧集编号混乱与刮削源产生错误,导致媒体库彻底混乱。

  3. 另外,硬盘一日一涨,nas 里的空间岌岌可危。

天下苦之久矣!

Quark-auto-save+Smartstrm,完美解决了这些问题,自动搜索、自动批量处理文件(筛选+重命名)、定时自动转存、自动生成 strm 文件,然后自动刮削和入库,玩 nas 的老鸟,都知道这里面的门道有多深!

二、准备工作

科普:strm 是什么?strm 可以理解成一个网盘视频文件的快捷方式,记录着这个网盘文件的私密播放地址,可以被一些软硬件直接读取播放,strm 解决了几个问题:

  1. 节省本地硬盘空间,只要记录个播放地址就行了
  2. 节省家庭的上传带宽,如果你设置好 302,那么你在外边用手机看这个资源的时候,就可以直接从网盘读取视频数据了,就不占用家里的上传带宽了
  3. 刮削等动作在本地进行,降低网盘操作频率,防止被风控

准备

  1. 一个基础的支持 docker 的设备和环境,可以是云主机、小主机、成品 nas、自组 nas,都可以,只要能部署 docker 就行,这两个项目将会使用 compose 形式进行部署,请提前了解你的设备的 compose 部署方式以及本地文件的路径等。另外请准备好拉取 docker 镜像的网络环境或者加速器~

  2. 一个夸克账号,如果你是淘宝 88 会员,那么会同步包含 88vip 的夸克账号,基本已经够用了(不是 88 会员的话可以去一些海鲜市场购买),如果你有原片 4k 等高清需求,买个夸克的 svip 也不是不行,夸克的资源相对还不错,速度也很稳定

  3. 自建影视库的其他基础,比如公网 ip、反向代理、emby/jellyfin/plex 等影视库,本文不做更多赘述,请查看其他教程

三、容器部署

建议 Quark-auto-save 和 Smartstrm 两个容器分开部署,主要是方便与其他容器如 emby、mp 等联动。

1. Quark-auto-save(后面简称为 qas)

在你 docker 的永久化目录下建立 "quark-auto-save" 的文件夹(这个名字可以随便写自己知道是什么就行,比如我写的是 quarksave),并在里面建立一个 config 的文件夹(这个最好不要改)。

Compose 代码

yaml
services:
  quark-auto-save:
    image: cp0204/quark-auto-save:latest
    container_name: quark-auto-save
    ports:
      - 5005:5005 # 冒号左侧端口可改,跟本地 host 里的端口不冲突即可
    restart: unless-stopped
    environment:
      WEBUI_USERNAME: "admin" # 管理账户名,自定义
      WEBUI_PASSWORD: "password" # 管理账户密码,自定义
    volumes:
      - ./config:/app/config # 配置持久化
      - ./media:/media # 媒体库或下载文件夹所在路径

2. SmartStrm(后面简称为 SS)

在你 docker 的永久化目录下建立 "smartstrm" 的文件夹,并在里面建立 config、logs 的文件夹。

Compose 内容

yaml
name: smartstrm
services:
  smartstrm:
    image: cp0204/smartstrm:latest
    container_name: smartstrm
    restart: unless-stopped
    network_mode: host
    volumes:
      - ./config:/app/config
      - ./logs:/app/logs
      - ./strm:/strm # 生成 strm 文件的存储路径
    environment:
      - PORT=8024 # 管理端口,可自行更改
      - ADMIN_USERNAME=admin # 管理用户名
      - ADMIN_PASSWORD=password # 管理用户密码
      - LICENSE= # Pro 版本授权码

至此,两个容器部署完成,你可以去你本地局域网的 ip:5005ip:8024 查看是否部署成功。

四、容器联动

电脑浏览器(edge 或 chrome)打开夸克网盘,手机扫码登录,登录后按 F12 进入后台页面,点击网络,随便找一条记录带有 cookie 字样的,一大坨内容,复制到这里。

2. 定时规则

五个 * 的 cron 表达式,五个 * 分别代表 分 时 日期 月份 星期几,比如你想每天 8 点执行一次任务就写 0 8 * * ** 就代表"每"的意思。

夸克目前这么好用,请大家千万爱护这个环境,自动执行任务的频率越低越好,比如我设置的都是三四个小时才执行一次,良好的使用环境,请大家爱护。

3. 通知

Qas 支持各种通知类型,我这里选择的是企业微信机器人,这些具体的内容可以点击上面的"?"在项目文档进行具体查询,不再赘述,不需要通知的可以无视。

4. 插件

插件的部分是 qas 的精髓,本文只涉及 smartstrm 部分,其他内容请点击"?",挖掘更多玩法(比如没有玩 strm 的时候我会用 alist_sync 进行自动复制本地入库等)。

打开 SS 并登录:

存储管理添加存储

  • 存储名称:自己随便起个名字
  • 驱动:选择"夸克网盘"
  • Cookie:再次粘贴夸克的 cookie
  • STRM 格式:选择源码代理即可(如果你买了 ss 的 pro 授权可以选择智能回落)

系统设置Webhook: 复制 webhook 地址到 qas 的插件处。

注意!如果你把 ss 的 web 管理页面反向代理到了外部,并从外部进行访问,这里会显示你反向代理的地址,反向代理大部分都是 https,如果直接复制记得要在 qas 那边把前面的反代网址:端口,改成你内网的 IP:端口!webhook/后面的字符不变即可。

建立 strm 任务

  • 任务名称:如 tv、movie、tvshow 等
  • 使用存储:选择你刚才建立的存储
  • 扫描路径:选择网盘里保存媒体的合适的路径
  • 执行时间:根据自己需求填写

回到 qas,填好 webhook 和 strmtask,保存。

5. 其他选项

魔法匹配暂时不用管,如果你部署了 cloudsaver 这里可以写入你的服务器地址、用户名和密码。Pansou 这里可以填 gugeso.com,也可以填自己部署的 pansou。

五、开始使用

打开 qas 的任务列表,点击增加任务。

输入你想看的内容,qas 会自动跳出 cloudsaver 和 Pansou 搜索出来的资源。

找到一个合适的资源(命名规范、更新及时),把分享链接复制到 qas 的任务里。

保存路径:存在你夸克网盘里的路径,就是刚才在 ss 里的 strm 任务里的"扫描路径"。

保存规则/正则处理:qas 可以筛选共享文件中的部分文件,按照你的想法进行自动改名,来匹配 tmdb 等标准的命名,方便后续刮削入库。

正则示例:^.*第(\d+)期(...).*?\.(mp4|mkv)

解释:

  • ^.* ➡️ 前面随便我不管
  • 第(\d+)期 ➡️ 只保留带有第 xx 期的文件,提取数字到变量 1
  • (...) ➡️ 接着前面第几期后面的连续三个字符,提取到变量 2
  • .*? ➡️ 后面的乱七八糟都不要
  • \.(mp4|mkv) ➡️ 提取后缀名,mp4|mkv 二选一,提取到变量 3

六、整体效果

部署好 qas+ss,设置好容器的任务和互动、设置好 qas 追更就可以了!而且如果我是追剧或者追综艺,以后每次更新到时候,也能全自动完成:转存→改名→生成 strm→刮削入库→通知!

七、结语

Qas 和 ss 其实都还分别有更多的功能,比如和 xxlist 配合自动同步,ss 还支持 alist/openlist/webdav,还有 302 直通功能!作者大大还在持续更新,今天就分享到这里,大家下次再见!