Crates.io | onedrive-fuse |
lib.rs | onedrive-fuse |
version | 0.2.8 |
source | src |
created_at | 2020-04-25 21:09:50.747488 |
updated_at | 2024-06-04 02:26:38.38437 |
description | Mount OneDrive storage as FUSE filesystem |
homepage | |
repository | https://github.com/oxalica/onedrive-fuse |
max_upload_size | |
id | 234096 |
size | 221,338 |
Mount Microsoft OneDrive storage as FUSE filesystem.
Note: For Nix users, the program is already packaged via Nix Flake in flake.nix
.
Use your package manager to install these dependencies:
Compile and install the program from crates.io:
$ cargo install onedrive-fuse
For the first time, you should register your own Application (Client) ID for the API access.
Read doc/register_app.md
for detail steps.
Login to your OneDrive account with the Client ID of your own application from the previous step. By default, we only request for read-only access.
$ onedrive-fuse login --client-id <paste-your-client-id-here>
If you want read-write access, you should instead run,
$ onedrive-fuse login --read-write --client-id <paste-your-client-id-here>
This will prompt a browser window to ask you to login your Microsoft
account for OneDrive. After a successful login, the web page will pass the
result token back to onedrive-fuse automatically, and prints
Login successfully.
You can close the web page now, and the command
running above should also have exited successfully.
Your access token will be saved under XDG config directory,
which is by default ~/.config/onedrive-fuse/credential.json
.
So you don't need to re-login every time.
But if you are away for too long, eg. for months, you might have to re-login.
Create an empty directory as mount point, like ~/onedrive
,
and mount your OneDrive storage on it.
By default the mounted storage is readonly.
$ mkdir -p ~/onedrive # The directory to be mounted should be empty.
$ onedrive-fuse mount ~/onedrive
If you want to mount with read-write access, you must also request for read-write access in the previous login step. Then mount the storage with,
onedrive-fuse mount ~/onedrive -o permission.readonly=false
:warning: Use read-write permission with care! Bugs may corrupt your files in OneDrive!
Once it's started, wait for seconds for initialization until FUSE initialized
displayed,
indicating the filesystem is ready now.
You can do whatever you want under the mount point.
The program runs in foreground by default, the terminal window should be kept open.
You may need other mechanism like systemd
(see below) to make it run background.
If you are done for, run this command to umount the filesystem gracefully.
You should NOT directly Ctrl-C
or kill the onedrive-fuse
instance,
it usually cause data loss.
$ fusermount -u ~/onedrive
:warning: We havn't yet implemented auto-waiting for uploading before shutdown. Please wait your upload session to be finished before umounting the filesystem. Or your pending upload session would be cancelled.
This program is integrated with systemd and is expected to be started as a user service.
See onedrive-fuse.service.example
for an example setup.
Note that you still need to manually login first.
GPL-3.0-only