简介
写该文章,主要是为了记录自己在家庭影院方面的折腾,当然,远远不限于这些,也走了很多很多弯路,从购买国外服务器到配置rclone再到plex服务,最后转为用斐讯N1刷armbian,配置clash的代理服务,再配置rclone和plex共花了我两天的时间,并且在最后一天甚至搞到了第二天7点。
而本文章主要记录rclone和plex部分,这两个部分才是家挺影院的主要部分,至于服务器,只需要可以访问到外网的环境就可以了
通过本篇文章,你可以通过googleDrive无限存储你的影音,在telegram上也有很多朋友会向你分享很多优秀的内容。并通过plex将这些影音成为你家庭影院的一部分!
生命不息,折腾不止!
文章前说明:
- GoogleDrive是谷歌提供的云盘服务
- GoogleDrive需要VPN才可以连接
- GoogleDrive教育网邮箱注册的用户可以拥有无限容量的网盘空间
- 教育邮箱可以和学校要,注册方法:https://zhuanlan.zhihu.com/p/35953039
- 没有教育邮箱的童鞋,可以参考,免费注册方法:https://saodaye.com/1099.html
- 怕麻烦的童鞋也可以在下面列表购买(非本人提供,本人不提供售后服务)
无限容量账号购买:
VPN推荐(本人在用的):
- 墙裂 6元/月 50G流量 500M带宽 https://xn--noss43i.com/
- pieCloud 26元/月 300G浏览 无贷款限制 https://piecloud.site/
rclone挂载
安装rclone
# debian ubuntu
apt-get install wget -y && wget https://www.uud.me/usr/shell/rclone_debian.sh && bash rclone_debian.sh
# centos
curl https://rclone.org/install.sh | sudo bash
配置Rclone
rclone config
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n #输入n
name> gdrive #名称随便填
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / 1Fichier
\ "fichier"
2 / Alias for an existing remote
\ "alias"
3 / Amazon Drive
\ "amazon cloud drive"
4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
\ "s3"
5 / Backblaze B2
\ "b2"
6 / Box
\ "box"
7 / Cache a remote
\ "cache"
8 / Citrix Sharefile
\ "sharefile"
9 / Dropbox
\ "dropbox"
10 / Encrypt/Decrypt a remote
\ "crypt"
11 / FTP Connection
\ "ftp"
12 / Google Cloud Storage (this is not Google Drive)
\ "google cloud storage"
13 / Google Drive
\ "drive"
14 / Google Photos
\ "google photos"
15 / Hubic
\ "hubic"
16 / JottaCloud
\ "jottacloud"
17 / Koofr
\ "koofr"
18 / Local Disk
\ "local"
19 / Mail.ru Cloud
\ "mailru"
20 / Mega
\ "mega"
21 / Microsoft Azure Blob Storage
\ "azureblob"
22 / Microsoft OneDrive
\ "onedrive"
23 / OpenDrive
\ "opendrive"
24 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
\ "swift"
25 / Pcloud
\ "pcloud"
26 / Put.io
\ "putio"
27 / QingCloud Object Storage
\ "qingstor"
28 / SSH/SFTP Connection
\ "sftp"
29 / Transparently chunk/split large files
\ "chunker"
30 / Union merges the contents of several remotes
\ "union"
31 / Webdav
\ "webdav"
32 / Yandex Disk
\ "yandex"
33 / http Connection
\ "http"
34 / premiumize.me
\ "premiumizeme"
Storage> 13 #选择13,google drive
** See help for drive backend at: https://rclone.org/drive/ **
Google Application Client Id
Setting your own is recommended.
See https://rclone.org/drive/#making-your-own-client-id for how to create your own.
If you leave this blank, it will use an internal key which is low performance.
Enter a string value. Press Enter for the default ("").
client_id> #留空
Google Application Client Secret
Setting your own is recommended.
Enter a string value. Press Enter for the default ("").
client_secret> #留空
Scope that rclone should use when requesting access from drive.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / Full access all files, excluding Application Data Folder.
\ "drive"
2 / Read-only access to file metadata and file contents.
\ "drive.readonly"
/ Access to files created by rclone only.
3 | These are visible in the drive website.
| File authorization is revoked when the user deauthorizes the app.
\ "drive.file"
/ Allows read and write access to the Application Data folder.
4 | This is not visible in the drive website.
\ "drive.appfolder"
/ Allows read-only access to file metadata but
5 | does not allow any access to read or download file content.
\ "drive.metadata.readonly"
scope> 1 #输入1
ID of the root folder
Leave blank normally.
Fill in to access "Computers" folders (see docs), or for rclone to use
a non root folder as its starting point.
Note that if this is blank, the first time rclone runs it will fill it
in with the ID of the root folder.
Enter a string value. Press Enter for the default ("").
root_folder_id> #留空
Service Account Credentials JSON file path
Leave blank normally.
Needed only if you want use SA instead of interactive login.
Enter a string value. Press Enter for the default ("").
service_account_file>
Edit advanced config? (y/n)
y) Yes
n) No
y/n> n #输入n
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> n #输入n
If your browser doesn’t open automatically go to the following link: https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=202264815644.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&state=tZzSXMvZc8iu0lYFB4ANBw
Log in and authorize rclone for access
Enter verification code> #打开以上链接,登录要绑定的Google,此处输入活动的Code
Configure this as a team drive?
y) Yes
n) No
y/n> y #如果你的是团队盘,则输入y,否则n
Fetching team drive list...
Choose a number from below, or type in your own value
1 / 幽游地资源收集
\ "0AMp-QeDCIy_mUk9PVA"
Enter a Team Drive ID> 1 #如果是团队盘,输入序号
--------------------
[gdrive]
type = drive
scope = drive
token = {"access_token":"ya29.Il-2B5z7OPWyx59ZHw7__IemaHsR8VT7P__jUN27hnNXZtaj0Rk1HcWPGGt2xqjkJH3e2KaVWuwz1nvW20MT0rfmEd5XAMY-je7wzQWgdjuGaBn9-txOUGh2jkk_CYio2w","token_type":"Bearer","refresh_token":"1//03yKvDZ7SOc80CgYIARAAGAMSNwF-L9Irrptm9elmrbRA1jxPeBsodd2FZw0TG5Utj5dUXeEDxKgZcR2EkYy1D0_wpsWsmgCWDzg","expiry":"2019-12-24T03:17:54.135381482-05:00"}
team_drive = 0AMp-QeDCIy_mUk9PVA
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y #输入y
Current remotes:
Name Type
==== ====
gdrive drive
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q #绑定完成后输入q退出,如果要继续绑定,输入y重复以上步骤
挂载为磁盘
mkdir -p /home/gdrive #创建需要映射的目录
rclone mount gdrive: /home/gdrive --allow-other --allow-non-empty --vfs-cache-mode writes
#gdrive为你的配置名称(最开始输入的姓名)
#/home/gdrive对应你本地映射的目录
可能出现的问题
Fatal error: failed to mount FUSE fs: fusermount: exec: "fusermount": executable file not found in $PATH
解决方法:
# Debian/Ubuntu
apt-get install fuse
# CentOS
yum install fuse
输入 df -h
可以查看挂载的硬盘
开机自启
新建一个rclone.service文件
vi /usr/lib/systemd/system/rclone.service
写入
[Unit]
Description = rclone
[Service]
User = root
ExecStart = /usr/bin/rclone mount gdrive: /root/GoogleDrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000
Restart = on-abort
[Install]
WantedBy = multi-user.target
重载daemon,让新的服务文件生效
systemctl daemon-reload
设为开机自启
systemctl enable rclone
若需要映射多个网盘
新建/etc/systemd/system/rclone@.service 文件
vi /etc/systemd/system/rclone@.service
写入
# cat /etc/systemd/system/rclone@.service
[Unit]
Description=rclone mount %I drive
After=network.target
[Service]
#Type=notify
Type=simple
#PrivateTmp=true
ExecStart=/usr/bin/rclone mount %i: /home/%i --allow-other --config /root/.config/rclone/rclone.conf
#/home/%i 为挂载路径,你也可以设置为其他,如/root/%i
[Install]
WantedBy=multi-user.target
启动命令
for a in `grep '^\[' /root/.config/rclone/rclone.conf`
do
b=${a:1:-1}
[ ! -d "/home/${b}" ] && mkdir /root/${b}
systemctl enable rclone@${b}
systemctl start rclone@${b}
done
重载daemon,让新的服务文件生效
systemctl daemon-reload
设为开机自启
systemctl enable rclone
安装plex家庭影音服务
安装plex
打开 https://www.plex.tv/media-server-downloads/#plex-media-server
选择对应的系统版本,复制链接,并使用wget下载到本地
如
wget https://downloads.plex.tv/plex-media-server-new/1.19.4.2865-4fa317f77/debian/plexmediaserver_1.19.4.2865-4fa317f77_amd64.deb
安装:
# Debian/Ubuntu
sudo dpkg -i fileName.deb #fileName对应刚刚下载的包名
# CentOS
rpm -ivh fileName.rpm #fileName对应刚刚下载的包名
配置plex
首次配置Plex时,必须通过127.0.0.1:32400/web或localhost:32400/web访问Plex
重定向登录:
无脑下一步,但是到这一步注意要打开允许家庭外访问:
添加媒体库中路径选择我们刚刚映射到本地的路径就可以愉快的让googleDrive中的文件成为我们的家庭影院了