Package Details: mimic-bpf 0.7.1-2

Git Clone URL: https://aur.archlinux.org/mimic-bpf.git (read-only, click to copy)
Package Base: mimic-bpf
Description: eBPF UDP -> TCP obfuscator
Upstream URL: https://github.com/hack3ric/mimic
Licenses: GPL-2.0-only
Submitter: hack3ric
Maintainer: hack3ric
Last Packager: hack3ric
Votes: 0
Popularity: 0.000000
First Submitted: 2024-03-16 06:31 (UTC)
Last Updated: 2026-06-13 18:05 (UTC)

Dependencies (13)

Required by (0)

Sources (1)

Latest Comments

flylightning commented on 2026-06-12 12:16 (UTC) (edited on 2026-06-12 15:51 (UTC) by flylightning)

There's a missing -$pkgver in install -Dm644 "$srcdir/$_pkgname/install/eth0.conf" "$pkgdir/etc/mimic/eth0.conf", that line should be install -Dm644 "$srcdir/$_pkgname-$pkgver/install/eth0.conf" "$pkgdir/etc/mimic/eth0.conf" instead, else build will fail because the directory name is src/mimic-0.7.1 instead of src/mimic. Here's the diff patch:

diff --git a/.SRCINFO b/.SRCINFO
index 40007db..e455a0b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
 pkgbase = mimic-bpf
    pkgdesc = eBPF UDP -> TCP obfuscator
    pkgver = 0.7.1
-   pkgrel = 1
+   pkgrel = 2
    url = https://github.com/hack3ric/mimic
    arch = x86_64
    arch = aarch64
diff --git a/PKGBUILD b/PKGBUILD
index 62221c3..1f91a8d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@ _pkgname=mimic
 _pkgbase=$_pkgname-bpf
 pkgname=($_pkgbase $_pkgbase-dkms)
 pkgver=0.7.1
-pkgrel=1
+pkgrel=2
 pkgdesc="eBPF UDP -> TCP obfuscator"
 arch=('x86_64' 'aarch64' 'riscv64')
 url="https://github.com/hack3ric/$_pkgname"
@@ -36,7 +36,7 @@ package_mimic-bpf() {

   install -Dm755 "$srcdir/$_pkgname-$pkgver/out/$_pkgname" "$pkgdir/usr/bin/$_pkgname"
   install -Dm644 "$srcdir/$_pkgname-$pkgver/out/$_pkgname.1.gz" "$pkgdir/usr/share/man/man1/$_pkgname.1.gz"
-  install -Dm644 "$srcdir/$_pkgname/install/eth0.conf" "$pkgdir/etc/mimic/eth0.conf"
+  install -Dm644 "$srcdir/$_pkgname-$pkgver/install/eth0.conf" "$pkgdir/etc/mimic/eth0.conf"
   install -Dm644 "$srcdir/$_pkgname-$pkgver/install/$_pkgname.sysusers" "$pkgdir/usr/lib/sysusers.d/$_pkgname.conf"
   install -Dm644 "$srcdir/$_pkgname-$pkgver/install/$_pkgname@.service" "$pkgdir/usr/lib/systemd/system/$_pkgname@.service"
 }

hack3ric commented on 2024-05-31 14:41 (UTC)

Also, CONFIG_DEBUG_INFO_BTF is enabled on linux-zen; you filtered all lines containing BPF, but this one is BTF instead:

$ zgrep BTF /proc/config.gz
CONFIG_VIDEO_SONY_BTF_MPX=m
CONFIG_DEBUG_INFO_BTF=y
CONFIG_PAHOLE_HAS_SPLIT_BTF=y
CONFIG_DEBUG_INFO_BTF_MODULES=y
# CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set
CONFIG_PROBE_EVENTS_BTF_ARGS=y

hack3ric commented on 2024-05-31 14:34 (UTC)

@AveryFreeman Yes, the kernel module is used to work around checksum offload support. These kernel config is needed to run the eBPF part of the program. I'll probably add this to documentation :)

AveryFreeman commented on 2024-05-29 14:40 (UTC)

linux-zen has 2 out of 3 of the kernel build flags enabled by default - are the dkms modules necessary? Reference: https://github.com/hack3ric/mimic?tab=readme-ov-file#kernel-support

# requirements:
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_SYSCALL=y
CONFIG_DEBUG_INFO_BTF=y

# analysis:
uname -r; zgrep BPF /proc/config.gz | egrep 'SYSCALL|JIT|DEBUG'
6.9.2-zen1-1-zen
CONFIG_HAVE_EBPF_JIT=y
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT_DEFAULT_ON=y