diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index aa65518..0103c6b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,12 +12,12 @@ jobs: java: [ "17" ] steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ matrix.java }} distribution: "adopt" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 99a8e31..e8ebe34 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,12 +12,12 @@ jobs: if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Set up JDK 17 - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: 17 distribution: "adopt" @@ -52,7 +52,7 @@ jobs: - name: Get Git Changelog id: get_changelog - uses: thenilsdev/git-log-action@1.0.5 + uses: thenilsdev/git-log-action@v2.0.3 if: steps.release.outcome == 'success' && steps.release.conclusion == 'success' - name: Build with Maven @@ -74,7 +74,7 @@ jobs: # continue-on-error: true - name: Create Release - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v3 id: create_release with: tag_name: ${{ steps.current_tag.outputs.tag }} diff --git a/bukkit/pom.xml b/bukkit/pom.xml index fc6fada..a06921f 100644 --- a/bukkit/pom.xml +++ b/bukkit/pom.xml @@ -48,7 +48,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.6.0 + 3.6.2 diff --git a/bungee/pom.xml b/bungee/pom.xml index 161c42b..a39b6f0 100644 --- a/bungee/pom.xml +++ b/bungee/pom.xml @@ -14,18 +14,11 @@ NetworkFilterBungee - - - bungeecord-repo - https://oss.sonatype.org/content/repositories/snapshots - - - net.md-5 bungeecord-api - 1.21-R0.1-SNAPSHOT + 1.21-R0.4 provided @@ -48,7 +41,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.6.0 + 3.6.2 diff --git a/common/pom.xml b/common/pom.xml index 7004c09..c3d69f9 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -18,45 +18,51 @@ com.fasterxml.jackson.core jackson-databind - 2.18.0 + 2.21.2 com.fasterxml.jackson.dataformat jackson-dataformat-yaml - 2.18.0 + 2.21.2 jakarta.validation jakarta.validation-api - 3.1.0 + 3.1.1 commons-net commons-net - 3.11.1 + 3.13.0 com.konghq unirest-java-core - 4.4.4 + 4.8.1 com.konghq unirest-modules-gson - 4.4.4 + 4.8.1 + + + + org.jspecify + jspecify + 1.0.0 com.github.ben-manes.caffeine caffeine - 3.1.8 + 3.2.3 redis.clients jedis - 5.2.0 + 7.4.1 diff --git a/common/src/main/java/ls/ni/networkfilter/common/NetworkFilterResult.java b/common/src/main/java/ls/ni/networkfilter/common/NetworkFilterResult.java index 0d0878f..8343062 100644 --- a/common/src/main/java/ls/ni/networkfilter/common/NetworkFilterResult.java +++ b/common/src/main/java/ls/ni/networkfilter/common/NetworkFilterResult.java @@ -1,6 +1,6 @@ package ls.ni.networkfilter.common; -import org.checkerframework.checker.nullness.qual.Nullable; +import org.jspecify.annotations.Nullable; import org.jetbrains.annotations.NotNull; /** diff --git a/common/src/main/java/ls/ni/networkfilter/common/cache/Cache.java b/common/src/main/java/ls/ni/networkfilter/common/cache/Cache.java index d0adc2e..832a1bf 100644 --- a/common/src/main/java/ls/ni/networkfilter/common/cache/Cache.java +++ b/common/src/main/java/ls/ni/networkfilter/common/cache/Cache.java @@ -1,7 +1,7 @@ package ls.ni.networkfilter.common.cache; import ls.ni.networkfilter.common.filter.FilterResult; -import org.checkerframework.checker.nullness.qual.Nullable; +import org.jspecify.annotations.Nullable; import org.jetbrains.annotations.NotNull; import java.util.function.Function; diff --git a/common/src/main/java/ls/ni/networkfilter/common/cache/types/CaffeineCache.java b/common/src/main/java/ls/ni/networkfilter/common/cache/types/CaffeineCache.java index 4ba0932..65b50b4 100644 --- a/common/src/main/java/ls/ni/networkfilter/common/cache/types/CaffeineCache.java +++ b/common/src/main/java/ls/ni/networkfilter/common/cache/types/CaffeineCache.java @@ -3,7 +3,7 @@ import com.github.benmanes.caffeine.cache.Caffeine; import ls.ni.networkfilter.common.cache.Cache; import ls.ni.networkfilter.common.filter.FilterResult; -import org.checkerframework.checker.nullness.qual.Nullable; +import org.jspecify.annotations.Nullable; import org.jetbrains.annotations.NotNull; import java.time.Duration; diff --git a/common/src/main/java/ls/ni/networkfilter/common/cache/types/RedisCache.java b/common/src/main/java/ls/ni/networkfilter/common/cache/types/RedisCache.java index 532c6bb..9c189f2 100644 --- a/common/src/main/java/ls/ni/networkfilter/common/cache/types/RedisCache.java +++ b/common/src/main/java/ls/ni/networkfilter/common/cache/types/RedisCache.java @@ -3,7 +3,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import ls.ni.networkfilter.common.cache.Cache; import ls.ni.networkfilter.common.filter.FilterResult; -import org.checkerframework.checker.nullness.qual.Nullable; +import org.jspecify.annotations.Nullable; import org.jetbrains.annotations.NotNull; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; diff --git a/common/src/main/java/ls/ni/networkfilter/common/config/service/types/NetworkFilterServiceSettings.java b/common/src/main/java/ls/ni/networkfilter/common/config/service/types/NetworkFilterServiceSettings.java index fbf79b8..7cea6ad 100644 --- a/common/src/main/java/ls/ni/networkfilter/common/config/service/types/NetworkFilterServiceSettings.java +++ b/common/src/main/java/ls/ni/networkfilter/common/config/service/types/NetworkFilterServiceSettings.java @@ -1,15 +1,15 @@ package ls.ni.networkfilter.common.config.service.types; -import jakarta.validation.constraints.NotNull; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +import org.jetbrains.annotations.Nullable; @Data @NoArgsConstructor @AllArgsConstructor public class NetworkFilterServiceSettings { - @NotNull + @Nullable private String key; } diff --git a/common/src/main/java/ls/ni/networkfilter/common/filter/types/NetworkFilterFilterService.java b/common/src/main/java/ls/ni/networkfilter/common/filter/types/NetworkFilterFilterService.java index 25bff83..023b271 100644 --- a/common/src/main/java/ls/ni/networkfilter/common/filter/types/NetworkFilterFilterService.java +++ b/common/src/main/java/ls/ni/networkfilter/common/filter/types/NetworkFilterFilterService.java @@ -1,6 +1,6 @@ package ls.ni.networkfilter.common.filter.types; -import jakarta.validation.constraints.NotBlank; +import kong.unirest.core.HttpRequestWithBody; import kong.unirest.core.HttpResponse; import kong.unirest.core.JsonNode; import kong.unirest.core.Unirest; @@ -10,17 +10,18 @@ import ls.ni.networkfilter.common.filter.FilterResult; import ls.ni.networkfilter.common.filter.FilterService; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.List; import java.util.Optional; public class NetworkFilterFilterService implements FilterService { - @NotNull + @Nullable private final String apiKey; - public NetworkFilterFilterService(@NotNull @NotBlank String apiKey) { - this.apiKey = apiKey; + public NetworkFilterFilterService(@Nullable String apiKey) { + this.apiKey = apiKey != null && !apiKey.isBlank() ? apiKey : null; } @Override @@ -30,9 +31,14 @@ public NetworkFilterFilterService(@NotNull @NotBlank String apiKey) { @Override public @NotNull FilterResult check(@NotNull String ip) { - HttpResponse response = Unirest.post("https://nf.ni.ls/api/check") - .header("X-API-KEY", this.apiKey) - .header("Content-Type", "application/x-www-form-urlencoded") + HttpRequestWithBody request = Unirest.post("https://nf.ni.ls/api/check") + .header("Content-Type", "application/x-www-form-urlencoded"); + + if (this.apiKey != null) { + request.header("X-API-KEY", this.apiKey); + } + + HttpResponse response = request .field("ip", ip) .asJson(); diff --git a/common/src/main/resources/config.yml b/common/src/main/resources/config.yml index 5d780c3..761c1cb 100644 --- a/common/src/main/resources/config.yml +++ b/common/src/main/resources/config.yml @@ -20,7 +20,7 @@ caches: services: # https://nf.ni.ls networkfilter: - # Required + # Optional, needed if rate-limited key: "" # https://ipapi.is diff --git a/pom.xml b/pom.xml index 72c0776..2c76afe 100644 --- a/pom.xml +++ b/pom.xml @@ -30,21 +30,21 @@ org.projectlombok lombok - 1.18.34 + 1.18.44 provided org.jetbrains annotations - 26.0.0 + 26.1.0 compile org.junit.jupiter junit-jupiter-api - 5.11.2 + 6.0.3 test @@ -58,7 +58,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.13.0 + 3.15.0 17 17 @@ -93,7 +93,7 @@ org.apache.maven.plugins maven-jar-plugin - 3.4.2 + 3.5.0 ${project.parent.basedir}/artifacts/ @@ -104,7 +104,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.6.0 + 3.6.2 package diff --git a/velocity/pom.xml b/velocity/pom.xml index b007142..a1f4e11 100644 --- a/velocity/pom.xml +++ b/velocity/pom.xml @@ -25,7 +25,7 @@ com.velocitypowered velocity-api - 3.3.0-SNAPSHOT + 3.4.0 provided @@ -56,7 +56,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.6.0 + 3.6.2