From cde3428a11f15aa18b2d0ab9d8f4e7883e5b773d Mon Sep 17 00:00:00 2001 From: Ushie Date: Thu, 21 May 2026 05:41:39 +0300 Subject: [PATCH 1/3] feat: Clienthax Co-authored-by: clienthax --- .../com/aliucord/gradle/repo/Authors.kt | 1 + plugins/NoUpsideDown/build.gradle.kts | 6 ++ .../noupsidedown/NoUpsideDown.java | 34 ++++++++++ plugins/TenorGifFix/build.gradle.kts | 6 ++ .../aliuplugins/tenorgif/TenorGifFix.java | 67 +++++++++++++++++++ 5 files changed, 114 insertions(+) create mode 100755 plugins/NoUpsideDown/build.gradle.kts create mode 100755 plugins/NoUpsideDown/src/main/java/uk/co/haxyshideout/aliuplugins/noupsidedown/NoUpsideDown.java create mode 100755 plugins/TenorGifFix/build.gradle.kts create mode 100755 plugins/TenorGifFix/src/main/java/uk/co/haxyshideout/aliuplugins/tenorgif/TenorGifFix.java diff --git a/build-logic/src/main/kotlin/com/aliucord/gradle/repo/Authors.kt b/build-logic/src/main/kotlin/com/aliucord/gradle/repo/Authors.kt index b8ed52b..ae6badd 100644 --- a/build-logic/src/main/kotlin/com/aliucord/gradle/repo/Authors.kt +++ b/build-logic/src/main/kotlin/com/aliucord/gradle/repo/Authors.kt @@ -56,6 +56,7 @@ object Authors { val Wing = Author("Wing", 298295889720770563L) val ArjixWasTaken = Author("ArjixWasTaken", 674710789138939916L) val PikachuGabe = Author("pikachugabe", 701095070870274139L) + val Clienthax = Author("Clienthax", 98355277182566400L) } /** diff --git a/plugins/NoUpsideDown/build.gradle.kts b/plugins/NoUpsideDown/build.gradle.kts new file mode 100755 index 0000000..175c5bf --- /dev/null +++ b/plugins/NoUpsideDown/build.gradle.kts @@ -0,0 +1,6 @@ +version = "1.0.1" +description = "Disable upside down screen rotation" + +aliucord { + author(Authors.Clienthax) +} diff --git a/plugins/NoUpsideDown/src/main/java/uk/co/haxyshideout/aliuplugins/noupsidedown/NoUpsideDown.java b/plugins/NoUpsideDown/src/main/java/uk/co/haxyshideout/aliuplugins/noupsidedown/NoUpsideDown.java new file mode 100755 index 0000000..a48bf73 --- /dev/null +++ b/plugins/NoUpsideDown/src/main/java/uk/co/haxyshideout/aliuplugins/noupsidedown/NoUpsideDown.java @@ -0,0 +1,34 @@ +package uk.co.haxyshideout.aliuplugins.noupsidedown; + +import android.content.Context; +import android.content.pm.ActivityInfo; +import android.os.Bundle; + +import com.aliucord.Utils; +import com.aliucord.annotations.AliucordPlugin; +import com.aliucord.entities.Plugin; +import com.aliucord.patcher.Hook; +import com.aliucord.patcher.PreHook; +import com.discord.app.AppActivity; + +@AliucordPlugin(requiresRestart = true) +public class NoUpsideDown extends Plugin { + + @Override + public void start(Context context) throws Throwable { + patcher.patch( + AppActivity.class.getDeclaredMethod("onCreate", Bundle.class), + new Hook(param -> { + AppActivity activity = (AppActivity) param.thisObject; + activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); + }) + ); + + } + + @Override + public void stop(Context context) { + patcher.unpatchAll(); + } + +} diff --git a/plugins/TenorGifFix/build.gradle.kts b/plugins/TenorGifFix/build.gradle.kts new file mode 100755 index 0000000..2401e5e --- /dev/null +++ b/plugins/TenorGifFix/build.gradle.kts @@ -0,0 +1,6 @@ +version = "1.0.0" +description = "Make gifs download from tenor instead of mp4s" + +aliucord { + author(Authors.Clienthax) +} diff --git a/plugins/TenorGifFix/src/main/java/uk/co/haxyshideout/aliuplugins/tenorgif/TenorGifFix.java b/plugins/TenorGifFix/src/main/java/uk/co/haxyshideout/aliuplugins/tenorgif/TenorGifFix.java new file mode 100755 index 0000000..bc97a8e --- /dev/null +++ b/plugins/TenorGifFix/src/main/java/uk/co/haxyshideout/aliuplugins/tenorgif/TenorGifFix.java @@ -0,0 +1,67 @@ +package uk.co.haxyshideout.aliuplugins.tenorgif; + +import android.content.Context; +import android.net.Uri; + +import com.aliucord.annotations.AliucordPlugin; +import com.aliucord.entities.Plugin; +import com.aliucord.patcher.PreHook; +import com.discord.utilities.io.NetworkUtils; + +import java.util.List; + +import kotlin.jvm.functions.Function1; + +@AliucordPlugin +public class TenorGifFix extends Plugin { + + @Override + public void start(Context context) throws Throwable { + + patcher.patch( + NetworkUtils.class.getDeclaredMethod("downloadFile", Context.class, Uri.class, String.class, String.class, Function1.class, Function1.class), + new PreHook(param -> { + Uri uri = (Uri) param.args[1]; + + if (!uri.getPath().contains(".tenor.com")) { + return; + } + + List pathSegments = uri.getPathSegments(); + int startSegment = 0; + for (int i = 0; i < pathSegments.size(); i++) { + if (pathSegments.get(i).contains(".tenor.com")) { + startSegment = i; + break; + } + } + + String hostname = pathSegments.get(startSegment); + String tenorID = pathSegments.get(startSegment+1); + String fileName = pathSegments.get(startSegment+2); + if (tenorID.endsWith("AC")) { + return; + } + + tenorID = tenorID.substring(0, tenorID.length()-2) + "AC"; + fileName = fileName.replace(".mp4", ".gif"); + String newUri = "https://"+hostname+"/"+tenorID+"/"+fileName; + try { + uri = Uri.parse(newUri); + } catch (Exception e) { + logger.error(e); + } + + param.args[1] = uri; + }) + ); + + } + + @Override + public void stop(Context context) { + patcher.unpatchAll(); + } + + +} From 6c6174767fef37d409013ae4112fd263e16caf0d Mon Sep 17 00:00:00 2001 From: Ushie Date: Thu, 21 May 2026 05:50:50 +0300 Subject: [PATCH 2/3] a --- plugins/NoUpsideDown/build.gradle.kts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugins/NoUpsideDown/build.gradle.kts b/plugins/NoUpsideDown/build.gradle.kts index 175c5bf..c49fb28 100755 --- a/plugins/NoUpsideDown/build.gradle.kts +++ b/plugins/NoUpsideDown/build.gradle.kts @@ -1,3 +1,10 @@ +import com.aliucord.gradle.repo.Authors +import com.aliucord.gradle.repo.author + +plugins { + id("com.aliucord.plugins-repo") +} + version = "1.0.1" description = "Disable upside down screen rotation" From cb52be5589e3b9e4666f5d7f933b2ecbbe7fabe7 Mon Sep 17 00:00:00 2001 From: Ushie Date: Thu, 21 May 2026 05:53:40 +0300 Subject: [PATCH 3/3] a --- plugins/TenorGifFix/build.gradle.kts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugins/TenorGifFix/build.gradle.kts b/plugins/TenorGifFix/build.gradle.kts index 2401e5e..5c5225d 100755 --- a/plugins/TenorGifFix/build.gradle.kts +++ b/plugins/TenorGifFix/build.gradle.kts @@ -1,3 +1,10 @@ +import com.aliucord.gradle.repo.Authors +import com.aliucord.gradle.repo.author + +plugins { + id("com.aliucord.plugins-repo") +} + version = "1.0.0" description = "Make gifs download from tenor instead of mp4s"