From 36b44200c481301e2ac067941d803ceb74957027 Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Mon, 13 Mar 2023 15:00:39 -0400 Subject: [PATCH 01/26] Adding response expiry since I just realized it never expires --- .../antivpn/database/VPNDatabase.java | 2 ++ .../antivpn/database/local/H2VPN.java | 15 ++++++++- .../antivpn/database/mongo/MongoVPN.java | 26 ++++++++++++--- .../antivpn/database/sql/MySqlVPN.java | 32 +++++++++++++++---- 4 files changed, 63 insertions(+), 12 deletions(-) diff --git a/Common/src/main/java/dev/brighten/antivpn/database/VPNDatabase.java b/Common/src/main/java/dev/brighten/antivpn/database/VPNDatabase.java index ac8a478..2289197 100644 --- a/Common/src/main/java/dev/brighten/antivpn/database/VPNDatabase.java +++ b/Common/src/main/java/dev/brighten/antivpn/database/VPNDatabase.java @@ -12,6 +12,8 @@ public interface VPNDatabase { void cacheResponse(VPNResponse toCache); + void deleteResponse(String ip); + boolean isWhitelisted(UUID uuid); boolean isWhitelisted(String ip); diff --git a/Common/src/main/java/dev/brighten/antivpn/database/local/H2VPN.java b/Common/src/main/java/dev/brighten/antivpn/database/local/H2VPN.java index 94466a0..bafa52b 100644 --- a/Common/src/main/java/dev/brighten/antivpn/database/local/H2VPN.java +++ b/Common/src/main/java/dev/brighten/antivpn/database/local/H2VPN.java @@ -65,7 +65,12 @@ public class H2VPN implements VPNDatabase { rs.getString("method"), rs.getString("isp"), "N/A", rs.getBoolean("proxy"), rs.getBoolean("cached"), true, rs.getDouble("latitude"), rs.getDouble("longitude"), - System.currentTimeMillis(), -1); + rs.getLong("inserted"), -1); + + if(System.currentTimeMillis() - response.getLastAccess() > TimeUnit.HOURS.toMillis(1)) { + VPNExecutor.threadExecutor.execute(() -> deleteResponse(ip)); + return Optional.empty(); + } return Optional.of(response); } } catch (SQLException throwables) { @@ -98,6 +103,14 @@ public class H2VPN implements VPNDatabase { .append(toCache.getLatitude()).append(toCache.getLongitude()).execute(); } + @Override + public void deleteResponse(String ip) { + if(!AntiVPN.getInstance().getVpnConfig().isDatabaseEnabled() || MySQL.isClosed()) + return; + + Query.prepare("delete from `responses` where `ip` = ?").append(ip).execute(); + } + @SneakyThrows @Override public boolean isWhitelisted(UUID uuid) { diff --git a/Common/src/main/java/dev/brighten/antivpn/database/mongo/MongoVPN.java b/Common/src/main/java/dev/brighten/antivpn/database/mongo/MongoVPN.java index 20e1098..6ee677c 100644 --- a/Common/src/main/java/dev/brighten/antivpn/database/mongo/MongoVPN.java +++ b/Common/src/main/java/dev/brighten/antivpn/database/mongo/MongoVPN.java @@ -7,13 +7,16 @@ import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; import com.mongodb.client.model.Indexes; +import com.mongodb.client.model.UpdateOptions; import dev.brighten.antivpn.AntiVPN; import dev.brighten.antivpn.api.VPNExecutor; import dev.brighten.antivpn.database.VPNDatabase; import dev.brighten.antivpn.web.objects.VPNResponse; import org.bson.Document; +import org.bson.conversions.Bson; import java.util.*; +import java.util.concurrent.TimeUnit; import java.util.function.Consumer; public class MongoVPN implements VPNDatabase { @@ -27,6 +30,13 @@ public class MongoVPN implements VPNDatabase { Document rdoc = cacheDocument.find(Filters.eq("ip", ip)).first(); if(rdoc != null) { + long lastUpdate = rdoc.get("lastAccess", 0L); + + if(System.currentTimeMillis() - lastUpdate > TimeUnit.HOURS.toMillis(1)) { + VPNExecutor.threadExecutor.execute(() -> deleteResponse(ip)); + return Optional.empty(); + } + return Optional.of(VPNResponse.builder().asn(rdoc.getString("asn")).ip(ip) .countryName(rdoc.getString("countryName")) .countryCode(rdoc.getString("countryCode")) @@ -39,6 +49,7 @@ public class MongoVPN implements VPNDatabase { .success(true) .latitude(rdoc.getDouble("latitude")) .longitude(rdoc.getDouble("longitude")) + .lastAccess(rdoc.get("lastAccess", 0L)) .build()); } return Optional.empty(); @@ -60,13 +71,20 @@ public class MongoVPN implements VPNDatabase { rdoc.put("success", toCache.isSuccess()); rdoc.put("latitude", toCache.getLatitude()); rdoc.put("longitude", toCache.getLongitude()); + rdoc.put("lastAccess", System.currentTimeMillis()); VPNExecutor.threadExecutor.execute(() -> { - cacheDocument.deleteMany(Filters.eq("ip", toCache.getIp())); - cacheDocument.insertOne(rdoc); + Bson update = new Document("$set", rdoc); + cacheDocument.updateOne(Filters.eq("ip", toCache.getIp()), update, + new UpdateOptions().upsert(true)); }); } + @Override + public void deleteResponse(String ip) { + cacheDocument.deleteMany(Filters.eq("ip", ip)); + } + @Override public boolean isWhitelisted(UUID uuid) { return settingsDocument @@ -100,8 +118,8 @@ public class MongoVPN implements VPNDatabase { @Override public void setWhitelisted(String ip, boolean whitelisted) { if(whitelisted) { - Document wdoc = new Document("setting", "whitelist"); - wdoc.put("ip", ip); + Document wdoc = new Document("setting", "whitelist").append("ip", ip); + AntiVPN.getInstance().getExecutor().getWhitelistedIps().add(ip); VPNExecutor.threadExecutor.execute(() -> settingsDocument.insertOne(wdoc)); } else { diff --git a/Common/src/main/java/dev/brighten/antivpn/database/sql/MySqlVPN.java b/Common/src/main/java/dev/brighten/antivpn/database/sql/MySqlVPN.java index 9c5d222..809ec5c 100644 --- a/Common/src/main/java/dev/brighten/antivpn/database/sql/MySqlVPN.java +++ b/Common/src/main/java/dev/brighten/antivpn/database/sql/MySqlVPN.java @@ -52,7 +52,7 @@ public class MySqlVPN implements VPNDatabase { @Override public Optional getStoredResponse(String ip) { - if (!AntiVPN.getInstance().getVpnConfig().isDatabaseEnabled()|| MySQL.isClosed()) + if (isDisabled()) return Optional.empty(); ResultSet rs = Query.prepare("select * from `responses` where `ip` = ? limit 1").append(ip).executeQuery(); @@ -65,7 +65,13 @@ public class MySqlVPN implements VPNDatabase { rs.getString("method"), rs.getString("isp"), "N/A", rs.getBoolean("proxy"), rs.getBoolean("cached"), true, rs.getDouble("latitude"), rs.getDouble("longitude"), - System.currentTimeMillis(), -1); + rs.getLong("inserted"), -1); + + if(System.currentTimeMillis() - response.getLastAccess() > TimeUnit.HOURS.toMillis(1)) { + VPNExecutor.threadExecutor.execute(() -> deleteResponse(ip)); + return Optional.empty(); + } + return Optional.of(response); } } catch (SQLException throwables) { @@ -86,7 +92,7 @@ public class MySqlVPN implements VPNDatabase { */ @Override public void cacheResponse(VPNResponse toCache) { - if (!AntiVPN.getInstance().getVpnConfig().isDatabaseEnabled() || MySQL.isClosed()) + if (isDisabled()) return; Query.prepare("insert into `responses` (`ip`,`asn`,`countryName`,`countryCode`,`city`,`timeZone`," @@ -98,10 +104,18 @@ public class MySqlVPN implements VPNDatabase { .append(toCache.getLatitude()).append(toCache.getLongitude()).execute(); } + @Override + public void deleteResponse(String ip) { + if(!isDisabled()) + return; + + Query.prepare("delete from `responses` where `ip` = ?").append(ip).execute(); + } + @SneakyThrows @Override public boolean isWhitelisted(UUID uuid) { - if (!AntiVPN.getInstance().getVpnConfig().isDatabaseEnabled() || MySQL.isClosed()) + if (isDisabled()) return false; ResultSet set = Query.prepare("select uuid from `whitelisted` where `uuid` = ? limit 1") .append(uuid.toString()).executeQuery(); @@ -112,7 +126,7 @@ public class MySqlVPN implements VPNDatabase { @SneakyThrows @Override public boolean isWhitelisted(String ip) { - if (!AntiVPN.getInstance().getVpnConfig().isDatabaseEnabled() || MySQL.isClosed()) + if (isDisabled()) return false; ResultSet set = Query.prepare("select `ip` from `whitelisted-ips` where `ip` = ? limit 1") .append(ip).executeQuery(); @@ -123,7 +137,7 @@ public class MySqlVPN implements VPNDatabase { @Override public void setWhitelisted(UUID uuid, boolean whitelisted) { - if (!AntiVPN.getInstance().getVpnConfig().isDatabaseEnabled() || MySQL.isClosed()) + if (isDisabled()) return; if (whitelisted) { @@ -139,7 +153,7 @@ public class MySqlVPN implements VPNDatabase { @Override public void setWhitelisted(String ip, boolean whitelisted) { - if (!AntiVPN.getInstance().getVpnConfig().isDatabaseEnabled() || MySQL.isClosed()) + if (isDisabled()) return; if(whitelisted) { @@ -333,6 +347,10 @@ public class MySqlVPN implements VPNDatabase { System.err.println("MySQL Excepton created" + e.getMessage()); } } + + private boolean isDisabled() { + return !AntiVPN.getInstance().getVpnConfig().isDatabaseEnabled()|| MySQL.isClosed(); + } @Override public void shutdown() { From 91a09f6940854a93a5fd90f61f421e5c94e6ce01 Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Mon, 13 Mar 2023 15:04:14 -0400 Subject: [PATCH 02/26] Updating version to 1.8.3 --- Assembly/dependency-reduced-pom.xml | 2 +- Assembly/pom.xml | 2 +- Bukkit/dependency-reduced-pom.xml | 4 ++-- Bukkit/pom.xml | 4 ++-- Bungee/dependency-reduced-pom.xml | 4 ++-- Bungee/pom.xml | 4 ++-- Common/pom.xml | 2 +- Sponge/pom.xml | 2 +- Velocity/pom.xml | 4 ++-- pom.xml | 2 +- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Assembly/dependency-reduced-pom.xml b/Assembly/dependency-reduced-pom.xml index 1685498..59e8260 100644 --- a/Assembly/dependency-reduced-pom.xml +++ b/Assembly/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ AntiVPN dev.brighten.antivpn - 1.8.2.2 + 1.8.3 4.0.0 Assembly diff --git a/Assembly/pom.xml b/Assembly/pom.xml index 8356526..d4ae053 100644 --- a/Assembly/pom.xml +++ b/Assembly/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.2.2 + 1.8.3 4.0.0 diff --git a/Bukkit/dependency-reduced-pom.xml b/Bukkit/dependency-reduced-pom.xml index 0e89eea..648a1ad 100644 --- a/Bukkit/dependency-reduced-pom.xml +++ b/Bukkit/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ AntiVPN dev.brighten.antivpn - 1.8.2.2 + 1.8.3 4.0.0 Bukkit @@ -56,7 +56,7 @@ dev.brighten.antivpn Common - 1.8.2.2 + 1.8.3 provided diff --git a/Bukkit/pom.xml b/Bukkit/pom.xml index 62da9a9..bb89c9a 100644 --- a/Bukkit/pom.xml +++ b/Bukkit/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.2.2 + 1.8.3 4.0.0 @@ -69,7 +69,7 @@ dev.brighten.antivpn Common - 1.8.2.2 + 1.8.3 provided diff --git a/Bungee/dependency-reduced-pom.xml b/Bungee/dependency-reduced-pom.xml index f44d6aa..7ee76ad 100644 --- a/Bungee/dependency-reduced-pom.xml +++ b/Bungee/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ AntiVPN dev.brighten.antivpn - 1.8.2.2 + 1.8.3 4.0.0 Bungee @@ -50,7 +50,7 @@ dev.brighten.antivpn Common - 1.8.2.2 + 1.8.3 provided diff --git a/Bungee/pom.xml b/Bungee/pom.xml index a5ff714..cf2d178 100644 --- a/Bungee/pom.xml +++ b/Bungee/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.2.2 + 1.8.3 4.0.0 @@ -63,7 +63,7 @@ dev.brighten.antivpn Common - 1.8.2.2 + 1.8.3 provided diff --git a/Common/pom.xml b/Common/pom.xml index 6bd856f..b9aa209 100644 --- a/Common/pom.xml +++ b/Common/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.2.2 + 1.8.3 4.0.0 diff --git a/Sponge/pom.xml b/Sponge/pom.xml index 5491297..156a38b 100644 --- a/Sponge/pom.xml +++ b/Sponge/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.2.2 + 1.8.3 4.0.0 diff --git a/Velocity/pom.xml b/Velocity/pom.xml index d98ab4f..c39a37f 100644 --- a/Velocity/pom.xml +++ b/Velocity/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.2.2 + 1.8.3 4.0.0 @@ -33,7 +33,7 @@ dev.brighten.antivpn Common - 1.8.2.2 + 1.8.3 provided diff --git a/pom.xml b/pom.xml index 24b999a..3605e46 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ dev.brighten.antivpn AntiVPN pom - 1.8.2.2 + 1.8.3 Common From 9c843cd06115340960db881aed746ffd292cb9df Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Mon, 13 Mar 2023 15:08:04 -0400 Subject: [PATCH 03/26] Updating to 1.8.3.1 Turns out we accidentally already used the 1.8.3 version --- Assembly/dependency-reduced-pom.xml | 2 +- Assembly/pom.xml | 2 +- Bukkit/dependency-reduced-pom.xml | 4 ++-- Bukkit/pom.xml | 4 ++-- Bungee/dependency-reduced-pom.xml | 4 ++-- Bungee/pom.xml | 4 ++-- Common/pom.xml | 2 +- Sponge/pom.xml | 2 +- Velocity/pom.xml | 4 ++-- pom.xml | 2 +- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Assembly/dependency-reduced-pom.xml b/Assembly/dependency-reduced-pom.xml index 59e8260..74bd73e 100644 --- a/Assembly/dependency-reduced-pom.xml +++ b/Assembly/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3 + 1.8.3.1 4.0.0 Assembly diff --git a/Assembly/pom.xml b/Assembly/pom.xml index d4ae053..3aa8cf0 100644 --- a/Assembly/pom.xml +++ b/Assembly/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3 + 1.8.3.1 4.0.0 diff --git a/Bukkit/dependency-reduced-pom.xml b/Bukkit/dependency-reduced-pom.xml index 648a1ad..6eba22e 100644 --- a/Bukkit/dependency-reduced-pom.xml +++ b/Bukkit/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3 + 1.8.3.1 4.0.0 Bukkit @@ -56,7 +56,7 @@ dev.brighten.antivpn Common - 1.8.3 + 1.8.3.1 provided diff --git a/Bukkit/pom.xml b/Bukkit/pom.xml index bb89c9a..dd2e7e8 100644 --- a/Bukkit/pom.xml +++ b/Bukkit/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3 + 1.8.3.1 4.0.0 @@ -69,7 +69,7 @@ dev.brighten.antivpn Common - 1.8.3 + 1.8.3.1 provided diff --git a/Bungee/dependency-reduced-pom.xml b/Bungee/dependency-reduced-pom.xml index 7ee76ad..b0ee7b9 100644 --- a/Bungee/dependency-reduced-pom.xml +++ b/Bungee/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3 + 1.8.3.1 4.0.0 Bungee @@ -50,7 +50,7 @@ dev.brighten.antivpn Common - 1.8.3 + 1.8.3.1 provided diff --git a/Bungee/pom.xml b/Bungee/pom.xml index cf2d178..9534a17 100644 --- a/Bungee/pom.xml +++ b/Bungee/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3 + 1.8.3.1 4.0.0 @@ -63,7 +63,7 @@ dev.brighten.antivpn Common - 1.8.3 + 1.8.3.1 provided diff --git a/Common/pom.xml b/Common/pom.xml index b9aa209..c147c0f 100644 --- a/Common/pom.xml +++ b/Common/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3 + 1.8.3.1 4.0.0 diff --git a/Sponge/pom.xml b/Sponge/pom.xml index 156a38b..d331c9a 100644 --- a/Sponge/pom.xml +++ b/Sponge/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3 + 1.8.3.1 4.0.0 diff --git a/Velocity/pom.xml b/Velocity/pom.xml index c39a37f..64ea3c0 100644 --- a/Velocity/pom.xml +++ b/Velocity/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3 + 1.8.3.1 4.0.0 @@ -33,7 +33,7 @@ dev.brighten.antivpn Common - 1.8.3 + 1.8.3.1 provided diff --git a/pom.xml b/pom.xml index 3605e46..f72b7a3 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ dev.brighten.antivpn AntiVPN pom - 1.8.3 + 1.8.3.1 Common From 21b6924cce5fbf58c49d893afad11167f62de463 Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Tue, 18 Apr 2023 06:42:07 -0400 Subject: [PATCH 04/26] Fixing error with inserted type mismatch in H2 and MySQL --- .../main/java/dev/brighten/antivpn/bungee/BungeeListener.java | 1 + .../main/java/dev/brighten/antivpn/database/local/H2VPN.java | 2 +- .../main/java/dev/brighten/antivpn/database/sql/MySqlVPN.java | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java b/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java index 82ef549..66cb95c 100644 --- a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java +++ b/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java @@ -57,6 +57,7 @@ public class BungeeListener extends VPNExecutor implements Listener { if(result.isSuccess()) { // If the countryList() size is zero, no need to check. // Running country check first + AntiVPN.getInstance().getExecutor().log("Checking UUID for whitelist: %s", event.getPlayer().getUniqueId().toString()); if(AntiVPN.getInstance().getVpnConfig().countryList().size() > 0 && !(AntiVPN.getInstance().getExecutor().isWhitelisted(event.getPlayer().getUniqueId()) //Is exempt //Or has a name that starts with a certain prefix. This is for Bedrock exempting. diff --git a/Common/src/main/java/dev/brighten/antivpn/database/local/H2VPN.java b/Common/src/main/java/dev/brighten/antivpn/database/local/H2VPN.java index bafa52b..6e2ea79 100644 --- a/Common/src/main/java/dev/brighten/antivpn/database/local/H2VPN.java +++ b/Common/src/main/java/dev/brighten/antivpn/database/local/H2VPN.java @@ -65,7 +65,7 @@ public class H2VPN implements VPNDatabase { rs.getString("method"), rs.getString("isp"), "N/A", rs.getBoolean("proxy"), rs.getBoolean("cached"), true, rs.getDouble("latitude"), rs.getDouble("longitude"), - rs.getLong("inserted"), -1); + rs.getTimestamp("inserted").getTime(), -1); if(System.currentTimeMillis() - response.getLastAccess() > TimeUnit.HOURS.toMillis(1)) { VPNExecutor.threadExecutor.execute(() -> deleteResponse(ip)); diff --git a/Common/src/main/java/dev/brighten/antivpn/database/sql/MySqlVPN.java b/Common/src/main/java/dev/brighten/antivpn/database/sql/MySqlVPN.java index 809ec5c..b87dff7 100644 --- a/Common/src/main/java/dev/brighten/antivpn/database/sql/MySqlVPN.java +++ b/Common/src/main/java/dev/brighten/antivpn/database/sql/MySqlVPN.java @@ -65,7 +65,7 @@ public class MySqlVPN implements VPNDatabase { rs.getString("method"), rs.getString("isp"), "N/A", rs.getBoolean("proxy"), rs.getBoolean("cached"), true, rs.getDouble("latitude"), rs.getDouble("longitude"), - rs.getLong("inserted"), -1); + rs.getTimestamp("inserted").getTime(), -1); if(System.currentTimeMillis() - response.getLastAccess() > TimeUnit.HOURS.toMillis(1)) { VPNExecutor.threadExecutor.execute(() -> deleteResponse(ip)); From 6959f35d0cbe198676c03c6eef88738dd1b5aef0 Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Tue, 18 Apr 2023 06:45:28 -0400 Subject: [PATCH 05/26] Fixing whitelist issues in bukkit and bungee --- .../antivpn/bukkit/BukkitListener.java | 21 +++++++++++++----- .../antivpn/bungee/BungeeListener.java | 22 +++++++++++++------ Common/src/main/resources/config.yml | 4 ++-- 3 files changed, 32 insertions(+), 15 deletions(-) diff --git a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java index ae9adc1..2c4f997 100644 --- a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java +++ b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java @@ -82,15 +82,24 @@ public class BukkitListener extends VPNExecutor implements Listener { //We need to run on main thread or kicking and running commands will cause errors new BukkitRunnable() { public void run() { + //If the player is whitelisted, we don't want to kick them + if(AntiVPN.getInstance().getExecutor().isWhitelisted(event.getPlayer().getUniqueId())) { + AntiVPN.getInstance().getExecutor().log("UUID is whitelisted: %s", + event.getPlayer().getUniqueId().toString()); + return; + } + + //If the IP is whitelisted, we don't want to kick them + if(AntiVPN.getInstance().getExecutor().isWhitelisted(event.getPlayer().getAddress().getAddress() + .getHostAddress())) { + AntiVPN.getInstance().getExecutor().log("IP is whitelisted: %s", + event.getPlayer().getAddress().getAddress().getHostAddress()); + return; + } + // If the countryList() size is zero, no need to check. // Running country check first if(AntiVPN.getInstance().getVpnConfig().countryList().size() > 0 - && !(AntiVPN.getInstance().getExecutor() - .isWhitelisted(event.getPlayer().getUniqueId()) //Is exempt - //Or has a name that starts with a certain prefix. This is for Bedrock exempting. - || AntiVPN.getInstance().getExecutor().isWhitelisted(event.getPlayer() - .getAddress().getAddress() - .getHostAddress())) // This bit of code will decide whether or not to kick the player // If it contains the code and it is set to whitelist, it will not kick as they are equal // and vise versa. However, if the contains does not match the state, it will kick. diff --git a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java b/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java index 66cb95c..4f05cc9 100644 --- a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java +++ b/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java @@ -55,14 +55,22 @@ public class BungeeListener extends VPNExecutor implements Listener { checkIp(event.getPlayer().getAddress().getAddress().getHostAddress(), AntiVPN.getInstance().getVpnConfig().cachedResults(), result -> { if(result.isSuccess()) { - // If the countryList() size is zero, no need to check. - // Running country check first - AntiVPN.getInstance().getExecutor().log("Checking UUID for whitelist: %s", event.getPlayer().getUniqueId().toString()); + //If the player is whitelisted, we don't want to kick them + if(AntiVPN.getInstance().getExecutor().isWhitelisted(event.getPlayer().getUniqueId())) { + AntiVPN.getInstance().getExecutor().log("UUID is whitelisted: %s", + event.getPlayer().getUniqueId().toString()); + return; + } + + //If the IP is whitelisted, we don't want to kick them + if(AntiVPN.getInstance().getExecutor().isWhitelisted(event.getPlayer().getAddress().getAddress() + .getHostAddress())) { + AntiVPN.getInstance().getExecutor().log("IP is whitelisted: %s", + event.getPlayer().getAddress().getAddress().getHostAddress()); + return; + } + if(AntiVPN.getInstance().getVpnConfig().countryList().size() > 0 - && !(AntiVPN.getInstance().getExecutor().isWhitelisted(event.getPlayer().getUniqueId()) //Is exempt - //Or has a name that starts with a certain prefix. This is for Bedrock exempting. - || AntiVPN.getInstance().getExecutor().isWhitelisted(event.getPlayer().getAddress().getAddress() - .getHostAddress())) // This bit of code will decide whether or not to kick the player // If it contains the code and it is set to whitelist, it will not kick as they are equal // and vise versa. However, if the contains does not match the state, it will kick. diff --git a/Common/src/main/resources/config.yml b/Common/src/main/resources/config.yml index 134acb4..6098586 100644 --- a/Common/src/main/resources/config.yml +++ b/Common/src/main/resources/config.yml @@ -15,8 +15,8 @@ prefixWhitelists: [] # Configure your database here. database: # Enable to cache queries and save alerts state beyond restarts - enabled: false - useCredentials: true + enabled: true + useCredentials: false #Options Mongo, MySQL, or H2 type: H2 # The database name you would like to use From 40308869c06230d2378e8936615c0aaf0525bfdf Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Tue, 23 May 2023 08:09:41 -0400 Subject: [PATCH 06/26] 1.8.4 Added cache for logins for faster response --- Assembly/dependency-reduced-pom.xml | 14 ++++++- Assembly/pom.xml | 14 ++++++- Bukkit/dependency-reduced-pom.xml | 38 ++++++++++--------- Bukkit/pom.xml | 33 ++++++++++------ .../antivpn/bukkit/BukkitListener.java | 22 +++++++++++ Bungee/dependency-reduced-pom.xml | 16 +++++++- Bungee/pom.xml | 12 +++++- .../antivpn/bungee/BungeeListener.java | 27 +++++++++++++ Common/pom.xml | 11 +++++- Sponge/pom.xml | 2 +- Velocity/pom.xml | 12 +++++- .../antivpn/velocity/VelocityListener.java | 22 +++++++++++ pom.xml | 2 +- 13 files changed, 184 insertions(+), 41 deletions(-) diff --git a/Assembly/dependency-reduced-pom.xml b/Assembly/dependency-reduced-pom.xml index 74bd73e..3ab4d03 100644 --- a/Assembly/dependency-reduced-pom.xml +++ b/Assembly/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3.1 + 1.8.4 4.0.0 Assembly @@ -18,6 +18,18 @@ shade + + + + org.yaml.snakeyaml + dev.brighten.antivpn.shaded.org.yaml.snakeyaml + + + com.google + dev.brighten.antivpn.shaded.com.google + + + diff --git a/Assembly/pom.xml b/Assembly/pom.xml index 3aa8cf0..06393c9 100644 --- a/Assembly/pom.xml +++ b/Assembly/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3.1 + 1.8.4 4.0.0 @@ -28,6 +28,18 @@ shade + + + + org.yaml.snakeyaml + dev.brighten.antivpn.shaded.org.yaml.snakeyaml + + + com.google + dev.brighten.antivpn.shaded.com.google + + + diff --git a/Bukkit/dependency-reduced-pom.xml b/Bukkit/dependency-reduced-pom.xml index 6eba22e..15afef9 100644 --- a/Bukkit/dependency-reduced-pom.xml +++ b/Bukkit/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3.1 + 1.8.4 4.0.0 Bukkit @@ -26,23 +26,32 @@ maven-shade-plugin - 3.1.0 + 3.2.4 package shade + + true + + + org.bstats + dev.brighten.antivpn.bukkit.org.bstats + + + org.yaml.snakeyaml + dev.brighten.antivpn.shaded.org.yaml.snakeyaml + + + com.google + dev.brighten.antivpn.shaded.com.google + + + - - - - org.bstats - dev.brighten.antivpn.bukkit.org.bstats - - - @@ -56,14 +65,8 @@ dev.brighten.antivpn Common - 1.8.3.1 + 1.8.4 provided - - - snakeyaml - org.yaml - - cc.funkemunky.utils @@ -77,4 +80,3 @@ 8 - diff --git a/Bukkit/pom.xml b/Bukkit/pom.xml index dd2e7e8..ddfe573 100644 --- a/Bukkit/pom.xml +++ b/Bukkit/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3.1 + 1.8.4 4.0.0 @@ -26,22 +26,31 @@ org.apache.maven.plugins maven-shade-plugin - 3.1.0 - - - - org.bstats - - dev.brighten.antivpn.bukkit.org.bstats - - - + 3.2.4 package shade + + true + + + org.bstats + + dev.brighten.antivpn.bukkit.org.bstats + + + org.yaml.snakeyaml + dev.brighten.antivpn.shaded.org.yaml.snakeyaml + + + com.google + dev.brighten.antivpn.shaded.com.google + + + @@ -69,7 +78,7 @@ dev.brighten.antivpn Common - 1.8.3.1 + 1.8.4 provided diff --git a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java index 2c4f997..ace877e 100644 --- a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java +++ b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java @@ -1,9 +1,12 @@ package dev.brighten.antivpn.bukkit; +import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; import dev.brighten.antivpn.AntiVPN; import dev.brighten.antivpn.api.APIPlayer; import dev.brighten.antivpn.api.VPNExecutor; import dev.brighten.antivpn.message.VpnString; +import dev.brighten.antivpn.web.objects.VPNResponse; import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -16,11 +19,18 @@ import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitTask; +import java.util.UUID; +import java.util.concurrent.TimeUnit; import java.util.logging.Level; public class BukkitListener extends VPNExecutor implements Listener { private BukkitTask cacheResetTask; + private final Cache responseCache = CacheBuilder.newBuilder() + .expireAfterWrite(5, TimeUnit.MINUTES) + .maximumSize(10000) + .build(); + @Override public void registerListeners() { BukkitPlugin.pluginInstance.getServer().getPluginManager() @@ -75,6 +85,18 @@ public class BukkitListener extends VPNExecutor implements Listener { || AntiVPN.getInstance().getVpnConfig().getPrefixWhitelists().stream() .anyMatch(prefix -> event.getPlayer().getName().startsWith(prefix))) return; + + if(responseCache.asMap().containsKey(event.getPlayer().getUniqueId())) { + VPNResponse cached = responseCache.getIfPresent(event.getPlayer().getUniqueId()); + + if (cached != null && cached.isProxy()) { + event.setResult(PlayerLoginEvent.Result.KICK_BANNED); + event.setKickMessage(org.bukkit.ChatColor.translateAlternateColorCodes('&', + AntiVPN.getInstance().getVpnConfig().getKickString())); + return; + } + } + final Player player = event.getPlayer(); checkIp(event.getAddress().getHostAddress(), AntiVPN.getInstance().getVpnConfig().cachedResults(), result -> { diff --git a/Bungee/dependency-reduced-pom.xml b/Bungee/dependency-reduced-pom.xml index b0ee7b9..3c8512d 100644 --- a/Bungee/dependency-reduced-pom.xml +++ b/Bungee/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3.1 + 1.8.4 4.0.0 Bungee @@ -41,6 +41,14 @@ org.bstats dev.brighten.antivpn.bungee.org.bstats + + org.yaml.snakeyaml + dev.brighten.antivpn.shaded.org.yaml.snakeyaml + + + com.google + dev.brighten.antivpn.shaded.com.google + @@ -50,13 +58,17 @@ dev.brighten.antivpn Common - 1.8.3.1 + 1.8.4 provided snakeyaml org.yaml + + guava + com.google.guava + diff --git a/Bungee/pom.xml b/Bungee/pom.xml index 9534a17..2edad4b 100644 --- a/Bungee/pom.xml +++ b/Bungee/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3.1 + 1.8.4 4.0.0 @@ -34,6 +34,14 @@ dev.brighten.antivpn.bungee.org.bstats + + org.yaml.snakeyaml + dev.brighten.antivpn.shaded.org.yaml.snakeyaml + + + com.google + dev.brighten.antivpn.shaded.com.google + @@ -63,7 +71,7 @@ dev.brighten.antivpn Common - 1.8.3.1 + 1.8.4 provided diff --git a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java b/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java index 4f05cc9..99520bf 100644 --- a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java +++ b/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java @@ -1,17 +1,22 @@ package dev.brighten.antivpn.bungee; +import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; import dev.brighten.antivpn.AntiVPN; import dev.brighten.antivpn.api.APIPlayer; import dev.brighten.antivpn.api.VPNExecutor; +import dev.brighten.antivpn.web.objects.VPNResponse; import net.md_5.bungee.BungeeCord; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.event.PlayerDisconnectEvent; import net.md_5.bungee.api.event.PostLoginEvent; +import net.md_5.bungee.api.event.PreLoginEvent; import net.md_5.bungee.api.plugin.Listener; import net.md_5.bungee.api.scheduler.ScheduledTask; import net.md_5.bungee.event.EventHandler; +import java.util.UUID; import java.util.concurrent.TimeUnit; import java.util.logging.Level; @@ -19,6 +24,11 @@ public class BungeeListener extends VPNExecutor implements Listener { private ScheduledTask cacheResetTask; + private final Cache responseCache = CacheBuilder.newBuilder() + .expireAfterWrite(5, TimeUnit.MINUTES) + .maximumSize(10000) + .build(); + @Override public void registerListeners() { BungeePlugin.pluginInstance.getProxy().getPluginManager() @@ -46,6 +56,21 @@ public class BungeeListener extends VPNExecutor implements Listener { BungeeCord.getInstance().getLogger().log(Level.INFO, String.format(log, objects)); } + @EventHandler + public void onListener(final PreLoginEvent event) { + if(!responseCache.asMap().containsKey(event.getConnection().getUniqueId())) return; + + VPNResponse cached = responseCache.getIfPresent(event.getConnection().getUniqueId()); + + if(cached != null && cached.isProxy()) { + event.setCancelled(true); + event.setCancelReason(TextComponent.fromLegacyText(ChatColor + .translateAlternateColorCodes('&', + AntiVPN.getInstance().getVpnConfig().getKickString()))); + System.out.println("Cancelled because of cache"); + } + } + @EventHandler public void onListener(final PostLoginEvent event) { if(event.getPlayer().hasPermission("antivpn.bypass") //Has bypass permission @@ -70,6 +95,8 @@ public class BungeeListener extends VPNExecutor implements Listener { return; } + responseCache.put(event.getPlayer().getUniqueId(), result); + if(AntiVPN.getInstance().getVpnConfig().countryList().size() > 0 // This bit of code will decide whether or not to kick the player // If it contains the code and it is set to whitelist, it will not kick as they are equal diff --git a/Common/pom.xml b/Common/pom.xml index c147c0f..64ef932 100644 --- a/Common/pom.xml +++ b/Common/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3.1 + 1.8.4 4.0.0 @@ -45,6 +45,10 @@ org.yaml.snakeyaml dev.brighten.antivpn.shaded.org.yaml.snakeyaml + + com.google + dev.brighten.antivpn.shaded.com.google + @@ -86,6 +90,11 @@ 1.30 compile + + com.google.guava + guava + 31.1-jre + org.mongodb mongo-java-driver diff --git a/Sponge/pom.xml b/Sponge/pom.xml index d331c9a..36e6545 100644 --- a/Sponge/pom.xml +++ b/Sponge/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3.1 + 1.8.4 4.0.0 diff --git a/Velocity/pom.xml b/Velocity/pom.xml index 64ea3c0..1c73c52 100644 --- a/Velocity/pom.xml +++ b/Velocity/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.3.1 + 1.8.4 4.0.0 @@ -33,7 +33,7 @@ dev.brighten.antivpn Common - 1.8.3.1 + 1.8.4 provided @@ -67,6 +67,14 @@ dev.brighten.antivpn.velocity.org.bstats + + org.yaml.snakeyaml + dev.brighten.antivpn.shaded.org.yaml.snakeyaml + + + com.google + dev.brighten.antivpn.shaded.com.google + diff --git a/Velocity/src/main/java/dev/brighten/antivpn/velocity/VelocityListener.java b/Velocity/src/main/java/dev/brighten/antivpn/velocity/VelocityListener.java index eb76e25..632f75e 100644 --- a/Velocity/src/main/java/dev/brighten/antivpn/velocity/VelocityListener.java +++ b/Velocity/src/main/java/dev/brighten/antivpn/velocity/VelocityListener.java @@ -1,5 +1,8 @@ package dev.brighten.antivpn.velocity; +import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; +import com.velocitypowered.api.event.ResultedEvent; import com.velocitypowered.api.event.connection.DisconnectEvent; import com.velocitypowered.api.event.connection.LoginEvent; import com.velocitypowered.api.scheduler.ScheduledTask; @@ -7,14 +10,21 @@ import dev.brighten.antivpn.AntiVPN; import dev.brighten.antivpn.api.APIPlayer; import dev.brighten.antivpn.api.VPNExecutor; import dev.brighten.antivpn.velocity.util.StringUtils; +import dev.brighten.antivpn.web.objects.VPNResponse; import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; +import java.util.UUID; import java.util.concurrent.TimeUnit; import java.util.logging.Level; public class VelocityListener extends VPNExecutor { private ScheduledTask cacheResetTask; + private final Cache responseCache = CacheBuilder.newBuilder() + .expireAfterWrite(5, TimeUnit.MINUTES) + .maximumSize(10000) + .build(); + @Override public void registerListeners() { @@ -36,6 +46,18 @@ public class VelocityListener extends VPNExecutor { || AntiVPN.getInstance().getVpnConfig().getPrefixWhitelists().stream() .anyMatch(prefix -> event.getPlayer().getUsername().startsWith(prefix))) return; + if(responseCache.asMap().containsKey(event.getPlayer().getUniqueId())) { + VPNResponse cached = responseCache.getIfPresent(event.getPlayer().getUniqueId()); + + if (cached != null && cached.isProxy()) { + event.setResult(ResultedEvent.ComponentResult.denied(LegacyComponentSerializer.builder() + .character('&') + .build().deserialize(AntiVPN.getInstance().getVpnConfig() + .getKickString()))); + return; + } + } + checkIp(event.getPlayer().getRemoteAddress().getAddress().getHostAddress(), AntiVPN.getInstance().getVpnConfig().cachedResults(), result -> { if (result.isSuccess()) { diff --git a/pom.xml b/pom.xml index f72b7a3..e1343a6 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ dev.brighten.antivpn AntiVPN pom - 1.8.3.1 + 1.8.4 Common From 1606ad192e4c7b6b8368cc54709b41e54cc2d049 Mon Sep 17 00:00:00 2001 From: Dawson <30784509+funkemunky@users.noreply.github.com> Date: Thu, 25 May 2023 10:24:42 -0400 Subject: [PATCH 07/26] Working on spongepowered version of plugin --- Sponge/pom.xml | 6 ++++ .../brighten/antivpn/sponge/SpongePlayer.java | 31 +++++++++++++++++++ .../antivpn/sponge/SpongePlayerExecutor.java | 31 +++++++++++++++++++ .../brighten/antivpn/sponge/SpongePlugin.java | 24 ++++++++++++++ .../antivpn/sponge/util/StringUtil.java | 17 ++++++++++ 5 files changed, 109 insertions(+) create mode 100644 Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlayer.java create mode 100644 Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlayerExecutor.java create mode 100644 Sponge/src/main/java/dev/brighten/antivpn/sponge/util/StringUtil.java diff --git a/Sponge/pom.xml b/Sponge/pom.xml index 36e6545..b64efd8 100644 --- a/Sponge/pom.xml +++ b/Sponge/pom.xml @@ -25,6 +25,12 @@ 8.1.0 provided + + dev.brighten.antivpn + Common + 1.8.4 + provided + diff --git a/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlayer.java b/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlayer.java new file mode 100644 index 0000000..9f85223 --- /dev/null +++ b/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlayer.java @@ -0,0 +1,31 @@ +package dev.brighten.antivpn.sponge; + +import dev.brighten.antivpn.api.APIPlayer; +import dev.brighten.antivpn.sponge.util.StringUtil; +import net.kyori.adventure.text.Component; +import org.spongepowered.api.entity.living.player.server.ServerPlayer; + +public class SpongePlayer extends APIPlayer { + + private final ServerPlayer player; + + public SpongePlayer(ServerPlayer player) { + super(player.uniqueId(), player.name(), player.connection().address().getAddress()); + this.player = player; + } + + @Override + public void sendMessage(String message) { + player.sendMessage(StringUtil.translateColorCodes('&', message); + } + + @Override + public void kickPlayer(String reason) { + player.kick(Component.text(StringUtil.translateColorCodes('&', reason))); + } + + @Override + public boolean hasPermission(String permission) { + return player.hasPermission(permission); + } +} diff --git a/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlayerExecutor.java b/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlayerExecutor.java new file mode 100644 index 0000000..414d7b3 --- /dev/null +++ b/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlayerExecutor.java @@ -0,0 +1,31 @@ +package dev.brighten.antivpn.sponge; + +import dev.brighten.antivpn.api.APIPlayer; +import dev.brighten.antivpn.api.PlayerExecutor; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public class SpongePlayerExecutor implements PlayerExecutor { + @Override + public Optional getPlayer(String name) { + + return Optional.empty(); + } + + @Override + public Optional getPlayer(UUID uuid) { + return Optional.empty(); + } + + @Override + public void unloadPlayer(UUID uuid) { + + } + + @Override + public List getOnlinePlayers() { + return null; + } +} diff --git a/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlugin.java b/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlugin.java index 7192463..39d9c50 100644 --- a/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlugin.java +++ b/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlugin.java @@ -1,4 +1,28 @@ package dev.brighten.antivpn.sponge; +import com.google.inject.Inject; +import org.spongepowered.api.Server; +import org.spongepowered.api.event.Listener; +import org.spongepowered.api.event.lifecycle.StartedEngineEvent; +import org.spongepowered.plugin.builtin.jvm.Plugin; + +import java.util.logging.Logger; + +@Plugin("kaurivpn") public class SpongePlugin { + + public static SpongePlugin INSTANCE; + //Plugin init + + @Inject + private Logger logger; + + @Listener + public void onServerStart(final StartedEngineEvent event) { + INSTANCE = this; + + logger.info("Starting AntiVPN services..."); + //Start AntiVPN + } + } diff --git a/Sponge/src/main/java/dev/brighten/antivpn/sponge/util/StringUtil.java b/Sponge/src/main/java/dev/brighten/antivpn/sponge/util/StringUtil.java new file mode 100644 index 0000000..22d1a5a --- /dev/null +++ b/Sponge/src/main/java/dev/brighten/antivpn/sponge/util/StringUtil.java @@ -0,0 +1,17 @@ +package dev.brighten.antivpn.sponge.util; + +public class StringUtil { + + public static String translateColorCodes(char altColorChar, String textToTranslate) { + char[] b = textToTranslate.toCharArray(); + + for(int i = 0; i < b.length - 1; ++i) { + if (b[i] == altColorChar && "0123456789AaBbCcDdEeFfKkLlMmNnOoRr".indexOf(b[i + 1]) > -1) { + b[i] = 167; + b[i + 1] = Character.toLowerCase(b[i + 1]); + } + } + + return new String(b); + } +} From 4f1e3848defc17bd0c3da1fb72a6a51e8909469f Mon Sep 17 00:00:00 2001 From: Alex <40795980+AlexProgrammerDE@users.noreply.github.com> Date: Tue, 4 Jul 2023 17:30:39 +0200 Subject: [PATCH 08/26] Remove unused import --- Common/src/main/java/dev/brighten/antivpn/utils/Suppliers.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/Common/src/main/java/dev/brighten/antivpn/utils/Suppliers.java b/Common/src/main/java/dev/brighten/antivpn/utils/Suppliers.java index 85d3a0b..44e735c 100644 --- a/Common/src/main/java/dev/brighten/antivpn/utils/Suppliers.java +++ b/Common/src/main/java/dev/brighten/antivpn/utils/Suppliers.java @@ -24,8 +24,6 @@ import static dev.brighten.antivpn.utils.Preconditions.checkNotNull; import static dev.brighten.antivpn.utils.NullnessCasts.uncheckedCastNullableTToT; import static java.util.Objects.requireNonNull; -import jdk.tools.jlink.internal.Platform; - /** * Useful suppliers. * From c54e90dca1d0c8d711dc4ef1a93ac4266c2ea04e Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Thu, 6 Jul 2023 20:13:47 -0400 Subject: [PATCH 09/26] Removing usages of System.out.print --- .../antivpn/bukkit/BukkitListener.java | 19 ++++++++++++------- .../antivpn/bungee/BungeeListener.java | 11 +++++++++-- .../dev/brighten/antivpn/api/VPNExecutor.java | 3 +++ .../antivpn/message/MessageHandler.java | 2 +- .../brighten/antivpn/sponge/SpongePlayer.java | 2 +- .../antivpn/velocity/VelocityListener.java | 7 ++++++- 6 files changed, 32 insertions(+), 12 deletions(-) diff --git a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java index ace877e..9d30b9d 100644 --- a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java +++ b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java @@ -39,11 +39,12 @@ public class BukkitListener extends VPNExecutor implements Listener { @Override public void runCacheReset() { + // Reset cache every 20 minutes cacheResetTask = new BukkitRunnable() { public void run() { resetCache(); } - }.runTaskTimerAsynchronously(BukkitPlugin.pluginInstance, 24000, 24000); //Reset cache every 20 minutes + }.runTaskTimerAsynchronously(BukkitPlugin.pluginInstance, 24000, 24000); HandlerList.unregisterAll(this); threadExecutor.shutdown(); @@ -54,9 +55,14 @@ public class BukkitListener extends VPNExecutor implements Listener { if(cacheResetTask != null && !cacheResetTask.isCancelled()) cacheResetTask.cancel(); } + @Override + public void log(Level level, String log, Object... objects) { + Bukkit.getLogger().log(level, String.format(log, objects)); + } + @Override public void log(String log, Object... objects) { - Bukkit.getLogger().log(Level.INFO, String.format(log, objects)); + log(Level.INFO, String.format(log, objects)); } @EventHandler @@ -106,7 +112,7 @@ public class BukkitListener extends VPNExecutor implements Listener { public void run() { //If the player is whitelisted, we don't want to kick them if(AntiVPN.getInstance().getExecutor().isWhitelisted(event.getPlayer().getUniqueId())) { - AntiVPN.getInstance().getExecutor().log("UUID is whitelisted: %s", + log("UUID is whitelisted: %s", event.getPlayer().getUniqueId().toString()); return; } @@ -114,7 +120,7 @@ public class BukkitListener extends VPNExecutor implements Listener { //If the IP is whitelisted, we don't want to kick them if(AntiVPN.getInstance().getExecutor().isWhitelisted(event.getPlayer().getAddress().getAddress() .getHostAddress())) { - AntiVPN.getInstance().getExecutor().log("IP is whitelisted: %s", + log("IP is whitelisted: %s", event.getPlayer().getAddress().getAddress().getHostAddress()); return; } @@ -154,7 +160,7 @@ public class BukkitListener extends VPNExecutor implements Listener { if(AntiVPN.getInstance().getVpnConfig().kickPlayersOnDetect()) player.kickPlayer(org.bukkit.ChatColor.translateAlternateColorCodes('&', AntiVPN.getInstance().getVpnConfig().getKickString())); - Bukkit.getLogger().info(event.getPlayer().getName() + log(Level.INFO, event.getPlayer().getName() + " joined on a VPN/Proxy (" + result.getMethod() + ")"); //Ensuring the user wishes to alert to staff @@ -181,8 +187,7 @@ public class BukkitListener extends VPNExecutor implements Listener { } }.runTask(BukkitPlugin.pluginInstance); } else { - Bukkit.getLogger() - .log(Level.WARNING, + log(Level.WARNING, "The API query was not a success! " + "You may need to upgrade your license on https://funkemunky.cc/shop"); } diff --git a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java b/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java index 99520bf..24aab5d 100644 --- a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java +++ b/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java @@ -52,10 +52,15 @@ public class BungeeListener extends VPNExecutor implements Listener { } @Override - public void log(String log, Object... objects) { + public void log(Level level, String log, Object... objects) { BungeeCord.getInstance().getLogger().log(Level.INFO, String.format(log, objects)); } + @Override + public void log(String log, Object... objects) { + log(Level.INFO, String.format(log, objects)); + } + @EventHandler public void onListener(final PreLoginEvent event) { if(!responseCache.asMap().containsKey(event.getConnection().getUniqueId())) return; @@ -67,7 +72,9 @@ public class BungeeListener extends VPNExecutor implements Listener { event.setCancelReason(TextComponent.fromLegacyText(ChatColor .translateAlternateColorCodes('&', AntiVPN.getInstance().getVpnConfig().getKickString()))); - System.out.println("Cancelled because of cache"); + AntiVPN.getInstance().getExecutor().log(Level.INFO, + "%s was kicked from pre-login proxy cache.", + event.getConnection().getName()); } } diff --git a/Common/src/main/java/dev/brighten/antivpn/api/VPNExecutor.java b/Common/src/main/java/dev/brighten/antivpn/api/VPNExecutor.java index a1c9a82..8a9cbfc 100644 --- a/Common/src/main/java/dev/brighten/antivpn/api/VPNExecutor.java +++ b/Common/src/main/java/dev/brighten/antivpn/api/VPNExecutor.java @@ -12,6 +12,7 @@ import java.util.*; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.function.Consumer; +import java.util.logging.Level; public abstract class VPNExecutor { public static ExecutorService threadExecutor = Executors.newSingleThreadExecutor(); @@ -32,6 +33,8 @@ public abstract class VPNExecutor { public abstract void shutdown(); + public abstract void log(Level level, String log, Object... objects); + public abstract void log(String log, Object... objects); public boolean isWhitelisted(UUID uuid) { diff --git a/Common/src/main/java/dev/brighten/antivpn/message/MessageHandler.java b/Common/src/main/java/dev/brighten/antivpn/message/MessageHandler.java index b3e2a87..7649a36 100644 --- a/Common/src/main/java/dev/brighten/antivpn/message/MessageHandler.java +++ b/Common/src/main/java/dev/brighten/antivpn/message/MessageHandler.java @@ -30,7 +30,7 @@ public class MessageHandler { public void addString(VpnString string, Function getter) { string.setConfigStringGetter(getter); getter.apply(string); - System.out.println("Added string " + string.getKey()); + AntiVPN.getInstance().getExecutor().log("Added string " + string.getKey()); messages.put(string.getKey(), string); } diff --git a/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlayer.java b/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlayer.java index 9f85223..9ce17f9 100644 --- a/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlayer.java +++ b/Sponge/src/main/java/dev/brighten/antivpn/sponge/SpongePlayer.java @@ -16,7 +16,7 @@ public class SpongePlayer extends APIPlayer { @Override public void sendMessage(String message) { - player.sendMessage(StringUtil.translateColorCodes('&', message); + //player.sendMessage(StringUtil.translateColorCodes('&', message)); } @Override diff --git a/Velocity/src/main/java/dev/brighten/antivpn/velocity/VelocityListener.java b/Velocity/src/main/java/dev/brighten/antivpn/velocity/VelocityListener.java index 632f75e..e11c2ac 100644 --- a/Velocity/src/main/java/dev/brighten/antivpn/velocity/VelocityListener.java +++ b/Velocity/src/main/java/dev/brighten/antivpn/velocity/VelocityListener.java @@ -170,8 +170,13 @@ public class VelocityListener extends VPNExecutor { VelocityPlugin.INSTANCE.getServer().getEventManager().unregisterListener(VelocityPlugin.INSTANCE, this); } + @Override + public void log(Level level, String log, Object... objects) { + VelocityPlugin.INSTANCE.getLogger().log(level, String.format(log, objects)); + } + @Override public void log(String log, Object... objects) { - VelocityPlugin.INSTANCE.getLogger().log(Level.INFO, String.format(log, objects)); + log(Level.INFO, String.format(log, objects)); } } From 4bda24f10c3be9fb7d5f2760d78972e18795496a Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Thu, 6 Jul 2023 20:26:02 -0400 Subject: [PATCH 10/26] Bump to 1.9.0 --- Assembly/dependency-reduced-pom.xml | 2 +- Assembly/pom.xml | 2 +- Bukkit/dependency-reduced-pom.xml | 4 ++-- Bukkit/pom.xml | 4 ++-- Bungee/dependency-reduced-pom.xml | 4 ++-- Bungee/pom.xml | 4 ++-- Common/pom.xml | 2 +- Sponge/pom.xml | 4 ++-- Velocity/pom.xml | 4 ++-- pom.xml | 2 +- 10 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Assembly/dependency-reduced-pom.xml b/Assembly/dependency-reduced-pom.xml index 3ab4d03..f3052fa 100644 --- a/Assembly/dependency-reduced-pom.xml +++ b/Assembly/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ AntiVPN dev.brighten.antivpn - 1.8.4 + 1.9.0 4.0.0 Assembly diff --git a/Assembly/pom.xml b/Assembly/pom.xml index 06393c9..6266213 100644 --- a/Assembly/pom.xml +++ b/Assembly/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.4 + 1.9.0 4.0.0 diff --git a/Bukkit/dependency-reduced-pom.xml b/Bukkit/dependency-reduced-pom.xml index 15afef9..41d9c48 100644 --- a/Bukkit/dependency-reduced-pom.xml +++ b/Bukkit/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ AntiVPN dev.brighten.antivpn - 1.8.4 + 1.9.0 4.0.0 Bukkit @@ -65,7 +65,7 @@ dev.brighten.antivpn Common - 1.8.4 + 1.9.0 provided diff --git a/Bukkit/pom.xml b/Bukkit/pom.xml index ddfe573..b770e5f 100644 --- a/Bukkit/pom.xml +++ b/Bukkit/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.4 + 1.9.0 4.0.0 @@ -78,7 +78,7 @@ dev.brighten.antivpn Common - 1.8.4 + 1.9.0 provided diff --git a/Bungee/dependency-reduced-pom.xml b/Bungee/dependency-reduced-pom.xml index 3c8512d..5ad30c2 100644 --- a/Bungee/dependency-reduced-pom.xml +++ b/Bungee/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ AntiVPN dev.brighten.antivpn - 1.8.4 + 1.9.0 4.0.0 Bungee @@ -58,7 +58,7 @@ dev.brighten.antivpn Common - 1.8.4 + 1.9.0 provided diff --git a/Bungee/pom.xml b/Bungee/pom.xml index 2edad4b..bc87f7f 100644 --- a/Bungee/pom.xml +++ b/Bungee/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.4 + 1.9.0 4.0.0 @@ -71,7 +71,7 @@ dev.brighten.antivpn Common - 1.8.4 + 1.9.0 provided diff --git a/Common/pom.xml b/Common/pom.xml index 64ef932..d611fc6 100644 --- a/Common/pom.xml +++ b/Common/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.4 + 1.9.0 4.0.0 diff --git a/Sponge/pom.xml b/Sponge/pom.xml index b64efd8..4707c51 100644 --- a/Sponge/pom.xml +++ b/Sponge/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.4 + 1.9.0 4.0.0 @@ -28,7 +28,7 @@ dev.brighten.antivpn Common - 1.8.4 + 1.9.0 provided diff --git a/Velocity/pom.xml b/Velocity/pom.xml index 1c73c52..09b794f 100644 --- a/Velocity/pom.xml +++ b/Velocity/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.8.4 + 1.9.0 4.0.0 @@ -33,7 +33,7 @@ dev.brighten.antivpn Common - 1.8.4 + 1.9.0 provided diff --git a/pom.xml b/pom.xml index e1343a6..bf81bbb 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ dev.brighten.antivpn AntiVPN pom - 1.8.4 + 1.9.0 Common From 96e48594d89419f7fd9bc7104243f0ab120a36ec Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Wed, 12 Jul 2023 08:45:39 -0400 Subject: [PATCH 11/26] Fixing velocity loading issues --- Assembly/dependency-reduced-pom.xml | 6 +++--- Assembly/pom.xml | 6 +++--- Bukkit/dependency-reduced-pom.xml | 8 ++++---- Bukkit/pom.xml | 8 ++++---- Bungee/dependency-reduced-pom.xml | 4 ++-- Bungee/pom.xml | 4 ++-- Common/pom.xml | 6 +++--- Sponge/pom.xml | 4 ++-- Velocity/pom.xml | 8 ++------ pom.xml | 2 +- 10 files changed, 26 insertions(+), 30 deletions(-) diff --git a/Assembly/dependency-reduced-pom.xml b/Assembly/dependency-reduced-pom.xml index f3052fa..5924f7c 100644 --- a/Assembly/dependency-reduced-pom.xml +++ b/Assembly/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ AntiVPN dev.brighten.antivpn - 1.9.0 + 1.9.1 4.0.0 Assembly @@ -25,8 +25,8 @@ dev.brighten.antivpn.shaded.org.yaml.snakeyaml - com.google - dev.brighten.antivpn.shaded.com.google + com.google.common + dev.brighten.antivpn.shaded.com.google.common diff --git a/Assembly/pom.xml b/Assembly/pom.xml index 6266213..c5ee306 100644 --- a/Assembly/pom.xml +++ b/Assembly/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.0 + 1.9.1 4.0.0 @@ -35,8 +35,8 @@ dev.brighten.antivpn.shaded.org.yaml.snakeyaml - com.google - dev.brighten.antivpn.shaded.com.google + com.google.common + dev.brighten.antivpn.shaded.com.google.common diff --git a/Bukkit/dependency-reduced-pom.xml b/Bukkit/dependency-reduced-pom.xml index 41d9c48..d81027d 100644 --- a/Bukkit/dependency-reduced-pom.xml +++ b/Bukkit/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ AntiVPN dev.brighten.antivpn - 1.9.0 + 1.9.1 4.0.0 Bukkit @@ -45,8 +45,8 @@ dev.brighten.antivpn.shaded.org.yaml.snakeyaml - com.google - dev.brighten.antivpn.shaded.com.google + com.google.common + dev.brighten.antivpn.shaded.com.google.common @@ -65,7 +65,7 @@ dev.brighten.antivpn Common - 1.9.0 + 1.9.1 provided diff --git a/Bukkit/pom.xml b/Bukkit/pom.xml index b770e5f..d172a1a 100644 --- a/Bukkit/pom.xml +++ b/Bukkit/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.0 + 1.9.1 4.0.0 @@ -46,8 +46,8 @@ dev.brighten.antivpn.shaded.org.yaml.snakeyaml - com.google - dev.brighten.antivpn.shaded.com.google + com.google.common + dev.brighten.antivpn.shaded.com.google.common @@ -78,7 +78,7 @@ dev.brighten.antivpn Common - 1.9.0 + 1.9.1 provided diff --git a/Bungee/dependency-reduced-pom.xml b/Bungee/dependency-reduced-pom.xml index 5ad30c2..98c91a2 100644 --- a/Bungee/dependency-reduced-pom.xml +++ b/Bungee/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ AntiVPN dev.brighten.antivpn - 1.9.0 + 1.9.1 4.0.0 Bungee @@ -58,7 +58,7 @@ dev.brighten.antivpn Common - 1.9.0 + 1.9.1 provided diff --git a/Bungee/pom.xml b/Bungee/pom.xml index bc87f7f..8671dbc 100644 --- a/Bungee/pom.xml +++ b/Bungee/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.0 + 1.9.1 4.0.0 @@ -71,7 +71,7 @@ dev.brighten.antivpn Common - 1.9.0 + 1.9.1 provided diff --git a/Common/pom.xml b/Common/pom.xml index d611fc6..9c39c7e 100644 --- a/Common/pom.xml +++ b/Common/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.0 + 1.9.1 4.0.0 @@ -46,8 +46,8 @@ dev.brighten.antivpn.shaded.org.yaml.snakeyaml - com.google - dev.brighten.antivpn.shaded.com.google + com.google.common + dev.brighten.antivpn.shaded.com.google.common diff --git a/Sponge/pom.xml b/Sponge/pom.xml index 4707c51..1b77342 100644 --- a/Sponge/pom.xml +++ b/Sponge/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.0 + 1.9.1 4.0.0 @@ -28,7 +28,7 @@ dev.brighten.antivpn Common - 1.9.0 + 1.9.1 provided diff --git a/Velocity/pom.xml b/Velocity/pom.xml index 09b794f..270bdf9 100644 --- a/Velocity/pom.xml +++ b/Velocity/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.0 + 1.9.1 4.0.0 @@ -33,7 +33,7 @@ dev.brighten.antivpn Common - 1.9.0 + 1.9.1 provided @@ -71,10 +71,6 @@ org.yaml.snakeyaml dev.brighten.antivpn.shaded.org.yaml.snakeyaml - - com.google - dev.brighten.antivpn.shaded.com.google - diff --git a/pom.xml b/pom.xml index bf81bbb..6bd4ae8 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ dev.brighten.antivpn AntiVPN pom - 1.9.0 + 1.9.1 Common From 3b2a463e585868970a98590150d8e658391a00ea Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Fri, 14 Jul 2023 13:17:47 +0200 Subject: [PATCH 12/26] Update PlanCommand.java --- .../java/dev/brighten/antivpn/command/impl/PlanCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/src/main/java/dev/brighten/antivpn/command/impl/PlanCommand.java b/Common/src/main/java/dev/brighten/antivpn/command/impl/PlanCommand.java index 5b193ab..cae2217 100644 --- a/Common/src/main/java/dev/brighten/antivpn/command/impl/PlanCommand.java +++ b/Common/src/main/java/dev/brighten/antivpn/command/impl/PlanCommand.java @@ -95,6 +95,6 @@ public class PlanCommand extends Command { @Override public List tabComplete(CommandExecutor executor, String alias, String[] args) { - return null; + return Collections.emptyList(); } } From cbc00b79e2c608c3e2a49e6f2d69fb6087d4630e Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Fri, 14 Jul 2023 13:31:36 +0200 Subject: [PATCH 13/26] Add command suggestion for empty args --- .../brighten/antivpn/velocity/command/VelocityCommand.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Velocity/src/main/java/dev/brighten/antivpn/velocity/command/VelocityCommand.java b/Velocity/src/main/java/dev/brighten/antivpn/velocity/command/VelocityCommand.java index e00a288..dc49c65 100644 --- a/Velocity/src/main/java/dev/brighten/antivpn/velocity/command/VelocityCommand.java +++ b/Velocity/src/main/java/dev/brighten/antivpn/velocity/command/VelocityCommand.java @@ -12,6 +12,7 @@ import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import java.util.Arrays; import java.util.List; import java.util.concurrent.CompletableFuture; +import java.util.stream.Collectors; import java.util.stream.IntStream; public class VelocityCommand implements SimpleCommand { @@ -78,7 +79,10 @@ public class VelocityCommand implements SimpleCommand { .mapToObj(i -> args[i + 1]).toArray(String[]::new)); } } + }else if (children.length > 0){ // && args.length == 0 is always true here + return Arrays.stream(children).map(Command::name).collect(Collectors.toList()); } + return command.tabComplete(new VelocityCommandExecutor(sender), "alias", args); } From dde81b04957e93ac53a7ef1c8ae355c0ad8e1bff Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Fri, 14 Jul 2023 13:35:50 +0200 Subject: [PATCH 14/26] Bump version --- Assembly/pom.xml | 2 +- Bukkit/pom.xml | 4 ++-- Bungee/pom.xml | 4 ++-- Common/pom.xml | 2 +- Sponge/pom.xml | 4 ++-- Velocity/pom.xml | 4 ++-- pom.xml | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Assembly/pom.xml b/Assembly/pom.xml index c5ee306..97be620 100644 --- a/Assembly/pom.xml +++ b/Assembly/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.1 + 1.9.2 4.0.0 diff --git a/Bukkit/pom.xml b/Bukkit/pom.xml index d172a1a..87ddad2 100644 --- a/Bukkit/pom.xml +++ b/Bukkit/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.1 + 1.9.2 4.0.0 @@ -78,7 +78,7 @@ dev.brighten.antivpn Common - 1.9.1 + 1.9.2 provided diff --git a/Bungee/pom.xml b/Bungee/pom.xml index 8671dbc..fb5f8bc 100644 --- a/Bungee/pom.xml +++ b/Bungee/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.1 + 1.9.2 4.0.0 @@ -71,7 +71,7 @@ dev.brighten.antivpn Common - 1.9.1 + 1.9.2 provided diff --git a/Common/pom.xml b/Common/pom.xml index 9c39c7e..bbe6346 100644 --- a/Common/pom.xml +++ b/Common/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.1 + 1.9.2 4.0.0 diff --git a/Sponge/pom.xml b/Sponge/pom.xml index 1b77342..4a784e5 100644 --- a/Sponge/pom.xml +++ b/Sponge/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.1 + 1.9.2 4.0.0 @@ -28,7 +28,7 @@ dev.brighten.antivpn Common - 1.9.1 + 1.9.2 provided diff --git a/Velocity/pom.xml b/Velocity/pom.xml index 270bdf9..940b04e 100644 --- a/Velocity/pom.xml +++ b/Velocity/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.1 + 1.9.2 4.0.0 @@ -33,7 +33,7 @@ dev.brighten.antivpn Common - 1.9.1 + 1.9.2 provided diff --git a/pom.xml b/pom.xml index 6bd4ae8..767cdde 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ dev.brighten.antivpn AntiVPN pom - 1.9.1 + 1.9.2 Common From be5eb4e953c95a7d7ee4eabed8f1a8acbac9a783 Mon Sep 17 00:00:00 2001 From: Alex Karezin Date: Mon, 31 Jul 2023 14:43:20 -0400 Subject: [PATCH 15/26] Update README.md by adding a link to repository map Adding a link to the high-level diagrams including module, library dependency and others (https://sourcespy.com/github/funkemunkyantivpn/). Built directly from source and updated on schedule. Intended to simplify developer's introduction to the project. In the spirit of transparency - I am the author of the diagrams. Hope contributors find it useful. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index a23cc0f..1bd91cc 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![Project Map](https://sourcespy.com/shield.svg)](https://sourcespy.com/github/funkemunkyantivpn/) + # AntiVPN An antivpn plugin utilizing the KauriVPN API From 464b02f416f6a6b661a5e44f9c8db88c00728905 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 18 Oct 2023 05:45:27 +0200 Subject: [PATCH 16/26] Fix PR #35 --- .../main/java/dev/brighten/antivpn/command/impl/PlanCommand.java | 1 + 1 file changed, 1 insertion(+) diff --git a/Common/src/main/java/dev/brighten/antivpn/command/impl/PlanCommand.java b/Common/src/main/java/dev/brighten/antivpn/command/impl/PlanCommand.java index cae2217..feef2ae 100644 --- a/Common/src/main/java/dev/brighten/antivpn/command/impl/PlanCommand.java +++ b/Common/src/main/java/dev/brighten/antivpn/command/impl/PlanCommand.java @@ -10,6 +10,7 @@ import dev.brighten.antivpn.web.FunkemunkyAPI; import dev.brighten.antivpn.web.objects.QueryResponse; import java.io.IOException; +import java.util.Collections; import java.util.List; public class PlanCommand extends Command { From 50e7059597cc068aa83b5be2585310be152ee12d Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 18 Oct 2023 05:57:22 +0200 Subject: [PATCH 17/26] Add null checks to ip check on login Supersedes: #41 Fixes: #39 --- .../antivpn/bukkit/BukkitListener.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java index 9d30b9d..0977dc7 100644 --- a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java +++ b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitListener.java @@ -19,6 +19,8 @@ import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitTask; +import java.net.InetAddress; +import java.net.InetSocketAddress; import java.util.UUID; import java.util.concurrent.TimeUnit; import java.util.logging.Level; @@ -116,13 +118,17 @@ public class BukkitListener extends VPNExecutor implements Listener { event.getPlayer().getUniqueId().toString()); return; } - - //If the IP is whitelisted, we don't want to kick them - if(AntiVPN.getInstance().getExecutor().isWhitelisted(event.getPlayer().getAddress().getAddress() - .getHostAddress())) { - log("IP is whitelisted: %s", - event.getPlayer().getAddress().getAddress().getHostAddress()); - return; + { + //If the IP is whitelisted, we don't want to kick them + InetSocketAddress address = event.getPlayer().getAddress(); + if (address != null){ + InetAddress address1 = address.getAddress(); + if (address1 != null && AntiVPN.getInstance().getExecutor().isWhitelisted(address1.getHostAddress())) { + log("IP is whitelisted: %s", + address1.getHostAddress()); + return; + } + } } // If the countryList() size is zero, no need to check. From 48c6dd63eebc4be365fb3779762c7d482dd3c61f Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Mon, 30 Oct 2023 09:48:04 -0400 Subject: [PATCH 18/26] Revert "Merge pull request #35 from C0D3-M4513R/patch-1" This reverts commit db1cdad4e1fa3f492f5f684a0b35cdd5d14c5056, reversing changes made to 9f665700885197cfa0ddded01f1ad05edd10505c. --- .../java/dev/brighten/antivpn/command/impl/PlanCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/src/main/java/dev/brighten/antivpn/command/impl/PlanCommand.java b/Common/src/main/java/dev/brighten/antivpn/command/impl/PlanCommand.java index cae2217..5b193ab 100644 --- a/Common/src/main/java/dev/brighten/antivpn/command/impl/PlanCommand.java +++ b/Common/src/main/java/dev/brighten/antivpn/command/impl/PlanCommand.java @@ -95,6 +95,6 @@ public class PlanCommand extends Command { @Override public List tabComplete(CommandExecutor executor, String alias, String[] args) { - return Collections.emptyList(); + return null; } } From 5e37d2c371f22983a5dba31014c160ad96c19ecd Mon Sep 17 00:00:00 2001 From: Dawson <30784509+funkemunky@users.noreply.github.com> Date: Mon, 30 Oct 2023 09:50:47 -0400 Subject: [PATCH 19/26] Updating to run on pull request --- .github/workflows/maven.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index b2b3197..1c6b302 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -1,6 +1,10 @@ on: push: branches: ["**"] + pull_request: + types: + - opened + - synchronize jobs: build: @@ -26,4 +30,4 @@ jobs: uses: actions/upload-artifact@v2 with: name: AntiVPN - path: Assembly/target/Assembly-*.jar \ No newline at end of file + path: Assembly/target/Assembly-*.jar From ca8fb24134355ab5cb053c6203896a36ed327021 Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Mon, 30 Oct 2023 09:54:58 -0400 Subject: [PATCH 20/26] Caching maven repos properly --- .github/workflows/maven.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 1c6b302..9584dff 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -20,8 +20,10 @@ jobs: - name: Cache Maven packages uses: actions/cache@v2 with: - path: ~/.m2 - key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + path: ~/.m2/repository # Cache the Maven repository + key: maven-${{ runner.os }}-${{ hashFiles('**/*.xml') }} + restore-keys: | + maven-${{ runner.os }}- - name: Compile run: mvn -B -Pclean install env: From d461b5945b5353ecad35e8b3635e0b51f322d5d7 Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Mon, 30 Oct 2023 09:59:50 -0400 Subject: [PATCH 21/26] Update maven.yml --- .github/workflows/maven.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index b2b3197..0ed0933 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -16,8 +16,8 @@ jobs: - name: Cache Maven packages uses: actions/cache@v2 with: - path: ~/.m2 - key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + path: ~/.m2/repository # Cache the Maven repository + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') - name: Compile run: mvn -B -Pclean install env: From dae9111a3466f7fa18867b8fdb654b40890b2484 Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Mon, 30 Oct 2023 10:01:50 -0400 Subject: [PATCH 22/26] Revert "Merge branch 'master' of https://github.com/funkemunky/AntiVPN" This reverts commit f4d6fc2b4bc9858a8b8ddca778d5fe456ffbd688, reversing changes made to d461b5945b5353ecad35e8b3635e0b51f322d5d7. --- .github/workflows/maven.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 4c948e5..0ed0933 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -1,10 +1,6 @@ on: push: branches: ["**"] - pull_request: - types: - - opened - - synchronize jobs: build: @@ -30,4 +26,4 @@ jobs: uses: actions/upload-artifact@v2 with: name: AntiVPN - path: Assembly/target/Assembly-*.jar + path: Assembly/target/Assembly-*.jar \ No newline at end of file From 6fe928ca14b42d94ccf9c0d2edaf22be100f88b2 Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Mon, 30 Oct 2023 10:02:02 -0400 Subject: [PATCH 23/26] Revert "Update maven.yml" This reverts commit d461b5945b5353ecad35e8b3635e0b51f322d5d7. --- .github/workflows/maven.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 0ed0933..b2b3197 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -16,8 +16,8 @@ jobs: - name: Cache Maven packages uses: actions/cache@v2 with: - path: ~/.m2/repository # Cache the Maven repository - key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') + path: ~/.m2 + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} - name: Compile run: mvn -B -Pclean install env: From 87cdd573830c2751b8a00c7bb900569dc4e57bf1 Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Mon, 30 Oct 2023 10:02:17 -0400 Subject: [PATCH 24/26] Revert "Revert "Update maven.yml"" This reverts commit 6fe928ca14b42d94ccf9c0d2edaf22be100f88b2. --- .github/workflows/maven.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index b2b3197..0ed0933 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -16,8 +16,8 @@ jobs: - name: Cache Maven packages uses: actions/cache@v2 with: - path: ~/.m2 - key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + path: ~/.m2/repository # Cache the Maven repository + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') - name: Compile run: mvn -B -Pclean install env: From 7974b2427180382a7916dceb275d16bac104ca23 Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Mon, 30 Oct 2023 10:02:30 -0400 Subject: [PATCH 25/26] Revert "Revert "Revert "Update maven.yml""" This reverts commit 87cdd573830c2751b8a00c7bb900569dc4e57bf1. --- .github/workflows/maven.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 0ed0933..b2b3197 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -16,8 +16,8 @@ jobs: - name: Cache Maven packages uses: actions/cache@v2 with: - path: ~/.m2/repository # Cache the Maven repository - key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') + path: ~/.m2 + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} - name: Compile run: mvn -B -Pclean install env: From 26cfc3e3f80e1b600a4844afecd11ea9c9cb5a27 Mon Sep 17 00:00:00 2001 From: Dawson Hessler Date: Mon, 30 Oct 2023 10:03:04 -0400 Subject: [PATCH 26/26] Update maven.yml --- .github/workflows/maven.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index b2b3197..b63af6a 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -1,6 +1,10 @@ on: push: branches: ["**"] + pull_request: + types: + - opened + - synchronize jobs: build: