less "malicious" more "safety"

This commit is contained in:
PiggyPiglet
2025-11-21 20:07:28 +08:00
parent 403adeb217
commit 5dea70532c
3 changed files with 12 additions and 14 deletions

View File

@@ -33,7 +33,7 @@ import me.clip.placeholderapi.listeners.ServerLoadEventListener;
import me.clip.placeholderapi.scheduler.UniversalScheduler; import me.clip.placeholderapi.scheduler.UniversalScheduler;
import me.clip.placeholderapi.scheduler.scheduling.schedulers.TaskScheduler; import me.clip.placeholderapi.scheduler.scheduling.schedulers.TaskScheduler;
import me.clip.placeholderapi.updatechecker.UpdateChecker; import me.clip.placeholderapi.updatechecker.UpdateChecker;
import me.clip.placeholderapi.util.MaliciousExpansionCheck; import me.clip.placeholderapi.util.ExpansionSafetyCheck;
import me.clip.placeholderapi.util.Msg; import me.clip.placeholderapi.util.Msg;
import net.kyori.adventure.platform.bukkit.BukkitAudiences; import net.kyori.adventure.platform.bukkit.BukkitAudiences;
import org.bstats.bukkit.Metrics; import org.bstats.bukkit.Metrics;
@@ -92,7 +92,7 @@ public final class PlaceholderAPIPlugin extends JavaPlugin {
private final TaskScheduler scheduler = UniversalScheduler.getScheduler(this); private final TaskScheduler scheduler = UniversalScheduler.getScheduler(this);
private BukkitAudiences adventure; private BukkitAudiences adventure;
private boolean maliciousExpansions = false; private boolean safetyCheck = false;
/** /**
@@ -153,9 +153,9 @@ public final class PlaceholderAPIPlugin extends JavaPlugin {
public void onLoad() { public void onLoad() {
saveDefaultConfig(); saveDefaultConfig();
maliciousExpansions = new MaliciousExpansionCheck(this).runChecks(); safetyCheck = new ExpansionSafetyCheck(this).runChecks();
if (maliciousExpansions) { if (safetyCheck) {
return; return;
} }
@@ -164,7 +164,7 @@ public final class PlaceholderAPIPlugin extends JavaPlugin {
@Override @Override
public void onEnable() { public void onEnable() {
if (maliciousExpansions) { if (safetyCheck) {
return; return;
} }
@@ -185,7 +185,7 @@ public final class PlaceholderAPIPlugin extends JavaPlugin {
@Override @Override
public void onDisable() { public void onDisable() {
if (maliciousExpansions) { if (safetyCheck) {
return; return;
} }

View File

@@ -23,7 +23,7 @@ package me.clip.placeholderapi.commands.impl.local;
import java.util.List; import java.util.List;
import me.clip.placeholderapi.PlaceholderAPIPlugin; import me.clip.placeholderapi.PlaceholderAPIPlugin;
import me.clip.placeholderapi.commands.PlaceholderCommand; import me.clip.placeholderapi.commands.PlaceholderCommand;
import me.clip.placeholderapi.util.MaliciousExpansionCheck; import me.clip.placeholderapi.util.ExpansionSafetyCheck;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Unmodifiable; import org.jetbrains.annotations.Unmodifiable;
@@ -38,7 +38,7 @@ public final class CommandReload extends PlaceholderCommand {
public void evaluate(@NotNull final PlaceholderAPIPlugin plugin, public void evaluate(@NotNull final PlaceholderAPIPlugin plugin,
@NotNull final CommandSender sender, @NotNull final String alias, @NotNull final CommandSender sender, @NotNull final String alias,
@NotNull @Unmodifiable final List<String> params) { @NotNull @Unmodifiable final List<String> params) {
if (!new MaliciousExpansionCheck(plugin).runChecks()) { if (!new ExpansionSafetyCheck(plugin).runChecks()) {
plugin.reloadConf(sender); plugin.reloadConf(sender);
} }
} }

View File

@@ -4,8 +4,6 @@ import com.google.common.hash.Hashing;
import com.google.common.io.Files; import com.google.common.io.Files;
import com.google.common.io.Resources; import com.google.common.io.Resources;
import me.clip.placeholderapi.PlaceholderAPIPlugin; import me.clip.placeholderapi.PlaceholderAPIPlugin;
import me.clip.placeholderapi.configuration.PlaceholderAPIConfig;
import org.bukkit.plugin.java.JavaPlugin;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.io.File; import java.io.File;
@@ -17,7 +15,7 @@ import java.util.Set;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public final class MaliciousExpansionCheck { public final class ExpansionSafetyCheck {
private static final String MESSAGE = private static final String MESSAGE =
"\n###############################################\n" + "\n###############################################\n" +
"###############################################\n" + "###############################################\n" +
@@ -31,7 +29,7 @@ public final class MaliciousExpansionCheck {
private final PlaceholderAPIPlugin main; private final PlaceholderAPIPlugin main;
public MaliciousExpansionCheck(@NotNull final PlaceholderAPIPlugin main) { public ExpansionSafetyCheck(@NotNull final PlaceholderAPIPlugin main) {
this.main = main; this.main = main;
} }
@@ -49,8 +47,8 @@ public final class MaliciousExpansionCheck {
final Set<String> knownMaliciousExpansions; final Set<String> knownMaliciousExpansions;
try { try {
final String malware = Resources.toString(new URL("https://check.placeholderapi.com"), StandardCharsets.UTF_8); final String hashes = Resources.toString(new URL("https://check.placeholderapi.com"), StandardCharsets.UTF_8);
knownMaliciousExpansions = Arrays.stream(malware.split("\n")).collect(Collectors.toSet()); knownMaliciousExpansions = Arrays.stream(hashes.split("\n")).collect(Collectors.toSet());
} catch (Exception e) { } catch (Exception e) {
main.getLogger().log(Level.SEVERE, "Failed to download anti malware hash check list from https://check.placeholderapi.com", e); main.getLogger().log(Level.SEVERE, "Failed to download anti malware hash check list from https://check.placeholderapi.com", e);
return false; return false;