diff --git a/.github/workflows/build-conntrack.yml b/.github/workflows/build-conntrack.yml
new file mode 100644
index 0000000..48c2cf9
--- /dev/null
+++ b/.github/workflows/build-conntrack.yml
@@ -0,0 +1,68 @@
+name: socat
+on:
+  workflow_dispatch
+jobs:
+    build-x86_64:
+      name: Build socat x86_64
+      runs-on: ubuntu-latest
+      container: muslcc/x86_64:x86_64-linux-musl
+      steps:
+        - name: Checkout
+          uses: actions/checkout@v2
+
+        - name: Install dependencies
+          run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh
+
+        - name: Install testing dependencies
+          run: apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing yodl
+
+        - name: Build socat
+          id: build_socat
+          run: $GITHUB_WORKSPACE/build/targets/build_socat.sh x86_64
+
+        - name: Upload artifacts
+          uses: actions/upload-artifact@v2
+          with:
+              name: ${{ steps.build_socat.outputs.PACKAGED_NAME }}
+              path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }}
+
+    create-release:
+      name: Create socat Release
+      runs-on: ubuntu-latest
+      needs: [build-x86_64]
+      steps:
+        - name: Checkout
+          uses: actions/checkout@v2
+
+        - name: Prepare Environment
+          run: mkdir /tmp/releases
+
+        - name: Download Artifacts
+          uses: actions/download-artifact@v2
+          with:
+            path: /tmp/releases
+
+        - name: List Artifacts
+          run: ls -laR /tmp/releases
+
+        - name: Tag Release
+          id: tag_release
+          run: |
+            set +e
+            if git rev-list "conntrack-v${{ needs.build-x86.outputs.version }}".. >/dev/null;then
+              echo "Tag for conntrack-v${{ needs.build-x86.outputs.version }} already exists. Skipping release creation."
+              echo ::set-output name=NEW_RELEASE::"false"
+            else
+              git tag "conntrack-v${{ needs.build-x86.outputs.version }}"
+              git push origin "conntrack-v${{ needs.build-x86.outputs.version }}"
+              echo ::set-output name=NEW_RELEASE::"true"
+            fi
+
+        - name: Create Release
+          uses: ncipollo/release-action@v1
+          if: ${{ steps.tag_release.outputs.NEW_RELEASE == 'true' }}
+          with:
+            name: conntrack-v${{ needs.build-x86.outputs.version }}
+            tag: conntrack-v${{ needs.build-x86.outputs.version }}
+            artifacts: "/tmp/releases/*/*"
+            token: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
diff --git a/build/targets/build_conntrack.sh b/build/targets/build_conntrack.sh
new file mode 100644
index 0000000..73e0ee9
--- /dev/null
+++ b/build/targets/build_conntrack.sh
@@ -0,0 +1,83 @@
+#!/bin/bash
+if [ -z "$GITHUB_WORKSPACE" ];then
+    echo "GITHUB_WORKSPACE environemnt variable not set!"
+    exit 1
+fi
+if [ "$#" -ne 1 ];then
+    echo "Usage: ${0} [x86|x86_64|armhf|aarch64]"
+    echo "Example: ${0} x86_64"
+    exit 1
+fi
+set -e
+set -o pipefail
+set -x
+source $GITHUB_WORKSPACE/build/lib.sh
+init_lib "$1"
+
+build_conntrack() {
+    libmnl=1.0.5
+    libnfnetlink=1.0.2
+    libnetfilter_conntrack=1.0.9
+    libnetfilter_cttimeout=1.0.1
+    libnetfilter_queue=1.0.5
+    libnetfilter_cthelper=1.0.1
+    conntrack=1.4.7
+
+    wget https://www.netfilter.org/projects/libmnl/files/libmnl-${libmnl}.tar.bz2
+    wget https://www.netfilter.org/projects/libnfnetlink/files/libnfnetlink-${libnfnetlink}.tar.bz2
+    wget https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-${libnetfilter_conntrack}.tar.bz2
+    wget https://www.netfilter.org/projects/libnetfilter_cttimeout/files/libnetfilter_cttimeout-${libnetfilter_cttimeout}.tar.bz2
+    wget https://www.netfilter.org/projects/libnetfilter_queue/files/libnetfilter_queue-${libnetfilter_queue}.tar.bz2
+    wget https://www.netfilter.org/projects/libnetfilter_cthelper/files/libnetfilter_cthelper-${libnetfilter_cthelper}.tar.bz2
+    wget https://www.netfilter.org/projects/conntrack-tools/files/conntrack-tools-${conntrack}.tar.bz2
+
+   	tar xvf libmnl-${libmnl}.tar.bz2
+	cd libmnl-${libmnl} && ./configure --enable-static && make -j $(nproc)
+	make install
+	cd ..
+
+	tar xvf libnfnetlink-${libnfnetlink}.tar.bz2
+	cd libnfnetlink-${libnfnetlink} && ./configure --enable-static && make -j $(nproc)
+	make install
+	cd ..
+
+	tar xvf libnetfilter_conntrack-${libnetfilter_conntrack}.tar.bz2
+	cd libnetfilter_conntrack-${libnetfilter_conntrack} && ./configure --enable-static && make -j $(nproc)
+	make install
+	cd ..
+
+	tar xvf libnetfilter_cttimeout-${libnetfilter_cttimeout}.tar.bz2
+	cd libnetfilter_cttimeout-${libnetfilter_cttimeout} && ./configure --enable-static && make -j $(nproc)
+	make install
+	cd ..
+
+	tar xvf libnetfilter_queue-${libnetfilter_queue}.tar.bz2
+	cd libnetfilter_queue-${libnetfilter_queue} && ./configure --enable-static && make -j $(nproc)
+	make install
+	cd ..
+
+	tar xvf libnetfilter_cthelper-${libnetfilter_cthelper}.tar.bz2
+	cd libnetfilter_cthelper-${libnetfilter_cthelper} && ./configure --enable-static && make -j $(nproc)
+	make install
+	cd ..
+
+	tar xvf conntrack-tools-${conntrack}.tar.bz2
+	cd conntrack-tools-${conntrack}
+	./configure && make -j $(nproc)
+}
+
+main() {
+    build_conntrack
+    local version
+    version=1.4
+    version_number=17
+
+    cp "${BUILD_DIRECTORY}/conntrack-tools-1.4.7/src/conntrack" "${OUTPUT_DIRECTORY}/conntrack${version}"
+    echo "[+] Finished building conntrack ${CURRENT_ARCH}"
+
+    echo ::set-output name=PACKAGED_NAME::"conntrack${version}"
+    echo ::set-output name=PACKAGED_NAME_PATH::"${OUTPUT_DIRECTORY}/*"
+    echo ::set-output name=PACKAGED_VERSION::"${version_number}"
+}
+
+main