Spectrum Auto Login

This code is designed to help users automatically log into the University of Malaya's SPeCTRUM system.

  1. // ==UserScript==
  2. // @name Spectrum Auto Login
  3. // @name:zh-CN Spectrum自动登录
  4. // @name:zh-TW Spectrum自动登录
  5. // @name:id Spectrum Log masuk automatik
  6. // @name:ms Spectrum Log masuk automatik
  7. // @namespace http://tampermonkey.net/
  8. // @version 0.3.0
  9. // @license MIT
  10. // @description This code is designed to help users automatically log into the University of Malaya's SPeCTRUM system.
  11. // @description:zh-CN 此代码是为了帮助用户自动登录马来亚大学的SPeCTRUM系统
  12. // @description:zh-TW 此代码是为了帮助用户自动登录马来亚大学的SPeCTRUM系统
  13. // @description:ms Kod ini direka untuk membantu pengguna masuk ke sistem SPeCTRUM Universiti Malaya secara automatik.
  14. // @description:id Kod ini direka untuk membantu pengguna masuk ke sistem SPeCTRUM Universiti Malaya secara automatik.
  15. // @author Koukotsukan Neo
  16. // @match https://sso.um.edu.my/cas/*
  17. // @match https://spectrum.um.edu.my
  18. // @grant GM_getValue
  19. // @grant GM_setValue
  20. // @grant GM_deleteValue
  21. // @require http://libs.baidu.com/jquery/2.0.0/jquery.min.js
  22. // ==/UserScript==
  23.  
  24. (function() {
  25. const curURL = window.location.href;
  26. const match = (...patterns) => patterns.some(p => curURL.includes(p));
  27. if (match("https://sso.um.edu.my/cas/loginAllType?service=https://spectrum.um.edu.my/login/index.php")){
  28. GM_deleteValue('method');
  29. GM_deleteValue('uname');
  30. GM_deleteValue("pwd");
  31. var z= document.createElement('a');
  32. z.setAttribute("href","javascript:void(0);");
  33. z.setAttribute("id","helper");
  34. z.innerText='Problems with Autofill?';
  35. document.querySelectorAll("div[class=\"form-group\"]")[0].appendChild(z);
  36. document.querySelector ("#helper").addEventListener("click", doEd, false);
  37. if (!document.querySelector("div[class='error']")){
  38. location.href="https://sso.um.edu.my/cas/loginAllType?service=https%3A%2F%2Fspectrum.um.edu.my%2Flogin%2Findex.php";
  39. }
  40. };
  41. if(match("https://sso.um.edu.my/cas/loginAllType?service=https%3A%2F%2Fspectrum.um.edu.my%2Flogin%2Findex.php")){
  42. $(document).ready(function(){
  43. var x=document.getElementById("domain");
  44. x.innerHTML="<select name=\"domain\" id=\"domain\"><option selected=\"\" value=\"@perdana.um.edu.my\">Student</option><option value=\"@um.edu.my\">Staff</option><option value=\"\">External</option></select>";
  45. var z= document.createElement('a');
  46. z.setAttribute("href","javascript:void(0);");
  47. z.setAttribute("id","helper");
  48. z.innerText='Problems with Autofill?';
  49. document.querySelectorAll("div[class=\"form-group\"]")[0].appendChild(z);
  50. document.querySelector ("#helper").addEventListener("click", doAnother, false);
  51. if (!GM_getValue('method')){
  52. $(document).ready(function(){
  53. document.querySelector("button[type=submit]").click();
  54. });
  55. }else if (GM_getValue('method')== 1){
  56. $(document).ready(function(){
  57. document.querySelector("input[name='uname']").value=GM_getValue('uname');
  58. document.querySelector("input[name='password']").value=GM_getValue('pwd');
  59. document.querySelector("button[type=submit]").click();
  60. });
  61. }
  62. });
  63. }else if (match("https://spectrum.um.edu.my")) {
  64. document.querySelector("span.login").querySelector("a").click();
  65. }
  66.  
  67. function doAnother(se){
  68. if(!GM_getValue('method')){
  69. var uname = prompt("Username", "");
  70. var password = prompt("Password","");
  71. GM_setValue('uname',uname);
  72. GM_setValue("pwd", password);
  73. GM_setValue("method","1");
  74. location.reload();
  75. }else if (GM_getValue('method') == 1){
  76. GM_deleteValue('method');
  77. };
  78. if (se == 1){
  79. location.reload();
  80. }else if (se == 0){
  81.  
  82. }
  83. };
  84. function doEd(){
  85. if(!GM_getValue('method')){
  86. var uname = prompt("Username", "");
  87. var password = prompt("Password","");
  88. GM_setValue('uname',uname);
  89. GM_setValue("pwd", password);
  90. GM_setValue("method","1");
  91. location.href="https://sso.um.edu.my/cas/loginAllType?service=https%3A%2F%2Fspectrum.um.edu.my%2Flogin%2Findex.php";
  92. }else if (GM_getValue('method') == 1){
  93. GM_deleteValue('method');
  94. document.querySelector("button[type=submit]").click();
  95. };
  96. };
  97. }
  98. )();