mirror of
https://github.com/abraunegg/onedrive
synced 2024-06-15 20:25:18 +02:00
9dd944286f
removed system wide config file hardcoded sane default config updated README
98 lines
2.7 KiB
Markdown
98 lines
2.7 KiB
Markdown
OneDrive Free Client
|
|
====================
|
|
|
|
### Features:
|
|
* State caching
|
|
* Real-Time file monitoring with Inotify
|
|
* Resumable uploads
|
|
|
|
### What's missing:
|
|
* OneDrive for business is not supported
|
|
* While local changes are uploaded right away, remote changes are delayed.
|
|
* No GUI
|
|
|
|
### Dependencies
|
|
* [libcurl](http://curl.haxx.se/libcurl/)
|
|
* [SQLite 3](https://www.sqlite.org/)
|
|
* [Digital Mars D Compiler (DMD)](http://dlang.org/download.html)
|
|
|
|
### Dependencies: Ubuntu
|
|
```
|
|
sudo apt-get install libcurl-dev
|
|
sudo apt-get install libsqlite3-dev
|
|
sudo wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list
|
|
wget -qO - http://dlang.org/d-keyring.gpg | sudo apt-key add -
|
|
sudo apt-get update && sudo apt-get install dmd-bin
|
|
```
|
|
|
|
### Installation
|
|
```
|
|
git clone git@github.com:skilion/onedrive.git
|
|
cd onedrive
|
|
make
|
|
sudo make install
|
|
```
|
|
|
|
### Configuration:
|
|
You should copy the default config file into your home directory before making changes:
|
|
```
|
|
mkdir -p ~/.config/onedrive
|
|
cp ./config ~/.config/onedrive/config
|
|
```
|
|
|
|
Available options:
|
|
* `sync_dir`: directory where the files will be synced
|
|
* `skip_file`: any files or directories that match this pattern will be skipped during sync
|
|
|
|
Pattern are case insensitive.
|
|
`*` and `?` [wildcards characters][1] are supported.
|
|
Use `|` to separate multiple patterns.
|
|
|
|
[1]: https://technet.microsoft.com/en-us/library/bb490639.aspx
|
|
|
|
### Selective sync
|
|
Selective sync allows you to sync only specific files and directories.
|
|
To enable selective sync create a file named `sync_list` in `~/.config/onedrive`.
|
|
Each line represents a path to a file or directory relative from your `sync_dir`.
|
|
```
|
|
$ cat ~/.config/onedrive/sync_list
|
|
Backup
|
|
Documents/report.odt
|
|
Work/ProjectX
|
|
notes.txt
|
|
```
|
|
|
|
### First run
|
|
The first time you run the program you will be asked to sign in. The procedure requires a web browser.
|
|
|
|
### Service
|
|
If you want to sync your files automatically, enable and start the systemd service:
|
|
```
|
|
systemctl --user enable onedrive
|
|
systemctl --user start onedrive
|
|
```
|
|
|
|
To see the logs run:
|
|
```
|
|
journalctl --user-unit onedrive -f
|
|
```
|
|
|
|
### Usage:
|
|
```
|
|
onedrive [OPTION]...
|
|
|
|
-m --monitor Keep monitoring for local and remote changes.
|
|
--resync Forget the last saved state, perform a full sync.
|
|
--logout Logout the current user.
|
|
--confdir Set the directory to use to store the configuration files.
|
|
-v --verbose Print more details, useful for debugging.
|
|
-h --help This help information.
|
|
```
|
|
|
|
### Notes:
|
|
* After changing `skip_file` in your configs or the sync list, you must execute `onedrive --resync`
|
|
* [Windows naming conventions][2] apply
|
|
* Use `make debug` to generate an executable for debugging
|
|
|
|
[2]: https://msdn.microsoft.com/en-us/library/aa365247
|