V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
AFOX
27.72D
V2EX  ›  分享创造

基于 openlist 的 115 网盘 emby 服务器搭建指南

  •  
  •   AFOX · 2 天前 · 841 次点击

    基于 openlist 的 115 网盘 emby 服务器搭建指南

    所需资源

    • 115 网盘(或者其他 openlist 支持的网盘)
    • 一台服务器
      • 内存 >= 1.5GB
      • 网络带宽 >= 3Mbps (盲估,感觉可以更低) 如果服务器 ip 为公网 ip 则可以支持公网访问,但是影视资源会通过 302 重定向走网盘直链,所以对服务器带宽要求不高

    环境搭建

    服务器安装 docker (这一步省略,如果你不会装 docker ,后面的也不用看了)

    openlist 安装与配置

    1. openlist 安装,参考: https://doc.oplist.org/guide/installation/script
    2. openlist 配置(以 115 网盘为例):
      1. openlist 全局设置:管理页面 -> 设置 -> 全局 -> 关闭“签名所有” -> 开启“写入操作后触发目录更新钩子” -> 目录更新钩子遍历限制速率 设置为“1” -> 保存
      2. 添加 115 存储:管理页面 -> 存储 -> 添加 -> 驱动选择“115 网盘开放平台” -> 挂载路径填写“/115” -> 限制速率填写“1” -> 访问令牌和刷新令牌通过这个网页获取: https://api.oplist.org -> 保存
      3. 添加 strm: 管理页面 -> 存储 -> 添加 -> 驱动选择"Strm" -> 挂载路径填写“/strm” -> 路径填写“/115” (对应上一步的挂载路径,请注意区分“挂载路径”与”路径“) -> 过滤文件类型可以多添加一个‘iso’ (这一步不懂可以跳过,只会影响 iso 后缀的影视文件) -> 开启“编码路径” -> 开启“保存 Strm 到本地” -> 保存 Strm 本地路径填写“/data/strm” -> 本地保存模式选择“同步” -> 保存
      4. 在你的服务器上创建 /data/strm 目录,可以使用命令:sudo mkdir -p /data/strm && sudo chmod -R 777 /data/strm

    至此,openlist 设置完成,可以执行以下检查:

    1. 检查 openlist 首页能否看到 “115” 目录 与 “strm”目录,两个目录内容是否能对应。
    2. 检查服务器 “/data/strm”目录与 openlist 首页的 “strm”目录是否一一对应。

    如果“strm”目录为空,可以去管理页面 -> 索引 -> 手动扫描 选择“115”目录,限制速率为 1 ,等待完成后“strm”目录将生成内容。

    emby server 安装与配置

    1. 在服务器上新建一个“emby”目录:mkdir ~/emby
    2. 进入 emby 目录:cd emby
    3. 新建 docker-compose.yml 文件: vim docker-compose.yml,填写以下内容:
    services:
      emby:
        image: amilys/embyserver:latest
        container_name: emby
        restart: always
        ports:
          - "8096:8096"
        volumes:
          - ./config:/config
          - /data/strm:/strm
        environment:
          - TZ=Asia/Shanghai
          - UID=0
          - GID=0
          - GIDLIST=0
          - HTTP_PROXY=http://172.17.0.1:20172
          - HTTPS_PROXY=http://172.17.0.1:20172
        devices:
          - /dev/dri:/dev/dri
    

    请注意上面的 HTTP_PROXY 和 HTTPS_PROXY 是为了后续 emby 刮削需要进行科学上网使用,这里不教怎么科学上网,如果你不会,请删除这两行。

    编辑好 docker-compose.yml 后,执行: docker compose up --build -d

    至此 emby 安装完成,你可以访问服务器的 8096 端口进行 emby 的配置,首次配置需要设置账号密码。设置完成后,进入 emby 的管理页面,进行以下配置:

    媒体库 -> 新增媒体库 -> 内容类型选择“影片” 或者 “电视节目” -> 点击文件夹旁边的添加按钮 -> 在弹出的路径中选择 “/strm” 里面的子目录,请根据自己的情况选择对应的子目录。后续的选项也请自由根据需要选择,最后保存即可。

    你可以根据需要添加多个媒体库。

    等待媒体库扫描完成后,应该可以在首页看到媒体文件了。

    go-emby2list 安装与配置

    emby 安装完成,还不能直接播放 302 直链,我们需要通过一个代理服务器将 emby 对 openlist 的请求改为对网盘的直链请求,这一步我们通过开源的 go-emby2list ( https://github.com/AmbitiousJun/go-emby2openlist )软件完成。

    go-emby2list 安装:

    git clone --branch v2.6.1 --depth 1 https://github.tbedu.top/https://github.com/AmbitiousJun/go-emby2openlist && cd go-emby2openlist

    添加一个 config.yml,不要改动下面的配置,除非你确定自己很清楚这些配置的作用:

    emby:
      host: http://172.17.0.1:8096            # emby 访问地址
      mount-path: /data                          # rclone/cd2 挂载的本地磁盘路径, 如果 emby 是容器部署, 这里要配的就是容器内部的挂载路径
      episodes-unplay-prior: true                # 是否修改剧集排序, 让未播的剧集靠前排列; 启用该配置时, 会忽略原接口的分页机制
      resort-random-items: true                  # 是否重排序随机列表, 对 emby 的排序结果进行二次重排序, 使得列表足够随机
      # 代理异常处理策略
      # origin: 代理回源服务器处理
      # reject: 拒绝处理
      proxy-error-strategy: origin
      # 图片质量, 默认请求原图
      # 配置范围: [1, 100]
      # 建议范围: [70, 90]
      # 具体数值根据自己的实际情况作调整
      images-quality: 100
      # emby 下载接口处理策略
      #    403: 禁用下载接口, 返回 403 响应
      # origin: 代理到源服务器
      # direct: 获取并重定向到直链地址
      download-strategy: 403
      strm:                                      # 远程视频 strm 配置
        # 是否启用 strm 内部重定向
        #
        # 启用, 程序会在内部访问 strm 远程地址并重定向到最终地址后, 再重定向给客户端
        # 禁用, 程序会将 strm 的原始地址直接重定向给客户端
        internal-redirect-enable: true
    
    cache:
      # 是否启用缓存中间件
      # 推荐启用, 既可以缓存 Emby 的大接口以及静态资源, 又可以缓存网盘直链, 避免频繁请求
      enable: true
      # 缓存过期时间
      #
      # 可配置单位: d(天), h(小时), m(分钟), s(秒)
      #
      # 该配置不会影响特殊接口的缓存时间
      # 比如直链获取接口的缓存时间固定为 10m, 字幕获取接口的缓存时间固定为 30d
      expired: 1d
    
    ssl:
      enable: false       # 是否启用 https
      # 是否使用单一端口
      #
      # 启用: 程序会在 8094 端口上监听 https 连接, 不监听 http
      # 不启用: 程序会在 8094 端口上监听 https 连接, 在 8095 端口上监听 http 连接
      single-port: true
      key: testssl.cn.key # 私钥文件名
      crt: testssl.cn.crt # 证书文件名
    
    log:
      # 是否禁用控制台彩色日志
      #
      # 程序默认是输出彩色日志的,
      # 如果你的终端不支持彩色输出, 并且多出来一些乱码字符
      # 可以将该项设置为 true
      disable-color: true
    

    然后执行: docker compose up --build -d

    启动成功后,访问服务器的 8095 端口即可访问 emby ,此时浏览媒体就应该能够走 302 直链了。

    感谢 openlist 和 go-emby2list 的开源!!!

    折腾了一天终于在我的阿里云 3mbps 小水管上跑起来了 qwq 。

    5 条回复    2026-02-08 21:02:25 +08:00
    iTea
        1
    iTea  
       2 天前 via iPhone
    感谢分享!
    Ccf
        2
    Ccf  
       1 天前
    image: amilys/embyserver:latest
    这个也是开心版么?
    AFOX
        3
    AFOX  
    OP
       1 天前
    @Ccf 应该是的
    ronman
        4
    ronman  
       1 天前
    理论上不需要 emby 也行?
    AFOX
        5
    AFOX  
    OP
       1 天前
    @ronman 也可以,openlist 生成的 strm 文件可以作为播放器的播放 url
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   4730 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:48 · PVG 10:48 · LAX 18:48 · JFK 21:48
    ♥ Do have faith in what you're doing.