1 unstable release
new 0.1.0 | Apr 6, 2025 |
---|
#317 in Command line utilities
40 downloads per month
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