Skip to content

Commit

Permalink
docs: update README for manual installation
Browse files Browse the repository at this point in the history
  • Loading branch information
Yue, Zongkun committed Nov 5, 2024
1 parent 366b95c commit bd11a75
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 7 deletions.
9 changes: 2 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,17 +85,12 @@ sudo apt-get install globalprotect-openconnect
#### **Ubuntu 24.04 and later**

The `libwebkit2gtk-4.0-37` package was [removed](https://bugs.launchpad.net/ubuntu/+source/webkit2gtk/+bug/2061914) from its repo, before [the issue](https://github.com/yuezk/GlobalProtect-openconnect/issues/351) gets resolved, you need to install them manually:
The `libwebkit2gtk-4.0-37` package was [removed](https://bugs.launchpad.net/ubuntu/+source/webkit2gtk/+bug/2061914) from its repo. You can use the [`deb-install.sh`](./scripts/deb-install.sh) script to install the package:

```bash
wget http://launchpadlibrarian.net/704701349/libwebkit2gtk-4.0-37_2.43.3-1_amd64.deb
wget http://launchpadlibrarian.net/704701345/libjavascriptcoregtk-4.0-18_2.43.3-1_amd64.deb

sudo dpkg --install *.deb
curl -o- https://raw.githubusercontent.com/yuezk/GlobalProtect-openconnect/main/scripts/deb-install.sh | bash
```

And the latest package is not available in the PPA, you can follow the [Install from deb package](#install-from-deb-package) section to install the latest package.

#### **Ubuntu 18.04**

The latest package is not available in the PPA either, but you still needs to add the `ppa:yuezk/globalprotect-openconnect` repo beforehand to use the required `openconnect` package. Then you can follow the [Install from deb package](#install-from-deb-package) section to install the latest package.
Expand Down
59 changes: 59 additions & 0 deletions scripts/deb-install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#!/usr/bin/env bash

set -e

# Usage: ./deb-install.sh <version>

usage() {
echo "Usage: $0 <version>"
echo "Example: $0 2.3.9"
exit 1
}

if [ $# -ne 1 ]; then
usage
fi

VERSION=$1

# Check the architecture, only support x86_64 and aarch64/arm64
ARCH=$(uname -m)

# Normalize the architecture name
if [ "$ARCH" == "x86_64" ]; then
ARCH="amd64"
elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "arm64" ]; then
ARCH="arm64"
else
echo "Unsupported architecture: $ARCH"
exit 1
fi

LIB_JAVASCRIPT_x86="http://launchpadlibrarian.net/704701345/libjavascriptcoregtk-4.0-18_2.43.3-1_amd64.deb"
LIB_WEBKIT_x86="http://launchpadlibrarian.net/704701349/libwebkit2gtk-4.0-37_2.43.3-1_amd64.deb"

LIB_JAVASCRIPT_arm="http://launchpadlibrarian.net/704735771/libjavascriptcoregtk-4.0-18_2.43.3-1_arm64.deb"
LIB_WEBKIT_arm="http://launchpadlibrarian.net/704735777/libwebkit2gtk-4.0-37_2.43.3-1_arm64.deb"

DEB_URL="https://github.com/yuezk/GlobalProtect-openconnect/releases/download/v${VERSION}/globalprotect-openconnect_${VERSION}-1_${ARCH}.deb"

# Install the dependencies
if [ "$ARCH" == "amd64" ]; then
wget -O /tmp/libjavascriptcoregtk.deb $LIB_JAVASCRIPT_x86
wget -O /tmp/libwebkit2gtk.deb $LIB_WEBKIT_x86
else
wget -O /tmp/libjavascriptcoregtk.deb $LIB_JAVASCRIPT_arm
wget -O /tmp/libwebkit2gtk.deb $LIB_WEBKIT_arm
fi

sudo dpkg -i /tmp/libjavascriptcoregtk.deb /tmp/libwebkit2gtk.deb

# Install the package
wget -O /tmp/globalprotect-openconnect.deb $DEB_URL
sudo apt install --fix-broken -y /tmp/globalprotect-openconnect.deb

# Clean up
rm /tmp/libjavascriptcoregtk.deb /tmp/libwebkit2gtk.deb /tmp/globalprotect-openconnect.deb

echo ""
echo "GlobalProtect OpenConnect VPN client has been installed successfully."

0 comments on commit bd11a75

Please sign in to comment.