mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-13 20:08:05 +08:00
⛄ Sync 2026-10-22 00:07:59
This commit is contained in:
1 parent
31748c050e
commit
d047be4ede
22 files changed
+379
-173
No files matched your search
+84
-83
@@ -1,64 +1,60 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# Copyright (c) 2018-2023 Nick Peng (pymumu@gmail.com)
|
||||
# Copyright (c) 2018-2026 Nick Peng (pymumu@gmail.com)
|
||||
# This is free software, licensed under the GNU General Public License v3.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=smartdns
|
||||
PKG_VERSION:=48.4
|
||||
PKG_RELEASE:=8
|
||||
PKG_RELEASE:=9
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/pymumu/smartdns/tar.gz/Release$(PKG_VERSION)?
|
||||
PKG_SOURCE_VERSION:=21c940edc65520849ba03544c5cf8d9cf326e680
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/pymumu/smartdns/tar.gz
|
||||
PKG_SOURCE_URL_FILE:=$(PKG_SOURCE_VERSION)
|
||||
PKG_HASH:=skip
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-Release$(PKG_VERSION)
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_SOURCE_VERSION)
|
||||
|
||||
SMARTDNS_WEBUI_SOURCE_VERSION:=1c06fee693434ec7c71f06010d3f87416baba9f0
|
||||
SMARTDNS_WEBUI_SOURCE:=$(PKG_NAME)-webui-$(SMARTDNS_WEBUI_SOURCE_VERSION).tar.gz
|
||||
SMARTDNS_WEBUI_SOURCE_URL:=https://codeload.github.com/pymumu/smartdns-webui/tar.gz
|
||||
SMARTDNS_WEBUI_SOURCE_URL_FILE:=$(SMARTDNS_WEBUI_SOURCE_VERSION)
|
||||
SMARTDNS_WEBUI_HASH:=7a698dd4826750869429e83d91ce99a4e474d0809588a7f4124ef86875be9b1f
|
||||
|
||||
PKG_MAINTAINER:=Nick Peng <pymumu@gmail.com>
|
||||
PKG_LICENSE:=GPL-3.0-or-later
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_CPE_ID:=cpe:/a:pymumu:smartdns
|
||||
|
||||
PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_smartdns-ui
|
||||
PKG_BUILD_DEPENDS:=PACKAGE_smartdns-ui:node/host PACKAGE_smartdns-ui:rust-bindgen/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
RUST_PKG_FEATURES:=build-release
|
||||
RUST_PKG_LOCKED:=0
|
||||
# node compile is slow, so do not use it, download node manually.
|
||||
# PACKAGE_smartdns-ui:node/host
|
||||
PKG_BUILD_DEPENDS:=PACKAGE_smartdns-ui:rust/host
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(TOPDIR)/feeds/packages/lang/rust/rust-package.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
MAKE_VARS += VER=$(PKG_VERSION)
|
||||
MAKE_PATH:=src
|
||||
MAKE_VARS+= VER=$(PKG_VERSION) WITH_ZLIB=0
|
||||
|
||||
define Package/smartdns/Default
|
||||
define Package/smartdns/default
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
SUBMENU:=IP Addresses and Names
|
||||
TITLE:=smartdns
|
||||
URL:=https://www.github.com/pymumu/smartdns/
|
||||
endef
|
||||
|
||||
define Package/smartdns
|
||||
$(call Package/smartdns/Default)
|
||||
TITLE+= server
|
||||
DEPENDS:=+i386:libatomic +libopenssl
|
||||
$(Package/smartdns/default)
|
||||
TITLE:=smartdns server
|
||||
DEPENDS:=+libpthread +libopenssl +libatomic +zlib
|
||||
endef
|
||||
|
||||
define Package/smartdns/description
|
||||
SmartDNS is a local DNS server which accepts DNS query requests from local network clients,
|
||||
gets DNS query results from multiple upstream DNS servers concurrently, and returns the fastest IP to clients.
|
||||
Unlike dnsmasq's all-servers, smartdns returns the fastest IP, and encrypt DNS queries with DoT or DoH.
|
||||
endef
|
||||
|
||||
define Package/smartdns-ui
|
||||
$(call Package/smartdns/Default)
|
||||
TITLE+= dashboard
|
||||
DEPENDS:=+smartdns $(RUST_ARCH_DEPENDS) @!i386
|
||||
endef
|
||||
|
||||
define Package/smartdns-ui/description
|
||||
A dashboard ui for smartdns server.
|
||||
Unlike dnsmasq's all-servers, smartdns returns the fastest IP, and encrypt DNS queries with DoT or DoH.
|
||||
endef
|
||||
|
||||
define Package/smartdns/conffiles
|
||||
@@ -70,73 +66,78 @@ define Package/smartdns/conffiles
|
||||
/etc/smartdns/domain-forwarding.list
|
||||
endef
|
||||
|
||||
define Download/smartdns-webui
|
||||
PROTO:=git
|
||||
URL:=https://github.com/pymumu/smartdns-webui.git
|
||||
SOURCE_DATE:=2026-07-29
|
||||
SOURCE_VERSION:=1c06fee693434ec7c71f06010d3f87416baba9f0
|
||||
MIRROR_HASH:=1b718d1288f6ddbdd80e3a948dda1693fd7bc8079fdb65be121f64f23ce53849
|
||||
SUBDIR:=smartdns-webui-$$$$(subst -,.,$$$$(SOURCE_DATE))~$$$$(call version_abbrev,$$$$(SOURCE_VERSION))
|
||||
FILE:=$$(SUBDIR).tar.zst
|
||||
endef
|
||||
|
||||
define Build/Prepare
|
||||
$(call Build/Prepare/Default)
|
||||
|
||||
ifneq ($(CONFIG_PACKAGE_smartdns-ui),)
|
||||
$(eval $(call Download,smartdns-webui))
|
||||
$(eval $(Download/smartdns-webui))
|
||||
mkdir -p $(PKG_BUILD_DIR)/smartdns-webui
|
||||
zstdcat $(DL_DIR)/$(FILE) | tar -C $(PKG_BUILD_DIR)/smartdns-webui $(TAR_OPTIONS) --strip-components=1
|
||||
endif
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(call Build/Compile/Default)
|
||||
|
||||
ifneq ($(CONFIG_PACKAGE_smartdns-ui),)
|
||||
( \
|
||||
pushd $(PKG_BUILD_DIR) ; \
|
||||
pushd smartdns-webui ; \
|
||||
npm install ; \
|
||||
npm run build ; \
|
||||
popd ; \
|
||||
pushd plugin/smartdns-ui ; \
|
||||
$(CARGO_PKG_CONFIG_VARS) \
|
||||
MAKEFLAGS="$(PKG_JOBS)" \
|
||||
WITH_ZLIB=0 \
|
||||
TARGET_CFLAGS="$(filter-out -O%,$(TARGET_CFLAGS)) $(RUSTC_CFLAGS)" \
|
||||
BINDGEN_EXTRA_CLANG_ARGS="--sysroot=$(TOOLCHAIN_ROOT_DIR)" \
|
||||
cargo build -v --profile $(CARGO_PKG_PROFILE) \
|
||||
$(if $(strip $(RUST_PKG_FEATURES)),--features "$(strip $(RUST_PKG_FEATURES))") \
|
||||
$(if $(filter --jobserver%,$(PKG_JOBS)),,-j1) \
|
||||
$(CARGO_PKG_ARGS) ; \
|
||||
popd ; \
|
||||
popd ; \
|
||||
)
|
||||
endif
|
||||
endef
|
||||
|
||||
define Package/smartdns/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d
|
||||
$(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d
|
||||
$(INSTALL_DIR) $(1)/etc/smartdns $(1)/etc/smartdns/domain-set $(1)/etc/smartdns/conf.d/
|
||||
$(INSTALL_DIR) $(1)/etc/smartdns/ip-set $(1)/etc/smartdns/download
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/smartdns $(1)/usr/sbin/smartdns
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/package/openwrt/files/etc/init.d/smartdns $(1)/etc/init.d/smartdns
|
||||
$(INSTALL_CONF) $(PKG_BUILD_DIR)/package/openwrt/address.conf $(1)/etc/smartdns/address.conf
|
||||
$(INSTALL_CONF) $(PKG_BUILD_DIR)/package/openwrt/blacklist-ip.conf $(1)/etc/smartdns/blacklist-ip.conf
|
||||
$(INSTALL_CONF) $(PKG_BUILD_DIR)/package/openwrt/custom.conf $(1)/etc/smartdns/custom.conf
|
||||
$(INSTALL_CONF) $(PKG_BUILD_DIR)/package/openwrt/domain-block.list $(1)/etc/smartdns/domain-block.list
|
||||
$(INSTALL_CONF) $(PKG_BUILD_DIR)/package/openwrt/domain-forwarding.list $(1)/etc/smartdns/domain-forwarding.list
|
||||
$(INSTALL_CONF) $(PKG_BUILD_DIR)/package/openwrt/files/etc/config/smartdns $(1)/etc/config/smartdns
|
||||
endef
|
||||
|
||||
define Package/smartdns-ui
|
||||
$(Package/smartdns/default)
|
||||
TITLE:=smartdns dashboard
|
||||
DEPENDS:=+smartdns $(RUST_ARCH_DEPENDS)
|
||||
endef
|
||||
|
||||
define Package/smartdns-ui/description
|
||||
A dashboard ui for smartdns server.
|
||||
endef
|
||||
|
||||
define Package/smartdns-ui/conffiles
|
||||
/etc/config/smartdns
|
||||
endef
|
||||
|
||||
define Package/smartdns-ui/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(INSTALL_DIR) $(1)/usr/share/smartdns
|
||||
$(CP) $(PKG_BUILD_DIR)/plugin/smartdns-ui/target/$(RUSTC_TARGET_ARCH)/$(CARGO_PKG_PROFILE)/libsmartdns_ui.so $(1)/usr/lib/smartdns_ui.so
|
||||
$(CP) $(PKG_BUILD_DIR)/smartdns-webui/out $(1)/usr/share/smartdns/wwwroot
|
||||
$(INSTALL_DIR) $(1)/etc/smartdns/conf.d/
|
||||
$(INSTALL_DIR) $(1)/usr/share/smartdns/wwwroot
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/plugin/smartdns-ui/target/smartdns_ui.so $(1)/usr/lib/smartdns_ui.so
|
||||
$(CP) $(PKG_BUILD_DIR)/smartdns-webui/out/* $(1)/usr/share/smartdns/wwwroot
|
||||
endef
|
||||
|
||||
define Build/Compile/smartdns-webui
|
||||
which npm || (echo "npm not found, please install npm first" && exit 1)
|
||||
npm install --prefix $(PKG_BUILD_DIR)/smartdns-webui/
|
||||
npm run build --prefix $(PKG_BUILD_DIR)/smartdns-webui/
|
||||
endef
|
||||
|
||||
define Build/Compile/smartdns-ui
|
||||
cargo install --force --locked bindgen-cli
|
||||
CARGO_BUILD_ARGS="$(if $(strip $(RUST_PKG_FEATURES)),--features "$(strip $(RUST_PKG_FEATURES))") --profile $(CARGO_PKG_PROFILE)"
|
||||
+$(CARGO_PKG_VARS) CARGO_BUILD_ARGS="$(CARGO_BUILD_ARGS)" CC=$(TARGET_CC) \
|
||||
PATH="$$(PATH):$(CARGO_HOME)/bin" \
|
||||
AWS_LC_SYS_CFLAGS="-O0" \
|
||||
make -C $(PKG_BUILD_DIR)/plugin/smartdns-ui
|
||||
endef
|
||||
|
||||
define Download/smartdns-webui
|
||||
FILE:=$(SMARTDNS_WEBUI_SOURCE)
|
||||
URL:=$(SMARTDNS_WEBUI_SOURCE_URL)
|
||||
URL_FILE:=$(SMARTDNS_WEBUI_SOURCE_URL_FILE)
|
||||
HASH:=skip
|
||||
endef
|
||||
$(eval $(call Download,smartdns-webui))
|
||||
|
||||
ifdef CONFIG_PACKAGE_smartdns-ui
|
||||
define Build/Prepare
|
||||
$(call Build/Prepare/Default)
|
||||
$(INSTALL_DIR) $(PKG_BUILD_DIR)/smartdns-webui
|
||||
$(TAR) -C $(PKG_BUILD_DIR)/smartdns-webui --strip-components=1 -xf $(DL_DIR)/$(SMARTDNS_WEBUI_SOURCE)
|
||||
endef
|
||||
endif
|
||||
|
||||
define Build/Compile
|
||||
$(call Build/Compile/Default,smartdns)
|
||||
ifdef CONFIG_PACKAGE_smartdns-ui
|
||||
$(call Build/Compile/smartdns-ui)
|
||||
$(call Build/Compile/smartdns-webui)
|
||||
endif
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,smartdns))
|
||||
$(eval $(call RustBinPackage,smartdns-ui))
|
||||
$(eval $(call BuildPackage,smartdns-ui))
|
||||
Reference in new issue
Block a user