Compare commits

..

4 Commits

Author SHA1 Message Date
Colbster937
8f1fd3f1f4 allow disabling ips in webhook 2026-01-11 00:23:02 -06:00
Colbster937
50e2a954cd suppress warnings 2026-01-11 00:20:15 -06:00
Colbster937
a6fb5e379c remove build files 2026-01-11 00:02:54 -06:00
Colbster937
2699ceaeff fix ipv6 bug 2026-01-11 00:02:23 -06:00
10 changed files with 60 additions and 19 deletions

1
.gitignore vendored
View File

@@ -2,6 +2,7 @@
/.vscode/ /.vscode/
/gradle/ /gradle/
/build/ /build/
/bin/
/run/ /run/
/gradlew /gradlew
/gradlew.bat /gradlew.bat

View File

@@ -240,7 +240,7 @@ public final class OriginBlacklist {
player.getName().replaceAll("_", "\\_"), player.getName().replaceAll("_", "\\_"),
player.getOrigin(), player.getOrigin(),
player.getBrand(), player.getBrand(),
player.getAddr(), this.config.get("discord.send_ips").getAsBoolean() ? player.getAddr() : "*\\*CENSORED\\**",
player.getPVN(), player.getPVN(),
userAgent, userAgent,
player.isRewind() ? "YES" : "NO", player.isRewind() ? "YES" : "NO",

View File

@@ -216,6 +216,7 @@ public final class OriginBlacklistConfig {
final Json5Object dobj = new Json5Object(); final Json5Object dobj = new Json5Object();
addJSONObj(dobj, "enabled", Json5Primitive.fromBoolean(false), null); addJSONObj(dobj, "enabled", Json5Primitive.fromBoolean(false), null);
addJSONObj(dobj, "webhook_urls", new Json5Array(), null); addJSONObj(dobj, "webhook_urls", new Json5Array(), null);
addJSONObj(dobj, "send_ips", Json5Primitive.fromBoolean(true), null);
addJSONObj(obj, "discord", dobj, null); addJSONObj(obj, "discord", dobj, null);
final Json5Object uobj = new Json5Object(); final Json5Object uobj = new Json5Object();
addJSONObj(uobj, "enabled", Json5Primitive.fromBoolean(true), null); addJSONObj(uobj, "enabled", Json5Primitive.fromBoolean(true), null);

View File

@@ -5,6 +5,7 @@ import xyz.webmc.originblacklist.base.util.OPlayer;
import net.lax1dude.eaglercraft.backend.server.api.event.IBaseServerEvent; import net.lax1dude.eaglercraft.backend.server.api.event.IBaseServerEvent;
@SuppressWarnings({ "rawtypes" })
public abstract class OriginBlacklistEvent { public abstract class OriginBlacklistEvent {
private final EnumConnectionType connectionType; private final EnumConnectionType connectionType;
private final IBaseServerEvent eaglerEvent; private final IBaseServerEvent eaglerEvent;

View File

@@ -5,6 +5,7 @@ import xyz.webmc.originblacklist.base.util.OPlayer;
import net.lax1dude.eaglercraft.backend.server.api.event.IEaglercraftLoginEvent; import net.lax1dude.eaglercraft.backend.server.api.event.IEaglercraftLoginEvent;
@SuppressWarnings({ "rawtypes" })
public final class OriginBlacklistLoginEvent extends OriginBlacklistEvent { public final class OriginBlacklistLoginEvent extends OriginBlacklistEvent {
public OriginBlacklistLoginEvent(final IEaglercraftLoginEvent eaglerEvent, final Object javaEvent, public OriginBlacklistLoginEvent(final IEaglercraftLoginEvent eaglerEvent, final Object javaEvent,
final EnumConnectionType connectionType, final OPlayer player) { final EnumConnectionType connectionType, final OPlayer player) {

View File

@@ -5,6 +5,7 @@ import xyz.webmc.originblacklist.base.util.OPlayer;
import net.lax1dude.eaglercraft.backend.server.api.event.IEaglercraftMOTDEvent; import net.lax1dude.eaglercraft.backend.server.api.event.IEaglercraftMOTDEvent;
@SuppressWarnings({ "rawtypes" })
public final class OriginBlacklistMOTDEvent extends OriginBlacklistEvent { public final class OriginBlacklistMOTDEvent extends OriginBlacklistEvent {
public OriginBlacklistMOTDEvent(final IEaglercraftMOTDEvent eaglerEvent, final Object javaEvent, public OriginBlacklistMOTDEvent(final IEaglercraftMOTDEvent eaglerEvent, final Object javaEvent,
final EnumConnectionType connectionType, final OPlayer player) { final EnumConnectionType connectionType, final OPlayer player) {

View File

@@ -78,6 +78,9 @@ public final class OPlayer {
} }
private static final String formatIPAddress(String addr) { private static final String formatIPAddress(String addr) {
if (addr == null) {
addr = OriginBlacklist.UNKNOWN_STR;
} else {
if (addr.startsWith("/")) { if (addr.startsWith("/")) {
addr = addr.substring(1); addr = addr.substring(1);
} }
@@ -89,14 +92,46 @@ public final class OPlayer {
if (addr.startsWith("[")) { if (addr.startsWith("[")) {
i = addr.indexOf(']'); i = addr.indexOf(']');
if (i != -1) if (i != -1) {
return addr.substring(1, i); addr = addr.substring(1, i);
return addr.substring(1); } else {
addr = addr.substring(1);
} }
} else {
i = addr.lastIndexOf(':'); i = addr.lastIndexOf(':');
if (i != -1) { if (i != -1) {
addr = addr.substring(0, i); String a = addr.substring(0, i);
String p = addr.substring(i + 1);
boolean port = !p.isEmpty();
for (int j = 0; j < p.length() && port; j++) {
char c = p.charAt(j);
port = (c >= '0' && c <= '9');
}
if (port) {
if (a.indexOf('.') != -1) {
addr = a;
}
}
}
}
int c = 0;
boolean hex = true;
for (int j = 0; j < addr.length(); j++) {
char ch = addr.charAt(j);
if (ch == ':') {
c++;
} else if (!((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'f') || (ch >= 'A' && ch <= 'F'))) {
hex = false;
break;
}
}
if (hex && c == 6 && addr.indexOf("::") == -1) {
addr = addr + "::";
}
} }
return addr; return addr;

View File

@@ -38,6 +38,7 @@ import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.util.CachedServerIcon; import org.bukkit.util.CachedServerIcon;
import org.semver4j.Semver; import org.semver4j.Semver;
@SuppressWarnings({ "rawtypes" })
public final class OriginBlacklistBukkit extends JavaPlugin implements Listener, IOriginBlacklistPlugin { public final class OriginBlacklistBukkit extends JavaPlugin implements Listener, IOriginBlacklistPlugin {
private boolean papiPlaceholdersEnabled; private boolean papiPlaceholdersEnabled;
private Object papi; private Object papi;

View File

@@ -33,7 +33,7 @@ import org.bstats.bungeecord.Metrics;
import org.bstats.charts.AdvancedPie; import org.bstats.charts.AdvancedPie;
import org.semver4j.Semver; import org.semver4j.Semver;
@SuppressWarnings({ "deprecation" }) @SuppressWarnings({ "deprecation", "rawtypes" })
public final class OriginBlacklistBungee extends Plugin implements Listener, IOriginBlacklistPlugin { public final class OriginBlacklistBungee extends Plugin implements Listener, IOriginBlacklistPlugin {
private ProxyServer proxy; private ProxyServer proxy;
private boolean papiPlaceholdersEnabled; private boolean papiPlaceholdersEnabled;

View File

@@ -39,7 +39,7 @@ import org.bstats.velocity.Metrics.Factory;
import org.semver4j.Semver; import org.semver4j.Semver;
import org.slf4j.Logger; import org.slf4j.Logger;
@SuppressWarnings({ "deprecation", "unchecked" }) @SuppressWarnings({ "deprecation", "unchecked", "rawtypes" })
public final class OriginBlacklistVelocity implements IOriginBlacklistPlugin { public final class OriginBlacklistVelocity implements IOriginBlacklistPlugin {
private final PluginContainer plugin; private final PluginContainer plugin;
private final Factory metricsFactory; private final Factory metricsFactory;