mirror of
https://github.com/rclone/rclone.git
synced 2025-08-18 17:38:52 +02:00
seafile: New backend for seafile server
This commit is contained in:
@@ -51,6 +51,7 @@ Rclone is a command line program to sync files and directories to and from:
|
||||
* {{< provider name="Rackspace Cloud Files" home="https://www.rackspace.com/cloud/files" config="/swift/" >}}
|
||||
* {{< provider name="rsync.net" home="https://rsync.net/products/rclone.html" config="/sftp/#rsync-net" >}}
|
||||
* {{< provider name="Scaleway" home="https://www.scaleway.com/object-storage/" config="/s3/#scaleway" >}}
|
||||
* {{< provider name="Seafile" home="https://www.seafile.com/" config="/seafile/" >}}
|
||||
* {{< provider name="SFTP" home="https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol" config="/sftp/" >}}
|
||||
* {{< provider name="StackPath" home="https://www.stackpath.com/products/object-storage/" config="/s3/#stackpath" >}}
|
||||
* {{< provider name="SugarSync" home="https://sugarsync.com/" config="/sugarsync/" >}}
|
||||
|
@@ -50,6 +50,7 @@ See the following for detailed instructions for
|
||||
* [premiumize.me](/premiumizeme/)
|
||||
* [put.io](/putio/)
|
||||
* [QingStor](/qingstor/)
|
||||
* [Seafile](/seafile/)
|
||||
* [SFTP](/sftp/)
|
||||
* [SugarSync](/sugarsync/)
|
||||
* [Union](/union/)
|
||||
|
@@ -43,6 +43,7 @@ Here is an overview of the major features of each cloud storage system.
|
||||
| premiumize.me | - | No | Yes | No | R |
|
||||
| put.io | CRC-32 | Yes | No | Yes | R |
|
||||
| QingStor | MD5 | No | No | No | R/W |
|
||||
| Seafile | - | No | No | No | - |
|
||||
| SFTP | MD5, SHA1 ‡ | Yes | Depends | No | - |
|
||||
| SugarSync | - | No | No | No | - |
|
||||
| WebDAV | MD5, SHA1 ††| Yes ††† | Depends | No | - |
|
||||
@@ -342,6 +343,7 @@ operations more efficient.
|
||||
| premiumize.me | Yes | No | Yes | Yes | No | No | No | Yes | Yes | Yes |
|
||||
| put.io | Yes | No | Yes | Yes | Yes | No | Yes | No [#2178](https://github.com/rclone/rclone/issues/2178) | Yes | Yes |
|
||||
| QingStor | No | Yes | No | No | Yes | Yes | No | No [#2178](https://github.com/rclone/rclone/issues/2178) | No | No |
|
||||
| Seafile | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
|
||||
| SFTP | No | No | Yes | Yes | No | No | Yes | No [#2178](https://github.com/rclone/rclone/issues/2178) | Yes | Yes |
|
||||
| SugarSync | Yes | Yes | Yes | Yes | No | No | Yes | Yes | No | Yes |
|
||||
| WebDAV | Yes | Yes | Yes | Yes | No | No | Yes ‡ | No [#2178](https://github.com/rclone/rclone/issues/2178) | Yes | Yes |
|
||||
|
251
docs/content/seafile.md
Normal file
251
docs/content/seafile.md
Normal file
@@ -0,0 +1,251 @@
|
||||
---
|
||||
title: "Seafile"
|
||||
description: "Seafile"
|
||||
date: "2020-05-02"
|
||||
---
|
||||
|
||||
<i class="fa fa-server"></i>Seafile
|
||||
----------------------------------------
|
||||
|
||||
This is a backend for the [Seafile](https://www.seafile.com/) storage service.
|
||||
It works with both the free community edition, or the professional edition.
|
||||
Seafile versions 6.x and 7.x are all supported.
|
||||
Encrypted libraries are also supported.
|
||||
|
||||
### Root mode vs Library mode ###
|
||||
|
||||
There are two distinct modes you can setup your remote:
|
||||
- you point your remote to the **root of the server**, meaning you don't specify a library during the configuration:
|
||||
Paths are specified as `remote:library`. You may put subdirectories in too, eg `remote:library/path/to/dir`.
|
||||
- you point your remote to a specific library during the configuration:
|
||||
Paths are specified as `remote:path/to/dir`. **This is the recommended mode when using encrypted libraries**.
|
||||
|
||||
### Configuration in root mode ###
|
||||
|
||||
Here is an example of making a seafile configuration. First run
|
||||
|
||||
rclone config
|
||||
|
||||
This will guide you through an interactive setup process. To authenticate
|
||||
you will need the URL of your server, your email (or username) and your password.
|
||||
|
||||
```
|
||||
No remotes found - make a new one
|
||||
n) New remote
|
||||
s) Set configuration password
|
||||
q) Quit config
|
||||
n/s/q> n
|
||||
name> seafile
|
||||
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
|
||||
[snip]
|
||||
XX / Seafile
|
||||
\ "seafile"
|
||||
[snip]
|
||||
Storage> seafile
|
||||
** See help for seafile backend at: https://rclone.org/seafile/ **
|
||||
|
||||
URL of seafile host to connect to
|
||||
Enter a string value. Press Enter for the default ("").
|
||||
Choose a number from below, or type in your own value
|
||||
1 / Connect to cloud.seafile.com
|
||||
\ "https://cloud.seafile.com/"
|
||||
url> http://my.seafile.server/
|
||||
User name
|
||||
Enter a string value. Press Enter for the default ("").
|
||||
user> me@example.com
|
||||
Password
|
||||
y) Yes type in my own password
|
||||
g) Generate random password
|
||||
y/g> y
|
||||
Enter the password:
|
||||
password:
|
||||
Confirm the password:
|
||||
password:
|
||||
Name of the library. Leave blank to access all non-encrypted libraries.
|
||||
Enter a string value. Press Enter for the default ("").
|
||||
library>
|
||||
Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
|
||||
y) Yes type in my own password
|
||||
g) Generate random password
|
||||
n) No leave this optional password blank (default)
|
||||
y/g/n> n
|
||||
Edit advanced config? (y/n)
|
||||
y) Yes
|
||||
n) No (default)
|
||||
y/n> n
|
||||
Remote config
|
||||
--------------------
|
||||
[seafile]
|
||||
type = seafile
|
||||
url = http://my.seafile.server/
|
||||
user = me@example.com
|
||||
password = *** ENCRYPTED ***
|
||||
--------------------
|
||||
y) Yes this is OK (default)
|
||||
e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d> y
|
||||
```
|
||||
|
||||
This remote is called `seafile`. It's pointing to the root of your seafile server and can now be used like this
|
||||
|
||||
See all libraries
|
||||
|
||||
rclone lsd seafile:
|
||||
|
||||
Create a new library
|
||||
|
||||
rclone mkdir seafile:library
|
||||
|
||||
List the contents of a library
|
||||
|
||||
rclone ls seafile:library
|
||||
|
||||
Sync `/home/local/directory` to the remote library, deleting any
|
||||
excess files in the library.
|
||||
|
||||
rclone sync /home/local/directory seafile:library
|
||||
|
||||
### Configuration in library mode ###
|
||||
|
||||
```
|
||||
No remotes found - make a new one
|
||||
n) New remote
|
||||
s) Set configuration password
|
||||
q) Quit config
|
||||
n/s/q> n
|
||||
name> seafile
|
||||
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
|
||||
[snip]
|
||||
XX / Seafile
|
||||
\ "seafile"
|
||||
[snip]
|
||||
Storage> seafile
|
||||
** See help for seafile backend at: https://rclone.org/seafile/ **
|
||||
|
||||
URL of seafile host to connect to
|
||||
Enter a string value. Press Enter for the default ("").
|
||||
Choose a number from below, or type in your own value
|
||||
1 / Connect to cloud.seafile.com
|
||||
\ "https://cloud.seafile.com/"
|
||||
url> http://my.seafile.server/
|
||||
User name
|
||||
Enter a string value. Press Enter for the default ("").
|
||||
user> me@example.com
|
||||
Password
|
||||
y) Yes type in my own password
|
||||
g) Generate random password
|
||||
y/g> y
|
||||
Enter the password:
|
||||
password:
|
||||
Confirm the password:
|
||||
password:
|
||||
Name of the library. Leave blank to access all non-encrypted libraries.
|
||||
Enter a string value. Press Enter for the default ("").
|
||||
library> My Library
|
||||
Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
|
||||
y) Yes type in my own password
|
||||
g) Generate random password
|
||||
n) No leave this optional password blank (default)
|
||||
y/g/n> n
|
||||
Edit advanced config? (y/n)
|
||||
y) Yes
|
||||
n) No (default)
|
||||
y/n> n
|
||||
Remote config
|
||||
--------------------
|
||||
[seafile]
|
||||
type = seafile
|
||||
url = http://my.seafile.server/
|
||||
user = me@example.com
|
||||
password = *** ENCRYPTED ***
|
||||
library = My Library
|
||||
--------------------
|
||||
y) Yes this is OK (default)
|
||||
e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d> y
|
||||
```
|
||||
|
||||
You specified `My Library` during the configuration. The root of the remote is pointing at the
|
||||
root of the library `My Library`:
|
||||
|
||||
See all files in the library:
|
||||
|
||||
rclone lsd seafile:
|
||||
|
||||
Create a new directory inside the library
|
||||
|
||||
rclone mkdir seafile:directory
|
||||
|
||||
List the contents of a directory
|
||||
|
||||
rclone ls seafile:directory
|
||||
|
||||
Sync `/home/local/directory` to the remote library, deleting any
|
||||
excess files in the library.
|
||||
|
||||
rclone sync /home/local/directory seafile:
|
||||
|
||||
|
||||
### --fast-list ###
|
||||
|
||||
Seafile version 7+ supports `--fast-list` which allows you to use fewer
|
||||
transactions in exchange for more memory. See the [rclone
|
||||
docs](/docs/#fast-list) for more details.
|
||||
Please note this is not supported on seafile server version 6.x
|
||||
|
||||
|
||||
#### Restricted filename characters
|
||||
|
||||
In addition to the [default restricted characters set](/overview/#restricted-characters)
|
||||
the following characters are also replaced:
|
||||
|
||||
| Character | Value | Replacement |
|
||||
| --------- |:-----:|:-----------:|
|
||||
| / | 0x2F | / |
|
||||
| " | 0x22 | " |
|
||||
| \ | 0x5C | \ |
|
||||
|
||||
Invalid UTF-8 bytes will also be [replaced](/overview/#invalid-utf8),
|
||||
as they can't be used in JSON strings.
|
||||
|
||||
### Seafile and rclone link ###
|
||||
|
||||
Rclone supports generating share links for non-encrypted libraries only.
|
||||
They can either be for a file or a directory:
|
||||
|
||||
```
|
||||
rclone link seafile:seafile-tutorial.doc
|
||||
http://my.seafile.server/f/fdcd8a2f93f84b8b90f4/
|
||||
|
||||
```
|
||||
|
||||
or if run on a directory you will get:
|
||||
|
||||
```
|
||||
rclone link seafile:dir
|
||||
http://my.seafile.server/d/9ea2455f6f55478bbb0d/
|
||||
```
|
||||
|
||||
Please note a share link is unique for each file or directory. If you run a link command on a file/dir
|
||||
that has already been shared, you will get the exact same link.
|
||||
|
||||
### Compatibility ###
|
||||
|
||||
It has been actively tested using the [seafile docker image](https://github.com/haiwen/seafile-docker) of these versions:
|
||||
- 6.3.4 community edition
|
||||
- 7.0.5 community edition
|
||||
- 7.1.3 community edition
|
||||
|
||||
Versions below 6.0 are not supported.
|
||||
Versions between 6.0 and 6.3 haven't been tested and might not work properly.
|
||||
|
||||
<!--- autogenerated options start - DO NOT EDIT, instead edit fs.RegInfo in backend/seafile/seafile.go then run make backenddocs -->
|
||||
|
||||
<!--- autogenerated options stop -->
|
||||
|
Reference in New Issue
Block a user