Giter Site home page Giter Site logo

aliucordknifer / aliucord Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aliucord/aliucord

0.0 0.0 0.0 63.7 MB

Discord Android app mod inspired by desktop Discord client mods.

License: Open Software License 3.0

Java 63.60% Dart 7.12% Kotlin 28.76% Shell 0.53%

aliucord's Introduction

Aliucord

Discord

GitHub Repo stars GitHub forks License

Aliucord is a modification for the Android Discord app inspired by desktop client modifications.

Unlike other Android Discord app modifications, you don't need to rebuild the APK when adding or removing plugins, because Aliucord hooks at runtime using the Pine java method hook framework.

⚠️ Important Information

Supported Architectures

  • arm
  • arm64

Pine does not support x86 or x86_64 architectures, and thus Aliucord does not either.

Supported Android version(s)

  • 7 (SDK 24) - 13 (SDK 33)

Supported Discord version(s)

  • 115.4 / Beta 115104 (You don't need the apk, the installer will download it for you)

🎨 Features

  • Rootless! Aliucord itself does not require a rooted device in order to use it
  • Robust plugin system using Pine!
    • Allows swapping in and out your plugins without needing to rebuild Aliucord
    • Toggle on and off, configure or uninstall your plugins via the plugins page
    • Minimum Discord versions for plugins so no breaking changes are sent out to outdated Discord versions
  • In-app updater to keep Aliucord and your plugins up-to-date
  • Blocks most Discord Tracking/Analytics (doesn't completely block all tracking, that's not really possible)
  • Crash logging!
    • In-app crash log page to give a more native feel
    • Logs are also saved to Aliucord/crashlogs for easy access outside of the app

📲 Installation

GitHub Workflow Status GitHub Workflow Status
  1. Download and install Installer-release.apk from latest release
  2. Open the newly installed "Aliucord Installer" app from your app drawer
  3. Click "Install", then choose the "Download" option
  4. Wait for it to finish patching the Discord APK
  5. Click "Install" once prompted by Android and wait for Aliucord to finish installing. If the installer just stops or the apk fails to install just try again and it should work
  6. If Google Play warns you about this application being unverified, ignore it. This happens because Aliucord is built & signed locally on your device so Play Protect doesn't recognise the signature¹
  7. Open Aliucord, grant access to files (it needs this for finding plugins), log in to your account, and voila! Aliucord is at your fingertips!

¹ If you'd like, you can disable this warning by turning off Play Protect in Google Play's settings, play protect is useless.

Play Protect can be turned off by tapping on your user icon in the top right of Google Play, tapping on "Play Protect," tapping on the cog icon in the top right, and finally toggling "Scan apps with Play Protect" to off. This may result in Google Play "nagging" you to re-enable it sometimes when sideloading apps.*

🔌 Plugin Installation

  1. Join our support server and visit the #plugins-list channel for a list of available plugins
  2. Hold down the message (NOT the link, the entire message) with the desired plugin and click "Open PluginDownloader"
  3. Find the desired plugin in the list and click install. It should immediately start working, however some plugins may require you to restart to make them fully work

⚠️ IF YOU CAME HERE FROM A YOUTUBE TUTORIAL:

  • PluginDownloader now comes preinstalled with Aliucord so you don't need to install it
  • If you were promised free nitro, you were clickbaited. The most that is possible is free emotes (sends emote image links instead)

🐛 Troubleshooting

  • Try closing and then reopening Aliucord
  • Double check that Aliucord has permission to access files
  • Reinstall Aliucord using the installer

...and if none of these work, please visit our support server and go to #support for help!

🧱 Building from source

See .github/workflows/build.yml for all build steps.

⏭️ Porting Aliucord to the latest Discord version

  1. Download the apk of the version you want to port to (#official-discord-updates in Aliucord server)
  2. Decompile it using Apktool
    • apktool d discord.apk (Replace discord.apk with whatever the file name is)
  3. Apply manifest.patch to the AndroidManifest.xml file (Using git bash or any shell on Linux or Macos run in the apktool decompile folder: patch < manifest.patch)
  4. IMPORTANT: set targetSDK to 29 in both apktool.yml and AndroidManifest.xml or Aliucord will fail to install
  5. Rebuild the Discord APK using Apktool
    • apktool b discord (Replace discord with the folder name)
  6. Copy build/apk/AndroidManifest.xml to .assets/AndroidManifest.xml and to Aliucord/AndroidManifest.xml on your Android device
  7. Repeat the same steps and this time add android:debuggable=true in the main category where there's also app name and icon, name this manifest AndroidManifest-debuggable.xml
  8. Change discord_version to the correct one in gradle.properties and resync gradle
  9. Fix any errors you encounter and deploy Aliucord to your device with ./gradlew Aliucord:deployWithAdb
  10. Open Aliucord > Settings > Updater > Top right settings > Use Aliucord.zip from storage and restart Aliucord
  11. Enjoy debugging if all hell breaks loose

Credits

  • Pine - Dynamic java method hook framework on ART
  • apktool - A tool for reverse engineering Android apk files
  • jadx - Dex to Java decompiler
  • dex2jar - Tools to work with android .dex and java .class files

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.