Giter Site home page Giter Site logo

qb-auto-link's Introduction

qb下载后自动硬链接到媒体库

问题现状

之前,我使用qb下载会开启创建子文件夹的模式,这样在下载种子中即便只有单个文件,也会创建一个同种子名的文件夹,方便对其进行搜刮

如图,仅仅只有mkv文件是种子中的文件,其余全是搜刮后的新文件

但是,为了更方便的在qbittorrent和transmission中转移种子,不得已改回了默认的origin模式,即单个文件的种子会直接下载到目标文件夹中

这样带来的问题包括但不限于

  • 文件结构杂乱
  • 搜刮文件冲突
  • 失效文件以及对应搜刮信息不好管理

所以还是需要为单个文件创建文件夹

解决方案

想过几种通用的方案,都有或多或少有缺陷,无法使用

最后,想到了一种约定优先的方案,即下载文件夹不变,仍然保持origin的模式便于qb和tr互相转种,仅处理下载文件夹和媒体库的映射关系

原先我是直接将下载文件夹作为emby的媒体库来使用的,现在则需要创建一个单独的文件夹,可以理解为下载文件夹的影子(shadow)文件夹作为媒体库,这样pt可以保证种子文件的位置,而媒体库的文件夹则可以任意创建子文件夹来管理单个种子文件

示例

单文件种子

假设一个单文件种子快乐星球.torrent,里面只有一个文件快乐星球.mp4,下载到/download/movie,那么下载后会有/download/movie/快乐星球.mp4

下载完成后,脚本首先会在下载文件夹的同级目录创建一个影子文件夹/download/movie-shadow,之后在影子文件夹中创建一个和种子名相同的文件夹/download/movie-shadow/快乐星球,并把实际文件软链接到该文件夹中/download/movie-shadow/快乐星球/快乐星球.mp4@

这个软链接的地址是一个相对路径,指向../../movie/快乐星球.mp4

多文件种子

这个只需要将文件夹软链接到影子文件夹即可,不赘述

使用说明

auto_link.sh映射到qb容器中,例如/tmp/auto_link.sh

在qb的完成后执行脚本配置中配置/tmp/auto_link.sh "%N" "%F" "%D" "%C" "%R"

如果并非所有下载文件夹你都希望映射,那么你可以在环境变量中配置INCLUDE_LINK_PATH=movie,series,仅下载文件路径(不含种子名称)中包括这些关键字的文件才会被映射,多个关键字用逗号分割

也可以设置SHADOW_SUFFIX=media来改变影子文件夹的后缀,默认是shadow

qb-auto-link's People

Contributors

mopip77 avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.