Files
twitter-patch/README.md
T

99 lines
2.7 KiB
Markdown

# X Patches
Patch bundle for X (Twitter), maintained by
[Stan Ponomarev](https://git.krtss.de/StanPonomarev).
<!-- PATCHES_START -->
> **[v1.2.0](https://git.krtss.de/StanPonomarev/twitter-patch/releases/tag/v1.2.0)**&nbsp;&nbsp;•&nbsp;&nbsp;`main`&nbsp;&nbsp;•&nbsp;&nbsp;3 patches total
<details open>
<summary>📦 X&nbsp;&nbsp;•&nbsp;&nbsp;3 patches</summary>
<br>
**🎯 Supported versions:**
| 12.7.1-release.0 |
| :---: |
| 💊&nbsp;Patch | 📜&nbsp;Description | ⚙️&nbsp;Options |
|----------|----------------|-----------|
| [Disable outdated version screen](#disable-outdated-version-screen) | Prevents X from blocking app access when it marks the client version as outdated. | |
| [Remove post age verification](#remove-post-age-verification) | Allows age-gated posts to be viewed without completing age verification. | |
| [Remove timeline Upgrade button](#remove-timeline-upgrade-button) | Removes the Premium Upgrade button from the timeline's top bar. | |
</details>
<!-- PATCHES_END -->
## Target
- Package: `com.twitter.android`
- Version: `12.7.1-release.0` (`312071000`)
- Input type: APKM
- Minimum Android API: 28
## Prerequisites
- Java 21
- The target `twitter.apkm` in the repository root for integration testing
- GitHub Packages credentials in `~/.gradle/gradle.properties`:
```properties
gpr.user = your-github-username
gpr.key = your-read-packages-token
```
## Build
```shell
./gradlew :patches:buildAndroid
```
The bundle is written to `patches/build/libs/patches-1.0.0.mpp`.
## Integration test
```shell
./gradlew :patches:integrationTest
```
The Kotlin integration test downloads the pinned Morphe Desktop release,
verifies its SHA-256 checksum, applies only this patch to `twitter.apkm`, and
checks the resulting APK and Morphe patching report. The verified Morphe JAR is
cached under `patches/build/verification/tools`.
## Apply manually
```shell
java -jar morphe-desktop-*-all.jar patch \
--patches patches/build/libs/patches-1.0.0.mpp \
--exclusive \
--enable="Disable outdated version screen" \
--out twitter-patched.apk \
twitter.apkm
```
## Add as a Morphe patch source
For a local source, open **Sources → + → Local** in Morphe and select the built
`.mpp` file.
After a release has populated `patches-bundle.json`, add the following address
under **Sources → + → Remote**:
```text
https://git.krtss.de/StanPonomarev/twitter-patch/raw/branch/main/patches-bundle.json
```
Remote sources update automatically from the release bundle referenced by that
metadata file.
## Project
- Repository: <https://git.krtss.de/StanPonomarev/twitter-patch>
- Author: Stan Ponomarev
- Contact: <contact@krtss.de>
## License
Licensed under the [GNU General Public License v3.0](LICENSE).