百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

IT之家:强大的网盘管理工具Rclone安装教程

nanshan 2024-11-05 10:43 51 浏览 0 评论

上期给大家介绍了Go语言BT下载利器CloudTorrent,那么这期给大家带来的依旧是一款基于Go语言的应用——Rclone。Rclone是一款非常强大的网盘工具,能够帮助用户在终端界面管理包括Dropbox、Box、Onedrive、Gdrive、Mega等在内的主流网盘中的各类资源,同时实用的挂载功能能够把网盘挂载到本地(OpenVZ架构的VPS不支持挂载)服务于Aria2、CloudTorrent等下载工具以及FileBrowser等私人网盘工具。

Rclone-GitHub首页:https://github.com/ncw/rclone

检查Rclone支持的网盘以及Rclone的官方安装脚本请前往GitHub,本文继续以Debian 9 VPS为例示范手动安装方法,Windows版本不另作示范。

介于上期内容许多家友觉得复杂,本期起取消所有的基础命令解释,想要学习手动配置但是基础薄弱的家友可以自己搜索相关命令的含义进行更改。

一、下载安装

复制以下命令到终端或者SSH工具中执行(整体复制,一个回车):

yum install unzip -y

apt-get install unzip -y

wget https://downloads.rclone.org/v1.44/rclone-v1.44-windows-amd64.zip

unzip rclone-v1.44-windows-amd64.zip

cd rclone-*/

mv rclone /usr/bin/

chmod 755 /usr/bin/rclone

mkdir -p /usr/local/share/man/man1

mv rclone.1 /usr/local/share/man/man1/

cd ..

rm -rf rclone-*

安装成功检查:

此时执行rclone命令出现相关指令的帮助证明安装成功。

注意:

权限不足手动sudo或者sudo su启动root账户,通常VPS默认帐户为root帐户。

为方便配置网盘的示例展示,这里选择rclone-1.44-linux-amd64版本的Rclone,如果需要不同版本请自行更换参数。

Rclone版本检查页面:https://downloads.rclone.org/

二、配置网盘

1.本地配置

这里我们以Onedrive for business为例,其余网盘根据应用提示进行操作。

执行rclone config命令进行配置

No remotes found - make a new one

n) New remote

s) Set configuration password

q) Quit config

无远端配置,请新建

n)新建

s)设置配置访问密码

q)退出配置

输入n新建

远端网盘命名(配置好后以此命名操作网盘)

输入one作为示范

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

Storage

选择配置的存储类型

输入配置值,回车表示默认

选择以下你需要的存储类型

输入18选择Onedrive作为示范

Microsoft App Client Id

Leave blank normally.

Enter a string value. Press Enter for the default ("").

微软App Client Id

通常留空

输入配置值,回车表示默认

输入回车留空

Microsoft App Client Secret

微软App Client Secret,同上

输入回车留空

Edit advanced config? (y/n)

y) Yes

n) No

是否进行高级配置

y)是

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启动浏览器登陆Onedrive进行授权

输入n否,以无图形界面浏览器的VPS作为示范

2.远端授权

如果使用谷歌网盘等静态授权口令的网盘可以登陆网盘相关界面获取,微软Onedrive采用动态授权口令这里需要我们准备装有图形界面浏览器和Rclone的设备,Linux图形版本同下载安装步骤操作,Windows版本不另作示范。

装有图形界面浏览器和Rclone的设备在终端中执行:

rclone authorize "onedrive"

此时若终端不能调用浏览器,请手动用浏览器打开链接。

浏览器中授权成功后返回终端会生成自动授权码。

复制这两者间的所有内容

3.继续本地配置

For this to work, you will need rclone available on a machine that has a web browser available.

Execute the following on your machine:

rclone authorize "onedrive"

Then paste the result below:

这种工作模式你需要一台能装有Rclone和浏览器的设备

在该设备上执行rclone authorize "onedrive"获取授权码

把授权码粘贴在此

粘贴我们复制的授权码

Choose a number from below, or type in an existing value

Your choice

选择以下数值选择Onedive类型

1)OneDrive Personal or Business -Onedrive个人版或者企业版

2)Root Sharepoint site - Sharepoint站点

其余不常用

输入1,以Onedrive for business作为示范

Found 1 drives, please select the one you want to use:

0: OneDrive (business) id=Onedrive ID

Chose drive to use:

找到1个存储驱动器,请选择你需要的

输入0,某些Onedrive会有多个存储驱动器

Found drive 'root' of type 'business', URL:

Is that okay?

找到存储驱动器类型为企业版,访问链接为:这个链接就是Onedrive映射到Windows本地磁盘的地址

是否正确

输入y

y) Yes this is OK

e) Edit this remote

d) Delete this remote

y/e/d

这里Rclone会报一些网盘的配置参数

y)确定

e)编辑

d)删除

输入y,完成

三、使用命令

复制rclone copy source:sourcepath dest:destpath

移动rclone move source:sourcepath dest:destpath

删除文件rclone delete

删除空目录rclone rmdir

删除内容无视目录非空rclone purge remote:path

列表rclone ls remote:path

同步rclone sync source:path dest:path

示范中配置的Onedrive命名为one:

列出Onedrive的A0目录下的文件内容

rclone ls one:/A0

复制Onedrive的A0目录到本地的/home目录下

rclone copy one:/A0 /home

更多操作命令请访问Rclone官方网站或者GitHub。

四、挂载网盘

复制以下命令到终端或者SSH工具中执行:

yum install fuse -y

apt-get install fuse -y

mkdir /root/1drive

rclone mount one:/ /root/1drive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

挂载成功检查:

挂载成功执行df -h会在分区中显示挂载的网盘信息。

注意:

这里使用的是示范中命名为one的Onedrive网盘以及挂载到本地的/root/1drive目录下,配置或者需求不同的家友可以手动修改。挂载完成后便可以放弃rclone的命令,进而像本地磁盘那样操作Onerdive中的内容了。

OpenVZ架构的VPS不支持挂载!

挂载命令开机自启动

复制以下命令到终端或者SSH工具中执行(整体复制,一个回车):

cat

[Unit]

Description=1drive

[Service]

User=root

ExecStart=/usr/bin/rclone mount one:/ /root/1drive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

Restart=on-abort

[Install]

WantedBy=multi-user.target

eof

systemctl daemon-reload

systemctl start 1drive

systemctl enable 1drive

systemctl status 1drive

注意:

这里ExecStart=后面的参数根据自己的配置进行修改,这里仅以示范为例。

五、其他说明

如果我们把Rclone挂载的目录设为Aria2或者CloudTorrent的下载目录,可以看到显示的剩余空间确实是网盘空间(CloudTorrent按照1000进制计算的容量会偏大),但是这样直接把网盘挂载目录作为下载目录的操作会导致下载的缓存文件下载的瞬间就被上传,并不能生成一个完整的下载文件。

CloudTorrent由于应用本身的问题目前只能够手动上传,而Aria2可以利用其配置来设置上传脚本实现下载完成自动上传Onedrive的,就此实现Onedrive的离线下载功能。

Aira2自动上传脚本

#!/bin/bash

GID="$1";

FileNum="$2";

File="$3";

MinSize="5" #限制最低上传大小,默认5k

MaxSize="157286400" #限制最高文件大小(单位k),默认15G

RemoteDIR="/RATS/"; #rclone挂载的本地文件夹,最后面保留/

LocalDIR="/download/"; #Aria2下载目录,最后面保留/

if [[ -z $(echo "$FileNum" |grep -o '[0-9]*' |head -n1) ]]; then FileNum='0'; fi

if [[ "$FileNum" -le '0' ]]; then exit 0; fi

if [[ "$#" != '3' ]]; then exit 0; fi

function LoadFile{

IFS_BAK=$IFS

IFS=

\n'

if [[ ! -d "$LocalDIR" ]]; then return; fi

if [[ -e "$File" ]]; then

FileLoad="${File/#$LocalDIR}"

while true

do

if [[ "$FileLoad" == '/' ]]; then return; fi

echo "$FileLoad" |grep -q '/';

if [[ "$?" == "0" ]]; then

FileLoad=$(dirname "$FileLoad");

else

break;

fi;

done;

if [[ "$FileLoad" == "$LocalDIR" ]]; then return; fi

EXEC="$(command -v mv)"

if [[ -z "$EXEC" ]]; then return; fi

Option=" -f";

cd "$LocalDIR";

if [[ -e "$FileLoad" ]]; then

ItemSize=$(du -s "$FileLoad" |cut -f1 |grep -o '[0-9]*' |head -n1)

if [[ -z "$ItemSize" ]]; then return; fi

if [[ "$ItemSize" -le "$MinSize" ]]; then

echo -ne "\033[33m$FileLoad \033[0mtoo small to spik.\n";

return;

fi

if [[ "$ItemSize" -ge "$MaxSize" ]]; then

echo -ne "\033[33m$FileLoad \033[0mtoo large to spik.\n";

eval "${EXEC}${Option}" \'"${FileLoad}"\' "${RemoteDIR}";

if [[ $? == '0' ]]; then

rm -rf "$FileLoad";

IFS=$IFS_BAK

}

LoadFile;

使用:

/root目录新建名为rcloneupload.sh的脚本并编辑为以上内容,授权chmod +x rcloneupload.sh,然后再到Aria2配置文件中加上一行on-download-complete=/root/rcloneupload.sh即可,后面为脚本的路径。最后重启Aria2生效。

依照#后的描述自行根据实际配置进行更改。

MaxSize="157286400" #不要大于这个值,目前Onedrive最大只支持15GB的单文件

RemoteDIR="/RATS/"; #Rclone配置示范中的挂载地址是/root/1drive/

LocalDIR="/download/"; #检查自己Aria2的下载目录

说明:

此脚本并非本人所著且没有经过验证,使用相关的帮助以及原理可以访问脚本作者关于此脚本的说明页面:https://www.moerats.com/archives/482/

对原脚本作者和修改作者萌咖和萌鼠两位大佬表示感谢。

相关推荐

Let’s Encrypt免费搭建HTTPS网站

HTTPS(全称:HyperTextTransferProtocoloverSecureSocketLayer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入...

使用Nginx配置TCP负载均衡(nginx tcp负载)

假设Kubernetes集群已经配置好,我们将基于CentOS为Nginx创建一个虚拟机。以下是实验种设置的详细信息:Nginx(CenOS8Minimal)-192.168.1.50Kube...

Nginx负载均衡及支持HTTPS与申请免费SSL证书

背景有两台minio文件服务器已做好集群配置,一台是192.168.56.41:9000;另一台是192.168.56.42:9000。应用程序通过Nginx负载均衡调用这两台minio服务,减轻单点...

HTTPS配置实战(https配置文件)

原因现在网站使用HTTPS是规范操作之一,前些日子买了腾讯云服务,同时申请了域名http://www.asap2me.top/,目前该域名只支持HTTP,想升级为HTTPS。关于HTTPS的链接过程大...

只有IP地址没有域名实现HTTPS访问方法

一般来说,要实现HTTPS,得有个注册好的域名才行。但有时候呢,咱只有服务器的IP地址,没注册域名,这种特殊情况下,也能照样实现HTTPS安全访问,按下面这些步骤来就行:第一步,先确认公网...

超详解:HTTPS及配置Django+HTTPS开发环境

众所周知HTTP协议是以TCP协议为基石诞生的一个用于传输Web内容的一个网络协议,在“网络分层模型”中属于“应用层协议”的一种。在这里我们并不研究该协议标准本身,而是从安全角度去探究使用该协议传输数...

Godaddy购买SSL之后Nginx配置流程以及各种错误的解决

完整流程:参考地址:https://sg.godaddy.com/zh/help/nginx-generate-csrs-certificate-signing-requests-3601生成NGI...

Nginx从安装到高可用,一篇搞定(nginx安装与配置详解)

一、Nginx安装1、去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本2、上传nginx到linux系统3、安装依赖环境(1)安装gcc环境yuminstallgc...

阿里云免费证书申请,配置安装,使用tomcat,支持http/https访问

参数说明商品类型默认已选择云盾证书服务(无需修改)。云盾证书服务类型SSL证书服务的类型。默认已选择云盾SSL证书(无需修改),表示付费版SSL证书。如果您需要免费领取或付费扩容DV单域名证书【免费试...

你试过两步实现Nginx的规范配置吗?极速生成Nginx配置小工具

NGINX是一款轻量级的Web服务器,最强大的功能之一是能够有效地提供HTML和媒体文件等静态内容。NGINX使用异步事件驱动模型,在负载下提供可预测的性能。是当下最受欢迎的高性能的Web...

从零开始搭建HTTPS服务(搭建https网站)

搭建HTTPS服务的最初目的是为了开发微信小程序,因为wx.request只允许发起HTTPS请求,并且还必须和指定的域名进行网络通信。要从零开始搭建一个HTTPS的服务需要下面4...

群晖NAS使用官网域名和自己的域名配置SSL实现HTTPS访问

安全第一步,群晖NAS使用官网域名和自己的域名配置SSL实现HTTPS访问【新手导向】NAS本质还是一个可以随时随地访问的个人数据存储中心,我们在外网访问的时候,特别是在公网IP下,其实会面临着很多安...

让网站快速升级HTTPS协议提高安全性

为什么用HTTPS网络安全越来越受到重视,很多互联网服务网站,都已经升级改造为https协议。https协议下数据包是ssl/tcl加密的,而http包是明文传输。如果请求一旦被拦截,数据就会泄露产生...

用Https方式访问Harbor-1.9版本(https访问流程)

我上周在头条号写过一篇原创文章《Docker-Harbor&Docker-kitematic史上最详细双系统配置手册》,这篇算是它的姊妹篇吧。这篇文章也将用到我在头条写的另一篇原创文章的...

如何启用 HTTPS 并配置免费的 SSL 证书

在Linux服务器上启用HTTPS并配置免费的SSL证书(以Let'sEncrypt为例)可以通过以下步骤完成:---###**一、准备工作**1.**确保域名已解析**...

取消回复欢迎 发表评论: