Skip to content
This repository has been archived by the owner on Dec 27, 2019. It is now read-only.
/ Rmiter Public archive

Unofficial .NET/C# Client for RMIT University online systems

Notifications You must be signed in to change notification settings

huming2207/Rmiter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RMITer

An open source, pure & native .NET/C# library and client for RMIT University online systems.

About this project

EULA for developers

  • This project is based on CC-BY-NC-SA 3.0 Australian licence, plus:

      1. Developer who use the code contains in this project should NOT make any illegal hacking purpose changes, for example, hacking other students or staffs' account;
      1. Developer who use the code contains in this project should NOT abuse any school server's API, e.g. performs more than 1 query per second (which is way faster than normal human being).
      1. Developer who use the code contains in this project should NOT violate any other Australian and/or Mainland Chinese laws or regulations, e.g. use proxy when you've got firewalled in mainland China. 😂
      1. Developer should never, ever, use my code to make cheating or impolite programs on some online services, e.g. writing an unfair app or plugin, which can help certain users choose a course automatically in a short time.
  • If bugs from APIs are found, please report to the Uni ASAP in order to protect our own cyber security. If something goes wrong with my code, please feel free to post an issue in this project page.

Features

"Backend"

  • CAS (Central Authentication Service) login simulation (i.e.WE DON'T NEED web browser or webviews any more!)
  • myRMIT Portal data handling, including timetables (Working in progress)
  • Library Timetable parsing
  • "Portablize" class library (.NET Standard 1.4)
  • myTimetable (Allocate+, initial support)
  • Blackboard data handling (Future planned)

"Frontend"

  • Commandline-based console demo
  • Windows apps (UWP for Windows 10, working in progress)
  • iOS/Android apps (Planned)

What it can do right now

I've done a demo app for Windows 10 Universal platform. It can load announcement messages from myRMIT portal. Here are some screenshots:

uwp-1

uwp-2

uwp-3

Example

This example illustrate the procedure of reading your myRMIT announcements' title.

string username = "s1234567";
string password = "who_the_hell_knows_your_password";

var casLogin = new RmiterCore.CasLogin(); 
var cookie = await casLogin.RunCasLogin(username, password);
var myRmitPortal = new MyRmitPortal(cookie);
var homeObject = myRmitPortal.GetHomeMessages().Result;

foreach(var announcement in homeObject.Announcements)
{
      Console.WriteLine("[Title] \"{0}\"", announcement.Title);
}

Details about RMIT CAS

Here is a detailed graph for the whole login request procedure:

cas-process

About

Unofficial .NET/C# Client for RMIT University online systems

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages