Distok CutTheCord: Modular Discord Android client mod
I wanted to commit this individually because the change is interesting. They moved isStaffOrTester from WidgetSettingsUserConnections$UserConnectionItem.smali to isStaff on StoreExperiments$ExperimentAndStaff.smali. I think this change makes a lot of sense and clears up the mess in the code. Good on you, discord. |
||
---|---|---|
patches | ||
.gitignore | ||
README.md |
cutthecord
Discord Android app patches.
Binaries
An F-Droid repo is available on https://fdroid.a3.pm/seabear/repo/.
You can add that to your phone and get updates easily or just download directly from there.
You will need to uninstall any and all existing Discord or CutTheCord applications from your phone before installing one, or else installation will fail.
Feel free to ignore play protect, it's bullshit.
Building
Toolchain setup
- Get apktool (due to a bug present on v2.3.4, I recommend using this build)
- Get a keystore, see here, step 1.
- If you want Mutant Standard emoji patches, get 72x72 copies of latest version of mutant standard emojis with codepoints. I have a zip here.
- Extract the emojis you got somewhere.
- Clone this repo somewhere, edit
emojireplace.py
and set theextracted_mutstd_path
folder to the folder you just extracted emojis to.
Building a patched discord app
- Get a Discord apk (cough apkmirror, aptoide API).
- Extract it with apktool (
apktool d <apk path>
) - Get all the necessary patches for that version. Necessary patches are not available for all versions and are only required to get some versions to pack together correctly.
- Get optional patches you want for your version. If the patch you want isn't available for your version, you'll have to port them yourself.
- Apply the patches (
patch -p1 < <patch name>
). - If you want mutant (or other emoji patches), edit
patches/mutant/emojireplace.py
to point to extracted discord folder (extracted_discord_path
), and apply emoji patches (python3 emojireplace.py
) - Build the new APK (
apktool b com.discord-832
) - Sign the new APK (
jarsigner -keystore <keystore path> <foldername>/dist/<foldername>.apk <alias>
) - Get your new APK from
<foldername>/dist/<foldername>.apk
, install and enjoy!
Building patches
diff -crB -x "dist" -x "res/raw" -x "build" CleanFolder PatchedFolder > patchname.patch
Disclaimer about emojos
This [thing] uses Mutant Standard emoji (https://mutant.tech), which are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (https://creativecommons.org/licenses/by-nc-sa/4.0/).