Raspberry Pi 媒体播放器,带 Plex、Transmission、Sonarr、Bazarr 和 Jackett
所以你有一个 Raspberry Pi 被遗弃了,并且一直想用它来做一些有用的事情。您也喜欢看系列,但提供者太多,您不知道哪个订阅了它。不用担心本教程,您将同时解决这两个问题;您将使用 Raspberry Pi 无限制地观看您喜爱的系列节目! 安装树莓派操作系统 首先,我们需要在我们的 Raspberry 中安装一个操作系统。因此,我们在官方文档中解释了不同的选项。我个人决定使用Raspberry
所以你有一个 Raspberry Pi 被遗弃了,并且一直想用它来做一些有用的事情。您也喜欢看系列,但提供者太多,您不知道哪个订阅了它。不用担心本教程,您将同时解决这两个问题;您将使用 Raspberry Pi 无限制地观看您喜爱的系列节目!
安装树莓派操作系统
首先,我们需要在我们的 Raspberry 中安装一个操作系统。因此,我们在官方文档中解释了不同的选项。我个人决定使用Raspberry Pi OS (32-bit) Lite
,因为我不想要任何桌面或任何推荐的软件,所以越轻越好。
从源我们按照 linux 映像的说明进行操作。
如您所知,我们需要一个 microSD 来在 Raspberry Pi 中运行操作系统,因此我们必须连接到我们的笔记本电脑并知道它的名称。为此,我们可以打开一个终端并输入:
lsblk -p
进入全屏模式 退出全屏模式
就我而言,它是/dev/sda
。
一旦我们知道 SD 的名称,我们需要使用以下命令将图像写入卡,确保将输入文件if=
参数替换为 .img 文件的路径,并将输出文件of=
参数中的/dev/sda
替换为正确的设备名称。
⚠️ 这非常重要,因为如果您提供错误的设备名称,您将丢失硬盘上的所有数据。确保设备名称是如上所述的整个 SD 卡的名称,而不仅仅是一个分区。例如:sdd,不是 sdds1 或 sddp1; mmcblk0,而不是 mmcblk0p1。
sudo dd bs=4M if=2020-08-20-raspios-buster-armhf-lite.img of=/dev/sda conv=fsyn
进入全屏模式 退出全屏模式
我们可以添加标志status=progress conv=fsync
来查看进度:
dd bs=4M if=2020-08-20-raspios-buster-armhf.img of=/dev/sda status=progress conv=fsync
进入全屏模式 退出全屏模式
如果它是压缩的,我们可以连接 unzip 和 dd 命令:
sudo unzip -p 2020-08-20-raspios-buster-armhf.zip | sudo dd of=/dev/sda bs=4M conv=fsync
进入全屏模式 退出全屏模式
之后,我们将操作系统安装在 microSD 中,这样我们的树莓派就准备好了! 🙌
登录
现在是时候将 microSD 插回树莓派,将其连接到屏幕并插入。
在我们的电视中出现这样的东西:
[](https://res.cloudinary.com/practicaldev/image/fetch/s--dnYP3hV4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://charly3pins.dev/images /覆盆子媒体播放器/安装.jpg)
正如您在底部看到的,我已经登录。用户是pi
,默认密码是raspberry
。超级建议您在第一次登录时更改密码。
启用ssh
下一步是启用 ssh 连接,因为我们想通过笔记本电脑而不是电视管理 Raspberry,因此首先阅读文档。
其次是使用systemctl
启动和启用服务:
sudo systemctl start ssh
进入全屏模式 退出全屏模式
sudo systemctl enable ssh
进入全屏模式 退出全屏模式
我们可以检查它是否与:
sudo systemctl status ssh
进入全屏模式 退出全屏模式
它会看起来像:
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since XXX
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 440 (sshd)
Tasks: 1 (limit: 2063)
CGroup: /system.slice/ssh.service
└─440 /usr/sbin/sshd -D
进入全屏模式 退出全屏模式
之后,我们需要发现我们的树莓派的IP
。为此,我们可以使用:
ifconfig
进入全屏模式 退出全屏模式
会出现类似的东西:
[](https://res.cloudinary.com/practicaldev/image/fetch/s--9WmWXc82--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://charly3pins.dev/images /覆盆子媒体播放器/ifconfig.jpg)
在我的例子中,你可以看到它是192.168.1.131
,所以我将使用它作为参考;您的可能会有所不同,因为它取决于您的网络。
现在我们可以转到我们的笔记本电脑并通过 ssh 连接:
ssh pi@192.168.1.131
进入全屏模式 退出全屏模式
它会询问密码,但我们已经知道是哪个密码了,因为我们直接登录了 Raspberry(记住你更改了它😜)。
将 USB 驱动器配置为媒体存储
首先我们要更新并拥有最新的依赖项,所以输入:
sudo apt-get update
sudo apt-get upgrade
进入全屏模式 退出全屏模式
我决定使用格式化为 ExFAT 的 USB 驱动器,因为我只使用 Linux。将 USB 驱动器插入 Raspberry Pi 并重新启动它。
从终端执行:
sudo fdisk -l
进入全屏模式 退出全屏模式
这将列出系统识别的所有分区。确定与外部驱动器关联的驱动器。就我而言,它是:
Disk /dev/sda: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: External USB 3.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0072438b
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 3907028991 3907026944 1.8T 7 HPFS/NTFS/exFAT
进入全屏模式 退出全屏模式
现在安装 exFAT 驱动程序,否则将无法识别文件系统:
sudo apt-get install exfat-fuse
进入全屏模式 退出全屏模式
并创建将安装磁盘的目录:
sudo mkdir /media/storage
进入全屏模式 退出全屏模式
现在我们可以使用以下命令挂载磁盘:
sudo mount /dev/sda1 /media/storage
进入全屏模式 退出全屏模式
⚠️ 请记住将sda1
替换为您使用 sudo fdisk -l 找到的实际设备名称。
要卸载它,我们可以使用:
sudo umount /media/storage
进入全屏模式 退出全屏模式
理想情况下,我们希望驱动器始终处于连接状态,因此我们在启动时配置挂载并保存以在每次重新启动 Raspberry 时键入这些命令。
首先我们找到标识符:
sudo blkid
进入全屏模式 退出全屏模式
就我而言,结果是:
/dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="4AD7-B4D5" TYPE="vfat" PARTUUID="d5603eaf-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="2887d26c-6ae7-449d-9701-c5a4018755b0" TYPE="ext4" PARTUUID="d5603eaf-02"
/dev/mmcblk0: PTUUID="d5603eaf" PTTYPE="dos"
/dev/sda1: UUID="1200CB0C6CE045EE" TYPE="ntfs" PTTYPE="atari" PARTUUID="0072438b-01"
进入全屏模式 退出全屏模式
我们感兴趣的是我们外部驱动器的 UUID。在我的情况下,这是1200CB0C6CE045EE
。
现在我们可以编辑文件:
sudo nano /etc/fstab
进入全屏模式 退出全屏模式
并在底部添加这一行:
UUID=1200CB0C6CE045EE /media/storage exfat defaults,auto,umask=000,users,rw 0 0
进入全屏模式 退出全屏模式
⚠️ 不要忘记用你的 UUID 替换。
传输BitTorrent
下一步是要有一个 BitTorrent 客户端来下载种子(当然只有合法的),为此我们需要安装Transmission
。
执行以下命令:
sudo apt-get install -y transmission-daemon transmission-cli transmission-common
进入全屏模式 退出全屏模式
新的我们需要停止恶魔以将更改应用到允许我们远程管理它的配置:
sudo service transmission-daemon stop
sudo vi /etc/transmission-daemon/settings.json
进入全屏模式 退出全屏模式
查找 rpc-whitelist 和 rpc-whitelist-enabled 并确保它们看起来像这样:
"rpc-whitelist": "127.0.0.1,192.168.*.*",
"rpc-whitelist-enable": "true",
进入全屏模式 退出全屏模式
请注意,这是假设您的内部网络在192.168.0.1/24
上工作。否则请相应地更改该值。
另外,我们可以修改 download-dir 和 incomplete-dir 以指向外部 USB 驱动器,例如:
"download-dir": "/media/storage/downloads",
"incomplete-dir": "/media/storage/.tmp",
"incomplete-dir-enabled": true,
进入全屏模式 退出全屏模式
请确保这些目录存在于您的外部 USB 驱动器上(我们已在上一节中创建)。
设置用户和密码:
"rpc-password": "superSecret",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "gopher",
进入全屏模式 退出全屏模式
下一步是更改对等端口,因为有时您的提供商会阻止默认端口。您可以在 49152-65535 范围内选择您想要的那个。就我而言,我决定使用 51228。所以找到下一行:
"peer-port": 51413,
进入全屏模式 退出全屏模式
并将其更改为决定的端口:
"peer-port": 51228,
进入全屏模式 退出全屏模式
您还可以通过编辑以下行的配置来管理下载/上传速度:
"speed-limit-down": 3000,
"speed-limit-down-enabled": true,
"speed-limit-up": 900,
"speed-limit-up-enabled": true,
进入全屏模式 退出全屏模式
现在我们可以再次启动服务:
sudo service transmission-daemon start
进入全屏模式 退出全屏模式
Web 界面已在地址http://192.168.1.131:9091可用(将 IP 地址替换为网络中 Raspberry Pi 使用的 IP 地址)。
您可以使用用户名和密码作为transmission
登录。
安装声纳
Sonarr是适用于 Usenet 和 BitTorrent 用户的 PVR。它可以监控多个 RSS 提要以获取您最喜欢的节目的新剧集,并将抓取、排序和重命名它们。它还可以配置为在质量更好的格式可用时自动升级已下载文件的质量。
我们需要安装libmono-cil-dev
和mono 3.10
之类的依赖项。我用这个链接作为参考。为此,我们需要输入:
sudo apt-get install libmono-cil-dev
wget http://sourceforge.net/projects/bananapi/files/mono_3.10-armhf.deb
sudo dpkg -i mono_3.10-armhf.deb
进入全屏模式 退出全屏模式
之后,我们可以安装 Sonarr:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0xA236C58F409091A18ACA53CBEBFF6B99D9B78493
echo "deb http://apt.sonarr.tv/ master main" | sudo tee /etc/apt/sources.list.d/sonarr.list
sudo apt-get update
sudo apt-get install nzbdrone
sudo chown -R pi:pi /opt/NzbDrone
进入全屏模式 退出全屏模式
自动启动脚本
我们需要创建文件/etc/systemd/system/nzbdrone.service
:
sudo nano /etc/systemd/system/nzbdrone.service
进入全屏模式 退出全屏模式
并放入:
[Unit]
Description=Sonarr Daemon
After=network.target
[Service]
User=pi
Group=pi
Type=simple
ExecStart=/usr/bin/mono /opt/NzbDrone/NzbDrone.exe -nobrowser
TimeoutStopSec=20
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
进入全屏模式 退出全屏模式
如果服务正在运行,我们可以分别使用以下命令启动、检查状态和启用:
sudo systemctl start nzbdrone
sudo systemctl status nzbdrone
sudo systemctl enable nzbdrone
进入全屏模式 退出全屏模式
Web 界面已在地址http://192.168.1.131:8989可用(将 IP 地址替换为网络中 Raspberry Pi 使用的 IP 地址)。
安装护套
Jackett用作代理服务器:它将来自应用程序(Sonarr、Radarr、SickRage、CouchPotato、Mylar、Lidarr、DuckieTV、qBittorrent、Nefarious 等)的查询转换为特定于跟踪器站点的 http 查询,解析 html 响应,然后将结果发送回请求软件。这允许获取最近的上传(如 RSS)和执行搜索。 Jackett 是维护索引器抓取和翻译逻辑的单一存储库 - 消除了其他应用程序的负担。
我们开始下载最新的 Jackett 版本:
wget -q https://github.com/Jackett/Jackett/releases/latest -O - | grep -E \/tag\/ | awk -F "[><]" '{print $3}'
进入全屏模式 退出全屏模式
或者,如果您已经知道该版本:
wget -q https://github.com/Jackett/Jackett/releases/download/v0.16.1937/Jackett.Binaries.LinuxARM32.tar.gz
进入全屏模式 退出全屏模式
然后我们需要解压文件并将其移动到正确的路径:
tar zxvf Jackett.Binaries.LinuxARM32.tar.gz
sudo mv Jackett /opt/
进入全屏模式 退出全屏模式
将 Jackett 的所有权更改为 Raspberry Pi 的主要用户,在我们的例子中是pi
:
sudo chown -R pi:pi /opt/Jackett
进入全屏模式 退出全屏模式
自动启动脚本
我们需要创建文件/etc/systemd/system/jackett.service
:
sudo nano /etc/systemd/system/jackett.service
进入全屏模式 退出全屏模式
并放入:
[Unit]
Description=Jackett Daemon
After=network.target
[Service]
SyslogIdentifier=jackett
Restart=always
RestartSec=5
Type=simple
User=pi
Group=pi
WorkingDirectory=/opt/Jackett
ExecStart=/opt/Jackett/jackett --NoRestart
TimeoutStopSec=20
[Install]
WantedBy=multi-user.target
进入全屏模式 退出全屏模式
如果服务正在运行,我们可以分别使用以下命令启动、检查状态和启用:
sudo systemctl start jackett
sudo systemctl status jackett
sudo systemctl enable jackett
进入全屏模式 退出全屏模式
Web 界面已在地址http://192.168.1.131:9117可用(将 IP 地址替换为网络中 Raspberry Pi 使用的 IP 地址)。
安装 Bazarr
Bazarr是 Sonarr 和 Radarr 的配套应用程序。它根据您的要求管理和下载字幕。您可以通过电视节目或电影定义您的偏好,Bazarr 会为您处理一切。
作为它的依赖项,我们需要安装python3
。所以首先让我们这样做:
sudo apt-get install python3 idle3
进入全屏模式 退出全屏模式
接下来我们需要 git 来下载 repo 和 pip 来管理包安装:
sudo apt-get install git python3-pip python3-distutils
进入全屏模式 退出全屏模式
现在是时候安装 Bazarr 的依赖项了:
sudo apt-get install libxml2-dev libxslt1-dev python3-libxml2 python3-lxml unrar-free ffmpeg libatlas-base-dev
进入全屏模式 退出全屏模式
有了这些,我们就可以在我们的 Raspberry 中安装 Bazarr。我们需要使用 git 直接从 GitHub 克隆 repo,然后直接输入以下命令到目标文件夹opt/bazarr
:
sudo git clone https://github.com/morpheus65535/bazarr.git /opt/bazarr
进入全屏模式 退出全屏模式
然后我们需要转到该文件夹并安装其中定义的要求:
cd /opt/bazarr
python3 -m pip install -r requirements.txt
进入全屏模式 退出全屏模式
i️ 注意:不要担心这一步没有安装lxml
,反正你已经通过 apt-get 安装了模块。
将所有权更改为pi
用户:
sudo chown -R pi:pi /opt/bazarr
进入全屏模式 退出全屏模式
我们可以启动并测试 Bazarr:
python3 bazarr.py
进入全屏模式 退出全屏模式
在启动 Bazarr 并配置它的消息后,检查它是否在http://192.168.1.131:6767/中工作。
连接声纳
下一步是将它与 Sonarr 连接起来。官方文档超级简单易懂,这里就不放了。只有一件事至少对我来说还不够清楚,它是关于 Sonarr API 密钥及其位置的,所以作为一个提示,我将在这里提出:
- Sonarr API 密钥低于
Settings/General/Security
自动启动脚本
我们需要创建文件/etc/systemd/system/bazarr.service
:
sudo nano /etc/systemd/system/bazarr.service
进入全屏模式 退出全屏模式
并放入:
[Unit]
Description=Bazarr Daemon
After=syslog.target network.target
# After=syslog.target network.target sonarr.service radarr.service
[Service]
WorkingDirectory=/opt/bazarr/
User=pi
Group=pi
UMask=0002
Restart=on-failure
RestartSec=5
Type=simple
ExecStart=/usr/bin/python3 /opt/bazarr/bazarr.py
KillSignal=SIGINT
TimeoutStopSec=20
SyslogIdentifier=bazarr
ExecStartPre=/bin/sleep 30
[Install]
WantedBy=multi-user.target
进入全屏模式 退出全屏模式
如果服务正在运行,我们可以分别使用以下命令启动、检查状态和启用:
sudo systemctl start bazarr
sudo systemctl status bazarr
sudo systemctl enable bazarr
进入全屏模式 退出全屏模式
Web 界面已在地址http://192.168.1.131:6767可用(将 IP 地址替换为网络中 Raspberry Pi 使用的 IP 地址)。
安装 Plex
Plex汇集了所有对您重要的媒体。您的个人收藏与一流的流媒体内容一起看起来很漂亮。享受直播电视和 DVR,不断增长的精彩网络节目、新闻和播客目录。无论您身在何处,最终都可以在一个应用程序中、在任何设备上享受您喜爱的所有媒体。
首先,我们需要添加一个新的存储库,它是关键。这会将我们需要下载安装和未来更新的存储库添加到 Raspberry 的操作系统中。它就像一个链接列表,系统自动读取安装和更新所需的程序。
echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
进入全屏模式 退出全屏模式
下一步是添加 repos 的签名。系统必须确保我们手动添加的存储库是正确的并且它们没有恶意软件。为此,我们需要添加密钥并帮助系统验证这些存储库。
curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add
进入全屏模式 退出全屏模式
我们现在可以更新我们的软件包列表并安装 Plex Media Server:
sudo apt-get update
sudo apt-get install plexmediaserver
进入全屏模式 退出全屏模式
您可以使用浏览器打开以下链接完成设置:
Web 界面已在地址http://192.168.0.10:32400/web可用(将 IP 地址替换为网络中 Raspberry Pi 使用的 IP 地址)。
当您被要求添加库时,您应该添加传输的下载文件夹,在我们的示例中为/media/storage/downloads
。
只需使用您最喜欢的系列📺享受您的媒体播放器。
如果您也对电影感兴趣,您可以安装Radarr,它是 Sonarr 的独立分支,经过重新设计,可通过 Usenet 和 BitTorrent 自动下载电影。该项目的灵感来自其他 Usenet/BitTorrent 电影下载器,例如 CouchPotato。
在以后的帖子中,我可能会尝试对所有设置进行 Dockerize 化,并将包括 Radarr,或者不包括...我们将看到🧑u200d🚀
我希望你喜欢它,如果你有任何疑问,请在这里或任何社交网络上与我联系!
更多推荐
所有评论(0)