mirror of
https://github.com/colbster937/originblacklist.git
synced 2026-02-04 02:57:41 +00:00
Compare commits
6 Commits
v2.0.2
...
8f1fd3f1f4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8f1fd3f1f4 | ||
|
|
50e2a954cd | ||
|
|
a6fb5e379c | ||
|
|
2699ceaeff | ||
|
|
9985223d22 | ||
|
|
b6df47ee2e |
4
.github/workflows/gradle.yml
vendored
4
.github/workflows/gradle.yml
vendored
@@ -83,13 +83,13 @@ jobs:
|
||||
with:
|
||||
token: ${{ secrets.MODRINTH_TOKEN }}
|
||||
project: WfBtRGYI
|
||||
version: ${{ steps.dist.output.TAG_NAME }}
|
||||
version: ${{ steps.dist.outputs.TAG_NAME }}
|
||||
loaders: '["bukkit", "bungeecord", "paper", "purpur", "spigot", "velocity", "waterfall"]'
|
||||
game-versions: '["1.8.x", "1.9.x", "1.10.x", "1.11.x", "1.12.x", "1.13.x", "1.14.x", "1.15.x", "1.16.x", "1.17.x", "1.18.x", "1.19.x", "1.20.x", "1.21.x"]'
|
||||
files: dist/${{ steps.vars.outputs.AFCT }}
|
||||
primary-file: ${{ steps.vars.outputs.AFCT }}
|
||||
name: ${{ steps.dist.outputs.REL_NAME }}
|
||||
channel: ${{ steps.ghck.outputs.EXISTS == 'true' && 'beta ' || 'release' }}
|
||||
channel: ${{ steps.ghck.outputs.EXISTS == 'true' && 'beta' || 'release' }}
|
||||
dependencies: |-
|
||||
[{
|
||||
"project_id": "Gtsn3SWv",
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,6 +2,7 @@
|
||||
/.vscode/
|
||||
/gradle/
|
||||
/build/
|
||||
/bin/
|
||||
/run/
|
||||
/gradlew
|
||||
/gradlew.bat
|
||||
@@ -19,20 +19,17 @@ import java.util.List;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.semver4j.Semver;
|
||||
|
||||
import de.marhali.json5.Json5Array;
|
||||
import de.marhali.json5.Json5Element;
|
||||
|
||||
import inet.ipaddr.AddressStringException;
|
||||
import inet.ipaddr.IPAddressString;
|
||||
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.EnumWebSocketHeader;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.IEaglerLoginConnection;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.query.IMOTDConnection;
|
||||
import org.semver4j.Semver;
|
||||
|
||||
public final class OriginBlacklist {
|
||||
public static final Semver REQUIRED_API_VER = new Semver("1.0.2");
|
||||
@@ -243,7 +240,7 @@ public final class OriginBlacklist {
|
||||
player.getName().replaceAll("_", "\\_"),
|
||||
player.getOrigin(),
|
||||
player.getBrand(),
|
||||
player.getAddr(),
|
||||
this.config.get("discord.send_ips").getAsBoolean() ? player.getAddr() : "*\\*CENSORED\\**",
|
||||
player.getPVN(),
|
||||
userAgent,
|
||||
player.isRewind() ? "YES" : "NO",
|
||||
|
||||
@@ -216,6 +216,7 @@ public final class OriginBlacklistConfig {
|
||||
final Json5Object dobj = new Json5Object();
|
||||
addJSONObj(dobj, "enabled", Json5Primitive.fromBoolean(false), null);
|
||||
addJSONObj(dobj, "webhook_urls", new Json5Array(), null);
|
||||
addJSONObj(dobj, "send_ips", Json5Primitive.fromBoolean(true), null);
|
||||
addJSONObj(obj, "discord", dobj, null);
|
||||
final Json5Object uobj = new Json5Object();
|
||||
addJSONObj(uobj, "enabled", Json5Primitive.fromBoolean(true), null);
|
||||
|
||||
@@ -5,6 +5,7 @@ import xyz.webmc.originblacklist.base.util.OPlayer;
|
||||
|
||||
import net.lax1dude.eaglercraft.backend.server.api.event.IBaseServerEvent;
|
||||
|
||||
@SuppressWarnings({ "rawtypes" })
|
||||
public abstract class OriginBlacklistEvent {
|
||||
private final EnumConnectionType connectionType;
|
||||
private final IBaseServerEvent eaglerEvent;
|
||||
|
||||
@@ -5,6 +5,7 @@ import xyz.webmc.originblacklist.base.util.OPlayer;
|
||||
|
||||
import net.lax1dude.eaglercraft.backend.server.api.event.IEaglercraftLoginEvent;
|
||||
|
||||
@SuppressWarnings({ "rawtypes" })
|
||||
public final class OriginBlacklistLoginEvent extends OriginBlacklistEvent {
|
||||
public OriginBlacklistLoginEvent(final IEaglercraftLoginEvent eaglerEvent, final Object javaEvent,
|
||||
final EnumConnectionType connectionType, final OPlayer player) {
|
||||
|
||||
@@ -5,6 +5,7 @@ import xyz.webmc.originblacklist.base.util.OPlayer;
|
||||
|
||||
import net.lax1dude.eaglercraft.backend.server.api.event.IEaglercraftMOTDEvent;
|
||||
|
||||
@SuppressWarnings({ "rawtypes" })
|
||||
public final class OriginBlacklistMOTDEvent extends OriginBlacklistEvent {
|
||||
public OriginBlacklistMOTDEvent(final IEaglercraftMOTDEvent eaglerEvent, final Object javaEvent,
|
||||
final EnumConnectionType connectionType, final OPlayer player) {
|
||||
|
||||
@@ -6,9 +6,8 @@ import xyz.webmc.originblacklist.base.events.OriginBlacklistMOTDEvent;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.semver4j.Semver;
|
||||
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.semver4j.Semver;
|
||||
|
||||
public interface IOriginBlacklistPlugin {
|
||||
public String getPluginId();
|
||||
|
||||
@@ -78,25 +78,60 @@ public final class OPlayer {
|
||||
}
|
||||
|
||||
private static final String formatIPAddress(String addr) {
|
||||
if (addr.startsWith("/")) {
|
||||
addr = addr.substring(1);
|
||||
}
|
||||
if (addr == null) {
|
||||
addr = OriginBlacklist.UNKNOWN_STR;
|
||||
} else {
|
||||
if (addr.startsWith("/")) {
|
||||
addr = addr.substring(1);
|
||||
}
|
||||
|
||||
int i = addr.lastIndexOf('/');
|
||||
if (i != -1) {
|
||||
addr = addr.substring(i + 1);
|
||||
}
|
||||
int i = addr.lastIndexOf('/');
|
||||
if (i != -1) {
|
||||
addr = addr.substring(i + 1);
|
||||
}
|
||||
|
||||
if (addr.startsWith("[")) {
|
||||
i = addr.indexOf(']');
|
||||
if (i != -1)
|
||||
return addr.substring(1, i);
|
||||
return addr.substring(1);
|
||||
}
|
||||
if (addr.startsWith("[")) {
|
||||
i = addr.indexOf(']');
|
||||
if (i != -1) {
|
||||
addr = addr.substring(1, i);
|
||||
} else {
|
||||
addr = addr.substring(1);
|
||||
}
|
||||
} else {
|
||||
i = addr.lastIndexOf(':');
|
||||
if (i != -1) {
|
||||
String a = addr.substring(0, i);
|
||||
String p = addr.substring(i + 1);
|
||||
|
||||
i = addr.lastIndexOf(':');
|
||||
if (i != -1) {
|
||||
addr = addr.substring(0, i);
|
||||
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;
|
||||
|
||||
@@ -5,13 +5,12 @@ import java.io.InputStreamReader;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
|
||||
import org.semver4j.Semver;
|
||||
import org.semver4j.Semver.VersionDiff;
|
||||
|
||||
import de.marhali.json5.Json5;
|
||||
import de.marhali.json5.Json5Array;
|
||||
import de.marhali.json5.Json5Element;
|
||||
import de.marhali.json5.Json5Object;
|
||||
import org.semver4j.Semver;
|
||||
import org.semver4j.Semver.VersionDiff;
|
||||
|
||||
public class UpdateChecker {
|
||||
private static final Json5 json5 = Json5.builder(builder -> builder.build());
|
||||
|
||||
@@ -5,9 +5,9 @@ import xyz.webmc.originblacklist.base.enums.EnumConnectionType;
|
||||
import xyz.webmc.originblacklist.base.enums.EnumLogLevel;
|
||||
import xyz.webmc.originblacklist.base.events.OriginBlacklistLoginEvent;
|
||||
import xyz.webmc.originblacklist.base.events.OriginBlacklistMOTDEvent;
|
||||
import xyz.webmc.originblacklist.base.util.OPlayer;
|
||||
import xyz.webmc.originblacklist.base.util.IOriginBlacklistPlugin;
|
||||
import xyz.webmc.originblacklist.base.util.IncompatibleDependencyException;
|
||||
import xyz.webmc.originblacklist.base.util.OPlayer;
|
||||
import xyz.webmc.originblacklist.bukkit.command.OriginBlacklistCommandBukkit;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
@@ -18,7 +18,11 @@ import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.semver4j.Semver;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.IEaglerXServerAPI;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.bukkit.EaglerXServerAPI;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.bukkit.event.EaglercraftLoginEvent;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.bukkit.event.EaglercraftMOTDEvent;
|
||||
import org.bstats.bukkit.Metrics;
|
||||
import org.bstats.charts.AdvancedPie;
|
||||
import org.bukkit.Bukkit;
|
||||
@@ -32,13 +36,9 @@ import org.bukkit.event.server.ServerListPingEvent;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.util.CachedServerIcon;
|
||||
import org.semver4j.Semver;
|
||||
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.IEaglerXServerAPI;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.bukkit.EaglerXServerAPI;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.bukkit.event.EaglercraftLoginEvent;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.bukkit.event.EaglercraftMOTDEvent;
|
||||
|
||||
@SuppressWarnings({ "rawtypes" })
|
||||
public final class OriginBlacklistBukkit extends JavaPlugin implements Listener, IOriginBlacklistPlugin {
|
||||
private boolean papiPlaceholdersEnabled;
|
||||
private Object papi;
|
||||
|
||||
@@ -14,10 +14,6 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.bstats.bungeecord.Metrics;
|
||||
import org.bstats.charts.AdvancedPie;
|
||||
import org.semver4j.Semver;
|
||||
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.IEaglerXServerAPI;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.bungee.EaglerXServerAPI;
|
||||
@@ -26,15 +22,18 @@ import net.lax1dude.eaglercraft.backend.server.api.bungee.event.EaglercraftMOTDE
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.ServerPing;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
import net.md_5.bungee.api.event.ProxyPingEvent;
|
||||
import net.md_5.bungee.api.event.PostLoginEvent;
|
||||
import net.md_5.bungee.api.event.PreLoginEvent;
|
||||
import net.md_5.bungee.api.event.ProxyPingEvent;
|
||||
import net.md_5.bungee.api.plugin.Listener;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import net.md_5.bungee.event.EventHandler;
|
||||
import net.md_5.bungee.event.EventPriority;
|
||||
import org.bstats.bungeecord.Metrics;
|
||||
import org.bstats.charts.AdvancedPie;
|
||||
import org.semver4j.Semver;
|
||||
|
||||
@SuppressWarnings({ "deprecation" })
|
||||
@SuppressWarnings({ "deprecation", "rawtypes" })
|
||||
public final class OriginBlacklistBungee extends Plugin implements Listener, IOriginBlacklistPlugin {
|
||||
private ProxyServer proxy;
|
||||
private boolean papiPlaceholdersEnabled;
|
||||
|
||||
@@ -15,12 +15,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.bstats.charts.AdvancedPie;
|
||||
import org.bstats.velocity.Metrics;
|
||||
import org.bstats.velocity.Metrics.Factory;
|
||||
import org.semver4j.Semver;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.velocitypowered.api.event.PostOrder;
|
||||
import com.velocitypowered.api.event.Subscribe;
|
||||
@@ -34,14 +28,18 @@ import com.velocitypowered.api.proxy.ProxyServer;
|
||||
import com.velocitypowered.api.proxy.server.ServerPing;
|
||||
import com.velocitypowered.api.scheduler.ScheduledTask;
|
||||
import com.velocitypowered.api.util.Favicon;
|
||||
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.IEaglerXServerAPI;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.velocity.event.EaglercraftMOTDEvent;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.velocity.EaglerXServerAPI;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.velocity.event.EaglercraftLoginEvent;
|
||||
import net.lax1dude.eaglercraft.backend.server.api.velocity.event.EaglercraftMOTDEvent;
|
||||
import org.bstats.charts.AdvancedPie;
|
||||
import org.bstats.velocity.Metrics;
|
||||
import org.bstats.velocity.Metrics.Factory;
|
||||
import org.semver4j.Semver;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
@SuppressWarnings({ "deprecation", "unchecked" })
|
||||
@SuppressWarnings({ "deprecation", "unchecked", "rawtypes" })
|
||||
public final class OriginBlacklistVelocity implements IOriginBlacklistPlugin {
|
||||
private final PluginContainer plugin;
|
||||
private final Factory metricsFactory;
|
||||
|
||||
@@ -3,7 +3,6 @@ package xyz.webmc.originblacklist.velocity.command;
|
||||
import xyz.webmc.originblacklist.base.command.CommandContext;
|
||||
|
||||
import com.velocitypowered.api.command.SimpleCommand.Invocation;
|
||||
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
|
||||
public class VCommandContext implements CommandContext {
|
||||
|
||||
Reference in New Issue
Block a user