/ics-openconnect-sso

Try to add supporting of Azure AD (SAMLv2) authentication

Primary LanguageJavaGNU General Public License v2.0GPL-2.0

OpenConnect for Android

Get it on F-Droid

NOTE

There are no official openconnect packages in the Google Play Store. Get involved (see #1) to release the Android client.


Multi-protocol version, based on openconnect. XDA thread

This is a VPN client for Android, based on the Linux build of OpenConnect.

Much of the Java code was derived from OpenVPN for Android by Arne Schwabe.

OpenConnect for Android is released under the GPLv2 license. For more information see the COPYING and doc/LICENSE.txt files.

Changelog: see doc/CHANGES.txt

Downloads and support

You can download the latest release from the GitLab releases page directly, or from F-Droid

Screenshots

screenshot-0 screenshot-1 screenshot-2 screenshot-3 screenshot-4

Building from source

Prerequisites

On the host side you'll need to install:

  • Android SDK in your $PATH (both platform-tools/ and tools/ directories)
  • $ANDROID_HOME pointed at the Android SDK directory
  • JDK 17 and a recent version of Apache ant in your $PATH
  • Use the Android SDK Manager to install "platform-tools" "build-tools;34.0.0" "platforms;android-35"
  • NDK r27c, nominally unzipped under /opt/android-sdk-linux_x86/
  • Host-side gcc, make, etc. (Red Hat "Development Tools" group or Debian build-essential)
  • git, autoconf, automake, and libtool

If you encounter any issues, take a look at misc/Dockerfile.

Compiling the external dependencies

Building OpenConnect from source requires compiling several .jar files and native binaries from external packages. These commands will build the binary components and copy them into the appropriate library and asset directories:

git clone --recursive https://gitlab.com/openconnect/ics-openconnect
cd ics-openconnect
make -C external

This procedure only runs on a Linux PC. If you are unable to build from source, you can try fetching the cached artifacts from a recent CI build.

Compiling the app

After the binary components are built, this compiles the Java sources into an APK file:

cd ics-openconnect
./gradlew assembleDebug

To install the APK on a device:

adb install -r app/build/outputs/apk/debug/app-debug.apk

Logs of successful (and not-so-successful) builds can be found on this project's CI page.