From fa3455054c084fea618f6f236ff867cb38a43a23 Mon Sep 17 00:00:00 2001 From: Trumeet Date: Sun, 17 Oct 2021 22:20:58 -0700 Subject: First Commit --- src/main/java/moe/ymc/safelog/Safelog.java | 46 ++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/main/java/moe/ymc/safelog/Safelog.java (limited to 'src/main/java/moe/ymc/safelog/Safelog.java') diff --git a/src/main/java/moe/ymc/safelog/Safelog.java b/src/main/java/moe/ymc/safelog/Safelog.java new file mode 100644 index 0000000..6a61747 --- /dev/null +++ b/src/main/java/moe/ymc/safelog/Safelog.java @@ -0,0 +1,46 @@ +package moe.ymc.safelog; + +import net.fabricmc.api.ModInitializer; +import net.fabricmc.loader.api.FabricLoader; +import org.apache.commons.codec.digest.DigestUtils; +import org.jetbrains.annotations.NotNull; + +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.InetSocketAddress; +import java.net.SocketAddress; +import java.nio.file.Path; +import java.util.Properties; + +public class Safelog implements ModInitializer { + private static String salt = ""; + + @Override + public void onInitialize() { + try { + final Path config = FabricLoader.getInstance().getConfigDir().resolve("safelog.properties"); + if(!config.toFile().exists()) return; + Properties properties = new Properties(); + final InputStream in = new FileInputStream(config.toFile()); + properties.load(in); + in.close(); + salt = properties.getProperty("salt", ""); + } catch (IOException e) { + e.printStackTrace(); + throw new RuntimeException(e); + } + } + + @NotNull + public static String md5(@NotNull String raw) { + final boolean removeLeadingSlash = raw.startsWith("/"); + return (removeLeadingSlash ? "/" : "") + DigestUtils.md5Hex(salt + raw.substring(removeLeadingSlash ? 1 : 0)); + } + + @NotNull + public static String sanitize(@NotNull SocketAddress address) { + if(!(address instanceof final InetSocketAddress inetSocketAddress)) return address.toString(); + return md5(inetSocketAddress.getAddress().toString()) + ":" + inetSocketAddress.getPort(); + } +} -- cgit v1.2.3