Compare commits

...
10 Commits
Author SHA1 Message Date
juewuy 0d2c252e5d Merge branch 'dev' 2026-07-29 10:53:59 +08:00
juewuy 9cf2d8dce1 ~1.9.5beta2 pkg 2026-07-29 10:53:25 +08:00
juewuy e621d37d16 ~现在对未启用IP转发的设备,启动局域网代理时默认会检查并启用IP转发 2026-07-29 10:52:12 +08:00
juewuy d8941fb202 ~增加对ss命令的兼容以替代netstat命令 2026-07-29 10:42:38 +08:00
juewuy db8ba09663 ~优化清理数据库提示并增加对.metadb文件的清理 2026-07-29 10:13:37 +08:00
juewuy b27028d9bf ~现在修改劫持范围时不再重置代理模式 2026-07-29 09:59:38 +08:00
juewuy 6cf5f02231 ~修复热更新配置失败的bug 2026-07-29 09:56:56 +08:00
juewuy ff7d454432 Merge pull request #1307 from DustinWin/dev
适配 sing-box 内核规则集新特性
2026-07-20 00:06:56 +08:00
DustinWin cc56656695 适配 sing-box 内核规则集新特性
`route.rule_set.tag` 支持了数组,修改后避免报错“cn 规则集重复”。
2026-07-18 22:47:17 +08:00
juewuy 6ed020a864 ~修复中文括号 2026-07-18 20:36:07 +08:00
14 changed files with 34 additions and 20 deletions
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -1,4 +1,4 @@
meta_v=v1.19.17
singboxr_v=1.13.0-alpha.27
versionsh=1.9.5beta1
versionsh=1.9.5beta2
GeoIP_v=20251205
+1 -1
View File
@@ -17,7 +17,7 @@ routing_mark=$((fwmark + 2))
[ -z "$dns_nameserver" ] && {
dns_nameserver='223.5.5.5, 1.2.4.8'
netstat -ntlup 2>/dev/null | grep -q '127.0.0.1:53' && dns_nameserver='127.0.0.1'
netstat -ntlup 2>/dev/null | grep -q '127.0.0.1:53' || ss -ntlup 2>/dev/null | grep -q '127.0.0.1:53' && dns_nameserver='127.0.0.1'
}
[ -z "$dns_fallback" ] && dns_fallback="1.1.1.1, 8.8.8.8"
[ -z "$dns_resolver" ] && dns_resolver="223.5.5.5, 2400:3200::1"
+3 -3
View File
@@ -118,12 +118,12 @@ ckstatus() {
PID=$(pidof CrashCore | awk '{print $NF}')
if [ -n "$PID" ]; then
run="\033[32m$MENU_RUN_ON$redir_mod$MENU_MOD\033[0m"
run="\033[32m$MENU_RUN_ON ($redir_mod$MENU_MOD) \033[0m"
running_status
elif [ "$firewall_area" = 5 ] && [ -n "$(ip route list table 100)" ]; then
run="\033[32m$MENU_RUN_SET$redir_mod$MENU_MOD\033[0m"
run="\033[32m$MENU_RUN_SET ($redir_mod$MENU_MOD) \033[0m"
else
run="\033[31m$MENU_RUN_OFF$redir_mod$MENU_MOD\033[0m"
run="\033[31m$MENU_RUN_OFF ($redir_mod$MENU_MOD) \033[0m"
# 检测系统端口占用
checkport
fi
-2
View File
@@ -569,8 +569,6 @@ set_firewall_area() {
[1-4])
if [ "$firewall_area" -ge 4 ]; then
redir_mod=''
else
redir_mod=Redir
fi
firewall_area="$num"
setconfig firewall_area "$firewall_area"
+8 -1
View File
@@ -592,10 +592,17 @@ testcommand() {
2)
line_break
echo "==========================================================="
netstat -ntulp | grep 53
if ckcmd netstat;then
netstat -ntulp | grep 53
elif ckcmd ss;then
ss -ntulp | grep 53
else
echo -e "Neither net-tools nor iproute2 is installed. Please install one of these packages and try again."
fi
echo
echo -e "$TOOLS_NETSTAT_HINT"
echo "==========================================================="
sleep 2
;;
3)
line_break
+3 -3
View File
@@ -833,7 +833,7 @@ setgeo() {
while true; do
comp_box "\033[33m${UPG_GEO_CLEAN_HINT1_PREFIX}${CRASHDIR}${UPG_GEO_CLEAN_HINT1_SUFFIX}\033[0m" \
"$UPG_GEO_CLEAN_HINT2"
btm_box "$UPG_GEO_CLEAN_CONFIRM" \
btm_box "1) $UPG_GEO_CLEAN_CONFIRM" \
"0) $COMMON_BACK"
read -r -p "$COMMON_INPUT> " res
case "$res" in
@@ -841,8 +841,8 @@ setgeo() {
break
;;
1)
for file in cn_ip.txt cn_ipv6.txt Country.mmdb GeoSite.dat geoip.db geosite.db; do
rm -rf $CRASHDIR/$file
for file in cn_ip.txt cn_ipv6.txt *.mmdb *.metadb *.dat geoip.db geosite.db; do
rm -rf "$CRASHDIR"/$file
done
for var in Country_v cn_mini_v china_ip_list_v china_ipv6_list_v geosite_v geoip_cn_v geosite_cn_v mrs_geosite_cn_v srs_geoip_cn_v srs_geosite_cn_v mrs_v srs_v; do
setconfig $var
+8 -3
View File
@@ -1,13 +1,18 @@
#!/bin/sh
# Copyright (C) Juewuy
. "$CRASHDIR"/libs/check_cmd.sh
load_lang check_port
_get_netstat_cmd() {
local cmd=netstat
ckcmd ss && cmd=ss
case "$1" in
tcp) echo "netstat -ntl" ;;
udp) echo "netstat -nul" ;;
*) echo "netstat -ntul" ;;
tcp) echo "$cmd -ntl" ;;
udp) echo "$cmd -nul" ;;
*) echo "$cmd -ntul" ;;
esac
}
+1 -1
View File
@@ -95,7 +95,7 @@ set_dns_mod() {
;;
*)
if [ "$num" -ge 1 ] && [ "$num" -lt 65535 ]; then
if ckcmd netstat && netstat -ntul | grep -q ":$num "; then
if netstat -ntul 2>/dev/null | grep -q ":$num " || ss -ntul 2>/dev/null | grep -q ":$num "; then
dns_redir_port="$num"
setconfig dns_redir_port "$dns_redir_port"
common_success
+1 -1
View File
@@ -135,7 +135,7 @@ hotupdate() { #热更新订阅
. "$CRASHDIR"/starts/core_config.sh && get_core_config &&
. "$CRASHDIR"/starts/check_core.sh && check_core &&
. "$CRASHDIR"/starts/"$target"_modify.sh && modify_"$format" && rm -rf "$TMPDIR"/CrashCore &&
. "$CRASHDIR"/libs/web_restore.sh && put_save "http://127.0.0.1:$db_port/configs" "{\"path\":\"$CRASHDIR/config.$format\"}"
. "$CRASHDIR"/libs/web_restore.sh && put_save "http://127.0.0.1:$db_port/configs" "{\"path\":\"$TMPDIR/config.$format\"}"
exit $?
}
+1 -1
View File
@@ -77,7 +77,7 @@ forwhat() {
content_line "\033[33m$UG_IP_FORWARD_WARN\033[0m"
read -r -p "$COMMON_INPUT_R" res
[ "$res" = 1 ] && {
content_line 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf
echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf
sysctl -w net.ipv4.ip_forward=1
}
fi
+5 -1
View File
@@ -38,7 +38,11 @@
}
#判断代理用途
[ "$firewall_area" = 2 -o "$firewall_area" = 3 ] && local_proxy=true
[ "$firewall_area" = 1 -o "$firewall_area" = 3 -o "$firewall_area" = 5 ] && lan_proxy=true
[ "$firewall_area" = 1 -o "$firewall_area" = 3 -o "$firewall_area" = 5 ] && {
lan_proxy=true
#检查IP转发
[ "$(cat /proc/sys/net/ipv4/ip_forward)" = "0" ] && echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf && sysctl -w net.ipv4.ip_forward=1
}
#防火墙配置
[ "$firewall_mod" = 'iptables' ] && . "$CRASHDIR"/starts/fw_iptables.sh && start_iptables
[ "$firewall_mod" = 'nftables' ] && . "$CRASHDIR"/starts/fw_nftables.sh && start_nftables
+1 -1
View File
@@ -169,7 +169,7 @@ gen_dns() {
#防泄露设置
[ "$dns_protect" = "OFF" ] && sed -i 's/"server": "dns_proxy"/"server": "dns_direct"/g' "$TMPDIR"/jsons/route.json
#生成add_rule_set.json
[ "$dns_mod" = "mix" ] || [ "$dns_mod" = "route" ] && ! grep -Eq '"tag" *:[[:space:]]*"cn"' "$CRASHDIR"/jsons/*.json && {
[ "$dns_mod" = "mix" ] || [ "$dns_mod" = "route" ] && ! grep -Eq '"tag" *:[[:space:]]*"cn"' "$CRASHDIR"/jsons/*.json && ! grep -Eq '"tag"[[:space:]]*:[[:space:]]*\[[^]]*"cn"' "$CRASHDIR"/jsons/*.json && {
[ "$crashcore" = "singboxr" ] && srs_path='"path": "./ruleset/cn.srs",'
cat >"$TMPDIR"/jsons/add_rule_set.json <<EOF
{
+1 -1
View File
@@ -1 +1 @@
1.9.5beta1
1.9.5beta2