在路由器OpenWrt下,因为要打开页面获取授权信息,只有个别可以在路由器终端好操作,最方便的就是安装rclone到电脑,然后配置完成,复制配置文件到路由器就可以了
1,安装rclone,到https://rclone.org/downloads下载需要的文件,我的是windows电脑,就下载了64位
2,解压文件,复制到C盘根目录,重命名目录为rclone
3,搜索path,打开找到环境变量,在环境变量里面找到Path,然后选择编辑,选择新建,输入rclone路径,完成点击确定关闭
4,打开终端,输入rclone.exe,看到返回了rclone使用帮助,说明安装成功了。
接下来就是去安装对象存储了
---------------下面开始配置rclone-------------
执行命令配置rclone
rclone config
如果有配置好的会提示,类似下面这样
Current remotes:
Name Type
==== ====
OneDrive onedrive
TencentCOS s3
如果没有,会提示No remotes found - make a new one,不管哪种提示,我们直接选择n) New remote
就是输入n回车,新建遥控器
然后会让输入名称name,直接输入个名称然后回车
接下来让选择存储类型,这里以OneDrive为例,OneDrive是26,所以就直接输入26,然后回车
然后继续下图设置,client_id留空直接回车,client_secret也留空直接回车,下面区域选择,这里选择1就输入1回车
然后提示Edit advanced config?,也就是问编辑高级配置,选择n回车,这里不需要
接下来提示Use auto config?,用自动配置吗,这里我选择y回车,然后会自动打开授权网页
在浏览器打开的页面登陆账号授权后会自动获取授权,然后提示连接类型,我这里选择了1,然后回车
下面基本完成,按图输入即可
创建完成以后,电脑资源管理器打开C:\Users\Administrator\AppData\Roaming\rclone\目录下面的rclone.conf,上传或复制rclone.conf内容到路由器/etc/rclone/rclone.conf保存,然后重启rclone。
接下来就是挂载文件
# 新建本地文件夹,路径自己定,比如在home下新建OneDrive目录用来挂载OneDrive云 mkdir /home/OneDrive
# 挂载命令 rclone mount DriveName:Folder LocalFolder --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000
DriveName为配置填的name名称,Folder为Google Drive里的文件夹,可以为/,LocalFolder为创建的本地文件夹目录。
比如说,上面创建的名称是gg,要挂载根目录到我们刚创建的/home/OneDrive文件夹目录,下面就可以
rclone mount gg:/ /home/OneDrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000
OpenWrt开机自动挂载1:在后台启动项下修改启动脚本或者修改etc下rc.local文件,在exit 0之前添加下面命令
rclone mount OneDrive:/ /mnt/OneDrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon
把上面第一个OneDrive换成你配置的name名称,/mnt/OneDrive换成你的本地挂载目录,如果有多个挂载,就依次换行输入上面的命令
OpenWrt开机自动挂载2:下载文件解压后修改里面的名称和目录保存,上传到/etc/init.d目录,修该权限为0755,然后到OpenWrt后台启动项里启用
chmod 755 /etc/init.d/rclonemount
上面这个方法正常可以挂载,但是遇到了另一个问题,经过研究,已经解决好了,就不发了
备注:腾讯云COS和阿里云OSS选择Amazon S3
开机挂载最终方法,在启动项也就是下面/etc/rc.local文件的exit 0前面添加,延迟启动时间按照自己要求设定,这个每个人的固件没有固定
下面第一行是我的特殊需求,你们不要添加,如需要按照你们的来
sleep 1 && /etc/init.d/pasl restart sleep 1s && rclone mount TencentCOS:/ /home/TencentCOS --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon sleep 1s && rclone mount Alioss:/ /home/Alioss --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon sleep 1s && rclone mount Kodo:/ /home/Kodo --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon sleep 2s && rclone mount GDrive:/ /home/GDrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon sleep 3s && rclone mount OneDrive:/ /home/OneDrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon sleep 4s && rclone mount YandexDisk:/ /home/YandexDisk --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon sleep 4s && rclone mount Dropbox:/ /home/Dropbox --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon sleep 5s && rclone mount aliyundrive4755:/ /home/aliyundrive4755 --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon
或后面添加了:--vfs-cache-mode writes --no-modtime
sleep 1 && /etc/init.d/pasl restart sleep 1s && rclone mount TencentCOS:/ /home/TencentCOS --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon --vfs-cache-mode writes --no-modtime sleep 1s && rclone mount Alioss:/ /home/Alioss --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon --vfs-cache-mode writes --no-modtime sleep 1s && rclone mount Kodo:/ /home/Kodo --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon --vfs-cache-mode writes --no-modtime sleep 2s && rclone mount GDrive:/ /home/GDrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon --vfs-cache-mode writes --no-modtime sleep 3s && rclone mount OneDrive:/ /home/OneDrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon --vfs-cache-mode writes --no-modtime sleep 4s && rclone mount YandexDisk:/ /home/YandexDisk --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon --vfs-cache-mode writes --no-modtime sleep 4s && rclone mount Dropbox:/ /home/Dropbox --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon --vfs-cache-mode writes --no-modtime sleep 5s && rclone mount aliyundrive4755:/ /home/aliyundrive4755 --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon --vfs-cache-mode writes --no-modtime
如果要挂载子目录
rclone mount Dropbox:/子目录名称 /home/Dropbox --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon
补充:
最近的rclone版本用上面方法,还要在补充一点,就是把把.config/rclone/rclone.conf这个文件结构(注意是层级结构要正确),默认在root目录下,把.config这个隐藏的文件夹复制到根目录即可,也就是root目录的上级目录
备注:如果后面不添加--vfs-cache-mode writes --no-modtime的话不用复制这个试试,最早我也没有用这个之前正常的,什么时候开机挂载不上了,我也没有注意过,也许是最后添加了这句话才失效的吧,你们可以自己测试看看哪个可以,我现在用的正常开机挂载用的是后面添加了:--vfs-cache-mode writes --no-modtime,然后复制下面这个才可以的,之前那个现在没有测试验证了