secubox-openwrt/package/secubox/luci-app-meshname-dns/Makefile
CyberMind-FR 07705f458c feat(meshname-dns): Add decentralized .ygg domain resolution
Implements Meshname DNS for Yggdrasil mesh networks with gossip-based
service discovery and dnsmasq integration.

New packages:
- secubox-app-meshname-dns: Core service with meshnamectl CLI
- luci-app-meshname-dns: LuCI dashboard for service management

Features:
- Services announce .ygg domains via gossip protocol (meshname_announce)
- dnsmasq integration via /tmp/hosts/meshname dynamic hosts file
- Cross-node resolution through gossip message propagation
- RPCD handler with 8 methods for LuCI integration

CLI commands: announce, revoke, resolve, list, sync, status, daemon

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-28 07:57:16 +01:00

31 lines
1.1 KiB
Makefile

# SPDX-License-Identifier: MIT
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI Meshname DNS Dashboard
LUCI_DEPENDS:=+secubox-app-meshname-dns +luci-base
LUCI_PKGARCH:=all
PKG_NAME:=luci-app-meshname-dns
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>
PKG_LICENSE:=MIT
include $(TOPDIR)/feeds/luci/luci.mk
define Package/luci-app-meshname-dns/install
$(INSTALL_DIR) $(1)/www/luci-static/resources/view/meshname
$(INSTALL_DATA) ./htdocs/luci-static/resources/view/meshname/*.js $(1)/www/luci-static/resources/view/meshname/
$(INSTALL_DIR) $(1)/usr/libexec/rpcd
$(INSTALL_BIN) ./root/usr/libexec/rpcd/luci.meshname $(1)/usr/libexec/rpcd/luci.meshname
$(INSTALL_DIR) $(1)/usr/share/rpcd/acl.d
$(INSTALL_DATA) ./root/usr/share/rpcd/acl.d/luci-app-meshname-dns.json $(1)/usr/share/rpcd/acl.d/luci-app-meshname-dns.json
$(INSTALL_DIR) $(1)/usr/share/luci/menu.d
$(INSTALL_DATA) ./root/usr/share/luci/menu.d/luci-app-meshname-dns.json $(1)/usr/share/luci/menu.d/luci-app-meshname-dns.json
endef
$(eval $(call BuildPackage,luci-app-meshname-dns))