mirror of
https://github.com/AuthMe/AuthMeReloaded.git
synced 2024-12-24 01:27:35 +01:00
removed old GeoIP data check.
This commit is contained in:
parent
5be476e2d6
commit
e39ab8a644
@ -4,6 +4,7 @@ import com.maxmind.geoip.LookupService;
|
|||||||
import fr.xephi.authme.AuthMe;
|
import fr.xephi.authme.AuthMe;
|
||||||
import fr.xephi.authme.ConsoleLogger;
|
import fr.xephi.authme.ConsoleLogger;
|
||||||
import fr.xephi.authme.settings.Settings;
|
import fr.xephi.authme.settings.Settings;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
@ -12,10 +13,12 @@ import java.util.zip.GZIPInputStream;
|
|||||||
|
|
||||||
public class GeoLiteAPI {
|
public class GeoLiteAPI {
|
||||||
|
|
||||||
private static final String GEOIP_URL = "http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry" +
|
public static final String LICENSE = "[LICENSE] This product uses data from the GeoLite API created by MaxMind, " +
|
||||||
|
"available at http://www.maxmind.com";
|
||||||
|
public static final String GEOIP_URL = "http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry" +
|
||||||
"/GeoIP.dat.gz";
|
"/GeoIP.dat.gz";
|
||||||
private static final AuthMe plugin = AuthMe.getInstance();
|
|
||||||
private static LookupService lookupService;
|
private static LookupService lookupService;
|
||||||
|
private static final AuthMe plugin = AuthMe.getInstance();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Download (if absent) the GeoIpLite data file and then try to load it.
|
* Download (if absent) the GeoIpLite data file and then try to load it.
|
||||||
@ -30,15 +33,14 @@ public class GeoLiteAPI {
|
|||||||
if (data.exists()) {
|
if (data.exists()) {
|
||||||
try {
|
try {
|
||||||
lookupService = new LookupService(data);
|
lookupService = new LookupService(data);
|
||||||
plugin.getLogger().info("[LICENSE] This product uses data from the GeoLite API created by MaxMind, " +
|
plugin.getLogger().info(LICENSE);
|
||||||
"available at http://www.maxmind.com");
|
|
||||||
return true;
|
return true;
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Ok, let's try to download the data file!
|
// Ok, let's try to download the data file!
|
||||||
plugin.getGameServer().getScheduler().runTaskAsynchronously(plugin, new Runnable() {
|
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
|
@ -15,15 +15,12 @@ import org.bukkit.Location;
|
|||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.File;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.net.URL;
|
|
||||||
import java.net.URLConnection;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.zip.GZIPInputStream;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility class for various operations used in the codebase.
|
* Utility class for various operations used in the codebase.
|
||||||
@ -38,7 +35,6 @@ public final class Utils {
|
|||||||
|
|
||||||
static {
|
static {
|
||||||
plugin = AuthMe.getInstance();
|
plugin = AuthMe.getInstance();
|
||||||
checkGeoIP();
|
|
||||||
initializeOnlinePlayersIsCollectionField();
|
initializeOnlinePlayersIsCollectionField();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,54 +42,6 @@ public final class Utils {
|
|||||||
// Utility class
|
// Utility class
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check and Download GeoIP data if it doesn't exist
|
|
||||||
public static boolean checkGeoIP() {
|
|
||||||
if (lookupService != null) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
final File data = new File(Settings.PLUGIN_FOLDER, "GeoIP.dat");
|
|
||||||
if (data.exists()) {
|
|
||||||
if (lookupService == null) {
|
|
||||||
try {
|
|
||||||
lookupService = new LookupService(data);
|
|
||||||
ConsoleLogger.info("[LICENSE] This product uses data from the GeoLite API created by MaxMind, " +
|
|
||||||
"available at http://www.maxmind.com");
|
|
||||||
return true;
|
|
||||||
} catch (IOException e) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
plugin.getGameServer().getScheduler().runTaskAsynchronously(plugin, new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
try {
|
|
||||||
String url = "http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz";
|
|
||||||
URL downloadUrl = new URL(url);
|
|
||||||
URLConnection conn = downloadUrl.openConnection();
|
|
||||||
conn.setConnectTimeout(10000);
|
|
||||||
conn.connect();
|
|
||||||
InputStream input = conn.getInputStream();
|
|
||||||
if (conn.getURL().toString().endsWith(".gz")) {
|
|
||||||
input = new GZIPInputStream(input);
|
|
||||||
}
|
|
||||||
OutputStream output = new FileOutputStream(data);
|
|
||||||
byte[] buffer = new byte[2048];
|
|
||||||
int length = input.read(buffer);
|
|
||||||
while (length >= 0) {
|
|
||||||
output.write(buffer, 0, length);
|
|
||||||
length = input.read(buffer);
|
|
||||||
}
|
|
||||||
output.close();
|
|
||||||
input.close();
|
|
||||||
} catch (IOException e) {
|
|
||||||
ConsoleLogger.writeStackTrace(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the group of a player, by its AuthMe group type.
|
* Set the group of a player, by its AuthMe group type.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user