Appveyor'd

This commit is contained in:
craftycodie 2022-12-21 17:04:01 +00:00
parent 76452bfc83
commit 9722b99b7a
11 changed files with 48 additions and 29 deletions

View File

@ -1,7 +1,7 @@
<component name="libraryTable">
<library name="json">
<library name="CanaryMod">
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/json.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/CanaryMod.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />

View File

@ -1,10 +0,0 @@
<component name="libraryTable">
<library name="JDA-4.2.0_168-withDependencies-min">
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/JDA-4.2.0_168-withDependencies-min.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/discord-webhooks-0.5.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@ -1,9 +0,0 @@
<component name="libraryTable">
<library name="Minecraft_Mod">
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/Minecraft_Mod.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

2
.idea/misc.xml generated
View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="azul-1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@ -8,9 +8,7 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="json" level="project" />
<orderEntry type="library" name="craftbukkit" level="project" />
<orderEntry type="library" exported="" name="JDA-4.2.0_168-withDependencies-min" level="project" />
<orderEntry type="library" name="Minecraft_Mod" level="project" />
<orderEntry type="library" name="CanaryMod" level="project" />
</component>
</module>

Binary file not shown.

Binary file not shown.

View File

@ -1,5 +1,5 @@
name: OnlineModeFix
version: 1.1.3
version: 1.1.4
description: Fixes online-mode authentication.
author: craftycodie
authors: [Codie]

View File

@ -2,14 +2,30 @@ package gg.codie.mineonline.protocol;
import gg.codie.mineonline.protocol.http.Handler;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLStreamHandler;
import java.net.URLStreamHandlerFactory;
public class MineOnlineURLStreamHandlerFactory implements URLStreamHandlerFactory {
private final Class<? extends URLConnection> defaultHttpConnectionClass;
public MineOnlineURLStreamHandlerFactory() {
try {
URL foo = new URL("http://example.com");
// Doesn't actually establish a connection
defaultHttpConnectionClass = foo.openConnection().getClass();
} catch (Exception e) {
// this should never happen as the URL is hardcoded, shouldn't be invalid.
throw new RuntimeException(e);
}
}
@Override
public URLStreamHandler createURLStreamHandler(String protocol) {
if ("http".equals(protocol)) {
return new Handler();
return new Handler(defaultHttpConnectionClass);
}
return null;

View File

@ -4,17 +4,41 @@ import gg.codie.mineonline.protocol.CheckServerURLConnection;
import sun.net.www.protocol.http.HttpURLConnection;
import java.io.IOException;
import java.net.Proxy;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLStreamHandler;
public class Handler extends URLStreamHandler {
private final Class<? extends URLConnection> defaultHttpConnectionClass;
public Handler() {
// Necessary for vanilla servers which don't use the factory.
defaultHttpConnectionClass = null;
}
public Handler(Class<? extends URLConnection> _defaultHttpConnectionClass) {
defaultHttpConnectionClass = _defaultHttpConnectionClass;
}
@Override
protected URLConnection openConnection(URL url) throws IOException {
// Online-Mode fix
if (url.toString().contains("/game/checkserver.jsp"))
return new CheckServerURLConnection(url);
else
return new HttpURLConnection(url, null);
else if (defaultHttpConnectionClass != null) {
try {
return defaultHttpConnectionClass.getConstructor(URL.class, Proxy.class).newInstance(url, null);
} catch (Exception e) {
// If the constructor isn't found, you can log that out. It's not expected.
return null;
}
} else {
try {
Class sunHttpConnection = ClassLoader.getSystemClassLoader().loadClass("sun.net.www.protocol.http.HttpURLConnection");
return (URLConnection) sunHttpConnection.getConstructor(URL.class, Proxy.class).newInstance(url, null);
} catch (Exception e) {
return null;
}
}
}
}