daed: sync upstream
Signed-off-by: gitea-action <git@cooluc.com>
This commit is contained in:
parent
b34bd1a267
commit
0a68867e2e
162
daed/Makefile
Normal file
162
daed/Makefile
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
#
|
||||||
|
# Copyright (C) 2023 ImmortalWrt.org
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=daed
|
||||||
|
PKG_VERSION:=0.8.0
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_SOURCE_PROTO:=git
|
||||||
|
PKG_SOURCE_URL:=https://github.com/daeuniverse/daed.git
|
||||||
|
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
|
||||||
|
PKG_MIRROR_HASH:=587fdbf6c9c58ae86f2bdf19f19bbbd03638e9c966c7091fce5e0d720372b778
|
||||||
|
|
||||||
|
PKG_LICENSE:=AGPL-3.0-only MIT
|
||||||
|
PKG_LICENSE_FILES:=LICENSE wing/LICENSE
|
||||||
|
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
||||||
|
|
||||||
|
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/wing
|
||||||
|
PKG_BUILD_DEPENDS:=golang/host bpf-headers
|
||||||
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
PKG_BUILD_FLAGS:=no-mips16
|
||||||
|
|
||||||
|
GO_PKG:=github.com/daeuniverse/dae-wing
|
||||||
|
GO_PKG_LDFLAGS:= \
|
||||||
|
-X '$(GO_PKG)/db.AppDescription=$(PKG_NAME) is a integration solution of dae, API and UI.'
|
||||||
|
GO_PKG_LDFLAGS_X= \
|
||||||
|
$(GO_PKG)/db.AppName=$(PKG_NAME) \
|
||||||
|
$(GO_PKG)/db.AppVersion=$(PKG_VERSION)
|
||||||
|
GO_PKG_TAGS:=embedallowed,trace
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include $(INCLUDE_DIR)/bpf.mk
|
||||||
|
include ../../lang/golang/golang-package.mk
|
||||||
|
|
||||||
|
TAR_CMD=$(HOST_TAR) -C $(BUILD_DIR)/ $(TAR_OPTIONS)
|
||||||
|
|
||||||
|
define Package/daed/Default
|
||||||
|
SECTION:=net
|
||||||
|
CATEGORY:=Network
|
||||||
|
SUBMENU:=Web Servers/Proxies
|
||||||
|
URL:=https://github.com/daeuniverse/daed
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/daed
|
||||||
|
$(call Package/daed/Default)
|
||||||
|
TITLE:=A Modern Dashboard For dae
|
||||||
|
# You need enable KERNEL_DEBUG_INFO_BTF and KERNEL_BPF_EVENTS
|
||||||
|
DEPENDS:=$(GO_ARCH_DEPENDS) $(BPF_DEPENDS) \
|
||||||
|
+ca-bundle +kmod-sched-core +kmod-sched-bpf +kmod-xdp-sockets-diag \
|
||||||
|
+kmod-veth
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/daed-geoip
|
||||||
|
$(call Package/daed/Default)
|
||||||
|
TITLE:=geoip for daed
|
||||||
|
DEPENDS:=+daed +v2ray-geoip
|
||||||
|
PKGARCH:=all
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/daed-geosite
|
||||||
|
$(call Package/daed/Default)
|
||||||
|
TITLE:=geosite for daed
|
||||||
|
DEPENDS:=+daed +v2ray-geosite
|
||||||
|
PKGARCH:=all
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/daed/description
|
||||||
|
daed is a backend of dae, provides a method to bundle arbitrary
|
||||||
|
frontend, dae and geodata into one binary.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/daed/conffiles
|
||||||
|
/etc/daed/wing.db
|
||||||
|
/etc/config/daed
|
||||||
|
endef
|
||||||
|
|
||||||
|
WEB_FILE:=$(PKG_NAME)-web-$(PKG_VERSION).zip
|
||||||
|
define Download/daed-web
|
||||||
|
URL:=https://github.com/daeuniverse/daed/releases/download/v$(PKG_VERSION)
|
||||||
|
URL_FILE:=web.zip
|
||||||
|
FILE:=$(WEB_FILE)
|
||||||
|
HASH:=92b9721f9f27275a03e64f44806668965199d946a7c18bd7b36e79deff105143
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Prepare
|
||||||
|
$(call Build/Prepare/Default)
|
||||||
|
|
||||||
|
( \
|
||||||
|
mkdir -p $(PKG_BUILD_DIR)/webrender ; \
|
||||||
|
unzip -q -d $(PKG_BUILD_DIR)/webrender/ $(DL_DIR)/$(WEB_FILE) ; \
|
||||||
|
find $(PKG_BUILD_DIR)/webrender/web -type f -size +4k ! -name "*.gz" ! -name "*.woff" ! -name "*.woff2" -exec sh -c '\
|
||||||
|
gzip -9 -k "{}"; \
|
||||||
|
if [ "$$$$(stat -c %s "{}")" -lt "$$$$(stat -c %s "{}.gz")" ]; then \
|
||||||
|
rm "{}.gz"; \
|
||||||
|
else \
|
||||||
|
rm "{}"; \
|
||||||
|
fi' \
|
||||||
|
";" ; \
|
||||||
|
)
|
||||||
|
endef
|
||||||
|
|
||||||
|
DAE_CFLAGS:= \
|
||||||
|
-O2 -Wall -Werror \
|
||||||
|
-DMAX_MATCH_SET_LEN=64 \
|
||||||
|
-I$(BPF_HEADERS_DIR)/tools/lib \
|
||||||
|
-I$(BPF_HEADERS_DIR)/arch/$(BPF_KARCH)/include/asm/mach-generic
|
||||||
|
|
||||||
|
ifneq ($(CONFIG_USE_MUSL),)
|
||||||
|
TARGET_CFLAGS += -D_LARGEFILE64_SOURCE
|
||||||
|
endif
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
( \
|
||||||
|
pushd $(PKG_BUILD_DIR) ; \
|
||||||
|
export \
|
||||||
|
$(GO_GENERAL_BUILD_CONFIG_VARS) \
|
||||||
|
$(GO_PKG_BUILD_CONFIG_VARS) \
|
||||||
|
$(GO_PKG_BUILD_VARS) ; \
|
||||||
|
go generate ./... ; \
|
||||||
|
cd dae-core ; \
|
||||||
|
export \
|
||||||
|
BPF_CLANG="$(CLANG)" \
|
||||||
|
BPF_STRIP_FLAG="-strip=$(LLVM_STRIP)" \
|
||||||
|
BPF_CFLAGS="$(DAE_CFLAGS)" \
|
||||||
|
BPF_TARGET="bpfel,bpfeb" \
|
||||||
|
BPF_TRACE_TARGET="$(GO_ARCH)" ; \
|
||||||
|
go generate control/control.go ; \
|
||||||
|
go generate trace/trace.go ; \
|
||||||
|
popd ; \
|
||||||
|
$(call GoPackage/Build/Compile) ; \
|
||||||
|
)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/daed/install
|
||||||
|
$(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR))
|
||||||
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dae-wing $(1)/usr/bin/daed
|
||||||
|
|
||||||
|
$(INSTALL_DIR) $(1)/etc/config
|
||||||
|
$(INSTALL_CONF) $(CURDIR)/files/daed.config $(1)/etc/config/daed
|
||||||
|
|
||||||
|
$(INSTALL_DIR) $(1)/etc/init.d
|
||||||
|
$(INSTALL_BIN) $(CURDIR)/files/daed.init $(1)/etc/init.d/daed
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/daed-geoip/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/share/daed
|
||||||
|
$(LN) ../v2ray/geoip.dat $(1)/usr/share/daed/geoip.dat
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/daed-geosite/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/share/daed
|
||||||
|
$(LN) ../v2ray/geosite.dat $(1)/usr/share/daed/geosite.dat
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call Download,daed-web))
|
||||||
|
$(eval $(call GoBinPackage,daed))
|
||||||
|
$(eval $(call BuildPackage,daed))
|
||||||
|
$(eval $(call BuildPackage,daed-geoip))
|
||||||
|
$(eval $(call BuildPackage,daed-geosite))
|
7
daed/files/daed.config
Normal file
7
daed/files/daed.config
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
config daed 'config'
|
||||||
|
option enabled '0'
|
||||||
|
option listen_addr '0.0.0.0:2023'
|
||||||
|
option log_maxbackups '1'
|
||||||
|
option log_maxsize '5'
|
||||||
|
|
46
daed/files/daed.init
Normal file
46
daed/files/daed.init
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
# Copyright (C) 2023 Tianling Shen <cnsztl@immortalwrt.org>
|
||||||
|
|
||||||
|
USE_PROCD=1
|
||||||
|
START=99
|
||||||
|
|
||||||
|
CONF="daed"
|
||||||
|
PROG="/usr/bin/daed"
|
||||||
|
LOG="/var/log/daed/daed.log"
|
||||||
|
|
||||||
|
start_service() {
|
||||||
|
config_load "$CONF"
|
||||||
|
|
||||||
|
local enabled
|
||||||
|
config_get_bool enabled "config" "enabled" "0"
|
||||||
|
[ "$enabled" -eq "1" ] || return 1
|
||||||
|
|
||||||
|
local listen_addr log_maxbackups log_maxsize
|
||||||
|
config_get listen_addr "config" "listen_addr" "0.0.0.0:2023"
|
||||||
|
config_get log_maxbackups "config" "log_maxbackups" "1"
|
||||||
|
config_get log_maxsize "config" "log_maxsize" "5"
|
||||||
|
|
||||||
|
procd_open_instance "$CONF"
|
||||||
|
procd_set_param command "$PROG" run
|
||||||
|
procd_append_param command --config "/etc/daed/"
|
||||||
|
procd_append_param command --listen "$listen_addr"
|
||||||
|
procd_append_param command --logfile "$LOG"
|
||||||
|
procd_append_param command --logfile-maxbackups "$log_maxbackups"
|
||||||
|
procd_append_param command --logfile-maxsize "$log_maxsize"
|
||||||
|
|
||||||
|
procd_set_param limits core="unlimited"
|
||||||
|
procd_set_param limits nofile="1000000 1000000"
|
||||||
|
procd_set_param respawn
|
||||||
|
# procd_set_param stdout 1
|
||||||
|
procd_set_param stderr 1
|
||||||
|
|
||||||
|
procd_close_instance
|
||||||
|
}
|
||||||
|
|
||||||
|
stop_service() {
|
||||||
|
rm -f "$LOG"
|
||||||
|
}
|
||||||
|
|
||||||
|
service_triggers() {
|
||||||
|
procd_add_reload_trigger "$CONF"
|
||||||
|
}
|
7
daed/test.sh
Normal file
7
daed/test.sh
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
"daed")
|
||||||
|
daed --version | grep "$PKG_VERSION"
|
||||||
|
;;
|
||||||
|
esac
|
Loading…
Reference in New Issue
Block a user