diff --git a/smartdns/Makefile b/smartdns/Makefile new file mode 100644 index 0000000..b4f8e37 --- /dev/null +++ b/smartdns/Makefile @@ -0,0 +1,63 @@ +# +# Copyright (c) 2018-2023 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:=1.2025.46.1 +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://www.github.com/pymumu/smartdns.git +PKG_SOURCE_VERSION:=b525170bfd627607ee5ac81f97ae0f1f4f087d6b +PKG_MIRROR_HASH:=04660240ac6bbdc42e424893507f912d922e5d77bdf526735c2ed64749a456f4 + +PKG_MAINTAINER:=Nick Peng <pymumu@gmail.com> +PKG_LICENSE:=GPL-3.0-or-later +PKG_LICENSE_FILES:=LICENSE + +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk + +MAKE_VARS += VER=$(PKG_VERSION) +MAKE_PATH:=src + +define Package/smartdns + SECTION:=net + CATEGORY:=Network + TITLE:=smartdns server + SUBMENU:=IP Addresses and Names + DEPENDS:=+libpthread +libopenssl + URL:=https://www.github.com/pymumu/smartdns/ +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/conffiles +/etc/config/smartdns +/etc/smartdns/address.conf +/etc/smartdns/blacklist-ip.conf +/etc/smartdns/custom.conf +/etc/smartdns/domain-block.list +/etc/smartdns/domain-forwarding.list +endef + +define Package/smartdns/install + $(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_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/files/etc/config/smartdns $(1)/etc/config/smartdns +endef + +$(eval $(call BuildPackage,smartdns))