The badge now uses an obtainium://app link with overrideSource and an APK filter per flavor, because Obtainium does not detect self-hosted Gitea. Co-Authored-By: Claude Opus 5.5 <[email protected]>
49 lines
2.7 KiB
Markdown
49 lines
2.7 KiB
Markdown
# Pixelwall
|
||
|
||
Privacy and hardening app for Google Pixel phones (Pixel 8 – 10, Android 15/16, no root).
|
||
Audit your device, fine-tune permissions and settings, and undo every change.
|
||
|
||
[<img src="https://raw.githubusercontent.com/ImranR98/Obtainium/main/assets/graphics/badge_obtainium.png" alt="Get it on Obtainium" height="54">](https://apps.obtainium.imranr.dev/redirect?r=obtainium://app/%7B%22id%22%3A%22org.pixelwall.app%22%2C%22url%22%3A%22https%3A%2F%2Fgit.mrblake.cc%2FMrBlake%2FPixelwall%22%2C%22author%22%3A%22MrBlake%22%2C%22name%22%3A%22Pixelwall%22%2C%22overrideSource%22%3A%22Codeberg%22%2C%22additionalSettings%22%3A%22%7B%5C%22apkFilterRegEx%5C%22%3A%5C%22pixelwall-core-%5C%22%7D%22%7D)
|
||
|
||
> Status: early development (milestone 1 of 9). Architecture and roadmap: [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) (German).
|
||
|
||
## Install
|
||
|
||
**Android 14 or newer.** Made for Google Pixel 8 – 10 on Android 15/16.
|
||
|
||
- **Obtainium (recommended):** tap the badge above on your phone. It installs the `core` APK (no network permission)
|
||
and keeps Pixelwall up to date. For the `full` variant use [this Obtainium link](https://apps.obtainium.imranr.dev/redirect?r=obtainium://app/%7B%22id%22%3A%22org.pixelwall.app.full%22%2C%22url%22%3A%22https%3A%2F%2Fgit.mrblake.cc%2FMrBlake%2FPixelwall%22%2C%22author%22%3A%22MrBlake%22%2C%22name%22%3A%22Pixelwall%20%28full%29%22%2C%22overrideSource%22%3A%22Codeberg%22%2C%22additionalSettings%22%3A%22%7B%5C%22apkFilterRegEx%5C%22%3A%5C%22pixelwall-full-%5C%22%7D%22%7D) instead.
|
||
Manual setup: add `https://git.mrblake.cc/MrBlake/Pixelwall` in Obtainium, choose **Forgejo (Codeberg)** as the source
|
||
and set the APK filter to `pixelwall-core-` (or `pixelwall-full-`).
|
||
- **Direct download:** get `pixelwall-core-v<version>.apk` or `pixelwall-full-v<version>.apk` from the
|
||
[releases page](https://git.mrblake.cc/MrBlake/Pixelwall/releases) and install it.
|
||
|
||
## Build variants
|
||
|
||
| Flavor | applicationId | Network |
|
||
|---|---|---|
|
||
| `core` | `org.pixelwall.app` | no `INTERNET` permission (enforced by `./gradlew check`) |
|
||
| `full` | `org.pixelwall.app.full` | `INTERNET` for the DNS filter and optional rule updates |
|
||
|
||
## Building
|
||
|
||
Requirements: JDK 21, Android SDK (platform 37).
|
||
|
||
```sh
|
||
./gradlew assembleCoreDebug # debug APK without network access
|
||
./gradlew check # unit tests, lint, network permission check
|
||
```
|
||
|
||
## Releasing
|
||
|
||
Release APKs are signed with a key kept outside the repository. Configure it in `~/.gradle/gradle.properties`
|
||
(`pixelwall.signing.storeFile`, `.storePassword`, `.keyAlias`, `.keyPassword`); without it the release APKs are unsigned.
|
||
|
||
```sh
|
||
./gradlew dist # signed APKs in dist/ as pixelwall-<flavor>-v<version>.apk
|
||
```
|
||
|
||
## License
|
||
|
||
GPLv3, see [LICENSE](LICENSE).
|