nikki: sync upstream

last commit: a3b387c37f
This commit is contained in:
gitea-action 2025-04-08 17:01:03 +08:00
parent 96ebf8f35e
commit e9f8d235e2
6 changed files with 16 additions and 69 deletions

View File

@ -5,9 +5,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git
PKG_SOURCE_DATE:=2025-03-20 PKG_SOURCE_DATE:=2025-04-06
PKG_SOURCE_VERSION:=0f32c054f47641a2ee9c9362fc65652e772924b2 PKG_SOURCE_VERSION:=9e8f4ada4754ae95b002535acbeb457e40b06731
PKG_MIRROR_HASH:=276f1dcc81b3cece5c7de5b16ddac8d596bf20e7c3bb8993d963042acf845a14 PKG_MIRROR_HASH:=1c8a7d70de0cb903b58eca1937b6561003cae7e76f9f021fd3eb9007b6a1f65f
PKG_LICENSE:=GPL3.0+ PKG_LICENSE:=GPL3.0+
PKG_MAINTAINER:=Joseph Mory <morytyann@gmail.com> PKG_MAINTAINER:=Joseph Mory <morytyann@gmail.com>
@ -16,7 +16,7 @@ PKG_BUILD_DEPENDS:=golang/host
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
PKG_BUILD_FLAGS:=no-mips16 PKG_BUILD_FLAGS:=no-mips16
PKG_BUILD_VERSION:=alpha-0f32c05 PKG_BUILD_VERSION:=alpha-9e8f4ad
PKG_BUILD_TIME:=$(shell date -u -Iseconds) PKG_BUILD_TIME:=$(shell date -u -Iseconds)
GO_PKG:=github.com/metacubex/mihomo GO_PKG:=github.com/metacubex/mihomo

View File

@ -175,17 +175,9 @@ service_started() {
## cgroupfs-mount ## cgroupfs-mount
### when cgroupfs-mount is installed, cgroupv1 will mounted instead of cgroupv2, we need to create cgroup manually ### when cgroupfs-mount is installed, cgroupv1 will mounted instead of cgroupv2, we need to create cgroup manually
if (mount | grep -q -w "^cgroup"); then if (mount | grep -q -w "^cgroup"); then
local cgroup_v1_path; cgroup_v1_path="/sys/fs/cgroup/net_cls/$CGROUP_NAME" mkdir -p "/sys/fs/cgroup/net_cls/$CGROUP_NAME"
mkdir -p "$cgroup_v1_path" echo "$CGROUP_ID" > "/sys/fs/cgroup/net_cls/$CGROUP_NAME/net_cls.classid"
echo "$CGROUP_ID" > "$cgroup_v1_path/net_cls.classid" cat "$PID_FILE_PATH" > "/sys/fs/cgroup/net_cls/$CGROUP_NAME/cgroup.procs"
cat "$PID_FILE_PATH" > "$cgroup_v1_path/cgroup.procs"
# local bypass_cgroup; config_get bypass_cgroup "proxy" "bypass_cgroup"
# if [ -n "$bypass_cgroup" ]; then
# local cgroup
# for cgroup in $bypass_cgroup; do
# ubus call service list "{\"name\": \"$cgroup\"}" | jsonfilter -e "$.$cgroup.instances.*.pid" >> "$cgroup_v1_path/cgroup.procs"
# done
# fi
fi fi
## kmod-br-netfilter ## kmod-br-netfilter
### when kmod-br-netfilter is loaded, bridge-nf-call-iptables and bridge-nf-call-ip6tables are set to 1, we need to set them to 0 if tproxy is enabled ### when kmod-br-netfilter is loaded, bridge-nf-call-iptables and bridge-nf-call-ip6tables are set to 1, we need to set them to 0 if tproxy is enabled
@ -299,14 +291,13 @@ cleanup() {
nft delete rule inet fw4 forward handle "$handle" nft delete rule inet fw4 forward handle "$handle"
done done
# delete started flag # delete started flag
rm -f "$STARTED_FLAG_PATH" rm "$STARTED_FLAG_PATH" > /dev/null 2>&1
# revert fix compatible between tproxy and dockerd (kmod-br-netfilter) # revert fix compatible with dockerd
if [ -f "$BRIDGE_NF_CALL_IPTABLES_FLAG_PATH" ]; then ## kmod-br-netfilter
rm -f "$BRIDGE_NF_CALL_IPTABLES_FLAG_PATH" if (rm "$BRIDGE_NF_CALL_IPTABLES_FLAG_PATH" > /dev/null 2>&1); then
sysctl -q -w net.bridge.bridge-nf-call-iptables=1 sysctl -q -w net.bridge.bridge-nf-call-iptables=1
fi fi
if [ -f "$BRIDGE_NF_CALL_IP6TABLES_FLAG_PATH" ]; then if (rm "$BRIDGE_NF_CALL_IP6TABLES_FLAG_PATH" > /dev/null 2>&1); then
rm -f "$BRIDGE_NF_CALL_IP6TABLES_FLAG_PATH"
sysctl -q -w net.bridge.bridge-nf-call-ip6tables=1 sysctl -q -w net.bridge.bridge-nf-call-ip6tables=1
fi fi
# delete cron # delete cron

View File

@ -27,7 +27,7 @@ LOG_DIR="/var/log/nikki"
APP_LOG_PATH="$LOG_DIR/app.log" APP_LOG_PATH="$LOG_DIR/app.log"
CORE_LOG_PATH="$LOG_DIR/core.log" CORE_LOG_PATH="$LOG_DIR/core.log"
# flag # temp
TEMP_DIR="/var/run/nikki" TEMP_DIR="/var/run/nikki"
PID_FILE_PATH="$TEMP_DIR/nikki.pid" PID_FILE_PATH="$TEMP_DIR/nikki.pid"
STARTED_FLAG_PATH="$TEMP_DIR/started.flag" STARTED_FLAG_PATH="$TEMP_DIR/started.flag"

View File

@ -20,39 +20,6 @@ proxy_fake_ip_ping_hijack=$(uci -q get nikki.proxy.fake_ip_ping_hijack); [ -z "$
# since v1.20.0 # since v1.20.0
mixin=$(uci -q get nikki.config.mixin); [ -n "$mixin" ] && {
uci del nikki.config.mixin
[ "$mixin" == "0" ] && {
uci del nikki.mixin.unify_delay
uci del nikki.mixin.tcp_concurrent
uci del nikki.mixin.tcp_keep_alive_idle
uci del nikki.mixin.tcp_keep_alive_interval
uci set nikki.mixin.fake_ip_filter=0
uci del nikki.mixin.fake_ip_filter_mode
uci del nikki.mixin.dns_respect_rules
uci del nikki.mixin.dns_doh_prefer_http3
uci del nikki.mixin.dns_system_hosts
uci del nikki.mixin.dns_hosts
uci set nikki.mixin.hosts=0
uci set nikki.mixin.dns_nameserver=0
uci set nikki.mixin.dns_nameserver_policy=0
uci del nikki.mixin.sniffer
uci del nikki.mixin.sniffer_sniff_dns_mapping
uci del nikki.mixin.sniffer_sniff_pure_ip
uci set nikki.mixin.sniffer_force_domain_name=0
uci set nikki.mixin.sniffer_ignore_domain_name=0
uci set nikki.mixin.sniffer_sniff=0
uci del nikki.mixin.geoip_format
uci del nikki.mixin.geodata_loader
uci del nikki.mixin.geosite_url
uci del nikki.mixin.geoip_mmdb_url
uci del nikki.mixin.geoip_dat_url
uci del nikki.mixin.geoip_asn_url
uci del nikki.mixin.geox_auto_update
uci del nikki.mixin.geox_update_interval
}
}
mixin_api_port=$(uci -q get nikki.mixin.api_port); [ -n "$mixin_api_port" ] && { mixin_api_port=$(uci -q get nikki.mixin.api_port); [ -n "$mixin_api_port" ] && {
uci del nikki.mixin.api_port uci del nikki.mixin.api_port
uci set nikki.mixin.api_listen=[::]:$mixin_api_port uci set nikki.mixin.api_listen=[::]:$mixin_api_port
@ -63,17 +30,6 @@ mixin_dns_port=$(uci -q get nikki.mixin.dns_port); [ -n "$mixin_dns_port" ] && {
uci set nikki.mixin.dns_listen=[::]:$mixin_dns_port uci set nikki.mixin.dns_listen=[::]:$mixin_dns_port
} }
# since v1.21.0
proxy_bypass_cgroup=$(uci -q get nikki.proxy.bypass_cgroup); [ -z "$proxy_bypass_cgroup" ] && {
uci add_list nikki.proxy.bypass_cgroup=adguardhome
uci add_list nikki.proxy.bypass_cgroup=aria2
uci add_list nikki.proxy.bypass_cgroup=dnsmasq
uci add_list nikki.proxy.bypass_cgroup=netbird
uci add_list nikki.proxy.bypass_cgroup=qbittorrent
uci add_list nikki.proxy.bypass_cgroup=tailscale
uci add_list nikki.proxy.bypass_cgroup=zerotier
}
# commit # commit
uci commit nikki uci commit nikki

View File

@ -364,7 +364,7 @@ table inet nikki {
meta nfproto @proxy_nfproto meta l4proto tcp counter redirect to :{{ redir_port }} meta nfproto @proxy_nfproto meta l4proto tcp counter redirect to :{{ redir_port }}
{% endif %} {% endif %}
{% if (fake_ip_ping_hijack): %} {% if (fake_ip_ping_hijack): %}
ip protocol icmp ip daddr {{ fake_ip_range }} counter redirect ip protocol icmp icmp type echo-request ip daddr {{ fake_ip_range }} counter redirect
{% endif %} {% endif %}
} }
@ -429,7 +429,7 @@ table inet nikki {
meta nfproto @proxy_nfproto jump lan_redirect meta nfproto @proxy_nfproto jump lan_redirect
{% endif %} {% endif %}
{% if (fake_ip_ping_hijack): %} {% if (fake_ip_ping_hijack): %}
ip protocol icmp ip daddr {{ fake_ip_range }} counter redirect ip protocol icmp icmp type echo-request ip daddr {{ fake_ip_range }} counter redirect
{% endif %} {% endif %}
} }

View File

@ -52,7 +52,7 @@ export function trim_all(obj) {
}; };
export function get_cgroups_version() { export function get_cgroups_version() {
return system('mount | grep -q -w -e "^cgroup"') == 0 ? 1 : 2; return system('mount | grep -q -w "^cgroup"') == 0 ? 1 : 2;
}; };
export function get_users() { export function get_users() {