更新记录

已发布docker hub https://hub.docker.com/repository/docker/knifez/123strm/general

正式版镜像地址:knifez/123strm:latest

测试版镜像地址:knifez/123strm:2.0.0-rc3

ARM 镜像地址:knifez/123strm:arm64 (跟随正式和测试版发布变动,以最新的为准)

已支持手动刮削指定云盘文件夹,手动上传本地文件夹到云盘,上传成功后会自动删除本地文件和空文件夹。

v2.0.0-rc3

  1. 修复任务执行时无法正常播放问题

  2. 移除视频最小文件大小限制,现在任何大小的文件都会正常生成strm

  3. 新增配置 本地文件清理,开启后将在任务执行完成时删除本地非云盘文件

v2.0.0-rc1 (支持arm)

镜像地址:knifez/123strm:2.0.0-rc1

  1. 重构项目代码,优化前端刮削指定目录和上传本地文件夹的操作

  2. 新增上传本地文件夹后生成strm功能

  3. 优化系统配置逻辑

  4. 新增arm镜像knifez/123strm:arm64

  5. 修复云盘文件删除到回收站依旧能刮削出来的问题

v1.11.2

修复计算大文件MD5时内存溢出问题

更多请前往github查看 https://github.com/knifezred/123strm/releases

什么是strm?

strm 文件是一种非常小巧的文本文件,里面保存了指向在线视频的链接地址。它的大小通常只有几十字节,因此占用的存储空间非常少。

这种文件可以用来指向各种视频资源,比如网上的流媒体内容或本地存储的视频文件。它适合用来管理大量的网络存储媒体资源。例如在播放 STRM 文件时,可以直接通过链接播放网盘中的视频,而不用把视频下载到本地设备上。这样既方便又节省空间,同时还能保证播放流畅。

  • 轻量化 Emby 服务器,降低 Emby 服务器的性能需求以及硬盘需求

  • 运行稳定

  • 相比直接访问 Webdav,Emby、Jellyfin 服务器可以提供更好的视频搜索功能以及自带刮削器,以及多设备同步播放进度。

为什么使用123strm?

25年6月alist被曝疑似被收购以后,普遍比较担心使用的安全性。详细情况可前往github查看相关issue。123云盘也发公告表示于6.16暂停支持alist挂载。

于是有了本软件的诞生,目的为取消alist依赖,使用123云盘的官方api进行处理,安全稳定。

  • 使用123云盘官方api,安全可靠,不依赖第三方

  • 单线程下载,自动跳过已存在图片和字幕等文件,不会重复下载

  • 可配置海报、字幕、nfo文件是否下载

  • 自动清理本地不存在于123云盘的文件

  • 支持生成302链接,可自定义代理地址以便外网访问

  • 支持多账号生成,支持单账号配置多文件夹

  • v1.8版之后支持可视化配置页面,访问地址ip:1236

  • v1.10版本后支持手动刮削指定目录,用于刮削更新或修改的文件夹

  • v1.11版本后支持更新指定目录,支持上传本地目录,上传成功后会自动删除本地文件。

生成速度

生成strm的速度与网盘目录文件夹内包含的子文件夹数量成正相关,简略计算方式为

生成时间=刮削目录子文件夹数量/3/60 (分钟)

以我的网盘为例,500+的子文件夹生成时间稳定在3分钟出头,即556/3/60=3.08 分钟

如果选择下载nfo、图片等文件,在第一次生成时会极大影响生成速度,耐心等待即可,也可以按照网盘目录结构从已有的刮削数据迁移过来节省时间。

项目地址

https://github.com/knifezred/123strm

如何自行打包镜像?

克隆项目到本地,执行以下命令行代码即可。

# 生成docker镜像
docker build -t 123strm .
# 生成本地镜像包
docker save -o 123strm.tar 123strm
# 压缩镜像包减小体积
gzip 123strm.tar

也可以直接前往github下载发布的镜像包,暂无dockerhub镜像地址。

github下载:https://github.com/knifezred/123strm/releases/

部署方式(已发布docker hub)

docker compose安装:以绿联Nas为例

将镜像包传到nas,并在docker-镜像-本地镜像-添加镜像中选择并导入。

添加完镜像后在项目一栏选择创建项目,将compose示例填入配置,项目名称和路径可自行填写,建议为123strm

services:
  autofilm:
    image: knifez/123strm:latest
    container_name: 123strm
    network_mode: host
    volumes:
      - /volume1/docker/123strm/config:/config
      - /volume1/docker/123strm/media:/media
    restart: always
    working_dir: /app
    environment:
        PUID: "0"
        PGID: "0"

1749798192698.png

直接运行python脚本 (不推荐)

前往github克隆项目到本地,直接pyhton app/main.py即可。

使用效果

看到如下信息即表示软件正常运行,等待执行即可。

运行时会提供日志,显示下载文件地址。