cutthecord/README.md

54 lines
3 KiB
Markdown
Raw Normal View History

2019-01-18 14:25:15 +00:00
# cutthecord
2019-01-18 16:46:27 +00:00
Discord Android app patches.
**Latest supported Discord Android version:** 8.5.3 (853), released on 2019-03-01.
2019-01-31 08:01:30 +00:00
New patch development will be done for the latest supported version.
2019-01-20 19:32:58 +00:00
## Binaries
2019-01-25 13:50:37 +00:00
An F-Droid repo is available on https://fdroid.a3.pm/seabear/repo/.
2019-01-18 14:51:40 +00:00
2019-01-25 13:50:37 +00:00
You can add that to your phone and get updates easily or just download directly from there.
2019-01-20 19:32:58 +00:00
2019-01-25 13:50:37 +00:00
**You will need to uninstall any and all existing Discord or CutTheCord applications from your phone before installing one, or else installation will fail.**
2019-01-20 19:32:58 +00:00
2019-01-25 13:50:37 +00:00
Feel free to ignore play protect, it's bullshit.
2019-01-21 09:36:56 +00:00
## Building
#### Toolchain setup
2019-01-18 14:51:40 +00:00
2019-02-14 23:05:52 +00:00
- Get apktool (due to [a bug](https://github.com/iBotPeaches/Apktool/issues/1909) present on apktool v2.3.4, I recommend using [this build](https://elixi.re/i/cq4r2zxg.jar))
2019-01-18 14:51:40 +00:00
- Get a keystore, see [here](https://stackoverflow.com/a/14994354/3286892), 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](https://mutant.lavatech.top/72x72.zip).
- Extract the emojis you got somewhere.
2019-01-19 21:22:48 +00:00
- Clone this repo somewhere, edit `emojireplace.py` and set the `extracted_mutstd_path` folder to the folder you just extracted emojis to.
2019-01-18 14:51:40 +00:00
2019-01-21 09:36:56 +00:00
#### Building a patched discord app
2019-01-18 14:51:40 +00:00
2019-01-19 21:26:27 +00:00
- Get a Discord apk (*cough* [apkmirror](https://www.apkmirror.com/apk/discord-inc/discord-chat-for-gamers/), [aptoide API](https://ws75.aptoide.com/api/7/app/getMeta?package_name=com.discord)).
- 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.
2019-01-18 16:04:55 +00:00
- 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`)
2019-01-18 14:51:40 +00:00
- 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!
2019-01-18 16:04:55 +00:00
2019-01-21 09:36:56 +00:00
#### Building patches
2019-01-18 16:04:55 +00:00
2019-01-31 08:01:30 +00:00
After extracting the APK, copy it to a folder that you won't modify (`cp -r com.discord-836 com.discord-836-base`), so that you can easily diff them.
2019-01-18 16:20:40 +00:00
2019-01-31 08:01:30 +00:00
To get the diff, run `diff -crB -x "dist" -x "res/raw" -x "build" CleanFolder PatchedFolder > patchname.patch`
2019-01-18 16:20:40 +00:00
#### Porting patches
You can use `patchport` to easily attempt to port patches.
It's not really intelligent and doesn't do much more than just checking if an existing patch can be applied to a given version (it also replaces relevant variables required for porting various patches), but it saves a lot of time if used carefully.
Example command: `python3 patchport.py 839 8.3.9g /home/ave/Downloads/dic/com.discord-841 /home/ave/Projects/cutthecord/`