Sync ILIAS with PFERD and upload the files to bwSync&Share using rclone.
Create an Ubuntu server and set up SSH access.
A free, good option is bwCloud.
Install the required packages:
sudo apt update
sudo apt install -y git wget rcloneClone the repository into /home/ubuntu/pferd:
cd ~
git clone https://github.com/FreGeh/kit-ilias-sync pferd
cd pferdExpected structure:
/home/ubuntu/
├── Nextcloud/
└── pferd/
Download the latest Linux executable:
wget -O pferd-linux https://github.com/Garmelon/PFERD/releases/latest/download/pferd-linux
chmod +x pferd-linux
chmod +x syncing.shCreate the local credentials file:
cp .pferd_pass.example .pferd_pass
nano .pferd_pass
chmod 600 .pferd_passFill in the two existing lines with your ILIAS credentials.
.pferd_pass is ignored by Git and should never be committed
Set the current semester in syncing.sh:
SEMESTER="SS26"If no config exists for the semester yet, it automatically creates one from configs/config_template.ini, so you just gotta add or adjust the course rename rules in the generated config if needed.
Create a WebDAV remote:
rclone configFirst create a new app password in bwSync&Share Security Settings, to then set it up like this:
name: bwsyncshare_pferd
type: webdav
url: https://bwsyncandshare.kit.edu/remote.php/dav/files/<APP_USERNAME>/
vendor: nextcloud
user: <APP_USERNAME>
pass: <APP_PASSWORD>
Do not use the normal KIT password here. Use the generated bwSync&Share app credentials.
The remote must be named:
bwsyncshare_pferd
Test it:
rclone lsd bwsyncshare_pferd:It should list your bwSync&Share folders.
Run the script manually first:
./syncing.shPFERD downloads into:
/home/ubuntu/Nextcloud/<SEMESTER>
rclone then uploads to:
bwsyncshare_pferd:KIT Sharing/<SEMESTER>
Check the log if something fails:
tail -n 100 pferd.logcrontab -eFor example every 15 minutes:
*/15 * * * * /home/ubuntu/pferd/syncing.shCheck:
crontab -lFollow the sync log:
tail -f /home/ubuntu/pferd/pferd.log