性能特色
超小体积:nnn的二进制文件超级小,通常只有100KB左右,对于寸土寸金的服务器环境来说,简直是福音。
零配置:开箱即用,无需繁琐的配置文件,一切默认设置都恰到好处。
极速响应:启动速度飞快,文件操作流畅无卡顿,让你的工作效率直线上升。
智能导航:支持类型导航、自动匹配目录条目、上下文管理和会话保存等功能,让文件管理变得井井有条。
强大插件:nnn拥有一个强大的插件生态系统,你可以根据需要安装各种插件来扩展功能,比如实时预览、磁盘挂载、文件差异比较等。
多平台兼容:不仅支持Linux、macOS等主流操作系统,还能在树莓派、Android的Termux、Windows的WSL和Cygwin等平台上运行。
快速安装使用
安装nnn非常简单,可以使用包安装管理工具安装,运行以下命令即可:

sudo apt install nnn # Debian用户
brew install nnn # macOS用户

也可以从OBS或者项目release页面下载适合你的系统的发行版的软件包。

https://software.opensuse.org//download.html?project=home%3Astig124%3Annn&package=nnn

https://github.com/jarun/nnn/releases/latest
启动后,只需通过箭头键或h, j, k, l来导航文件,还可以通过/进行快速搜索。

安装完成之后,打开终端,输入 nnn,它就会以一个简洁的界面出现。

640.webp

接着我们可以通过箭头键或h, j, k, l来导航文件,还可以通过/进行快速搜索。

如果想用Vim编辑文件,只需加个插件:

export NNN_OPENER="vim"
再举个例子,假设你想查看文件夹里的图片并打开:

nnn -e img_viewer
这个命令会让你使用系统默认的图片查看器打开图片。

更多使用功能可以查看项目文档。

nnn 是一个非常适合那些钟爱终端操作、追求效率的人的文件管理器。它不仅小巧、快如闪电,还支持插件扩展,能够高度自定义,完全能够满足日常的文件操作需求。

更多细节功能,感兴趣的可以到项目地址查看:

项目地址:
https://github.com/jarun/nnn

功能
实现做种客户端之间的转移(transmission、qBittorrent之间随意互转);比如:
transmission转qBittorrent、qBittorrent转transmission、transmission转transmission、qBittorrent转qBittorrent。

转移原理
转移脚本读取种子目录内的种子二进制文件,通过API发送给目标客户端。在转移种子时根据配置的路径转换规则,自动对应资源的数据目录。
意思就是:必须保证脚本可以读取到种子,脚本只转移种子不移动数据资源!
路径转换规则就是对数据目录的路径转换;
如果两个下载器,都是docker或者都是套件,并且数据目录的相对路径或绝对路径都一样,路径转换类型就是相等,路径转换规则不用配置;
如果两个下载器,一个套件安装、另一个是Docker安装,就需要配置路径转换类型,使用加|减|替换,把相对路径转绝对路径;或者绝对路径转相对路径。

常见错误
Windows下面运行转移脚本,去转移NAS内的种子;

NAS的宿主机运行转移脚本,去读取错误的Docker种子BT_backup目录;

Docker运行转移脚本未挂载种子目录,直接去读取宿主机的种子BT_backup目录;

运行脚本的用户,无权读取种子目录;

路径转换规则配置错误;

常见名词
种子目录:这里是下载器用来存放种子的目录,仅下载器自己使用;(切勿和下载目录、下载路径、数据目录、保存目录、保存路径、完成种子保存目录这些名词混淆,他们之间并无关系。通常情况下,一个下载器只有一个唯一的地方保存种子,例如:qBittorrent的种子目录叫BT_backup,Transmission的种子目录叫torrents)
数据目录:这里是下载器用来存放数据的目录,它有多重称呼。通常等价于:保存路径、保存目录、下载目录、下载路径、数据目录、数据存放位置、数据存放目录等等,但是绝对不是种子目录,切勿混淆概念。

关键步骤
创建转移任务之前,来源下载器的【种子目录】必须配置(方法:IYUUPlus系统设置->下载器设置->【种子目录】);

来源下载器配置的【种子目录】,IYUUPlus必须能够读取到(如果IYUUPlus是运行在Docker内,请把种子目录挂载进容器,填写装载路径);

转移任务中,配置路径转换规则(规则目录是指数据目录,切勿混淆)。

如何找到你的【种子目录】
打开目标设备的ssh终端并登录,切换到root用户(sudo -i,输入密码并回车
输入以下搜索命令即可找到您的种子目录,以供下一步使用。

⚠️Docker容器的目录记得要先挂载出来到宿主机上(通俗讲就是挂载到你群晖、威联通等机器硬盘的文件夹下)。

qBittorrent的种子目录叫BT_backup,transmission的种子目录叫torrents。
Linux系统(包括群晖、威联通、docker等)qBittorrent种子目录搜索命令:find / -name BT_backup
Linux系统(包括群晖、威联通、docker等)transmission种子目录搜索命令:find / -name torrents
Windows系统qBittorrent种子目录,通常在C:\Users\你的用户名\AppData\Local\qBittorrent\BT_backup

种子目录挂载方法
懂命令行安装容器
直接在创建IYUUPlus容器的时候,通过-v参数把路径挂载进IYUUPlus的容器即可,可以通过-v参数同时挂载多个目录。
如果你之前已经创建过容器,可以停止容器、删除容器;重新用以下命令创建容器。
这个命令适用于所有Linux环境(CPU不同,注意区分镜像标签),我们以群晖为例:比如群晖挂载种子目录

docker run -d \
--name IYUUPlus \
-v /IYUUPlus的DB目录:/IYUU/db \
-v /上一步用命令获得的qBittorrent种子目录:/qb \
-v /上一步用命令获得的Transmission种子目录:/tr \
--net=host \
--restart=always \
iyuucn/iyuuplus:latest
请把上面命令中的汉字部分,改为你自己的实际目录。
备注:经测试,群晖无法挂载@appstore目录内的种子目录,必须创建软连接到可访问目录,之后直接挂载软连接目录。

命令解释

参数 解释
--name 容器名字
-e 环境变量,定时任务执行时间
-v 本地目录或文件:容器目录文件,资源挂载到容器。
--net=host 容器所使用的网络模式。
--restart 启动模式
iyuucn/iyuuplus:latest 镜像名字:镜像标签
友情提示:如果上述方法你不懂操作,或者未理解,就不用往下看了。
友情提示:如果上述方法你不懂操作,或者未理解,就不用往下看了。
不想命令行安装容器
命令行安装容器方案是最简单,最不易错的方案;以下步骤更难,请认真阅读,确保理解后再操作...
比如:群晖、威联通、铁威马等,直接在管理软件内操作IYUUPlus容器安装的,可以在创建容器的时候,选择需要挂载的种子目录。
当直接在管理软件内无法选择种子目录挂载时怎么办?请继续往下看。

创建种子目录的软连接
ln -sf /volume1/@appstore/qBittorrent/BT_backup/ /path/to/IYUU/BT_backup/
ln -sf /volume1/@appstore/Transmission/torrents/ /path/to/IYUU/BT_backup/
复制

请把上面命令中的/volume1/@appstore 和 /path/to,改为你自己的实际目录。
备注:经测试群晖在Docker创建容器的时候,无法选择软连接目录。

举例威联通创建软连接
如下图威联通通过dpkg安装的qBittorrent、Transmission,无法在管理软件内挂载种子目录,需要创建软连接。

1、通过命令创建qb种子目录软连接,通过命令找到tr的种子目录,并创建软连接
1.png

2、软连接创建成功
2.png

3、软连接的目录打开可以查看到种子
3.png
4.png

4、创建IYUUPlus容器并挂载目录
除了映射/IYUU/db目录,还需要把你刚才软连接的两个目录也挂载进IYUUPlus的容器。

版权属于:大卫科技Blog

本文链接:https://www.iyuu.cn/archives/451/

转载时须注明出处

一、安装npm
1、在服务器中创建npm目录,并进入安装npm目录。

mkdir npm
cd npm

2、使用wege工具下载安装包(wget命令如果不存在,请先安装wget:yum install -y wget)

wget https://nodejs.org/dist/v16.16.0/node-v16.16.0-linux-x64.tar.xz

3、使用tar命令解压下载好的安装包node-v16.16.0-linux-x64.tar.xz。

tar xvJf node-v16.16.0-linux-x64.tar.xz

4、因为已经完成了文件的解压,没用的安装包可以直接删除了。

rm -rf node-v16.16.0-linux-x64.tar.xz

5、使用vi编辑器配置环境变量,输入 【vi /etc/profile】,使用键盘方向案件移动移动到显示的代码的最后面,然后按键盘的字母【i】按键,进入编辑模式,将下面两行代码粘贴到最下面。

export NODE_HOME=/root/npm/node-v16.16.0-linux-x64
export PATH=$PATH:${NODE_HOME}/bin

6、点击键盘的【ESC】按键退出编辑模式,然后输入【:wq】保存退出,退出后会返回到root页面。

7、输入下面命令保存变量环境。

source /etc/profile

8、输入下面命令检测npm是否正确安装。

node -v
npm -v

10、npm环境安装成功,输入cd退出npm目录,然后进行Nginx Proxy Manager的安装。

二、Nginx开源可视化代理管理器安装( Nginx Proxy Manager)
什么是 Nginx Proxy Manager ?

Nginx Proxy Manager 是用于管理 Nginx 代理主机的 Docker 容器,具有简单、强大的界面。它使您可 以轻松地转发到您在家里或其他地方运行的网站,包括免费的 SSL,而无需对 Nginx 或 Letsencrypt 了解太多。

1、在服务器中创建Nginx目录,并进入nginx目录中。

mkdir nginx
cd nginx

2、在nginx目录中创建docker-compose.yaml文件。

vi docker-compose.yaml

3、按下键盘的【i】,然后粘贴以下代码(作用是部署两个docker镜像一个为nginx的面板一个是数据库)。

version: "3"
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:

# These ports are in format <host-port>:<container-port>

  • '80:80' # Public HTTP Port
  • '443:443' # Public HTTPS Port
  • '81:81' # Admin Web Port
    # Add any other Stream port you want to expose
    # - '21:21' # FTP
    environment:
    DB_MYSQL_HOST: "db"
    DB_MYSQL_PORT: 3306
    DB_MYSQL_USER: "npm"
    DB_MYSQL_PASSWORD: "npm"
    DB_MYSQL_NAME: "npm"
    # Uncomment this if IPv6 is not enabled on your host
    # DISABLE_IPV6: 'true'
    volumes:
  • ./data:/data
  • ./letsencrypt:/etc/letsencrypt
    depends_on:
  • db
    db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
    MYSQL_ROOT_PASSWORD: 'npm'
    MYSQL_DATABASE: 'npm'
    MYSQL_USER: 'npm'
    MYSQL_PASSWORD: 'npm'
    volumes:
  • ./data/mysql:/var/lib/mysql

PS:请根据自身选择合适的镜像,这里演示的为汉化版本。

'jc21/nginx-proxy-manager:latest' 为官方镜像

'chishin/nginx-proxy-manager-zh:latest' 为官方镜像的汉化版本

4、输入【:wq】保存退出。

5、输入下面命令部署nginx-proxy-manager。

docker-compose up -d

6、这时候可以用过服务器的ip:81来访问面板了 。

默认的邮箱和密码

邮箱: admin@example.com

密码: changeme