Bu dosyayı Türkçe olarak da okuyabilirsiniz.
A suite to retrieve course information, keep a database and download items from UKEY (Uludağ KEY). ukeysuite
is powered by Puppeteer – a Node.js library to automate Chrome/Chromium, automating logins and scraping related content.
None of your data – including your username (student code), password or any of the content accessed on UKEY leaves your device (if you don't explicitly share, upload or commit parts of it. See below for more details). ukeysuite
is fully open-source and is licensed by GNU GPL v2.
File: credentials.json
{
username: "032090001",
password: "verysecure",
}
const credentials = getCredentials('credentials.json');
const instance = await loginToUkey(credentials);
const courses = await fetchCoursesInstance(instance);
console.log('Courses I take this semester:');
courses!.forEach((course) => { console.log(course.courseName) });
createCourseDatabaseFile(courses, instance);
Feature | Exists | Version |
---|---|---|
Read/write credentials file | DONE | v1.0.0 |
Fetch all taken courses | DONE | v1.0.0 |
Create database file with courses and course items | DONE | v1.0.0 |
Full types, interfaces and comments | DONE | v1.0.0 |
Download all files, select courses, or select items | TODO | ... |
As previously stated, ukeysuite
is designed to be run on any environment (including public-facing, public IP-addressed production servers), and it has no known security flaws or backdoors. By using this library, you accept that any data you generate, any data you explicitly or inexplicitly share, or commit to VCS that is a product of ukeysuite
, and any metadata that can be associated with it is in your liability. It is your obligation to ensure that your private data, which is generated by ukeysuite
, is securely stored and, if transported by any means, is transported securely.
I welcome contributions to enhance and improve this library! Whether you want to fix a bug, add a new feature, or suggest an improvement, your contributions are highly appreciated.
Just so you know, by contributing to this project, you agree to license your contributions under the same license governing this library. If you're unsure or have questions about the contribution process, please get in touch with me by opening an issue.
Feel free to contact me for collaboration on anything!
Ferit Yiğit BALABAN, fybalaban@fybx.dev
My Website • My Bento • X • LinkedIn
2023