MaimMim Man in the middle minetest interceptor

- prototype
- between client and server, allow to capture all exchanges and potentially change them
- created to capture server maps in laby
- first test get only MapBlock, support version serialization version 28
  - prepartion for 29 with zstd but untested.

# Conflicts:
#	fetch_dependencies.sh
This commit is contained in:
philippe lhardy
2023-07-30 10:18:45 +02:00
parent d789870fbc
commit 9792b79c56
29 changed files with 1144 additions and 12 deletions

View File

@@ -0,0 +1,26 @@
package org.artisanlogiciel.games.maze;
import org.artisanlogiciel.games.minetest.net.MiM;
import java.net.InetSocketAddress;
public class MainMim {
void minetestMime(String serverName, int port) {
MiM mim = new MiM(30002, new InetSocketAddress(serverName, port));
mim.launch();
}
public static void main(String pArgs[])
{
if ( pArgs.length > 1)
{
new MainMim().minetestMime(pArgs[0], Integer.parseInt(pArgs[1]));
}
else
{
System.err.println("[ERROR] please set minetest server hostname and port as arguments");
}
}
}

View File

@@ -4,6 +4,7 @@ import org.artisanlogiciel.games.maze.*;
import org.artisanlogiciel.games.maze.model.WidthHeightProvider;
import org.artisanlogiciel.games.maze.persist.MazePersistRaw;
import org.artisanlogiciel.games.maze.solve.SolvingModel;
import org.artisanlogiciel.games.minetest.net.MiM;
import org.artisanlogiciel.graphics.Drawing;
import org.artisanlogiciel.xpm.Xpm;
@@ -14,6 +15,7 @@ import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.Locale;
/**
@@ -270,6 +272,7 @@ implements StatusListener
}
};
System.out.println("Default Locale " + Locale.getDefault());
if ((pArgs.length > 0) && (pArgs[0].length() > 0)) {