diff --git a/dae/Makefile b/dae/Makefile index 649c47ef..b4af1a11 100644 --- a/dae/Makefile +++ b/dae/Makefile @@ -10,7 +10,7 @@ PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_PROTO:=git -PKG_SOURCE_VERSION:=fcf5c580eb4a06a360abd1f9ce8da8a03c2fbca1 +PKG_SOURCE_VERSION:=8acf55d4f745b3dabb75370793ccdd7942cc018a PKG_SOURCE_URL:=https://github.com/olicesx/dae.git PKG_MIRROR_HASH:=skip diff --git a/luci-app-passwall/root/usr/share/passwall/helper_chinadns_add.lua b/luci-app-passwall/root/usr/share/passwall/helper_chinadns_add.lua index f26535a6..8a4c2769 100644 --- a/luci-app-passwall/root/usr/share/passwall/helper_chinadns_add.lua +++ b/luci-app-passwall/root/usr/share/passwall/helper_chinadns_add.lua @@ -339,8 +339,7 @@ if CHNLIST ~= "0" and is_file_nonzero(RULES_PATH .. "/chnlist") then "chnlist-file " .. RULES_PATH .. "/chnlist", "ipset-name4 " .. setflag .. "psw_chn" .. suffix, "ipset-name6 " .. setflag .. "psw_chn6" .. suffix, - "add-tagchn-ip" .. ((NFTFLAG == "1") and (" " .. table.concat(sets, ",")) or ""), - "chnlist-first" + "add-tagchn-ip" .. ((NFTFLAG == "1") and (" " .. table.concat(sets, ",")) or "") } merge_array(config_lines, tmp_lines) log(string.format(" - 中国域名表(chnroute):%s", DNS_LOCAL or "默认")) diff --git a/lucky/Makefile b/lucky/Makefile index d1ff2f48..92af5e78 100644 --- a/lucky/Makefile +++ b/lucky/Makefile @@ -1,9 +1,10 @@ # SPDX-License-Identifier: GPL-3.0-only # -# Copyright (C) 2021-2022 sirpdboy +# Copyright (C) 2021-2025 sirpdboy # # This is free software, licensed under the Apache License, Version 2.0 . # +# include $(TOPDIR)/rules.mk @@ -25,8 +26,12 @@ ifeq ($(ARCH),x86_64) LUCKY_ARCH:=x86_64 endif ifeq ($(ARCH),arm) + ifeq ($(BOARD),bcm53xx) + LUCKY_ARCH:=armv6 + else LUCKY_ARCH:=armv7 endif +endif ifeq ($(BOARD),bcm53xx) LUCKY_ARCH:=armv6 ifeq ($(word 2,$(subst +,$(space),$(call qstrip,$(CONFIG_CPU_TYPE)))),) @@ -45,33 +50,42 @@ PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=GDY666 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) -PKG_HASH:=0216c9a833724875f4a004aa5fc5e6e1a2d9f92f99e933905f76ebf7876b413c +PKG_HASH:=skip include $(INCLUDE_DIR)/package.mk define Package/$(PKG_NAME) SECTION:=net CATEGORY:=Network - TITLE:=Lucky dynamic domain name ddns-go service, socat,frp + TITLE:=Lucky gdy DEPENDS:=@(i386||x86_64||arm||aarch64||mipsel||mips) URL:=https://github.com/gdy666/lucky endef define Package/$(PKG_NAME)/description - Main functions of Lucky: dynamic domain name ddns-go service, socat,reverse proxy ,wake on lan + Main functions of Lucky: ipv4/ipv6 portforward,ddns,IOT wake on lan ,reverse proxy and more... endef define Build/Prepare [ ! -f $(PKG_BUILD_DIR)/$(PKG_NAME)_$(PKG_VERSION)_Linux_$(LUCKY_ARCH).tar.gz ] && wget https://github.com/gdy666/lucky/releases/download/v$(PKG_VERSION)/$(PKG_NAME)_$(PKG_VERSION)_Linux_$(LUCKY_ARCH).tar.gz -O $(PKG_BUILD_DIR)/$(PKG_NAME)_$(PKG_VERSION)_Linux_$(LUCKY_ARCH).tar.gz - tar -xzvf $(PKG_BUILD_DIR)/$(PKG_NAME)_$(PKG_VERSION)_Linux_$(LUCKY_ARCH).tar.gz -C $(PKG_BUILD_DIR) + tar -xzvf $(PKG_BUILD_DIR)/$(PKG_NAME)_$(PKG_VERSION)_Linux_$(LUCKY_ARCH).tar.gz -C $(PKG_BUILD_DIR) || exit 1 endef +define Package/$(PKG_NAME)/conffiles +/etc/config/lucky +/etc/lucky/* +endef define Build/Compile endef define Package/$(PKG_NAME)/install - $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_DIR) $(1)/usr/bin/ + $(INSTALL_DIR) $(1)/etc/init.d/ + $(INSTALL_DIR) $(1)/etc/config/ $(INSTALL_BIN) $(PKG_BUILD_DIR)/lucky $(1)/usr/bin/lucky + $(INSTALL_BIN) $(CURDIR)/files/luckyarch.bin $(1)/usr/bin/luckyarch + $(INSTALL_BIN) ./files/lucky.init $(1)/etc/init.d/lucky + $(INSTALL_CONF) $(CURDIR)/files/lucky.config $(1)/etc/config/lucky endef $(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/lucky/files/lucky.config b/lucky/files/lucky.config new file mode 100644 index 00000000..03c96239 --- /dev/null +++ b/lucky/files/lucky.config @@ -0,0 +1,5 @@ +config lucky 'lucky' + option logger '1' + option port '16601' + option configdir '/etc/lucky' + option enabled '0' diff --git a/lucky/files/lucky.init b/lucky/files/lucky.init new file mode 100644 index 00000000..d68f15c9 --- /dev/null +++ b/lucky/files/lucky.init @@ -0,0 +1,81 @@ +#!/bin/sh /etc/rc.common +# +# Copyright (C) 2021-2025 sirpdboy https://github.com/sirpdboy/luci-app-lucky + +# This file is part of lucky . +# +# This is free software, licensed under the Apache License, Version 2.0 . + +START=99 +STOP=15 +USE_PROCD=1 + +CONF=lucky +PROG=/usr/bin/lucky +CONFDIR=/etc/lucky + +get_config() { + config_get_bool enabled $1 enabled 0 + config_get_bool logger $1 logger 1 + config_get port $1 port 16601 + config_get SafeURL $1 safe + config_get delay $1 delay 0 + +} + +init_config(){ + config_load "$CONF" + config_foreach get_config "$CONF" +} + +init_confdir(){ + [ -d $CONFDIR ] || mkdir -p $CONFDIR 2>/dev/null +} + +LOG(){ + echo "$1" + logger -t lucky -p warn "$1" +} + +start_instance() { + enabled=$(uci -q get $CONF.$CONF.enabled ) || enabled="0" + logger=$(uci -q get $CONF.$CONF.logger ) || logger="1" + port=$(uci -q get $CONF.$CONF.port ) || port="16601" + SafeURL=$(uci -q get $CONF.$CONF.safe ) || SafeURL=" " + delay=$(uci -q get $CONF.$CONF.delay ) || delay="5" + SafeURL="${SafeURL##*( )}" + SafeURL="${SafeURL%%*( )}" + + init_confdir + [ x$enabled = x1 ] || return 1 + [ $(awk -F. '{print $1}' /proc/uptime) -lt "120" ] && sleep $delay + $(which lucky) -setconf -key AdminWebListenPort -value $port -cd $CONFDIR + if [ -z "$SafeURL" ] ; then + $(which lucky) -rCancelSafeURL + else + $(which lucky) -setconf -key SafeURL -value "$SafeURL" -cd $CONFDIR + fi + + procd_open_instance + procd_set_param command $PROG + procd_append_param command -cd $CONFDIR + procd_set_param respawn + procd_set_param stderr 1 + procd_close_instance + LOG "lucky is start." + +} + +start_service() { + pgrep -f $PROG | xargs kill -9 >/dev/null 2>&1 + start_instance +} + +stop_service() { + pgrep -f $PROG | xargs kill -9 >/dev/null 2>&1 + LOG "lucky is stop." +} + +service_triggers() { + procd_add_reload_trigger lucky +} diff --git a/lucky/files/luckyarch.bin b/lucky/files/luckyarch.bin new file mode 100644 index 00000000..cb7a8e0c --- /dev/null +++ b/lucky/files/luckyarch.bin @@ -0,0 +1,14 @@ +#!/bin/sh + + cputype=$(uname -ms | tr ' ' '_' | tr '[A-Z]' '[a-z]') + [ -n "$(echo $cputype | grep -E "linux.*armv.*")" ] && cpucore="armv5" + [ -n "$(echo $cputype | grep -E "linux.*armv7.*")" ] && [ -n "$(cat /proc/cpuinfo | grep vfp)" ] && [ ! -d /jffs/clash ] && cpucore="armv7" + [ -n "$(echo $cputype | grep -E "linux.*aarch64.*|linux.*armv8.*")" ] && cpucore="arm64" + [ -n "$(echo $cputype | grep -E "linux.*86.*")" ] && cpucore="i386" + [ -n "$(echo $cputype | grep -E "linux.*86_64.*")" ] && cpucore="x86_64" + if [ -n "$(echo $cputype | grep -E "linux.*mips.*")" ];then + mipstype=$(echo -n I | hexdump -o 2>/dev/null | awk '{ print substr($2,6,1); exit}') #通过判断大小端判断mips或mipsle + [ "$mipstype" = "0" ] && cpucore="mips_softfloat" || cpucore="mipsle_softfloat" + fi + +echo $cpucore