From the ld.gold source:
const char* name = parameters->options().soname();
if (name == NULL)
name = parameters->options().output_file_name();
That means by default it uses `-o {output}` as the verdef aux name,
which is random every time due to Go's build system. By passing in
`--soname={somethingexplicit}` we can instead have a deterministic
verdef.
This commit makes wireguard-android reproducible.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
||
|---|---|---|
| .idea | ||
| gradle/wrapper | ||
| tunnel | ||
| ui | ||
| .gitignore | ||
| .gitmodules | ||
| build.gradle | ||
| COPYING | ||
| gradle.properties | ||
| gradlew | ||
| README.md | ||
| settings.gradle | ||
| version.gradle | ||
Android GUI for WireGuard
This is an Android GUI for WireGuard. It opportunistically uses the kernel implementation, and falls back to using the non-root userspace implementation.
Building
$ git clone --recurse-submodules https://git.zx2c4.com/wireguard-android
$ cd wireguard-android
$ ./gradlew assembleRelease
macOS users may need flock(1).
Embedding
The tunnel library is on JCenter, alongside extensive class library documentation.
implementation 'com.wireguard.android:tunnel:$wireguardTunnelVersion'
The library makes use of Java 8 features, so be sure to support those in your gradle configuration:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
Translating
Please help us translate the app into several languages on our translation platform.