Source code location: https://github.com/wznmickey/canvas_syncer Plan to implement Canvas-Syncer (https://github.com/BoYanZh/Canvas-Syncer) in rust to gain higher readability and extension. Roadmap: 1. use blocking to complete basic functions (finished) 2. switch to async (finished) 3. support features(i.e. file filter, detail downloading config) (partly) 4. allow uploading An async rust program that synchronizes files and folders across Canvas LMS Files and local. Check `config.json.example`. The default config file is `./config.json` and you can use `--config` to set its path. You can use use cargo to install this program. If you are using Windows or Linux, you can also use the compiled file in github releases. MacOS version is not provided in the release because of API issues of the script used in github actions.