0%

群晖安装Transmission+Flexget(更新python3.6的安装方法)

本章主要记录群晖安装Transmission和Flex插件,实现rss订阅自动下载资源。

Transmission安装及优化

Transmisstion的安装

群晖添加套件来源http://packages.synocommunity.com/

在社群里就可以安装Transmission了比较简单。安装完毕后会在群晖添加名为sc-download的群组,为了使Tr有下载目录的权限,需要在控制面板→用户群组中设置sc-download对应目录的读写权限。

这里说一下Transmission的下载任务备份,直接备份安装目录下的var目录(含设置文件)我的路径是:/volume1/@appstore/transmission/var,还原就直接覆盖吧,复制完后记得修改文件权限。

Transmission的WebUI

我使用的有两种:

  1. 一种是自带的WebUI增强,功能更强大支持移动端。

中文项目地址:https://github.com/ronggang/transmission-web-control/wiki/Home-CN,可以按需选择安装方法。

我选择的是ssh安装代码摘抄如下:

1
2
3
cd /volume1/@appstore/transmission
wget https://github.com/ronggang/transmission-web-control/raw/master/release/install-tr-control-cn.sh
bash install-tr-control-cn.sh
  1. 另一种是客户端形式

客户端名字是Transmission Remote GUI,项目地址:https://github.com/transmission-remote-gui/transgui

Flexget安装

新版FlexGet支持Python 3.6-3.8,群晖的套件中心还是3.5版的,根据官方文档更新了本教程。

python3.6安装

首先卸载群晖套件安装的python,然后还是通过原来的方法安装3.6版,就是使用Entware-NG的opkg源。

1、

1
mkdir -p /volume1/@entware-ng/opt

2、如果原来安装过可以先清除相关文件,然后创建软连接:

1
2
rm -rf /opt
ln -sf /volume1/@entware-ng/opt /opt

3、安装Entware-NG的opkg源:

  • for armv5
1
wget -O - http://pkg.entware.net/binaries/armv5/installer/entware_install.sh | /bin/sh
  • for armv7
1
wget -O - http://pkg.entware.net/binaries/armv7/installer/entware_install.sh | /bin/sh
  • for x86-32
1
wget -O - http://pkg.entware.net/binaries/x86-32/installer/entware_install.sh | /bin/sh
  • for x86-64
1
wget -O - http://pkg.entware.net/binaries/x86-64/installer/entware_install.sh | /bin/sh
  • for MIPS
1
wget -O - http://pkg.entware.net/binaries/mipsel/installer/installer.sh | /bin/sh

群晖一般选择的是x86-64

4、由于DSM6.0开始/etc/rc.local 作为引导我们想要的程序已经不行了。需要制作自定义启动脚本,直接用vi来编辑:

1
sudo vi /usr/local/etc/rc.d/entware-startup.sh

加入以下代码:

1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh

case $1 in
start)
mkdir -p /opt
mount -o bind /volume1/@entware-ng/opt /opt
/opt/etc/init.d/rc.unslung start
;;
stop)
;;
esac

5、在/root/.profile文件末尾添加:

1
. /opt/etc/profile

它将添加/opt/bin并添加/opt/sbin到PATH变量以进行交互式登录。

最后重启!

开始安装Flexget

使用root账户登录ssh:

1
2
3
4
opkg install python3
opkg install python3-dev
opkg install python3-pip
opkg install gcc
1
2
rm /opt/bin/python
ln -s /opt/bin/python3 /opt/bin/python
1
2
pip3 install -–upgrade pip
pip install setuptools
1
2
pip install flexget
pip install feedparser==6.0.0b1

通过flexget -V 验证是否安装成功。

最后安装

1
pip install transmissionrpc

结束,然后直接跳转到运行教程。

以下是老教程

官方网站https://flexget.com/,Flexget的功能很多需要慢慢学习

Flexget需要python的支持,群晖可以在套件里安装,官方的说明:FlexGet supports Python 2.7, 3.3, 3.4 and 3.5. Python 3.6 is not yet supported,正好群晖里的版本是3.5.1-0108。

官方有两种推荐方法一种是在Docker里安装,一种是Local Python package,还有一种不推荐的方法就是安装套件社群里的安装包。我选择推荐的第二种,有一点小变动,也是网上搜索的

,往下看:

安装前的准备python

  • pip安装和更新
1
2
3
cd /volume1/@appstore/py3k/usr/local/bin
./python3 -m ensurepip
./python3 -m pip install --upgrade pip
  • 顺便创建一个easy_install的软链接,万一以后使用easy_install安装软件也方便了
1
ln -sf easy_install-3.5 easy_install

virtualenv的方式安装flexget

以下命令都在目录/volume1/@appstore/py3k/usr/local/bin下

  • 安装virtualenv
1
./pip3.5 install virtualenv
  • 创建Flexget的virtualenv环境,我是安装在/volume1目录下,可以共享,方便日志查看。
1
./virtualenv /volume1/flexget/

进入flexget/bin文件夹

1
cd /volume1/flexget/bin

启动virtualenv 环境

1
source activate

启动后在命令行左侧有标示 flexget

  • 安装Flexget
1
pip3.5 install flexget

安装完毕后bin文件夹里就有flexget文件了

  • 安装Flexget所需的transmissionrpc
1
pip3.5 install transmissionrpc

安装完毕退出virtualenv环境

1
deactivate

以后使用flexget命令就在/volume1/flexget/bin/flexget

Flexget的运行

在flexget文件夹加入自己的配置文件config.yml。

运行官方推荐加入服务的方式,但是我喜欢修改crontab的方法

路径:/etc/crontab

修改加入以下参数:

*/15 * * * * root /volume1/flexget/bin/flexget execute

意思是每隔15分钟运行,然后重启crontab服务

1
synoservice -restart crond

如果crontab失败直接用群晖的计划任务建立,也挺方便。

搞定!感谢原作者。

以后有时间写写config.yml配置文件,官方有详细的说明:

https://flexget.com/Configuration

http://flexget.com/Plugins

您的支持是我最大动力