HLINK硬链教程

前言

HLINK是一款非常适用于PT用户的影音整理辅助工具,使用此工具可以在保种的前提下整理自己的影音库,不会对保种有任何影响。不用和以前一样为了保种,只能复制一份文件进行整理,多占用硬盘空间。

Docker部署

				
					version: '2'

services:
  docker:
    image: likun7981/hlink:latest
    restart: on-failure
    ports: 
      - 9090:9090
    volumes: 
      - /volume1/media:/pt
      - /volume1/docker/hlink/config:/data
    environment:
      - PUID=1000
      - PGID=1000
      - HLINK_HOME=/data
				
			

使用

然后打开群晖IP:9090,打开WEB界面,添加配置和任务。

在创建配置里添加以下配置,修改pathsMapping段里的硬链路径。
前面的是你是你下载的视频文件路径,后面是要生成硬链的路径。
示例配置(已经开启好缓存)。

				
					// 重要说明路径地址都请填写 绝对路径!!!!
export default {
  /**
   * 源路径与目标路径的映射关系
   * 例子:
   *  pathsMapping: {
   *     '/path/to/exampleSource': '/path/to/exampleDest',
   *     '/path/to/exampleSource2': '/path/to/exampleDest2'
   *  }
   */
  pathsMapping: {
    '/pt/transmission/电影': '/pt/LINK/电影',
    '/pt/transmission/纪录片': '/pt/LINK/纪录片',
    '/pt/transmission/动画片': '/pt/LINK/动画片',
    '/pt/transmission/剧集': '/pt/LINK/剧集'
    
  },
  /**
   * 需要包含的后缀,如果与exclude同时配置,则取两者的交集
   * include 留空表示包含所有文件
   *
   * 后缀不够用? 高阶用法: https://hlink.likun.me/other/v2.html#%E6%96%B0%E5%A2%9E%E5%8A%9F%E8%83%BD
   */
  include: [
    'mp4',
    'flv',
    'f4v',
    'webm',
    'm4v',
    'mov',
    'cpk',
    'dirac',
    '3gp',
    '3g2',
    'rm',
    'rmvb',
    'wmv',
    'avi',
    'asf',
    'mpg',
    'mpeg',
    'mpe',
    'vob',
    'mkv',
    'ram',
    'qt',
    'fli',
    'flc',
    'mod',
    'iso',
  ],
  /**
   * 需要排除的后缀,如果与include同时配置,则取两者的交集
   *
   * 后缀不够用? 高阶用法: https://hlink.likun.me/other/v2.html#%E6%96%B0%E5%A2%9E%E5%8A%9F%E8%83%BD
   */
  exclude: [],
  /**
   * @scope 该配置项 hlink 专用
   * 是否保持原有目录结构,为false时则只保存一级目录结构
   * 可选值: true/false
   * 例子:
   *  - 源地址目录为:/a
   *  - 目标地址目录为: /d
   *  - 链接的文件地址为 /a/b/c/z/y/mv.mkv;
   *  如果设置为true  生成的硬链地址为: /d/b/c/z/y/mv.mkv
   *  如果设置为false 生成的硬链地址为:/d/y/mv.mkv
   */
  keepDirStruct: true,
  /**
   * @scope 该配置项 hlink 专用
   * 是否打开缓存,为true表示打开
   * 可选值: true/false
   * 打开后,每次硬链后会把对应文件存入缓存,就算下次删除硬链,也不会进行硬链
   */
  openCache: true,
  /**
   * @scope 该配置项 hlink 专用
   * 是否为独立文件创建同名文件夹,为true表示创建
   * 可选值: true/false
   */
  mkdirIfSingle: true,
  /**
   * @scope 该配置项为 hlink prune 命令专用
   * 是否删除文件及所在目录,为false只会删除文件
   * 可选值: true/false
   */
  deleteDir: false,
}

				
			

配置完后,在创建任务列表,里添加任务,然后运行即可。
我的配置里已经打开了缓存。官方的默认不打开,你们注意一下。
缓存的作用:
就是比如你运行了一次任务生成了硬链,但是有一些不需要的文件也硬链过来了,但为了使用方便整理、刮削,你把不需要的删除了,但是下次再执行任务时又硬链过来了,每次都得删除,太麻烦了。开启缓存后,就是记住了你硬链过的文件,当你硬链后把不需要的硬链文件删除后,再次运行硬链任务,那删除过的硬链接文件也不会再次生成了。

命令行安装

首先要安装nodejs,如何安装这里不写了,自行搜索。
hlink需要14.14以上的nodejs。
安装nodejs完成后,使用以下命令安装HLINK。

				
					npm i -g hlink
				
			

然后输入以下命令开启HLINK服务。服务开启,会生成一个后台允许的进程,并且会自动添加开机启动。(我在群晖里并没有开机启动……也反馈作者,作者问了一下就没有下文了……)。

				
					hlink start
				
			

成功会输出一个你的机器IP:9090的地址,直接访问页面地址即可开始玩耍了。
服务关闭。

				
					hlink stop
				
			

我在群使用关闭后,然后卸载node.js,输入群晖IP:9090还会占用端口,还会显示信息。我在这里不建议大家使用命令行。作者没有写如何卸载这个工具。

命令行下使用

  • 在指定位置生成配置文件
				
					hlink gen /path/outputDir
				
			

如果没有指定/path/outputDir,则默认用户目录生成。可以通过 echo ~ 查看用户目录的具体路径。
我使用的是root用户登陆的,所以就会显示出我的用户目录为root。

				
					echo ~
/root
				
			

如果你是用的root用户登陆的,他的的配置文件默认地址为/root/.hlink/configs/xxxx.mjs。

  • 执行硬链任务
				
					hlink /path/xxx.mjs
				
			
hlink prune命令

协助你同步管理硬链接和源文件。

  • 正向整理:删除的是硬链文件,去除比源文件多的硬链文件
  • 反向整理:删除的是源文件,去除比硬链多的源文件。
  • 正向整理:一定要列全所有的源目录。
  • 反向整理:一定要列全所有的硬链目录。
  • -r

开记反向整理,不加-r默认为正向整理。

				
					hlink prune -r /path/xxx.mjs
				
			
  • -d

是否删除文件所在目录,不加-d只会删除文件。

				
					hlink prune -d /path/xxx.mjs
				
			
  • -w

删除前是否需确认。默认不需要。在GUI计划任务是无需确认的,所以开启计划任务前确认好。

				
					hlink prune -w /path/xxx.mjs
				
			

当然你也可以组合配置选项。

				
					 hlink -rdw /path/xxx.mjs
				
			

下载完自动硬链

复制脚本。

新建一个文本文档,复制下面的格式写一个脚本,把刚才复制的脚本替换,然后命名为xx.sh。

				
					# !/bin/bash

curl https://www.wort.cloud:9090/api/task/run?name=KODI&alive=0
				
			

然后把sh脚本放到服务器,并赋予执行权限。

				
					chmod +xr /volume1/PT/LINK/hlink.sh
				
			

然后在Transmission客户端或者qBittrorretn里,填写脚本的地址,即可在下载完成时自动执行硬链任务。

0 0 投票数
文章评分
订阅评论
提醒
guest
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论!x