mirror of
https://github.com/juewuy/ShellCrash.git
synced 2026-09-08 13:46:33 +00:00
~增加对ss命令的兼容以替代netstat命令
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
@@ -592,10 +592,17 @@ testcommand() {
|
|||||||
2)
|
2)
|
||||||
line_break
|
line_break
|
||||||
echo "==========================================================="
|
echo "==========================================================="
|
||||||
|
if ckcmd netstat;then
|
||||||
netstat -ntulp | grep 53
|
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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user