mirror of
https://github.com/okhsunrog/vpnhide.git
synced 2026-04-28 14:44:43 +00:00
fix(build): port build scripts to Python to allow Windows contributors to build subprojects (#83)
* Rewrite build-version and all build-zip bash scripts to python * Add executable permissions to python build scripts * Use python build script for kmod in CI * Fix * Enhance kmod build script, add/fix docs, CI edits * Delete remaining build-zip bash scripts * Delete remaining build-zip bash scripts
This commit is contained in:
parent
4ad2ba8c2d
commit
cf4e72fa01
20 changed files with 490 additions and 206 deletions
26
README.en.md
26
README.en.md
|
|
@ -194,10 +194,32 @@ Rows 1-6, 21, and 24 are the only vectors reachable by regular apps. Everything
|
|||
|
||||
## Building from source
|
||||
|
||||
- **kmod**: `cd kmod && make && ./build-zip.sh` — see [kmod/BUILDING.md](kmod/BUILDING.md)
|
||||
- **zygisk**: `cd zygisk && ./build-zip.sh` (Rust + NDK + cargo-ndk)
|
||||
- **kmod**: `cd kmod && make && ./build-zip.py` — see [kmod/BUILDING.md](kmod/BUILDING.md)
|
||||
- **zygisk**: `cd zygisk && ./build-zip.py` (Rust + NDK + cargo-ndk)
|
||||
- **lsposed**: `cd lsposed && ./gradlew assembleDebug` (JDK 17 + Rust + NDK + cargo-ndk)
|
||||
|
||||
### Notes for contributors stuck on Windows
|
||||
|
||||
If you're on Windows, there are some inconveniences with building some subprojects.
|
||||
|
||||
**lsposed**: builds fine in Android Studio.
|
||||
|
||||
**portshide**: `cd .\portshide\; python .\build-zip.py` runs fine.
|
||||
|
||||
For the next two, you'll (unfortunately) need to install [Docker for Windows](https://docs.docker.com/desktop/setup/install/windows-install/).
|
||||
|
||||
**kmod**:
|
||||
```powershell
|
||||
$env:KMI="android12-5.10"; docker run --rm -it -v "${PWD}:/workspace" -e KMI=$env:KMI -w /workspace "ghcr.io/ylarod/ddk-min:$($env:KMI)-20260313" bash -c 'cd kmod && python3 ./build-zip.py --kmi $KMI'
|
||||
```
|
||||
Be sure to use the same version of `ylarod/ddk-min` image (the date after KMI name) as used in the `ci.yml` workflow file.
|
||||
|
||||
**zygisk**:
|
||||
```powershell
|
||||
docker run --rm -it -v "${PWD}:/workspace" -v "vpnhide_cargo_cache:/usr/local/cargo/registry" -w /workspace ghcr.io/okhsunrog/vpnhide/ci:latest bash -c 'cd zygisk && python3 ./build-zip.py'
|
||||
```
|
||||
The reason why `zygisk` can't be built directly is because source code of dependency `zygisk-api` contains a file named `aux.rs`. Cargo uses `libgit2` for git operations and it contains a guard, which forbids creating files _containing_ reserved Windows words. You'll get an error: `cannot checkout to invalid path 'src/aux.rs'; class=Checkout (20)`. [Someone reports](https://superuser.com/a/1929659), that it bacame possible to create files containing reserved words **with** an extension after some update, but it seems such behavior wasn't modified in `libgit2`.
|
||||
|
||||
## Verified against
|
||||
|
||||
- [RKNHardering](https://github.com/xtclovver/RKNHardering/) — all detection vectors clean
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue