mirror of
https://github.com/juewuy/ShellCrash.git
synced 2026-09-08 13:46:33 +00:00
Compare commits
10
Commits
cc563dcfa1
...
0d2c252e5d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0d2c252e5d | ||
|
|
9cf2d8dce1 | ||
|
|
e621d37d16 | ||
|
|
d8941fb202 | ||
|
|
db8ba09663 | ||
|
|
b27028d9bf | ||
|
|
6cf5f02231 | ||
|
|
ff7d454432 | ||
|
|
cc56656695 | ||
|
|
6ed020a864 |
Binary file not shown.
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
meta_v=v1.19.17
|
meta_v=v1.19.17
|
||||||
singboxr_v=1.13.0-alpha.27
|
singboxr_v=1.13.0-alpha.27
|
||||||
versionsh=1.9.5beta1
|
versionsh=1.9.5beta2
|
||||||
GeoIP_v=20251205
|
GeoIP_v=20251205
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ routing_mark=$((fwmark + 2))
|
|||||||
|
|
||||||
[ -z "$dns_nameserver" ] && {
|
[ -z "$dns_nameserver" ] && {
|
||||||
dns_nameserver='223.5.5.5, 1.2.4.8'
|
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_fallback" ] && dns_fallback="1.1.1.1, 8.8.8.8"
|
||||||
[ -z "$dns_resolver" ] && dns_resolver="223.5.5.5, 2400:3200::1"
|
[ -z "$dns_resolver" ] && dns_resolver="223.5.5.5, 2400:3200::1"
|
||||||
|
|||||||
+3
-3
@@ -118,12 +118,12 @@ ckstatus() {
|
|||||||
|
|
||||||
PID=$(pidof CrashCore | awk '{print $NF}')
|
PID=$(pidof CrashCore | awk '{print $NF}')
|
||||||
if [ -n "$PID" ]; then
|
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
|
running_status
|
||||||
elif [ "$firewall_area" = 5 ] && [ -n "$(ip route list table 100)" ]; then
|
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
|
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
|
checkport
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -569,8 +569,6 @@ set_firewall_area() {
|
|||||||
[1-4])
|
[1-4])
|
||||||
if [ "$firewall_area" -ge 4 ]; then
|
if [ "$firewall_area" -ge 4 ]; then
|
||||||
redir_mod=''
|
redir_mod=''
|
||||||
else
|
|
||||||
redir_mod=Redir
|
|
||||||
fi
|
fi
|
||||||
firewall_area="$num"
|
firewall_area="$num"
|
||||||
setconfig firewall_area "$firewall_area"
|
setconfig firewall_area "$firewall_area"
|
||||||
|
|||||||
@@ -592,10 +592,17 @@ testcommand() {
|
|||||||
2)
|
2)
|
||||||
line_break
|
line_break
|
||||||
echo "==========================================================="
|
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
|
||||||
echo -e "$TOOLS_NETSTAT_HINT"
|
echo -e "$TOOLS_NETSTAT_HINT"
|
||||||
echo "==========================================================="
|
echo "==========================================================="
|
||||||
|
sleep 2
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
line_break
|
line_break
|
||||||
|
|||||||
@@ -833,7 +833,7 @@ setgeo() {
|
|||||||
while true; do
|
while true; do
|
||||||
comp_box "\033[33m${UPG_GEO_CLEAN_HINT1_PREFIX}${CRASHDIR}${UPG_GEO_CLEAN_HINT1_SUFFIX}\033[0m" \
|
comp_box "\033[33m${UPG_GEO_CLEAN_HINT1_PREFIX}${CRASHDIR}${UPG_GEO_CLEAN_HINT1_SUFFIX}\033[0m" \
|
||||||
"$UPG_GEO_CLEAN_HINT2"
|
"$UPG_GEO_CLEAN_HINT2"
|
||||||
btm_box "$UPG_GEO_CLEAN_CONFIRM" \
|
btm_box "1) $UPG_GEO_CLEAN_CONFIRM" \
|
||||||
"0) $COMMON_BACK"
|
"0) $COMMON_BACK"
|
||||||
read -r -p "$COMMON_INPUT> " res
|
read -r -p "$COMMON_INPUT> " res
|
||||||
case "$res" in
|
case "$res" in
|
||||||
@@ -841,8 +841,8 @@ setgeo() {
|
|||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
1)
|
1)
|
||||||
for file in cn_ip.txt cn_ipv6.txt Country.mmdb GeoSite.dat geoip.db geosite.db; do
|
for file in cn_ip.txt cn_ipv6.txt *.mmdb *.metadb *.dat geoip.db geosite.db; do
|
||||||
rm -rf $CRASHDIR/$file
|
rm -rf "$CRASHDIR"/$file
|
||||||
done
|
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
|
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
|
setconfig $var
|
||||||
|
|||||||
@@ -1,13 +1,18 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Copyright (C) Juewuy
|
# Copyright (C) Juewuy
|
||||||
|
|
||||||
|
. "$CRASHDIR"/libs/check_cmd.sh
|
||||||
|
|
||||||
load_lang check_port
|
load_lang check_port
|
||||||
|
|
||||||
_get_netstat_cmd() {
|
_get_netstat_cmd() {
|
||||||
|
local cmd=netstat
|
||||||
|
ckcmd ss && cmd=ss
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
tcp) echo "netstat -ntl" ;;
|
tcp) echo "$cmd -ntl" ;;
|
||||||
udp) echo "netstat -nul" ;;
|
udp) echo "$cmd -nul" ;;
|
||||||
*) echo "netstat -ntul" ;;
|
*) echo "$cmd -ntul" ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ set_dns_mod() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
if [ "$num" -ge 1 ] && [ "$num" -lt 65535 ]; then
|
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"
|
dns_redir_port="$num"
|
||||||
setconfig dns_redir_port "$dns_redir_port"
|
setconfig dns_redir_port "$dns_redir_port"
|
||||||
common_success
|
common_success
|
||||||
|
|||||||
@@ -135,7 +135,7 @@ hotupdate() { #热更新订阅
|
|||||||
. "$CRASHDIR"/starts/core_config.sh && get_core_config &&
|
. "$CRASHDIR"/starts/core_config.sh && get_core_config &&
|
||||||
. "$CRASHDIR"/starts/check_core.sh && check_core &&
|
. "$CRASHDIR"/starts/check_core.sh && check_core &&
|
||||||
. "$CRASHDIR"/starts/"$target"_modify.sh && modify_"$format" && rm -rf "$TMPDIR"/CrashCore &&
|
. "$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 $?
|
exit $?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ forwhat() {
|
|||||||
content_line "\033[33m$UG_IP_FORWARD_WARN\033[0m"
|
content_line "\033[33m$UG_IP_FORWARD_WARN\033[0m"
|
||||||
read -r -p "$COMMON_INPUT_R" res
|
read -r -p "$COMMON_INPUT_R" res
|
||||||
[ "$res" = 1 ] && {
|
[ "$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
|
sysctl -w net.ipv4.ip_forward=1
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -38,7 +38,11 @@
|
|||||||
}
|
}
|
||||||
#判断代理用途
|
#判断代理用途
|
||||||
[ "$firewall_area" = 2 -o "$firewall_area" = 3 ] && local_proxy=true
|
[ "$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" = 'iptables' ] && . "$CRASHDIR"/starts/fw_iptables.sh && start_iptables
|
||||||
[ "$firewall_mod" = 'nftables' ] && . "$CRASHDIR"/starts/fw_nftables.sh && start_nftables
|
[ "$firewall_mod" = 'nftables' ] && . "$CRASHDIR"/starts/fw_nftables.sh && start_nftables
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ gen_dns() {
|
|||||||
#防泄露设置
|
#防泄露设置
|
||||||
[ "$dns_protect" = "OFF" ] && sed -i 's/"server": "dns_proxy"/"server": "dns_direct"/g' "$TMPDIR"/jsons/route.json
|
[ "$dns_protect" = "OFF" ] && sed -i 's/"server": "dns_proxy"/"server": "dns_direct"/g' "$TMPDIR"/jsons/route.json
|
||||||
#生成add_rule_set.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",'
|
[ "$crashcore" = "singboxr" ] && srs_path='"path": "./ruleset/cn.srs",'
|
||||||
cat >"$TMPDIR"/jsons/add_rule_set.json <<EOF
|
cat >"$TMPDIR"/jsons/add_rule_set.json <<EOF
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user