include $(TOPDIR)/rules.mk PKG_NAME:=nikki PKG_VERSION:=2026.04.08 PKG_RELEASE:=1 PKG_LICENSE:=GPL3.0+ PKG_MAINTAINER:=Joseph Mory include $(INCLUDE_DIR)/package.mk define Package/nikki SECTION:=net CATEGORY:=Network TITLE:=Transparent Proxy with Mihomo on OpenWrt. URL:=https://github.com/nikkinikki-org DEPENDS:=+ca-bundle +curl +yq firewall4 +ip-full +kmod-inet-diag +kmod-nft-socket +kmod-nft-tproxy +kmod-tun +kmod-dummy +mihomo endef define Package/nikki/conffiles /etc/config/nikki /etc/nikki/mixin.yaml endef define Package/nikki/install $(INSTALL_DIR) $(1)/etc/nikki $(INSTALL_DIR) $(1)/etc/nikki/ucode $(INSTALL_DIR) $(1)/etc/nikki/scripts $(INSTALL_DIR) $(1)/etc/nikki/nftables $(INSTALL_DIR) $(1)/etc/nikki/profiles $(INSTALL_DIR) $(1)/etc/nikki/subscriptions $(INSTALL_DIR) $(1)/etc/nikki/run $(INSTALL_DIR) $(1)/etc/nikki/run/providers $(INSTALL_DIR) $(1)/etc/nikki/run/providers/rule $(INSTALL_DIR) $(1)/etc/nikki/run/providers/proxy $(INSTALL_DATA) $(CURDIR)/files/mixin.yaml $(1)/etc/nikki/mixin.yaml $(INSTALL_BIN) $(CURDIR)/files/ucode/include.uc $(1)/etc/nikki/ucode/include.uc $(INSTALL_BIN) $(CURDIR)/files/ucode/mixin.uc $(1)/etc/nikki/ucode/mixin.uc $(INSTALL_BIN) $(CURDIR)/files/ucode/hijack.ut $(1)/etc/nikki/ucode/hijack.ut $(INSTALL_BIN) $(CURDIR)/files/scripts/include.sh $(1)/etc/nikki/scripts/include.sh $(INSTALL_BIN) $(CURDIR)/files/scripts/firewall_include.sh $(1)/etc/nikki/scripts/firewall_include.sh $(INSTALL_BIN) $(CURDIR)/files/scripts/debug.sh $(1)/etc/nikki/scripts/debug.sh $(INSTALL_BIN) $(CURDIR)/files/nftables/geoip_cn.nft $(1)/etc/nikki/nftables/geoip_cn.nft $(INSTALL_BIN) $(CURDIR)/files/nftables/geoip6_cn.nft $(1)/etc/nikki/nftables/geoip6_cn.nft $(INSTALL_DIR) $(1)/etc/config $(INSTALL_CONF) $(CURDIR)/files/nikki.conf $(1)/etc/config/nikki $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) $(CURDIR)/files/nikki.init $(1)/etc/init.d/nikki $(INSTALL_DIR) $(1)/etc/uci-defaults $(INSTALL_BIN) $(CURDIR)/files/uci-defaults/firewall.sh $(1)/etc/uci-defaults/99_firewall_nikki $(INSTALL_BIN) $(CURDIR)/files/uci-defaults/init.sh $(1)/etc/uci-defaults/99_init_nikki $(INSTALL_BIN) $(CURDIR)/files/uci-defaults/migrate.sh $(1)/etc/uci-defaults/99_migrate_nikki $(INSTALL_DIR) $(1)/lib/upgrade/keep.d $(INSTALL_DATA) $(CURDIR)/files/nikki.upgrade $(1)/lib/upgrade/keep.d/nikki endef define Package/nikki/postrm #!/bin/sh if [ -z $${IPKG_INSTROOT} ]; then uci -q batch <<-EOF > /dev/null del firewall.nikki commit firewall EOF fi endef define Build/Compile endef $(eval $(call BuildPackage,nikki))