blob: ae39763d10e41629b2af96d67250d0b8d4c0d2d9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# Stud.IP Backend for rclone
This project provides an **rclone backend** for accessing files from **Stud.IP** instances.
Although it should work with all Stud.IP instances, it has currently only been tested with the [University of Bremen](https://elearning.uni-bremen.de) installation.
**Note:** This is a **proof of concept** and currently offers **limited functionality (read-only access)** and **may contain bugs**.
## Usage
You can use this backend either as an rclone plugin or by building a custom rclone binary with the backend compiled in.
### 1. Build as an rclone plugin (Supported on macOS & Linux as of now)
1. Edit `/backend/studip/studip.go` and change the package declaration at the top from:
```go
package studip
````
to:
```go
package main
```
2. Build the plugin using Go’s plugin build mode:
```bash
go build --buildmode=plugin -o librcloneplugin_backend_studip.so backend/studip/studip.go
```
3. Load the plugin
```bash
mv librcloneplugin_backend_studip.so $RCLONE_PLUGIN_PATH/
```
- All plugins in the folder specified by variable $RCLONE_PLUGIN_PATH are loaded.
- If this variable doesn't exist, plugin support is disabled.
- Plugins must be compiled against the exact version of rclone to work. (The rclone used during building the plugin must be the same as the source of rclone)
### 2. Build a custom rclone binary with the backend included
You can also build a full rclone binary that has the Stud.IP backend compiled in.
From the repository root, build rclone with:
```bash
go build -o rclone-studip
```
|