zengzhengkevin / luci-app-daed

LuCI support for DAED

Home Page:https://github.com/daeuniverse/daed

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

luci-app-daed

A Linux high-performance transparent proxy solution based on eBPF.


Build on OpenWrt official SnapShots

1. Get Source

git clone https://github.com/sbwml/luci-app-daed package/daed
git clone https://github.com/sbwml/v2ray-geodata package/daed/v2ray-geodata

2. Install clang-13, refer to https://apt.llvm.org

apt-get update
apt-get install -y clang-13

3. Change OpenWrt Source (Requirements for DAED to work)

  • Enable eBPF support, add content to: .config

    CONFIG_DEVEL=y
    CONFIG_BPF_TOOLCHAIN_HOST=y
    # CONFIG_BPF_TOOLCHAIN_NONE is not set
    CONFIG_KERNEL_BPF_EVENTS=y
    CONFIG_KERNEL_CGROUP_BPF=y
    CONFIG_KERNEL_DEBUG_INFO=y
    CONFIG_KERNEL_DEBUG_INFO_BTF=y
    # CONFIG_KERNEL_DEBUG_INFO_REDUCED is not set
    
  • Add xdp-sockets-diag kernel module, add content to: package/kernel/linux/modules/netsupport.mk

    define KernelPackage/xdp-sockets-diag
      SUBMENU:=$(NETWORK_SUPPORT_MENU)
      TITLE:=PF_XDP sockets monitoring interface support for ss utility
      KCONFIG:= \
    	CONFIG_XDP_SOCKETS=y \
    	CONFIG_XDP_SOCKETS_DIAG
      FILES:=$(LINUX_DIR)/net/xdp/xsk_diag.ko
      AUTOLOAD:=$(call AutoLoad,31,xsk_diag)
    endef
    
    define KernelPackage/xdp-sockets-diag/description
     Support for PF_XDP sockets monitoring interface used by the ss tool
    endef
    
    $(eval $(call KernelPackage,xdp-sockets-diag))
  • Patch cgroupfs-mount: use cgroupfs2

    # fix unmount hierarchical mount
    pushd feeds/packages
        curl -s https://raw.githubusercontent.com/sbwml/luci-app-dae/main/.cgroupfs/cgroupfs-mount.init.patch | patch -p1
    popd
    # cgroupfs v2
    mkdir -p feeds/packages/utils/cgroupfs-mount/patches
    curl -s https://raw.githubusercontent.com/sbwml/luci-app-dae/main/.cgroupfs/900-add-cgroupfs2.patch > feeds/packages/utils/cgroupfs-mount/patches/900-add-cgroupfs2.patch

4. Build luci-app-daed

make menuconfig # choose LUCI -> Applications -> luci-app-daed
make package/daed/luci-app-daed/compile V=s # build luci-app-daed

About

LuCI support for DAED

https://github.com/daeuniverse/daed


Languages

Language:HTML 91.1%Language:Makefile 5.4%Language:Lua 2.2%Language:Shell 1.3%