Go package for building go-tun2socks-based clients for Outline, as a library for iOS and Android.
- macOS host (iOS, macOS)
- make
- Go >= 1.18
- A C compiler (e.g.: clang, gcc)
- sdkmanager
- Download the command line tools from https://developer.android.com/studio.
- Unzip the pacakge as
~/Android/Sdk/cmdline-tools/latest/
. Make suresdkmanager
is located at~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager
- Android NDK 23
- Install the NDK with
~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-30" "ndk;23.1.7779620"
(platform from outline-client, exact NDK 23 version obtained fromsdkmanager --list
) - Set up the environment variables:
export ANDROID_NDK_HOME=~/Android/Sdk/ndk/23.1.7779620 ANDROID_HOME=~/Android/Sdk
- Install the NDK with
- gomobile (installed as needed by
make
)
make clean && make android
This will create build/android/{tun2socks.aar,tun2socks-sources.jar}
If needed, you can extract the jni files into build/android/jni
with:
unzip build/android/tun2socks.aar 'jni/*' -d build/android
- Xcode
- gomobile (installed as needed by
make
)
make clean && make apple
This will create build/apple/Tun2socks.xcframework
.