No description
Find a file
2023-04-19 11:47:15 +02:00
src/main/java/de/morihofi/iscvplan/testserver change password 2023-04-19 07:17:33 +02:00
.gitignore Initial commit 2023-04-18 19:33:32 +02:00
pom.xml change password 2023-04-19 07:17:33 +02:00
README.MD Add emojis 2023-04-19 11:47:15 +02:00

👨‍💻 Industrieschule Chemnitz Vertretungsplan Test-Server

Dieses Repository enthält den Code für einen Test Server des Vertretungsplanes der Industrieschule Chemnitz

Mittels eines Proxies kann der Netzwerkverkehr der offiziellen App zu unserem Server umgeleitet werden. Es muss kein SSL-Zertifikat verwendet werden, da der Vertretungsplan kein HTTPS unterstützt. Siehe Abschnitt Proxy Konfiguration

💡 Features

  • Zu 100% in Java geschrieben
  • Kompatibel ab Java 8
  • Eigenen Fake-Vertretungsplan erstellen
  • Mit originaler App kompatibel
  • Verhält sich wie originale API -> wirft gleiche Fehler zurück
  • Passwortprüfung, festlegen benutzerdefinierter Passwörter
  • Secure Hash Überprüfung
  • Debug Modus für Entwicklung eines Third-Party Clients

⚙ Proxykonfiguration

Fiddler Classic

Mittels des Proxy Tools Fiddler Classic von Telerik kann der Netzwerkverkehr zu dem Test Server umgeleitet werden. Hierzu kann das folgende Fiddler-Skript verwendet werden.

import System;
import System.IO;
import System.Threading;
import System.Web;
import System.Windows.Forms;
import Fiddler;

class Handlers
{
    static function OnBeforeRequest(oSession: Session) {
        if (oSession.hostname.Contains("vplan.industrieschule.de"))
        {
            if (oSession.HTTPMethodIs("CONNECT"))
            {
                // This is just a fake tunnel for CONNECT requests
                oSession["x-replywithtunnel"] = "FakeTunnel";
                return;
            }

            oSession.fullUrl = "http://vpserver.dev.onlineservices.morihofi.de" + oSession.PathAndQuery;
        }
    }
}

Gegebenenfalls den Host anpassen, wenn nicht der öffentliche Testserver verwendet werden soll.

Kompilieren des Projekts

Voraussetzungen

  • Java 8 oder höher
  • Maven

➡️ Kompilieren

Dieses Projekt kann mit dem folgenden Befehl kompiliert werden:

mvn clean compile assembly:single

Anschließend findet sich die ausführbare JAR-Datei im target/-Verzeichnis

🐞 Debug Modus

Um den Debug-Modus zu aktivieren, kann an der URL debug=true (oderDEBUG=true) als GET-Parameter angegeben werden.

Achtung: Die true-Value MUSS immer kleingeschrieben sein.