美文网首页
自建NAS系列03——附加功能

自建NAS系列03——附加功能

作者: Warl_G | 来源:发表于2018-11-28 20:40 被阅读107次

    此篇讲几个我给NAS添加的功能

    • 开机启动服务
    • cockpit 性能监控服务
    • 迅雷远程下载
    • aria2 & AriaNg 下载服务
    • Plex / Emby 多媒体
    • 移动客户端

    开机启动

    因为有些功能不会开机启动,所以需要添加开机启动脚本,打开命令行输入

    sudo nano /etc/rc.local
    

    若该文档为空则添加

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
      
    exit 0
    

    所有开机执行的脚本语句都写在exit 0之前,如果需要注释就在前面加#号,当需要使用某个目录下的脚本时需要使用绝对目录即由/开头的目录。
    第一行指明脚本的解释器,有时会出现不兼容的状况,若发现对应服务没有开机执行则把#!/bin/sh -e替换为#!/bin/bash
    后面介绍的几个功能基本都需要在此脚本中添加启动语句。

    cockpit

    因为后续添加的功能越来越多,想比较快捷方便地监控机子性能,所以选择cockpit进行监测,接入简单,功能也全面,能够监测CPU、内存、磁盘、网络、设备日志、服务等实时状态以及设备硬件信息和连接终端。
    进入官网、点击install、选择对应平台(如Ubuntu仅一条安装指令)

    sudo apt-get install cockpit
    

    安装完成后想进入cockpit监控台可访问9090端口,若在本机,则在浏览器输入https://localhost:9090即可,局域网内其他终端可访问设备局域网内ip,如前几篇设定https://192.168.1.100:9090,跳转到设备登录界面输入管理员账户和密码即可。

    迅雷远程下载

    在NAS上运行插件Xware可以使用迅雷远程下载,根据平台选择版本拷贝链接,如Ubantu使用的就是Xware1.0.31_x86_32_glibc.tar.gz
    终端执行下列语句下载插件包

    wget https://github.com/yysolid/Xware/blob/master/Xware1.0.31_x86_32_glibc.tar.gz 
    

    下载完成后执行

    sudo mkdir Xware #创建Xware文件夹
    chmod 777 Xware #设置Xware权限 
    tar -zxvf Xware1.0.31_x86_32_glibc.tar.gz ./Xware #将压缩包解压到Xware目录下
    

    解压出的文件中名为portal的文件即为执行文件
    运行迅雷本地服务

    ./Xware/portal
    

    此时本地服务开始打印信息,运行结束后在打印的信息中找到激活码

    THE ACTIVE CODE IS: ******
    

    复制激活码进入http://yuancheng.xunlei.com/,登录,添加设备输入激活码,点击绑定


    然后在该页面即可添加远程下载任务和设置下载路径
    关闭服务在启动语句后追加参数s即可
    ./Xware/portal -s
    

    为保证每次设备重启迅雷服务能自动开启,需要在rc.local中添加绝对路径启动,如

    /root/Xware/portal
    

    aria2 & AriaNg

    因为迅雷下载非会员会限速,甚至禁止下载部分资源,所以此时就需要aria2下载服务进行补充,而AriaNg是对aira2拓展的Web前端操作界面。

    安装aria2

    sudo apt-get install aria2
    

    安装完成后

    sudo mkdir /etc/aria2    #新建文件夹  
    sudo touch /etc/aria2/aria2.session    #新建session文件
    sudo chmod 777 /etc/aria2/aria2.session    #设置aria2.session可写 
    sudo nano /etc/aria2/aria2.conf    #创建配置文件
    

    创建aria2配置文件后添加如下内容,根据自己需求修改响应参数,注:dir下载地址、rpc-secret前端访问密码

    #自定义下载目录
    dir=/root/Download
    # 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
    #disk-cache=32M
    # 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
    # 预分配所需时间: none < falloc ? trunc < prealloc
    # falloc和trunc则需要文件系统和内核支持
    # NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
    #file-allocation=trunc
    continue=true
    
    ## 下载连接相关 ##
    
    # 最大同时下载任务数, 运行时可修改, 默认:5
    max-concurrent-downloads=5
    # 同一服务器连接数, 添加时可指定, 默认:1
    max-connection-per-server=16
    # 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
    # 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
    min-split-size=10M
    # 单个任务最大线程数, 添加时可指定, 默认:5
    split=5
    # 整体下载速度限制, 运行时可修改, 默认:0
    #max-overall-download-limit=0
    # 单个任务下载速度限制, 默认:0
    #max-download-limit=0
    # 整体上传速度限制, 运行时可修改, 默认:0
    max-overall-upload-limit=10K
    # 单个任务上传速度限制, 默认:0
    max-upload-limit=20
    # 禁用IPv6, 默认:false
    disable-ipv6=true
    
    ## 进度保存相关 ##
    
    # 从会话文件中读取下载任务
    input-file=/etc/aria2//aria2.session
    # 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
    save-session=/etc/aria2/aria2.session
    # 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
    #save-session-interval=60
    
    ## RPC相关设置 ##
    
    # 启用RPC, 默认:false
    enable-rpc=true
    # 允许所有来源, 默认:false
    rpc-allow-origin-all=true
    # 允许非外部访问, 默认:false
    rpc-listen-all=true
    # 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
    #event-poll=select
    # RPC监听端口, 端口被占用时可以修改, 默认:6800
    #rpc-listen-port=6800
    # 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
    rpc-secret=password
    
    ## BT/PT下载相关 ##
    
    # 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
    #follow-torrent=true
    # BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
    listen-port=51413
    # 单个种子最大连接数, 默认:55
    #bt-max-peers=55
    # 打开DHT功能, PT需要禁用, 默认:true
    #enable-dht=false
    # 打开IPv6 DHT功能, PT需要禁用
    enable-dht6=false
    # DHT网络监听端口, 默认:6881-6999
    #dht-listen-port=6881-6999
    # 本地节点查找, PT需要禁用, 默认:false
    #bt-enable-lpd=false
    # 种子交换, PT需要禁用, 默认:true
    enable-peer-exchange=false
    # 每个种子限速, 对少种的PT很有用, 默认:50K
    #bt-request-peer-speed-limit=50K
    # 客户端伪装, PT需要
    #peer-id-prefix=-TR2770-
    #user-agent=Transmission/2.77
    # 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
    #seed-ratio=0
    # 强制保存会话, 话即使任务已经完成, 默认:false
    # 较新的版本开启后会在任务完成后依然保留.aria2文件
    #force-save=false
    # BT校验相关, 默认:true
    #bt-hash-check-seed=true
    # 继续之前的BT任务时, 无需再次校验, 默认:false
    bt-seed-unverified=true
    # 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
    bt-save-metadata=true
    

    启动aria2服务

    sudo aria2c --conf-path=/etc/aria2/aria2.conf
    

    或者
    后台启动aria2服务

    sudo aria2c --conf-path=/etc/aria2/aria2.conf -D
    

    同样将aria2添加开机启动,只需将上面语句加入rc.local

    安装AriaNg

    AriaNg官方下载页面下载程序包,若想客户端使用下载AllInOne版本,下载即可点开使用,在客户端配置连接服务器即可。
    若在服务器配置就下载普通版本,这里演示在服务端配置WebUI。
    首先还是使用命令行下载

    #下载
    wget https://github.com/mayswind/AriaNg/releases/download/1.0.0/AriaNg-1.0.0.zip
    #创建目录
    sudo mkdir AriaNg
    #解压
    unzip https://github.com/mayswind/AriaNg/releases/download/1.0.0/AriaNg-1.0.0.zip ./AriaNg
    

    因需要将AriaNg部署到Web服务器,所以还需要安装Nginx Web服务

    sudo apt-get install nginx
    #配置nginx
    sudo nano /etc/nginx/nginx.conf
    

    在http选项内添加

    server {
                 listen 8090;  #监听端口 端口自定义作为访问端口,注意不要被其他服务占用
                 server_name 127.0.0.1 192.168.1.100;    #主机ip 用于本地和局域网访问
    
                 location / {
                    root /root/AriaNg; #站点目录 根据上面的解压绝对路径
                    index index.html index.htm;
                 }
            }
    

    保存后退出,重启Nginx

    sudo pkill -9 nginx
    sudo nginx
    

    此时在浏览器输入ip,http://192.168.1.100,可看到Nginx的默认Web页面,在ip后追加配置的端口号http://192.168.1.100:8090,即可进入AriaNg Web页面



    若进入后左侧状态呈现未连接,则需要进入设置查看端口号是否与上面aria2.conf 中配置一致,RPC密钥也需要与rpc-secret字段配置一致,重新输入后刷新页面即可。若还不能连接,则需要查看aria2是否启动。

    多媒体

    在机能过剩且有需求的情况下可以增加家庭影音的功能,普遍的解决方案就是PlexEmby,还有一个kodi但那是终端使用的,我没怎么试。
    关于Plex 和 Emby 的对比可查看https://www.jianshu.com/p/1e85714696c7http://jimliu.net/2018/06/21/nas-log-software-summary-and-media-center/ 两篇文章,总体来说没有太大差别,我想要的也只是其核心功能——服务器解码串流。当然还有多媒体同步功能,可以同步照片资源等,这部分功能还是值得使用的,花700买个终身服务性价比也还可以。
    两个平台的移动客户端功能都是收费的,需要30元买断,但如果是会员就可以免费使用客户端功能了。

    在尝试了Plex和Emby之后我最终选择了Emby,原因只有一点,Emby可以用内网穿透到客户端,Plex也可以使用外网访问,但使用的是默认ip不可修改,对国内这种大局域网环境,会出现Double NAT的错误,哪怕向运营商投诉要到了公网ip,保不准哪天又偷偷给你改成大局域网。
    关于内网穿透的内容下一篇再集中讨论。

    Emby

    进入官网Download,选择平台,选择系统,根据官方教程

    wget https://github.com/MediaBrowser/Emby.Releases/releases/download/3.5.3.0/emby-server-deb_3.5.3.0_amd64.deb
    dpkg -i emby-server-deb_3.5.3.0_amd64.deb
    

    这时候Emby就部署到8096端口了,访问http://localhost:8096或者http://192.168.1.100:8096,登录按流程配置即可。配置完成Emby就会开始扫描你配置的媒体库,并为其添加封面等信息,但中文资源可能会出现较大的偏差。

    Plex

    同样在官网下载解压即可

    wget https://downloads.plex.tv/plex-media-server/1.13.9.5456-ecd600442/plexmediaserver_1.13.9.5456-ecd600442_amd64.deb
    dpkg -i emby-server-deb_3.5.3.0_amd64.deb
    

    Plex的服务可从32400端口访问,配置流程和emby一致,按步骤选择即可。

    移动客户端

    iOS端我个人用两个神器,FE File Explorer PronPlayer,一个什么都能管负责文件管理,另一个什么都能看负责多媒体播放,两款App都有免费版FE File Explorer: File ManagernPlayer Lite,付费版都是30元。FE免费版限制了一些功能,但也差不多够用;nPlayer功能和付费版一样,但是有不少广告,不过两个都建议买付费版,性价比极高。
    两款App都可直接扫描本地网络添加NAS,也可手动添加远程网盘,在后续将本地NAS穿透到外网后也方便管理。因Emby在8096端口实现了DLNA,所以nPlayer也可以通过8096端口访问Emby,实现串流,从而避开了Emby官方App的付费播放功能限制。

    相关文章

      网友评论

          本文标题:自建NAS系列03——附加功能

          本文链接:https://www.haomeiwen.com/subject/zeefzftx.html