#moodle #download #time #background #html #citizen #moo-dl

app moo-dl

A next generation moodle sync client with a focus und speed and function

1 unstable release

new 0.1.0 Apr 6, 2025

#317 in Command line utilities

40 downloads per month

AGPL-3.0-or-later

130KB
3K SLoC

moo-dl 🚀

A next generation moodle sync client with a focus und speed and function.

Features

  • Speed: A update check across multiple courses can be performed in seconds
  • Archiving and updating files
  • Downloads start (almost) instant, with full login running in the background
  • Saving pages (as pdf or html)
  • Support for general moodle instances (with RWTH-Moodle being the first class citizen)
  • A log to show the changes in the courses over time

Setup

Warning: Current versions of chromium are not compatible (yet) make sure to run an older chromium version like: brave v1.70.177
Please set the path to brave in the config

Dependencies

  • A chromium based browser (A specific one may be set in the config)
  • yt-dlp for lecture downloading: yt-dlp
  • (optionally) single-file-cli to convert pages to html documents: single-file
  • A current version of the rust toolchain: cargo, rustc

Install

Run: cargo install --path .

Configuration

Navigate to your target directory
Run: moo-dl setup
Optionally: Configure the config located at .moo-dl-config.yml

Running

Run: moo-dl sync

Moodle Compatibility

Login methods

Full login
wstoken only
Username and Password ✔️
Graphical (A browser window will pop and allows for logging in) ✔️
RWTH (specific to the RWTH-Aachen university) ✔️
Raw (Only intended for Development) ✔️

Syncing capabilities

Update support high speed checking (for changes) full login required
resource (basic file) ✔️ ✔️
folder ✔️ ✔️
pdfannotator ✔️ ✔️
assignment ✔️ ✔️ ✔️1
label ✔️ ✔️ ✔️
Grades ✔️ ✔️
Opencast (if included via Lti) ✔️ ✔️2
Virtual Programming lab
(saving both required files and submission files)
✔️3 ✔️
url (saving linked page) ✔️ ✔️
page (saving page) ✔️ ✔️
quiz (saving each attempt page) ✔️3 ✔️
glossary (saving overview of all items as a page) ✔️ ✔️
Grouptool (saving as PDF) ✔️ ✔️

1: Full login only required for saving additonal comments (that are not files)
2: Dependant on Course adminstrators
3: Update support limited to new submissions \

No support is planned for: feedback, forum, hsuforum

Contributing

PRs are always welcome! :)

Dependencies

~28–45MB
~792K SLoC