惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
有赞技术团队
有赞技术团队
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
D
DataBreaches.Net
F
Full Disclosure
腾讯CDC
博客园 - 【当耐特】
MyScale Blog
MyScale Blog
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
SegmentFault 最新的问题
The Register - Security
The Register - Security
WordPress大学
WordPress大学
博客园 - 聂微东
雷峰网
雷峰网
J
Java Code Geeks
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Privacy International News Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
A
Arctic Wolf
Scott Helme
Scott Helme
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tor Project blog
博客园 - 三生石上(FineUI控件)
Know Your Adversary
Know Your Adversary
AWS News Blog
AWS News Blog
G
Google Developers Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
CERT Recently Published Vulnerability Notes
O
OpenAI News
Project Zero
Project Zero
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Application and Cybersecurity Blog
Application and Cybersecurity Blog
云风的 BLOG
云风的 BLOG
N
News and Events Feed by Topic
MongoDB | Blog
MongoDB | Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
Cisco Talos Blog
Cisco Talos Blog
P
Palo Alto Networks Blog
Schneier on Security
Schneier on Security

Rat's Blog - Plex

Cloudbox:一个强大的多功能云媒体服务,可自动获取视频资源并在线播放 - Rat's Blog 一款开源免费且类似Emby的个人媒体服务器:Jellyfin安装教程 - Rat's Blog 建立你的私人在线影库:Plex云盘搭建及使用教程 - Rat's Blog
Rclone+Google Drive搭建无限容量的媒体库,适用于Plex/Emby/Jellyfin等 - Rat's Blog
博主: Rat's · 2019-01-24 · via Rat's Blog - Plex

说明:一般我们玩PlexEmbyJellyfin这些媒体服务器的时候,都会考虑到硬盘大小的问题。如果考虑到成本的话,那就只能挂载无限网盘了,这里就建议用Google Drive,挂载方法的话可以用PlexdriveRclone

提示:本教程需要国外的服务器,且挂载后看电影、听音乐的时候不需要梯子

Plexdrive是一个可以安装Gdrive应用的工具,看名字像是为Plex量身打造,其实其它应用也可以用,该工具可以直接从Gdrive读取媒体文件,专门争对媒体服务器优化,貌似是利用内存缓存原理,可以加快媒体访问并减少API的读取次数。所以可能需要内存大点,不够的可以添加个几G的虚拟内存,Swap一键脚本→传送门

Rclone是一个强大的网盘挂载工具,很久前博主就经常介绍,不过考虑到用途,之前的挂载参数肯定是需要调整下的,所以会在这里单独说下,该工具目前也有适合媒体服务器的缓存读取功能,但缓存很容易占用本地硬盘空间,所以这里博主就不用缓存功能了,主要使用的是分段读取,读取会快点,对于API来说,读取次数也会变的非常少。

#两个工具的读取区别
Plexdrive:只能读取和删除
Rclone:可以写入、读取和删除,但不能当硬盘直接写入,只能将文件移动进去

2个工具都需要安装fuse,可以提前装下,使用命令:

#Debian/Ubuntu系统
apt-get install fuse -y
#CentOS系统
yum install fuse -y

使用Plexdrive

Github地址:https://github.com/dweidenfeld/plexdrive

1、获取谷歌API凭据
先启用Google Drive API,启用地址:点击进入
请输入图片描述

再创建一个OAuth client ID,创建地址:点击进入。应用类型选择其他(Other),名称自己填,这里博主填的Plexdrive
请输入图片描述

然后你会获得自己的客户端ID和客户端密钥,再复制下来。
请输入图片描述

2、运行Plexdrive
Plexdrive下载地址→传送门,根据自己的架构选择对应的版本。

#下载最新的Plexdrive
wget https://github.com/dweidenfeld/plexdrive/releases/download/5.0.0/plexdrive-linux-amd64
#移动并命名
mv plexdrive-linux-amd64 /usr/local/bin/plexdrive
chmod +x /usr/local/bin/plexdrive
#新建本地挂载目录
mkdir -p /home/gdrive
#开始挂载
/usr/local/bin/plexdrive mount \
 -c /home/.plexdrive \
 -o allow_other \
 -v 4 --refresh-interval=1m \
 --chunk-check-threads=4 \
 --chunk-load-threads=4 \
 --chunk-load-ahead=4 \
 --max-chunks=20 \
 /home/gdrive

挂载参数可以参考→传送门,可以根据你的需求自行调整以上参数。

挂载后会要你输入客户端ID和密匙,然后打开获取到的链接绑定账号后,将自己获取到的code复制到SSH客户端确定即可。

然后接下来Plexdrive将开始生成缓存,所以期间我们需要等几分钟。缓存完了后,你会看到Gdrive的文件已经同步到了本地挂载文件夹。然后使用PlexEmbyJellyfin等媒体服务器的时候,就可以直接把媒体文件夹指向本地挂载文件夹了。

3、开机自启
这里使用Systemctl守护进程,只适用于CentOS 7Debian 8+Ubuntu 16+

#以下是一整条命令,一起复制到SSH客户端运行
cat > /etc/systemd/system/plexdrive.service <<EOF
[Unit]
Description=Plexdrive
AssertPathIsDirectory=/home/gdrive
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/plexdrive mount \
 -c /home/.plexdrive \
 -o allow_other \
 -v 4 --refresh-interval=1m \
 --chunk-check-threads=4 \
 --chunk-load-threads=4 \
 --chunk-load-ahead=4 \
 --max-chunks=20 \
 /home/gdrive
ExecStop=/bin/fusermount -u /home/gdrive
Restart=on-abort

[Install]
WantedBy=default.target
EOF

开始启动:

systemctl start plexdrive

设置开机自启:

systemctl enable plexdrive

其他命令:

重启:systemctl restart plexdrive
停止:systemctl stop plexdrive
状态:systemctl status plexdrive

使用Rclone

1、配置Rclone
使用和挂载Google Drive的方法可以参考博主以前发的教程→传送门,但只参考教程安装和配置即可,挂载就看本文。

2、挂载Gdrive
挂载需要3个主要参数,这里很多人容易搞混,就详细的说下,比如开头的参数如下:

/usr/bin/rclone mount DriveName:Folder LocalFolder

参数解读:

DriveName为Rclone的配置名称,比如你配置rclone的时候,Name填的Rats
Folder为网盘里的文件夹路径,如果你要挂载整个网盘,直接填/挂载整个根目录
LocalFolder为本地服务器上的挂载文件夹,如果你需要将网盘的文件夹挂载到服务器上的/Drive文件夹,那就填/Drive

博主目前针对媒体服务器测试了个比较不错的挂载参数,命令:

#记得修改DriveName:Folder和LocalFolder的值
/usr/bin/rclone mount DriveName:Folder LocalFolder \
 --umask 0000 \
 --default-permissions \
 --allow-non-empty \
 --allow-other \
 --buffer-size 32M \
 --dir-cache-time 12h \
 --vfs-read-chunk-size 64M \
 --vfs-read-chunk-size-limit 1G

更多参数可以查看→地址一地址二,如果你喜欢折腾的话,可以测试下,看还有不有更适合的参数,然后留个言。

3、开机自启
这里和Plexdrive一样,同样使用Systemctl守护进程,也只适用于CentOS 7Debian 8+Ubuntu 16+

#以下是一整条命令,先修改DriveName:Folder和LocalFolder的值,再一起复制到SSH客户端运行
cat > /etc/systemd/system/rclone.service <<EOF
[Unit]
Description=Rclone
AssertPathIsDirectory=LocalFolder
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount DriveName:Folder LocalFolder \
 --umask 0000 \
 --default-permissions \
 --allow-non-empty \
 --allow-other \
 --buffer-size 32M \
 --dir-cache-time 12h \
 --vfs-read-chunk-size 64M \
 --vfs-read-chunk-size-limit 1G
ExecStop=/bin/fusermount -u LocalFolder
Restart=on-abort
User=root

[Install]
WantedBy=default.target
EOF

开始启动:

systemctl start rclone

设置开机自启:

systemctl enable rclone

其他命令:

重启:systemctl restart rclone
停止:systemctl stop rclone
状态:systemctl status rclone

总结

现在Plexdrive项目好像很少更新了,不过还能用;至于Rclone的话,更新频繁,功能也强,所以博主还是偏向于Rclone的,不过博主体验了下下,貌似Plexdrive加载什么的更快些,当然也不能肯定Plexdrive要快,毕竟也可能与其它因素有关,对于这2个工具的选择,可以都体验下,觉得哪个适合自己就用那个。

编译Plexdrive

说明:由于作者Github源码更新了,二进制还没更新,为了可以使用最新版的功能,我们可以编译下,这里就说下方法。

1、安装Go

#32位系统下载
wget -O go.tar.gz https://dl.google.com/go/go1.13.3.linux-386.tar.gz
#64位系统下载
wget -O go.tar.gz https://dl.google.com/go/go1.13.3.linux-amd64.tar.gz

#解压压缩包
tar -zxvf go.tar.gz -C /usr/local
#设置环境变量,将以下一起复制进ssh客户端运行
mkdir $HOME/go
echo 'export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> /etc/profile
source /etc/profile
#查看go版本,有输出即为安装成功
go version

2、安装Git

#Debian/Ubuntu系统
apt-get -y install git

#CentOS/RHEL系统
yum -y install git

3、编译Plexdrive

go get github.com/dweidenfeld/plexdrive
cd $GOPATH/src/github.com/dweidenfeld/plexdrive
#构建
go build

到这里最新版的plexdrive编译并安装完成。

相关教程


版权声明:本文为原创文章,版权归 Rat's Blog 所有,转载请注明出处!

本文链接:https://www.moerats.com/archives/870/

如教程需要更新,或者相关链接出现404,可以在文章下面评论留言。