.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..7911b31
--- /dev/null
+++ b/README.md
@@ -0,0 +1,194 @@
+# GlobalProtect-openconnect
+A GlobalProtect VPN client (GUI) for Linux based on Openconnect and built with Qt5, supports SAML auth mode, inspired by [gp-saml-gui](https://github.com/dlenski/gp-saml-gui).
+
+
+
+
+
+
+
+
+
+
+## Features
+
+- Similar user experience as the official client in macOS.
+- Supports both SAML and non-SAML authentication modes.
+- Supports automatically selecting the preferred gateway from the multiple gateways.
+- Supports switching gateway from the system tray menu manually.
+
+
+## Install
+
+|OS|Stable version | Development version|
+|---|--------------|--------------------|
+|Linux Mint, Ubuntu 18.04 or later|[ppa:yuezk/globalprotect-openconnect](https://launchpad.net/~yuezk/+archive/ubuntu/globalprotect-openconnect)|[ppa:yuezk/globalprotect-openconnect-snapshot](https://launchpad.net/~yuezk/+archive/ubuntu/globalprotect-openconnect-snapshot)|
+|Arch, Manjaro|[globalprotect-openconnect](https://archlinux.org/packages/extra/x86_64/globalprotect-openconnect/)|[AUR: globalprotect-openconnect-git](https://aur.archlinux.org/packages/globalprotect-openconnect-git/)|
+|Fedora|[copr: yuezk/globalprotect-openconnect](https://copr.fedorainfracloud.org/coprs/yuezk/globalprotect-openconnect/)|[copr: yuezk/globalprotect-openconnect](https://copr.fedorainfracloud.org/coprs/yuezk/globalprotect-openconnect/)|
+|openSUSE, CentOS 8|[OBS: globalprotect-openconnect](https://build.opensuse.org/package/show/home:yuezk/globalprotect-openconnect)|[OBS: globalprotect-openconnect-snapshot](https://build.opensuse.org/package/show/home:yuezk/globalprotect-openconnect-snapshot)|
+
+Add the repository in the above table and install it with your favorite package manager tool.
+
+[](https://repology.org/project/globalprotect-openconnect/versions)
+[](https://repology.org/project/globalprotect-openconnect/versions)
+[](https://repology.org/project/globalprotect-openconnect/versions)
+[](https://repology.org/project/globalprotect-openconnect/versions)
+[](https://repology.org/project/globalprotect-openconnect/versions)
+[](https://repology.org/project/globalprotect-openconnect/versions)
+[](https://repology.org/project/globalprotect-openconnect/versions)
+
+### Linux Mint, Ubuntu 18.04 or later
+
+```sh
+sudo add-apt-repository ppa:yuezk/globalprotect-openconnect
+sudo apt-get update
+sudo apt-get install globalprotect-openconnect
+```
+
+> For Linux Mint, you might need to import the GPG key with: `sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7937C393082992E5D6E4A60453FC26B43838D761` if you encountered an error `gpg: keyserver receive failed: General error`.
+
+### Arch Linux / Manjaro
+
+```sh
+sudo pacman -S globalprotect-openconnect
+```
+
+### AUR snapshot version
+
+```sh
+yay -S globalprotect-openconnect-git
+```
+
+### Fedora
+
+```sh
+sudo dnf copr enable yuezk/globalprotect-openconnect
+sudo dnf install globalprotect-openconnect
+```
+
+### openSUSE
+
+- openSUSE Tumbleweed
+ ```sh
+ sudo zypper ar https://download.opensuse.org/repositories/home:/yuezk/openSUSE_Tumbleweed/home:yuezk.repo
+ sudo zypper ref
+ sudo zypper install globalprotect-openconnect
+ ```
+
+- openSUSE Leap
+
+ ```sh
+ sudo zypper ar https://download.opensuse.org/repositories/home:/yuezk/15.4/home:yuezk.repo
+
+ sudo zypper ref
+ sudo zypper install globalprotect-openconnect
+ ```
+### CentOS 8
+
+1. Add the repository: `https://download.opensuse.org/repositories/home:/yuezk/CentOS_8/home:yuezk.repo`
+1. Install `globalprotect-openconnect`
+
+
+## Build & Install from source code
+
+Clone this repo with:
+
+```sh
+git clone https://github.com/yuezk/GlobalProtect-openconnect.git
+cd GlobalProtect-openconnect
+```
+
+### MX Linux
+The following instructions are for **MX-21.2.1_x64 KDE**.
+
+```sh
+sudo apt install qttools5-dev libsecret-1-dev libqt5keychain1
+./scripts/install-debian.sh
+```
+
+### Ubuntu/Mint
+
+> **⚠️ REQUIRED for Ubuntu 18.04 ⚠️**
+>
+> Add this [dwmw2/openconnect](https://launchpad.net/~dwmw2/+archive/ubuntu/openconnect) PPA first to install the latest openconnect.
+>
+> ```sh
+> sudo add-apt-repository ppa:dwmw2/openconnect
+> sudo apt-get update
+> ```
+
+Build and install with:
+
+```sh
+./scripts/install-ubuntu.sh
+```
+### openSUSE
+
+Build and install with:
+
+```sh
+./scripts/install-opensuse.sh
+```
+
+### Fedora
+
+Build and install with:
+
+```sh
+./scripts/install-fedora.sh
+```
+
+### Other Linux
+
+Install the Qt5 dependencies and OpenConnect:
+
+- QtCore
+- QtWebEngine
+- QtWebSockets
+- QtDBus
+- openconnect v8.x
+- qtkeychain
+
+...then build and install with:
+
+```sh
+./scripts/install.sh
+```
+
+
+### NixOS
+ In `configuration.nix`:
+
+ ```
+ services.globalprotect = {
+ enable = true;
+ # if you need a Host Integrity Protection report
+ csdWrapper = "${pkgs.openconnect}/libexec/openconnect/hipreport.sh";
+ };
+
+ environment.systemPackages = [ globalprotect-openconnect ];
+ ```
+
+## Run
+
+Once the software is installed, you can run `gpclient` to start the UI.
+
+## Passing the Custom Parameters to `OpenConnect` CLI
+
+See [Configuration](https://github.com/yuezk/GlobalProtect-openconnect/wiki/Configuration)
+
+## Display the system tray icon on Gnome 40
+
+Install the [AppIndicator and KStatusNotifierItem Support](https://extensions.gnome.org/extension/615/appindicator-support/) extension and you will see the system try icon (Restart the system after the installation).
+
+
+
+
+
+
+## Troubleshooting
+
+Run `gpclient` in the Terminal and collect the logs.
+
+## [License](./LICENSE)
+GPLv3