diff --git a/content/tutorials/configure-wireguard-vpn-clients/feature-wg-client.png b/content/tutorials/configure-wireguard-vpn-clients/feature-wg-client.png
new file mode 100644
index 0000000..7d4c37f
Binary files /dev/null and b/content/tutorials/configure-wireguard-vpn-clients/feature-wg-client.png differ
diff --git a/content/tutorials/configure-wireguard-vpn-clients/index.md b/content/tutorials/configure-wireguard-vpn-clients/index.md
new file mode 100644
index 0000000..3743e7c
--- /dev/null
+++ b/content/tutorials/configure-wireguard-vpn-clients/index.md
@@ -0,0 +1,188 @@
+---
+title: "Configure WireGuard VPN Clients"
+description: "Information about how to import your WireGuard VPN config to your Android, iOS, MacOS, Windows and Linux machine."
+# linkTitle:
+date: 2023-06-06T23:51:13+07:00
+lastmod:
+draft: false
+noindex: false
+# comments: false
+nav_weight: 1000
+# nav_icon:
+# vendor: bootstrap
+# name: toggles
+# color: '#e24d0e'
+series:
+ - WireGuard VPN
+categories:
+ - Privacy
+ - Networking
+tags:
+ - WireGuard
+ - iPhone
+ - Android
+ - Linux
+ - Windows
+ - MacOS
+images:
+# menu:
+# main:
+# weight: 100
+# params:
+# icon:
+# vendor: bs
+# name: book
+# color: '#e24d0e'
+authors:
+ - ditatompel
+---
+
+This article contains information about how to **import** your **WireGuard VPN** config to your **Android**, **iOS/iPhone**, **MacOS**, **Windows** and **Linux** machine.
+
+
+---
+
+This article is part of [**WireGuard VPN** series](https://insights.ditatompel.com/en/series/wireguard-vpn/). If you haven't read the previous series, you might be interested to [setup your own **WireGuard VPN server** using cheap ~$6 VPS]({{< ref "/tutorials/how-to-setup-your-own-wireguard-vpn-server/index.md" >}}) or [installing **WireGuard-UI** to manage your **WireGuard VPN server**]({{< ref "/tutorials/installing-wireguard-ui-to-manage-your-wireguard-vpn-server/index.md" >}}).
+
+[WireGuard](https://www.wireguard.com/) was initially released for the **Linux kernel**, it is now *cross-platform* (**Windows**, **macOS**, **BSD**, **iOS**, and **Android**). When you buy a **WireGuard VPN** from *VPN providers*, you will usually receive a configuration file (some providers also give you **QR Code** image). This configuration file is all you need.
+
+For Windows, MacOS, Android, and iOS, all you have to do is import the configuration file into the [official WireGuard application](https://www.wireguard.com/install/). For Linux who use `wg-quick` tool even more simpler, you just have to copy the configuration file to the `/etc/wireguard` folder.
+
+Even though the setup method is quite easy, I still want to write the steps on how to install or import the WireGuard configuration file here.
+
+The WireGuard configuration file given by *VPN provider* (or your **SysAdmin**) is just a text file, usually will look like this:
+```plain
+[Interface]
+Address = 10.10.88.5/32
+PrivateKey = gJc2XC/D2op6Y37at6tW1Sjl8gY/O/O4Apw+MDzAZFg=
+DNS = 1.1.1.1
+MTU = 1450
+
+[Peer]
+PublicKey = dW7TUSnRylgpo+rbNr1a55Wmg1lCBgjYnluiJhDuURI=
+PresharedKey = Ps4+a+xQfwKFBx+yWHKF7grUP3rzilOCQDftZ5A3z08=
+AllowedIPs = 0.0.0.0/0
+Endpoint = xx.xx.xx0.246:51822
+PersistentKeepalive = 15
+```
+> _Parts of IP address from `[Peer] Endpoint` above removed for privacy and security reason._
+
+## iPhone / iOS
+Download [official WireGuard client for iOS from App Store](https://apps.apple.com/us/app/wireguard/id1441195209?ls=1), make sure that the app comes from **"[WireGuard Development Team](https://apps.apple.com/us/developer/wireguard-development-team/id1441195208)"**.
+
+You can import configuration file by pressing + button from the top right of the app.
+
+### Using QR Code
+1. If your VPN provider give you **QR Code** image for your configuration, choose **"Create from QR code"** and scan your WireGuard configuration QR Code.
+2. When promoted to enter **name of the scanned tunnel** ([*example image*](wg-ios1.png)), fill with anything you can easily remember. *Avoid using character other than `-` and `[a-z]`*. Your new VPN connection profile will added to your WireGuard app.
+
+### Using import file or archive
+1. To import configuration from `.conf` file, you need to download the configuration file to your device.
+2. After configuration file is downloaded to your device, choose **"Create from file or archive"** and pick file of your WireGuard configuration file.
+_Remember to avoid using character other than `-` and `[a-z]` for the interface **"name"**_.
+
+After your configuration was imported, simply tap **"Active" toggle button** of your desired VPN profile to **on** to connect [[*example image of connected WireGuard VPN in iOS app*](wg-ios2.png)].
+
+## Android
+Download [official WireGuard client for Android from Play Store](https://play.google.com/store/apps/details?id=com.wireguard.android), make sure that the app comes from **"[WireGuard Development Team](https://play.google.com/store/apps/developer?id=WireGuard+Development+Team)"**.
+
+You can import configuration file by pressing + button from the bottom right of the app.
+
+### Using QR Code
+1. If your *VPN provider* give you **QR Code** image for your configuration, choose **"Scan from QR code"** and scan your WireGuard configuration QR Code.
+2. When promoted to enter **Tunnel Name** ([*example image*](wg-android1.png)), fill with anything you can easily remember. _Avoid using character other than `-` and `[a-z]`_. Your new VPN connection profile will added to your WireGuard app.
+
+### Using import file or archive
+1. To import configuration from `.conf` file, you need to download the configuration file to your device.
+2. After configuration file is downloaded to your device, choose **"Import from file or archive"** and pick file of your WireGuard configuration file.
+_Remember to avoid using character other than `-` and `[a-z]` for the interface **"name"**_.
+
+After your configuration was imported, simply tap **"Active" toggle button** of your desired VPN profile to **on** to connect [[*example image of connected WireGuard VPN in Android app*](wg-android2.png)].
+
+## Windows and MacOS
+I'll put Windows and MacOS in the same section because importing WireGuard config on those OS is pretty simillar. After [official WireGuard application](https://www.wireguard.com/install/) for your OS is installed:
+
+1. Click "**Add Tunnel**" button (or it's dropdown icon) and "**Import tunnel(s) from file...**", then pick file of your WireGuard configuration file.
+2. After connected to your VPN profile, try to check your IP address. Your VPN server should appear as your public IP, not your ISP IP address.
+![WireGuard VPN connected on Windows](wg-windows-connected.png#center)
+
+## Linux
+For Linux users, you need to install `wireguard` *package* to your system. Find how to install wireguard package from [official WireGuard](https://www.wireguard.com/install/) site or your *distribution* documentation page.
+
+### Using wg-quick
+The easiest and simplest way to use WireGuard is using `wg-quick` tool that comes from `wireguard` *package*. Put your WireGuard configuration file from your VPN provider to `/etc/wireguard` and start WireGuard connection with:
+
+```shell
+sudo systemctl start wg-quick@.service.
+```
+Replace `` above with filename (without the `.conf` extension) of WireGuard config given by your VPN provider.
+
+For example, If you rename the `wg0.conf` to `wg-do1.conf` in your `/etc/wireguard` directory, you can connect to that VPN network using `sudo systemctl start wg-quick@wg-do1.service`.
+
+Try to check your WireGuard connection by check your public IP from your browser or terminal using `curl ifconfig.me`. If your IP address is not changed, your first command to troubleshot is `sudo wg show` or `sudo systemctl status wg-quick@wg-do1.service`.
+
+> _**Note 1**: By default `wg-quick` uses `resolvconf` to register new **DNS** entries. This will cause issues with network managers and DHCP clients that do not use `resolvconf`, as they will overwrite `/etc/resolv.conf` thus removing the DNS servers added by `wg-quick`._
+> _The solution is to use networking software that supports `resolvconf`._
+
+> _**Note 2**: Users of `systemd-resolved` should make sure that `systemd-resolvconf` is installed._
+
+### Using NetworkManager
+**NetworkManager** on *bleeding-edge* *distros* such as **Arch Linux** has native support for setting up WireGuard interface.
+
+#### Using NetworkManager TUI & GUI
+![NetworkManager tui](wg-nmtui.png#center)
+
+You can easily configure WireGuard connection and *peers* using **NetworkManager TUI** or **GUI**. In this example, I'll use **NetworkManager GUI**.
+1. Open your **NetworkManager** GUI, click + to add new connection.
+2. Choose "**Import a saved VPN configuration**" and pick file of your WireGuard configuration file.
+3. Then, you can change "**Connection name**" and "**Interface name**" to anything you can easily remember. But, **avoid using character other than** `-` and `[a-z]` for "**Interface name**". It won't work if you use special character like *spaces*.
+
+![NetworkManager gui](wg-nmgui.png#center)
+
+#### Using nmcli
+`nmcli` can import a `wg-quick` configuration file. For example, to import WireGuard configuration from `/etc/wireguard/t420.conf`:
+```shell
+nmcli connection import type wireguard file /etc/wireguard/t420.conf
+```
+Even though `nmcli` can create a WireGuard connection profile, but it does not support configuring peers.
+The following examples configure WireGuard via the keyfile format `.nmconnection` files under `/etc/NetworkManager/system-connections/` for multiple peers and specific routes:
+```plain
+[connection]
+id=WG-
+uuid=
+type=wireguard
+autoconnect=false
+interface-name=wg-
+timestamp=1684607233
+
+[wireguard]
+private-key=
+
+[wireguard-peer.]
+endpoint=:
+persistent-keepalive=15
+allowed-ips=0.0.0.0/0;
+
+[wireguard-peer.]
+endpoint=:
+persistent-keepalive=15
+allowed-ips=
+
+[ipv4]
+address1=10.10.88.2/24
+dns=192.168.1.105;192.168.1.252;
+method=manual
+
+[ipv6]
+addr-gen-mode=stable-privacy
+method=ignore
+```
+![nmcli wireguard connection example](wg-nmcli.png#center)
+
+## Notes
+- You can't connect to the same VPN server from 2 or more different devices with same key. **You every devices MUST have it's own unique key**.
+- For some operating system such as Windows, if you can't import your WireGuard configuration file from your WireGuard app, make sure that your WireGuard configuration file is ended with `.conf`.
+
+### Additional Notes
+- If you interested to [setup your own **WireGuard VPN server** using cheap ~$6 VPS]({{< ref "/tutorials/how-to-setup-your-own-wireguard-vpn-server/index.md" >}}),but have some technical difficulties; I can help you to set that up for small amount of **IDR** (_I accept **Monero XMR** for **credits** if you don't have Indonesia Rupiah_).
+- To find out how to contact me, please visit [https://www.ditatompel.com/pages/contact](https://www.ditatompel.com/pages/contact).
\ No newline at end of file
diff --git a/content/tutorials/configure-wireguard-vpn-clients/wg-android1.png b/content/tutorials/configure-wireguard-vpn-clients/wg-android1.png
new file mode 100644
index 0000000..c3949cf
Binary files /dev/null and b/content/tutorials/configure-wireguard-vpn-clients/wg-android1.png differ
diff --git a/content/tutorials/configure-wireguard-vpn-clients/wg-android2.png b/content/tutorials/configure-wireguard-vpn-clients/wg-android2.png
new file mode 100644
index 0000000..87c8865
Binary files /dev/null and b/content/tutorials/configure-wireguard-vpn-clients/wg-android2.png differ
diff --git a/content/tutorials/configure-wireguard-vpn-clients/wg-ios1.png b/content/tutorials/configure-wireguard-vpn-clients/wg-ios1.png
new file mode 100644
index 0000000..e1064f9
Binary files /dev/null and b/content/tutorials/configure-wireguard-vpn-clients/wg-ios1.png differ
diff --git a/content/tutorials/configure-wireguard-vpn-clients/wg-ios2.png b/content/tutorials/configure-wireguard-vpn-clients/wg-ios2.png
new file mode 100644
index 0000000..51ad379
Binary files /dev/null and b/content/tutorials/configure-wireguard-vpn-clients/wg-ios2.png differ
diff --git a/content/tutorials/configure-wireguard-vpn-clients/wg-nmcli.png b/content/tutorials/configure-wireguard-vpn-clients/wg-nmcli.png
new file mode 100644
index 0000000..57091f9
Binary files /dev/null and b/content/tutorials/configure-wireguard-vpn-clients/wg-nmcli.png differ
diff --git a/content/tutorials/configure-wireguard-vpn-clients/wg-nmgui.png b/content/tutorials/configure-wireguard-vpn-clients/wg-nmgui.png
new file mode 100644
index 0000000..56cb2e2
Binary files /dev/null and b/content/tutorials/configure-wireguard-vpn-clients/wg-nmgui.png differ
diff --git a/content/tutorials/configure-wireguard-vpn-clients/wg-nmtui.png b/content/tutorials/configure-wireguard-vpn-clients/wg-nmtui.png
new file mode 100644
index 0000000..dbc98be
Binary files /dev/null and b/content/tutorials/configure-wireguard-vpn-clients/wg-nmtui.png differ
diff --git a/content/tutorials/configure-wireguard-vpn-clients/wg-windows-connected.png b/content/tutorials/configure-wireguard-vpn-clients/wg-windows-connected.png
new file mode 100644
index 0000000..cfbe5c4
Binary files /dev/null and b/content/tutorials/configure-wireguard-vpn-clients/wg-windows-connected.png differ
diff --git a/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/feature-wg-client_hu716ea66c0e2502d0f85b6c3fddd66801_103666_0x360_resize_box_3.png b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/feature-wg-client_hu716ea66c0e2502d0f85b6c3fddd66801_103666_0x360_resize_box_3.png
new file mode 100644
index 0000000..9defe8d
Binary files /dev/null and b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/feature-wg-client_hu716ea66c0e2502d0f85b6c3fddd66801_103666_0x360_resize_box_3.png differ
diff --git a/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/feature-wg-client_hu716ea66c0e2502d0f85b6c3fddd66801_103666_0x640_resize_box_3.png b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/feature-wg-client_hu716ea66c0e2502d0f85b6c3fddd66801_103666_0x640_resize_box_3.png
new file mode 100644
index 0000000..c7c48d6
Binary files /dev/null and b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/feature-wg-client_hu716ea66c0e2502d0f85b6c3fddd66801_103666_0x640_resize_box_3.png differ
diff --git a/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/feature-wg-client_hu716ea66c0e2502d0f85b6c3fddd66801_103666_1ee533cf0d4dab82fef244fa3b85cf3f.webp b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/feature-wg-client_hu716ea66c0e2502d0f85b6c3fddd66801_103666_1ee533cf0d4dab82fef244fa3b85cf3f.webp
new file mode 100644
index 0000000..15c0ca5
Binary files /dev/null and b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/feature-wg-client_hu716ea66c0e2502d0f85b6c3fddd66801_103666_1ee533cf0d4dab82fef244fa3b85cf3f.webp differ
diff --git a/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/feature-wg-client_hu716ea66c0e2502d0f85b6c3fddd66801_103666_b03181d0caa926863f8267c2e379f97e.webp b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/feature-wg-client_hu716ea66c0e2502d0f85b6c3fddd66801_103666_b03181d0caa926863f8267c2e379f97e.webp
new file mode 100644
index 0000000..80aad02
Binary files /dev/null and b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/feature-wg-client_hu716ea66c0e2502d0f85b6c3fddd66801_103666_b03181d0caa926863f8267c2e379f97e.webp differ
diff --git a/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-ios1_hu0dea0f43b6d960cd5973d4af5f43f74f_278406_780x468_resize_q75_h2_box_3.webp b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-ios1_hu0dea0f43b6d960cd5973d4af5f43f74f_278406_780x468_resize_q75_h2_box_3.webp
new file mode 100644
index 0000000..c0e9e60
Binary files /dev/null and b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-ios1_hu0dea0f43b6d960cd5973d4af5f43f74f_278406_780x468_resize_q75_h2_box_3.webp differ
diff --git a/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-ios2_hu57387016f4e4bbca63fc6d6a04fadf61_195010_1242x2208_resize_q75_h2_box_3.webp b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-ios2_hu57387016f4e4bbca63fc6d6a04fadf61_195010_1242x2208_resize_q75_h2_box_3.webp
new file mode 100644
index 0000000..4626340
Binary files /dev/null and b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-ios2_hu57387016f4e4bbca63fc6d6a04fadf61_195010_1242x2208_resize_q75_h2_box_3.webp differ
diff --git a/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-nmcli_hud937178ff243aace6a58d0442fa8e338_10885_448x299_resize_q75_h2_box_3.webp b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-nmcli_hud937178ff243aace6a58d0442fa8e338_10885_448x299_resize_q75_h2_box_3.webp
new file mode 100644
index 0000000..c5650c8
Binary files /dev/null and b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-nmcli_hud937178ff243aace6a58d0442fa8e338_10885_448x299_resize_q75_h2_box_3.webp differ
diff --git a/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-nmgui_hubcf0b3bc99e2241507c07f6e796b77b9_59470_781x610_resize_q75_h2_box_3.webp b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-nmgui_hubcf0b3bc99e2241507c07f6e796b77b9_59470_781x610_resize_q75_h2_box_3.webp
new file mode 100644
index 0000000..b95e858
Binary files /dev/null and b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-nmgui_hubcf0b3bc99e2241507c07f6e796b77b9_59470_781x610_resize_q75_h2_box_3.webp differ
diff --git a/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-nmtui_hu86ae80adc77714ec423a3997a8eeb3a5_56650_678x780_resize_q75_h2_box_3.webp b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-nmtui_hu86ae80adc77714ec423a3997a8eeb3a5_56650_678x780_resize_q75_h2_box_3.webp
new file mode 100644
index 0000000..05d6d22
Binary files /dev/null and b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-nmtui_hu86ae80adc77714ec423a3997a8eeb3a5_56650_678x780_resize_q75_h2_box_3.webp differ
diff --git a/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-windows-connected_hu0d8c05ef4c4da044991c905ded5df760_56619_956x642_resize_q75_h2_box_3.webp b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-windows-connected_hu0d8c05ef4c4da044991c905ded5df760_56619_956x642_resize_q75_h2_box_3.webp
new file mode 100644
index 0000000..7f0badd
Binary files /dev/null and b/resources/_gen/images/tutorials/configure-wireguard-vpn-clients/wg-windows-connected_hu0d8c05ef4c4da044991c905ded5df760_56619_956x642_resize_q75_h2_box_3.webp differ