- Java 100%
| src/main/java/de/morihofi/iscvplan/testserver | ||
| .gitignore | ||
| pom.xml | ||
| README.MD | ||
👨💻 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.