温馨提示,由于博主时间尽力有限,加上没找的高配服务器,所以用临时的2c2g日本软银搭建,只完成了rclone挂载谷歌云盘然后顺利用emby播放,没能用nastool、qb及tg机器人搭建一条龙刮削观看服务。但这个坑我未来有一天会补上(先附上完整教程)
2023.3.16 更新 博主以用4c8g的rs1000成功搭建nastool+rclone+emby,恰恰恰~
1.搭建前准备
1.准备一台vps
2.电脑一台(配置rclone config需要)
3.谷歌账号及挂载的无限Google Drive盘
准备上车啦 lets go
2.docker安装及配置 rclone config
安装docker:
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
安装支持库Fuse
# Debian/Ubantu
apt-get update && apt-get install -y fuse
简洁 apt-get install fuse -y
apt-get install fuse3 -y
# CentOS
yum install -y fuse
或者 yum install -y curl fuse unzip wget 2> /dev/null
在root目录下创建emby(挂载的地方)
mkdir -p emby
cd emby
mkdir -p config
mkdir -p share1
mkdir -p share2
2.1 接下来开始配置rclone
安装 rclone
curl https://rclone.org/install.sh | sudo bash
或者安装gclone
bash <(wget -qO- https://git.io/gclone.sh)
还可以这样安装
#进入root目录
cd /root
#使用wget命令下载Rclone
wget https://downloads.rclone.org/v1.57.0/rclone-v1.57.0-linux-amd64.zip
#解压rclone-v1.57.0-linux-amd64.zip
unzip rclone-v1.57.0-linux-amd64.zip
#复制可执行文件,方便添加开机启动
cp /root/rclone-v1.57.0-linux-amd64/rclone /usr/bin/rclone
#运行Rclone开始配置
rclone config
#输入n,新建配置
然后给配置命名,记住名字用 NASTOOL (留个悬念,待会告诉原因),
接下来就按照流程配置就可以了 (!!!注意有个大坑,有一步需要用到电脑)
Storage>18 #####选择Google Drive
client_id> #####留空 ,我是获取了的,留空还没测试是否能挂载成功,文章末会附教程
client_secret> #####留空,同上一步
#会提示你需要提供Google的API和秘钥
#这里可以自己去注册也可以直接回车用Rclone自带的
#不过Rclone提供的API因为使用人数过多所以高峰期会经常失联建议还是自己注册
#我这里之前已经注册过了就重新注册了直接用
#文章末介绍如何注册
scope> 1 #####我有GoogleDrive的写权限,所以选1。如果只有读权限,选2。其他选项根据自己的情况进行选择
root_folder_id> #####选择默认 直接回车
service_account_file> #####选择默认 直接回车
Edit advanced config? y/n> #####直接回车,选择默认No
Use auto config? y/n>n #####输入n,选择不自动配置<----------重要
接下来要用到电脑
接着会提示Go to this URL, authenticate then paste the code here.
这里的意思是去这个连接登录你的网盘
但是新版rclone不会跳链接,需要用电脑下载win版rclone,然后重新配置 rclone confing来获取链接
注意两个细节
1.怎么用电脑打开rclone,并配置rclone
2.这里打开clash全局模式也不能让终端顺利访问谷歌并带回token(怎么让终端走梯子
下面给出方法
方法:
在此之前可能要把clone文件添加到系统环境变量里面去,防止在电脑终端打开rclone时报错
1..win+r 然后cmd 进入终端,输入以下命令(临时设置,关闭终端即失效)
set http_proxy=http://127.0.0.1:端口号
set https_proxy=http://127.0.0.1:端口号
代理服务器的地址的查看:直接搜代理服务器设置
2然后 cd C:\Users\元气少女江宝\Desktop\rclone-v1.60.0-windows-amd64
然后复制token到ssh里面,接下来
Configure this as a Shared Drive (Team Drive)?
y) Yes
n) No (default)
y/n> y ######如果是个人的盘,填入n回车;如果是团队盘,填入y,我是个人盘,所以填入n
然后 e/n/d/r/c/s/q> q ###### 选q,退出Rclone的配置
2.2 如何配置rclone参数并成功启动挂载,然后设置开机自启
1.放个我的配置
rclone mount NASTOOL:/ /root/emby/share1 --use-mmap --umask 000 --default-permissions --no-check-certificate --allow-other --allow-non-empty --dir-cache-time 24h --cache-dir=/home/rclone --vfs-cache-mode full --buffer-size 256M --vfs-read-ahead 512M --vfs-read-chunk-size 32M --vfs-read-chunk-size-limit 128M --vfs-cache-max-size 30G --low-level-retries 200 --config /root/.config/rclone/rclone.conf --daemon
#以下是一整条命令,一起复制到SSH客户端运行
cat > /etc/systemd/system/rclone.service <<EOF
[Unit]
Description=Rclone
After=network-online.target
[Service]
Type=simple
ExecStart=$(command -v rclone) ${command}
Restart=on-abort
User=root
[Install]
WantedBy=default.target
EOF
NASTOOL为刚才挂载的名字,/root/emby/share1为挂载的位置(我是root下的emby文件夹)
但从播放打开来看,速度稍慢
我自己的开机自动挂载方法:
1.下载并编辑自启脚本
wget -N git.io/rcloned && nano rcloned
2.修改内容
NAME="Onedrive" #Rclone配置时填写的name
REMOTE='' #远程文件夹,网盘里的挂载的一个文件夹,留空为整个网盘
LOCAL='/Onedrive' #挂载地址,VPS本地挂载目录
3.设置开机自启
mv rcloned /etc/init.d/rcloned
chmod +x /etc/init.d/rcloned
update-rc.d -f rcloned defaults # Debian/Ubuntu
chkconfig rcloned on # CentOS
bash /etc/init.d/rcloned start
4.查看是否成功
看到 [信息] rclone 启动成功 ! 即可。
管理
开始挂载 bash /etc/init.d/rcloned start
停止挂载 bash /etc/init.d/rcloned stop
重新挂载 bash /etc/init.d/rcloned restart
查看日志 tail -f /$HOME/.rclone/rcloned.log
5.卸载自启挂载
bash /etc/init.d/rcloned stop
update-rc.d -f rcloned remove # Debian/Ubuntu
chkconfig rcloned off # CentOS
rm -f /etc/init.d/rcloned
下面是大佬们的参数配置
2. 花犯大佬
/usr/bin/rclone mount NASTOOL: /root/emby/share1 \
--umask 0000 \
--default-permissions \
--allow-non-empty \
--allow-other \
--buffer-size 128M \
--dir-cache-time 24h \
--vfs-read-chunk-size 64M \
--vfs-read-chunk-size-limit 1G &
自动挂载(直接复制粘到终端里面):
cat > /etc/systemd/system/rclone.service <<EOF
[Unit]
Description=Rclone
AssertPathIsDirectory=LocalFolder
After=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/rclone mount NASTOOL: /root/emby/share1 \
--umask 0000 \
--default-permissions \
--allow-non-empty \
--allow-other \
--buffer-size 128M \
--dir-cache-time 24h \
--vfs-read-chunk-size 64M \
--vfs-read-chunk-size-limit 1G
ExecStop=/bin/fusermount -u LocalFolder
Restart=on-abort
User=root
3.isir大佬的参数配置:
本例将test连接到的GoogleDrive,挂载到本机/mnt目录下,创建rclone通用服务。
服务中ExecStart为挂载盘的参数,其中两个目录可以进行修改。其他参数,如不明白建议不动,有时间增加个参数解析
/mnt :Google盘挂载的目录
/home/cache:缓存所在的位置
cat > /etc/systemd/system/rclone@.service <<EOF
[Unit]
Description=rclone mount %I drive
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/rclone mount %i: /root/wow/%i --use-mmap --umask 000 --default-permissions --no-check-certificate --allow-other --allow-non-empty --dir-cache-time 24h --cache-dir=/home/cache --vfs-cache-mode full --buffer-size 256M --vfs-read-ahead 512M --vfs-read-chunk-size 32M --vfs-read-chunk-size-limit 128M --vfs-cache-max-size 20G --low-level-retries 200 --config /root/.config/rclone/rclone.conf
[Install]
WantedBy=multi-user.target
EOF
第二步
for a in `grep '^\[' /root/.config/rclone/rclone.conf`
do
b=${a:1:-1}
[ ! -d "/root/wow/${b}" ] && mkdir /root/wow/${b}
systemctl enable rclone@${b}
systemctl start rclone@${b}
done
第三步
mkdir /root/wow
systemctl enable rclone@xx
systemctl start rclone@xx
第四步
测试,可在服务器/mnt目录下看到test目录,该目录和Google Drive中内容保持一致
#查看是否和Google Drive中文件相同:
ls /mnt/test
4.群里的热心网友参数配置
1.陈贪玩
/usr/bin/rclone mount plex_tvcn: /plex/plex_tvcn \
--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 &v
2.蝶析
gclone mount aa:/ /mnt/aa --config /root/.config/rclone/rclone.conf --vfs-cache-mode writes --use-mmap --daemon-timeout=10m --vfs-read-chunk-size 10M --vfs-read-chunk-size-limit 512M --cache-dir /home/rclone/vfs_cache --allow-other --drive-chunk-size 128M --log-level INFO --log-file /var/log/rclone.log --timeout 1h --umask 002 --daemon
3.lofkuegwycve
[Unit]
Description=Rclone mount %I drive
AssertPathIsDirectory=LocalFolder
After=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/rclone mount %i: /%i \
--config /root/.config/rclone/rclone.conf \
--copy-links \
--no-gzip-encoding \
--no-check-certificate \
--umask 0000 \
--allow-non-empty \
--allow-other
ExecStop=/bin/fusermount -u LocalFolder
Restart=on-abort
User=root
[Install]
WantedBy=default.target
--vfs-read-chunk-size 64M \
--vfs-read-chunk-size-limit 1G 这两个一定要删除
5.补充Kris Huang大佬的参数
rclone mount dropbox: X: --cache-dir "D:\rclone-vfs-cache" --multi-thread-streams 1024 --multi-thread-cutoff 128M --network-mode --vfs-cache-mode full --vfs-cache-max-size 100G --vfs-cache-max-age 240000h --vfs-read-chunk-size-limit off --buffer-size 64K --vfs-read-chunk-size 64K --vfs-read-wait 0ms -v --vfs-read-chunk-size-limit 64K --vfs-read-wait 0ms -v -vv
6.参数说明
rclone mount:rclone 挂载命令
dropbox: X: :dropbox网盘名字 / X:本地目录
–cache-dir:缓慢目录
–multi-thread-streams :下载的线程数
–multi-thread-cutoff :当下载文件到本地后端超过这个大小时,rclone会使用多线程下载文件
–network-mode:网络模式
–vfs-cache-mode :缓存模式
–vfs-cache-max-size :缓存大小
–vfs-cache-max-age :缓存最大时间
–vfs-read-chunk-size-limit :关闭块读取大小限制
–buffer-size :缓冲区
–vfs-read-chunk-size : vfs块读取大小
–vfs-read-wait 0ms :块读取等待时间
–vfs-read-chunk-size-limit :块读取大小限制
–daemon:指后台方式运行
当然可以根据自己的实际情况当调整,以免 rclone 占用过多 CPU或者内存。更多参数说明,可参考 rclone的官方文档。
2.3 rclone取消挂载
通常情况,直接使用 umount 命令取消挂载即可:
#/path/to/local/mount为挂载目录
umount /path/to/local/mount
#或者使用fusermount
fusermount -u /path/to/local/mount
如果提示磁盘繁忙,只能暴力 kill 杀掉进程,命令为:
#kill杀掉进程
pgrep 'rclone'|xargs kill -9
#再次取消挂载
umount /path/to/local/mount
2.4 如何删除rclone
apt-get remove rclone
apt-get uninstall rclone
rm -rf /root/.config/rclone/rclone.conf
rm -rf /usr/bin/rclone
rm -rf /usr/local/share/man/man1/rclone.1
rm -rf /etc/systemd/system/rclone.service
3.安装emby
3.1 直接安装版(见emby官网)
wget https://github.com/MediaBrowser/Emby.Releases/releases/download/4.5.4.0/emby-server-deb_4.5.4.0_amd64.deb
dpkg -i emby-server-deb_4.5.4.0_amd64.deb
3.2 docker版
#amd架构
docker pull emby/embyserver:latest
#arm架构
docker pull emby/embyserver_arm64v8
1.花犯大佬的映射 (我借鉴的此映射)
mkdir emby
cd emby
mkdir config/share1/share2....
docker pull emby/embyserver:latest
#amd架构
docker run -d --name=emby --restart=always -v /root/emby/config:/config -v /root/emby/share1:/mnt/share1 -v /root/emby/share2:/mnt/share2 -p 8096:8096 -p 8920:8920 -e UID=1000 -e GID=100 -e GIDLIST=100 emby/embyserver:latest
#arm架构
docker run -d --name=emby --restart=always -v /root/emby/config:/config -v /root/emby/share1:/mnt/share1 -v /root/emby/share2:/mnt/share2 -p 8096:8096 -p 8920:8920 -e UID=1000 -e GID=100 -e GIDLIST=100 emby/embyserver_arm64v8:latest
2.isir大佬的映射
命令可修改的地方:
/root/emby/config 此目录为将docker emby的配置文件映射到vps服务器的目录
/mnt/test 此目录为Rclone的挂载的影片目录
/mnt/videos 此目录为emy中新增媒体库选择的文件夹位置
-v /root/emby/config:/config \
-v /mnt/test:/mnt/videos \
-p 8096:8096 -p 8920:8920 \
-e UID=1000 -e GID=100 -e GIDLIST=100 \
xinjiawei1/emby_unlockd:latest
安装完成,可以使用http://服务器ip:8096访问Emby并进行配置
3.1 停止Docker emby
docker stop emby
#其他命令
docker start emby #启动Emby
docker restart emby #重启Emby
docker kill emby #停止Emby
docker rm emby #删除Emby
3.2 备份数据
#打包并压缩
tar -zcvf config.tar.gz /root/emby/config
#拷贝备份
rsync -avPh config.tar.gz #已用Rclone挂载的目录
或
rclone copy -P config.tar.gz [Rclone的盘名,如:GD]:[盘中的目录,如:/Temp]
3.3还原数据
#下载数据
rsync -avPh 网盘中备份的config.tar.gz地址 ~/
#解压缩并还原
tar -zxvf config.tar.gz
rm -rf /root/emby/config
mv /root/root/emby/config /root/emby
rm -rf /root/root
然后 docker start emby
重启docker
3.4 中文字幕插件
在loc论坛上的字幕下载插件,叫Emby.MeiamSub
如果你已经把config文件夹映射出来,则:
apt install unzip
wget https://github.com/91270/MeiamSubtitles/releases/download/1.0.8.0/Emby.MeiamSub.zip
unzip Emby.MeiamSub.zip
rm -rf Emby.MeiamSub.zip
mv ~/Emby.MeiamSub.Thunder.dll ~/emby/config/plugins
mv ~/Emby.MeiamSub.Shooter.dll ~/emby/config/plugins
docker restart emby
4.附几张扫库图
媒体库配置
然后等待漫长的扫库。。。。(我花了三天才扫完。。)
终于扫完,最终的效果图(耶
5.附谷歌api的id和Client Secret申请教程 5
1.登录此网站首先获取谷歌API凭据,获取方法在之前很多文章都提过,这里就直接复制粘贴了,先启用Google Drive API,启用地址:点击进入, https://console.cloud.google.com/apis
2.再创建一个OAuth client ID
3.创建一个桌面应用,名字随便取
4.复制 id及secret到终端就可以啦
6.nastool配置 更新!!!!2023.3.16
1.在docker目录下创建文件夹 nastool
cd /var/lib/docker && mkdir nastool && cd nastool
2. docker-compose.yml 配置
由于nastool版本3.0以上需要验证且以前的版本已删除,野合用的是fork的2.9版本
点击查看docker hub地址
version: "3.4"
services:
nastools:
image: 19970688/nastools-bt:latest
ports:
- 3000:3000
volumes:
- /var/lib/docker/nastool/config:/config # 冒号左边请修改为你想保存配置的路径
- /var/lib/docker/nastool/downloads:/downloads #左边是访问下载的目录。和之后的qb下载目录需一致。
- /root/.config/rclone:/root/.config/rclone #直接映射rclone配置,这是使用rclone上传的必要!!!记得rclone config要上传的网盘,以及名称取为 NASTOOL ,仅此名称有效。别问,做就行。
# - /root/emby/share1:/root/emby/share1
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
- UMASK=022 # 掩码权限,默认000,可以考虑设置为022
restart: always
network_mode: bridge
hostname: nastools
container_name: nastools
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:14.3.9
container_name: qbittorrent
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
- WEBUI_PORT=5210 #端口自己看着改
volumes:
- /var/lib/docker/nastool/qb/config:/config #根据实际修改冒号左边真实路径
- /var/lib/docker/nastool/downloads:/downloads #这里位置和nastool的位置一致,方便。
ports:
- 5210:5210
- 6881:6881
- 6881:6881/udp
restart: unless-stopped
#如已经下了qb-nox或其他qb,可以直接用,不是必需docker-qb。docker的不是很好用!!! 注意默认下载目录设置到nastool/downloads下就行
3 . 运行docker 安装nastool 及qb
docker-compose up -d
4. 配置你的nastool信息
输入NASIP:3000进入NAS-TOOL界面,初始账号为admin密码为password。
直接甩图吧
然后自己在添加站点、豆瓣、索引器、消息通知~,
5. 配置你的qb信息
1.你的下载器选择qb的话需要打开 为不完整文件加扩展名(不要问为什么,因为我也不知道)
2.其次你的nastool和qb中应该要有设置对应的分类以及下载目录。
6. 简要说明下几点
1.只上传视频,只需配置好rclone config,名为NASTOOL。如果要刮削视频的源信息,则需挂载NASTOOL到本地盘~
2.nastool的转移有8种,我使用的是rclone复制。需要在docker-compose里修改映射:
• 映射rclone配置目录到容器内/root/.config/rclone
• 或在容器内使用rclone添加配置
docker container exec -it nas-tools /bin/sh 进入容器
rclone config 开始配置,网盘名称只能是 NASTOOL ,配置好后 ctrl+d 退出容器。
3.nastool 我没有配置二级目录 就是这个default-category
4.如果下载失败,直接重启nastool看看,万一有奇效捏
7.最终效果
8. 看完教程啦,最后祝大家观影愉快,生活精彩! ~
9.参考资料
1.TG 花犯的频道
2.rclone 挂载Google硬盘快速参数
3.VPS服务器使用GoogleDrive做硬盘,搭建Emby影视站
4.Rclone 挂载优化
5.Ubuntu/Debian上使用rclone挂载OneDrive网盘