1.首先需要自己注册申请OneDrive的网盘
2.安装rclone模块挂载网盘
rclone没有ubuntu的安装库,所以一般状况下apt-get 无法直接安装,需要下载从https://rclone.org/downloads/下载wget https://downloads.rclone.org/v1.46/rclone-v1.46-linux-amd64.deb
dpkg -i rclone-v1.46-linux-amd64.deb
3.配置OneDrive,允许外部api访问磁盘Getting your own Client ID and Keyrclone uses a pair of Client ID and Key shared by all rclone users when performing requests by default. If you are having problems with them (E.g., seeing a lot of throttling), you can get your own Client ID and Key by following the steps below:
Open https://apps.dev.microsoft.com/#/appList, then click Add an app (Choose Converged applications if applicable)
Enter a name for your app, and click continue. Copy and keep the Application Id under the app name for later use.
Under section Application Secrets, click Generate New Password. Copy and keep that password for later use.
Under section Platforms, click Add platform, then Web. Enter http://localhost:53682/ in Redirect URLs.Under section Microsoft Graph Permissions, Add these delegated permissions: Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, offline_access, User.Read.Scroll to the bottom and click Save.
4.配置rclone
rclone config
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> n
name> remote
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
...
17 / Microsoft OneDrive
\ "onedrive"
...
Storage> 17
Microsoft App Client Id
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_id>
Microsoft App Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default ("").
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) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
因为需要web访问,所以需要开启vnc操作,单纯ssh无法实现
Choose a number from below, or type in an existing value
1 / OneDrive Personal or Business
\ "onedrive"
2 / Sharepoint site
\ "sharepoint"
3 / Type in driveID
\ "driveid"
4 / Type in SiteID
\ "siteid"
5 / Search a Sharepoint site
\ "search"
Your choice> 1
Found 1 drives, please select the one you want to use:
0: OneDrive (business) id=b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk
Chose drive to use:> 0
Found drive 'root' of type 'business', URL: https://org-my.sharepoint.com/personal/you/Documents
Is that okay?
y) Yes
n) No
y/n> y
--------------------
[remote]
type = onedrive
token = {"access_token":"youraccesstoken","token_type":"Bearer","refresh_token":"yourrefreshtoken","expiry":"2018-08-26T22:39:52.486512262+08:00"}
drive_id = b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk
drive_type = business
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
5.挂载为本地磁盘 (rclone mount 被标注为实验性的功能,文件上传下载没有rclone copy 好用)
rclone mount YourDiskName:DiskDirectory /MountPoint --daemon --copy-links --no-gzip-encoding --no-check-certificate
YourDiskName:前面取的磁盘名称
DiskDirectory:OneDrive里面的目录名
MountPoint:本地挂载点
--daemon:挂载为后台程序,不加mount程序不能退出
root@VM-0-8-ubuntu:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 410M 0 410M 0% /dev
tmpfs 87M 12M 75M 14% /run
/dev/vda1 50G 35G 13G 74% /
tmpfs 433M 132K 432M 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 433M 0 433M 0% /sys/fs/cgroup
tmpfs 87M 16K 87M 1% /run/user/117
tmpfs 87M 0 87M 0% /run/user/500
YourDiskName:DiskDirectory 5.0T 27G 5.0T 1% /MountPoint
6.访问控制
OneDrive使用ip段总结:
40.126.12.0/24TCP:443
13.107.136.0/24TCP:443
20.190.140.0/24TCP:443
有需要配置防火墙的可能需要
总结 :
本文知识90%从网上免费获取,总结实践后共享给大家。知识都产权保护,大家都玩球啊。OneDrive速度不错,国内访问上传下载基本都有2m/s