101 lines
3.5 KiB
Bash
101 lines
3.5 KiB
Bash
#!/bin/sh
|
|
|
|
. "$IPKG_INSTROOT/etc/mihomo/scripts/include.sh"
|
|
|
|
# since v1.8.4
|
|
|
|
dns_doh_prefer_http3=$(uci -q get mihomo.mixin.dns_doh_prefer_http3); [ -z "$dns_doh_prefer_http3" ] && uci set mihomo.mixin.dns_doh_prefer_http3=0
|
|
|
|
# since v1.8.7
|
|
|
|
mixin_file_content=$(uci -q get mihomo.mixin.mixin_file_content); [ -z "$mixin_file_content" ] && uci set mihomo.mixin.mixin_file_content=$(uci -q get mihomo.config.mixin)
|
|
|
|
# since v1.9.3
|
|
|
|
start_delay=$(uci -q get mihomo.config.start_delay); [ -z "$start_delay" ] && uci set mihomo.config.start_delay=0
|
|
|
|
# since v1.11.0
|
|
|
|
acl_tcp_dport=$(uci -q get mihomo.proxy.acl_tcp_dport); [ -n "$acl_tcp_dport" ] && uci rename mihomo.proxy.acl_tcp_dport=proxy_tcp_dport
|
|
|
|
acl_udp_dport=$(uci -q get mihomo.proxy.acl_udp_dport); [ -n "$acl_udp_dport" ] && uci rename mihomo.proxy.acl_udp_dport=proxy_udp_dport
|
|
|
|
bypass_user=$(uci -q get mihomo.proxy.bypass_user); [ -z "$bypass_user" ] && {
|
|
uci add_list mihomo.proxy.bypass_user=aria2
|
|
uci add_list mihomo.proxy.bypass_user=dnsmasq
|
|
uci add_list mihomo.proxy.bypass_user=ftp
|
|
uci add_list mihomo.proxy.bypass_user=logd
|
|
uci add_list mihomo.proxy.bypass_user=nobody
|
|
uci add_list mihomo.proxy.bypass_user=ntp
|
|
uci add_list mihomo.proxy.bypass_user=ubus
|
|
}
|
|
|
|
bypass_group=$(uci -q get mihomo.proxy.bypass_group); [ -z "$bypass_group" ] && {
|
|
uci add_list mihomo.proxy.bypass_group=aria2
|
|
uci add_list mihomo.proxy.bypass_group=dnsmasq
|
|
uci add_list mihomo.proxy.bypass_group=ftp
|
|
uci add_list mihomo.proxy.bypass_group=logd
|
|
uci add_list mihomo.proxy.bypass_group=nogroup
|
|
uci add_list mihomo.proxy.bypass_group=ntp
|
|
uci add_list mihomo.proxy.bypass_group=ubus
|
|
}
|
|
|
|
# since v1.12.0
|
|
|
|
env=$(uci -q get mihomo.env); [ -z "$env" ] && {
|
|
uci set mihomo.env=env
|
|
uci set mihomo.env.disable_safe_path_check=0
|
|
uci set mihomo.env.disable_loopback_detector=0
|
|
uci set mihomo.env.disable_quic_go_gso=0
|
|
uci set mihomo.env.disable_quic_go_ecn=0
|
|
}
|
|
|
|
# since v1.15.0
|
|
|
|
tun_device=$(uci -q get mihomo.mixin.tun_device); [ -z "$tun_device" ] && uci set mihomo.mixin.tun_device=mihomo
|
|
|
|
# since v1.16.0
|
|
|
|
unify_delay=$(uci -q get mihomo.mixin.unify_delay); [ -z "$unify_delay" ] && uci set mihomo.mixin.unify_delay=1
|
|
|
|
tcp_concurrent=$(uci -q get mihomo.mixin.tcp_concurrent); [ -z "$tcp_concurrent" ] && uci set mihomo.mixin.tcp_concurrent=1
|
|
|
|
sniffer=$(uci -q get mihomo.mixin.sniffer); [ -z "$sniffer" ] && {
|
|
uci set mihomo.mixin.sniffer=0
|
|
uci set mihomo.mixin.sniffer_sniff_dns_mapping=1
|
|
uci set mihomo.mixin.sniffer_sniff_pure_ip=1
|
|
uci set mihomo.mixin.sniffer_overwrite_destination=0
|
|
uci set mihomo.mixin.sniffer_force_domain_name=0
|
|
uci set mihomo.mixin.sniffer_ignore_domain_name=0
|
|
uci set mihomo.mixin.sniffer_sniff=0
|
|
|
|
uci add mihomo sniff
|
|
uci set mihomo.@sniff[-1].enabled=1
|
|
uci set mihomo.@sniff[-1].protocol=HTTP
|
|
uci add_list mihomo.@sniff[-1].port=80
|
|
uci add_list mihomo.@sniff[-1].port=8080
|
|
uci set mihomo.@sniff[-1].overwrite_destination=1
|
|
|
|
uci add mihomo sniff
|
|
uci set mihomo.@sniff[-1].enabled=1
|
|
uci set mihomo.@sniff[-1].protocol=TLS
|
|
uci add_list mihomo.@sniff[-1].port=443
|
|
uci add_list mihomo.@sniff[-1].port=8443
|
|
uci set mihomo.@sniff[-1].overwrite_destination=1
|
|
|
|
uci add mihomo sniff
|
|
uci set mihomo.@sniff[-1].enabled=1
|
|
uci set mihomo.@sniff[-1].protocol=QUIC
|
|
uci add_list mihomo.@sniff[-1].port=443
|
|
uci add_list mihomo.@sniff[-1].port=8443
|
|
uci set mihomo.@sniff[-1].overwrite_destination=1
|
|
}
|
|
|
|
uci show mihomo | grep -E 'mihomo.@host\[[[:digit:]]+\]=host' | sed 's/mihomo.@host\[\([[:digit:]]\+\)\]=host/set mihomo.@host[\1]=hosts/' | uci batch
|
|
|
|
# commit
|
|
uci commit mihomo
|
|
|
|
# exit with 0
|
|
exit 0
|