parent
96ebf8f35e
commit
e9f8d235e2
@ -5,9 +5,9 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git
|
||||
PKG_SOURCE_DATE:=2025-03-20
|
||||
PKG_SOURCE_VERSION:=0f32c054f47641a2ee9c9362fc65652e772924b2
|
||||
PKG_MIRROR_HASH:=276f1dcc81b3cece5c7de5b16ddac8d596bf20e7c3bb8993d963042acf845a14
|
||||
PKG_SOURCE_DATE:=2025-04-06
|
||||
PKG_SOURCE_VERSION:=9e8f4ada4754ae95b002535acbeb457e40b06731
|
||||
PKG_MIRROR_HASH:=1c8a7d70de0cb903b58eca1937b6561003cae7e76f9f021fd3eb9007b6a1f65f
|
||||
|
||||
PKG_LICENSE:=GPL3.0+
|
||||
PKG_MAINTAINER:=Joseph Mory <morytyann@gmail.com>
|
||||
@ -16,7 +16,7 @@ PKG_BUILD_DEPENDS:=golang/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_BUILD_FLAGS:=no-mips16
|
||||
|
||||
PKG_BUILD_VERSION:=alpha-0f32c05
|
||||
PKG_BUILD_VERSION:=alpha-9e8f4ad
|
||||
PKG_BUILD_TIME:=$(shell date -u -Iseconds)
|
||||
|
||||
GO_PKG:=github.com/metacubex/mihomo
|
||||
|
@ -175,17 +175,9 @@ service_started() {
|
||||
## cgroupfs-mount
|
||||
### when cgroupfs-mount is installed, cgroupv1 will mounted instead of cgroupv2, we need to create cgroup manually
|
||||
if (mount | grep -q -w "^cgroup"); then
|
||||
local cgroup_v1_path; cgroup_v1_path="/sys/fs/cgroup/net_cls/$CGROUP_NAME"
|
||||
mkdir -p "$cgroup_v1_path"
|
||||
echo "$CGROUP_ID" > "$cgroup_v1_path/net_cls.classid"
|
||||
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
|
||||
mkdir -p "/sys/fs/cgroup/net_cls/$CGROUP_NAME"
|
||||
echo "$CGROUP_ID" > "/sys/fs/cgroup/net_cls/$CGROUP_NAME/net_cls.classid"
|
||||
cat "$PID_FILE_PATH" > "/sys/fs/cgroup/net_cls/$CGROUP_NAME/cgroup.procs"
|
||||
fi
|
||||
## 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
|
||||
@ -299,14 +291,13 @@ cleanup() {
|
||||
nft delete rule inet fw4 forward handle "$handle"
|
||||
done
|
||||
# delete started flag
|
||||
rm -f "$STARTED_FLAG_PATH"
|
||||
# revert fix compatible between tproxy and dockerd (kmod-br-netfilter)
|
||||
if [ -f "$BRIDGE_NF_CALL_IPTABLES_FLAG_PATH" ]; then
|
||||
rm -f "$BRIDGE_NF_CALL_IPTABLES_FLAG_PATH"
|
||||
rm "$STARTED_FLAG_PATH" > /dev/null 2>&1
|
||||
# revert fix compatible with dockerd
|
||||
## kmod-br-netfilter
|
||||
if (rm "$BRIDGE_NF_CALL_IPTABLES_FLAG_PATH" > /dev/null 2>&1); then
|
||||
sysctl -q -w net.bridge.bridge-nf-call-iptables=1
|
||||
fi
|
||||
if [ -f "$BRIDGE_NF_CALL_IP6TABLES_FLAG_PATH" ]; then
|
||||
rm -f "$BRIDGE_NF_CALL_IP6TABLES_FLAG_PATH"
|
||||
if (rm "$BRIDGE_NF_CALL_IP6TABLES_FLAG_PATH" > /dev/null 2>&1); then
|
||||
sysctl -q -w net.bridge.bridge-nf-call-ip6tables=1
|
||||
fi
|
||||
# delete cron
|
||||
|
@ -27,7 +27,7 @@ LOG_DIR="/var/log/nikki"
|
||||
APP_LOG_PATH="$LOG_DIR/app.log"
|
||||
CORE_LOG_PATH="$LOG_DIR/core.log"
|
||||
|
||||
# flag
|
||||
# temp
|
||||
TEMP_DIR="/var/run/nikki"
|
||||
PID_FILE_PATH="$TEMP_DIR/nikki.pid"
|
||||
STARTED_FLAG_PATH="$TEMP_DIR/started.flag"
|
||||
|
@ -20,39 +20,6 @@ proxy_fake_ip_ping_hijack=$(uci -q get nikki.proxy.fake_ip_ping_hijack); [ -z "$
|
||||
|
||||
# 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" ] && {
|
||||
uci del nikki.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
|
||||
}
|
||||
|
||||
# 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
|
||||
uci commit nikki
|
||||
|
@ -364,7 +364,7 @@ table inet nikki {
|
||||
meta nfproto @proxy_nfproto meta l4proto tcp counter redirect to :{{ redir_port }}
|
||||
{% endif %}
|
||||
{% 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 %}
|
||||
}
|
||||
|
||||
@ -429,7 +429,7 @@ table inet nikki {
|
||||
meta nfproto @proxy_nfproto jump lan_redirect
|
||||
{% endif %}
|
||||
{% 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 %}
|
||||
}
|
||||
|
||||
|
@ -52,7 +52,7 @@ export function trim_all(obj) {
|
||||
};
|
||||
|
||||
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() {
|
||||
|
Loading…
Reference in New Issue
Block a user