unRAID 制作属于自己的插件!

图片[1]-unRAID 制作属于自己的插件!-RSG-人生观

前言:

插件系统是unraid的特色,有很多东西都可以通过插件系统,安装在unraid系统里面,此教程需要一些基本条件,有能力的兄弟们可以弄个属于自己的插件服务器!

教程:

在制作插件之前,我们需要注意两个问题:

  • 第一个:本地安装插件,制作好以后,将文件放入指定位置,重启系统自动安装。
  • 第二个:使用nginx 搭建web服务器,然后使用本地web服务器在线安装,也可以分享给小伙伴进行在线安装,无需重启系统。

这里我更推荐,使用web服务器进行在线安装,无需重启。

web服务器:

服务器可以选择的类型很多,比如apache,nginx,iis 或者是OSS, 7牛的镜像都可以。

这里我推荐linuxserver的nginx服务器镜像,在APPS商店查找,之后默认安装就可以,阿里云的oss 和其他7牛的镜像存储,都有个刷新的问题,可能你上传了插件,你当地的CDN 迟迟不更新还需要手动刷新!所以本地的web服务器是一个不错的选择。

图片[2]-unRAID 制作属于自己的插件!-RSG-人生观

图片[3]-unRAID 制作属于自己的插件!-RSG-人生观

默认即可什么都不需要配置!

注意:这里配置完成后,nginx的默认根目录在/mnt/user/appdata/nginx/www

我们在根目录下创建一个名为plugins的插件目录!

mkdir -p /mnt/user/appdata/nginx/www/plugins 

下面是重点!

插件的解析:

下面这些 是我之前写的加速插件,我针对下面的内容进行注释!

插件其实结构也很简单

开头基本可以不变,修改对应的名字 图标 插件地址即可!

插件的流程基本就是开头基本信息,然后日志,插件前期运行的前期准备,比如创建文件夹,给文件夹特定权限!

然后下载数据包,并安装。

到最后是不用插件了,删除的部分!

 

<?xml version='1.0' standalone='yes'?>
<!DOCTYPE PLUGIN [
<!ENTITY title     "unRAID 加速插件"> ###插件名字
<!ENTITY name      "speed.rsg"> ###插件路径的名字
<!ENTITY author    "RSG-人生观"> ###作者的名字
<!ENTITY version   "2020.08.23a"> ###这里是版本更新版本,但是默认我都是按照日期来当作版本
<!ENTITY pluginURL "https://download.unraid.info:2018/plugins/&name;/&name;.plg"> ###这里是插件的地址,开头部分是服务器地址,端口(2018)后面的服务器的路径。
把这行里面所有的变量加进去,的出来的结果是https://download.unraid.info:2018/plugins/speed.rsg/speed.rsg.plg希望大家能理解。
]
注意:上面的内容凡是开头带有ENTITY全部都是插件内的环境变量,注意书写的内容,再就是unraid的插件变量是&开头不是shell脚本的$开头这里需要注意,别写错了!
<PLUGIN name="&title;" author="&author;" version="&version;" pluginURL="&pluginURL;" min="6.6.6" support="https://www.lxg2016.com" icon="users">###这里无特殊求可以不用更改
这里的内容,大致就是支持这个插件的教程页面图标以及最低安装版本!可以根据自己情况修改或者不改

<CHANGES> ###每次更新的版本内容,类似于更新日志
###2020.08.23a
- 修复BUG
- 移除对媒体库搜刮支持

###2020.08.23-1
- 修复Openssl错误
- 精简插件包体积

###2020.08.22
- 修复服务器错误

###2020.08.08
- 增加TLS通讯加密
- 使用时需要将unraid HTTPS 端口改为非443端口
- 解密客户端需要占用443端口
- 最好删掉旧插件重新安装插件

###2020.08.05
- BUG修复

###2020.08.04-2
- 增加针对NVIDIA插件支持

###2020.08.04
- 修复逻辑错误导致的部分文件体积增长
- 修复部分bug

###2020.08.03-3
- 修复逻辑错误,更新前,请删除插件,重启unraid服务器,在进行安装

###2020.08.03
- 修复BUG

###v0.2
- 增加plex部分支持
- 增加部分PT站点支持

###V0.1
- 初始测试版本
</CHANGES>


<FILE Run="/bin/bash">  ###插件的前期准备工作,注意 Run后面的指定的解释器,这里给的是bash在INLINE开头到/INLINE之间的内容,是执行的脚本,可以输入命令,脚本以及变量
<INLINE>
mkdir -p /boot/config/plugins/&name;
if [ ! -f "/tmp/hosts" ]; then
cp /etc/hosts /tmp/hosts
fi
</INLINE>
</FILE>
###注意:准备工作不是必须,根据自己情况选择这一段。
<!--
The 'source' file.   ### 下载插件的文件包,并执行安装,这里的txz文件 可以自己封包,也可以去下载!
-->
<FILE Name="/boot/config/plugins/&name;/&name;-&version;.txz" Run="upgradepkg --install-new --reinstall">
<URL>https://download.unraid.info:2018/plugins/&name;/&name;-&version;.txz</URL> ###txz的安装包位置
</FILE>
###注意:如果你只是为了用插件安装特定的软件包,例如unraid的perl这个包大家都出现无法安装网络问题,就可以去参考unRAID 拆包安装自定义应用 - RSG-人生观 (lxg2016.com)此篇内容去下载txz安装包
<!--
The 'post-install' script ### 安装部分 这里没什么好说的,如果只是为了安装支持包 这里是可以直接删掉的
-->
<FILE Run="/bin/bash">
<INLINE>
echo "config"
ps -ef | grep stunnel | grep -v grep | awk '{print $2}' | xargs kill -9
cat '/tmp/hosts' >> /etc/hosts
stunnel
echo ""
echo "----------------------------------------------------"
echo " &name; 安装完成."
echo " 如有问题请访问www.lxg2016.com"
echo " Version: &version;"
echo "----------------------------------------------------"
echo ""
</INLINE>
</FILE>

<!--
The 'remove' script. ###插件卸载的时候需要执行的命令,部分插件可能会运行,所以我们需要增加kill命令在卸载之前杀死在运行的进程
-->
<FILE Run="/bin/bash" Method="remove">
<INLINE>
ps -ef | grep stunnel | grep -v grep | awk '{print $2}' | xargs kill -9
cat 'tmp/hosts' > /etc/hosts
rm -rf /boot/config/plugins/&name;
removepkg &name;-&version; ###卸载命令
echo ""
echo "----------------------------------------------------"
echo " &name; 卸载完成."
echo " 如有问题请访问www.lxg2016.com"
echo " Version: &version;"
echo "----------------------------------------------------"
echo ""
</INLINE>
</FILE> 
</PLUGIN>

上面就是整个插件内容所有的解释了, 大家需要什么部分就复制粘贴,之后修改里面的内容即可。

插件的整体流程就是 开头插件名字变量信息–更新日志–插件前期准备–下载txz并安装–启动安装内容–卸载 整体就是这么个流程,如果你只是为了安装部分软件包,PERL这种的扩展支持包,只需要前期变量信息,下载txz,以及卸载即可,其他流程全部都可以省略掉不要!

插件制作好以后,我们把上面的内容保存为plg结尾的文件,然后把文件,以及制作或者下载的txz一起放在nginx的plugins的文件夹内,注意插件的路径位置

之后我们用http://服务器地址/plugins/插件名字(此路径看自己配置)/plugins.plg 写在unraid插件页面的安装路径,既可安装我们写好的插件了!

图片[4]-unRAID 制作属于自己的插件!-RSG-人生观

结尾!

此教程有点难度,有点linux操作经验或者shell脚本书写经验的,可能很快就知道内容的意思,我这里只是分享了一些我在制作插件的时候的一些经验!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 共2条

请登录后发表评论

    请登录后查看评论内容