Update cattools.sh
This commit is contained in:
87
cattools.sh
87
cattools.sh
@@ -357,7 +357,7 @@ bypass_gateway() {
|
|||||||
echo "主路由 IP 地址:$router_ip"
|
echo "主路由 IP 地址:$router_ip"
|
||||||
echo "本机(旁路网关) IP 地址:$device_ip"
|
echo "本机(旁路网关) IP 地址:$device_ip"
|
||||||
|
|
||||||
echo ""
|
echo
|
||||||
echo "[Step5] Use recommended DNS servers 223.6.6.6 119.29.29.99?"
|
echo "[Step5] Use recommended DNS servers 223.6.6.6 119.29.29.99?"
|
||||||
read -p " /// 使用推荐的 DNS 服务器 223.6.6.6 119.29.29.99 吗?([Enter] 确认 / [0] 跳过): " use_dns
|
read -p " /// 使用推荐的 DNS 服务器 223.6.6.6 119.29.29.99 吗?([Enter] 确认 / [0] 跳过): " use_dns
|
||||||
if [ "$use_dns" = "0" ]; then
|
if [ "$use_dns" = "0" ]; then
|
||||||
@@ -368,7 +368,7 @@ bypass_gateway() {
|
|||||||
if [[ $use_dns =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}(\s+([0-9]{1,3}\.){3}[0-9]{1,3})*$ ]]; then
|
if [[ $use_dns =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}(\s+([0-9]{1,3}\.){3}[0-9]{1,3})*$ ]]; then
|
||||||
uci set network.lan.dns="$use_dns"
|
uci set network.lan.dns="$use_dns"
|
||||||
else
|
else
|
||||||
echo "Invalid DNS format /// 无效的 DNS 格式"
|
echo "[ERROR] Invalid DNS format /// 无效的 DNS 格式"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -388,18 +388,15 @@ bypass_gateway() {
|
|||||||
uci set firewall.@defaults[0].mss_clamping='1'
|
uci set firewall.@defaults[0].mss_clamping='1'
|
||||||
|
|
||||||
# 启用 IP 伪装和 MTU fix
|
# 启用 IP 伪装和 MTU fix
|
||||||
uci set firewall.@zone[0].masq='1' # lan 区域
|
# lan 区域
|
||||||
|
uci set firewall.@zone[0].masq='1'
|
||||||
uci set firewall.@zone[0].mtu_fix='1'
|
uci set firewall.@zone[0].mtu_fix='1'
|
||||||
|
# wan 区域
|
||||||
uci set firewall.@zone[1].masq='1' # wan 区域
|
uci set firewall.@zone[1].masq='1'
|
||||||
uci set firewall.@zone[1].mtu_fix='1'
|
uci set firewall.@zone[1].mtu_fix='1'
|
||||||
|
|
||||||
uci commit firewall
|
uci commit firewall
|
||||||
|
|
||||||
# 删除 WAN 口防火墙规则
|
|
||||||
|
|
||||||
uci commit firewall
|
|
||||||
|
|
||||||
# 关闭 LAN 口的 DHCP 服务并删除相关配置
|
# 关闭 LAN 口的 DHCP 服务并删除相关配置
|
||||||
uci set dhcp.lan.ignore='1'
|
uci set dhcp.lan.ignore='1'
|
||||||
uci delete dhcp.lan.leasetime
|
uci delete dhcp.lan.leasetime
|
||||||
@@ -415,8 +412,9 @@ bypass_gateway() {
|
|||||||
/etc/init.d/firewall restart
|
/etc/init.d/firewall restart
|
||||||
/etc/init.d/dnsmasq restart
|
/etc/init.d/dnsmasq restart
|
||||||
|
|
||||||
echo "如出现 Warning 是因为旁路的防火墙是这样报错的,部分配置可以忽略不影响使用"
|
echo
|
||||||
echo ""
|
echo "[INFO] 如出现 Warning 是因为旁路的防火墙是这样报错的,部分配置可以忽略不影响使用"
|
||||||
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
# Debug
|
# Debug
|
||||||
@@ -431,22 +429,18 @@ debug() {
|
|||||||
echo "## RELEASE" >>/www/logs.txt
|
echo "## RELEASE" >>/www/logs.txt
|
||||||
echo "==========" >>/www/logs.txt
|
echo "==========" >>/www/logs.txt
|
||||||
cat /etc/catwrt_release >>/www/logs.txt
|
cat /etc/catwrt_release >>/www/logs.txt
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "## STATUS" >>/www/logs.txt
|
echo "## STATUS" >>/www/logs.txt
|
||||||
echo "=================" >>/www/logs.txt
|
echo "=================" >>/www/logs.txt
|
||||||
eval $UPTIME >>/www/logs.txt
|
eval $UPTIME >>/www/logs.txt
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "## Memory Usage" >>/www/logs.txt
|
echo "## Memory Usage" >>/www/logs.txt
|
||||||
echo "==========" >>/www/logs.txt
|
echo "==========" >>/www/logs.txt
|
||||||
free -h >>/www/logs.txt
|
free -h >>/www/logs.txt
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "## Disk Usage" >>/www/logs.txt
|
echo "## Disk Usage" >>/www/logs.txt
|
||||||
echo "==========" >>/www/logs.txt
|
echo "==========" >>/www/logs.txt
|
||||||
df -h >>/www/logs.txt
|
df -h >>/www/logs.txt
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "## Application" >>/www/logs.txt
|
echo "## Application" >>/www/logs.txt
|
||||||
echo "==========" >>/www/logs.txt
|
echo "==========" >>/www/logs.txt
|
||||||
@@ -455,12 +449,10 @@ debug() {
|
|||||||
echo "## SYSLOG" >>/www/logs.txt
|
echo "## SYSLOG" >>/www/logs.txt
|
||||||
echo "==========" >>/www/logs.txt
|
echo "==========" >>/www/logs.txt
|
||||||
logread >>/www/logs.txt
|
logread >>/www/logs.txt
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "## DMESG" >>/www/logs.txt
|
echo "## DMESG" >>/www/logs.txt
|
||||||
echo "==========" >>/www/logs.txt
|
echo "==========" >>/www/logs.txt
|
||||||
dmesg >>/www/logs.txt
|
dmesg >>/www/logs.txt
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "## Plugins" >>/www/logs.txt
|
echo "## Plugins" >>/www/logs.txt
|
||||||
echo "==========" >>/www/logs.txt
|
echo "==========" >>/www/logs.txt
|
||||||
@@ -468,44 +460,39 @@ debug() {
|
|||||||
cat /tmp/log/ssrplus.log >>/www/logs.txt
|
cat /tmp/log/ssrplus.log >>/www/logs.txt
|
||||||
cat /tmp/log/passwall.log >>/www/logs.txt
|
cat /tmp/log/passwall.log >>/www/logs.txt
|
||||||
cat /tmp/log/passwall2.log >>/www/logs.txt
|
cat /tmp/log/passwall2.log >>/www/logs.txt
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "## Task" >>/www/logs.txt
|
echo "## Task" >>/www/logs.txt
|
||||||
echo "==========" >>/www/logs.txt
|
echo "==========" >>/www/logs.txt
|
||||||
top -b -n 1 >>/www/logs.txt
|
top -b -n 1 >>/www/logs.txt
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "## Network Configuration" >>/www/logs.txt
|
echo "## Network Configuration" >>/www/logs.txt
|
||||||
echo "==========" >>/www/logs.txt
|
echo "==========" >>/www/logs.txt
|
||||||
ifconfig -a >>/www/logs.txt
|
ifconfig -a >>/www/logs.txt
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "## UCI Network" >>/www/logs.txt
|
echo "## UCI Network" >>/www/logs.txt
|
||||||
echo "==========" >>/www/logs.txt
|
echo "==========" >>/www/logs.txt
|
||||||
uci show network >>/www/logs.txt
|
uci show network >>/www/logs.txt
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "## Firewall" >>/www/logs.txt
|
echo "## Firewall" >>/www/logs.txt
|
||||||
echo "==========" >>/www/logs.txt
|
echo "==========" >>/www/logs.txt
|
||||||
iptables -L -v -n >>/www/logs.txt
|
iptables -L -v -n >>/www/logs.txt
|
||||||
ip6tables -L -v -n >>/www/logs.txt
|
ip6tables -L -v -n >>/www/logs.txt
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "## Routing Table" >>/www/logs.txt
|
echo "## Routing Table" >>/www/logs.txt
|
||||||
echo "==========" >>/www/logs.txt
|
echo "==========" >>/www/logs.txt
|
||||||
ip route >>/www/logs.txt
|
ip route >>/www/logs.txt
|
||||||
ip -6 route >>/www/logs.txt
|
ip -6 route >>/www/logs.txt
|
||||||
echo ""
|
|
||||||
|
|
||||||
lan_ip=$(uci get network.lan.ipaddr)
|
lan_ip=$(uci get network.lan.ipaddr)
|
||||||
|
|
||||||
echo "Finish!"
|
echo "Finish! ==========================================================================================="
|
||||||
echo "请使用浏览器访问此地址下载 LOG 文件 http://$lan_ip/logs.txt"
|
echo "请使用浏览器访问此地址下载 LOG 文件 http://$lan_ip/logs.txt"
|
||||||
echo "日志已收集到 /www/logs.txt 如果你使用 PPPoE 拨号请手动将宽带账密删除,再使用以下链接上传 Github issues 附件!"
|
echo "日志已收集到 /www/logs.txt 如果你使用 PPPoE 拨号请手动将宽带账密删除,再使用以下链接上传 Github issues 附件!"
|
||||||
echo ""
|
echo
|
||||||
echo "https://github.com/miaoermua/CatWrt/issues/new?assignees=&labels=&projects=&template=report.md&title="
|
echo "https://github.com/miaoermua/CatWrt/issues/new?assignees=&labels=bug&projects=&template=report.yaml"
|
||||||
echo "尽可能使用 Github 提交你的问题不会操作再使用社交软件 TG Guoup: t.me/miaoergroup // QQ Guoup: 669190476"
|
echo "尽可能使用 Github 提交你的问题不会操作再使用社交软件 TG Guoup: t.me/miaoergroup // QQ Guoup: 669190476"
|
||||||
echo ""
|
echo
|
||||||
|
sleep 5
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -727,10 +714,9 @@ apply_repo() {
|
|||||||
1)
|
1)
|
||||||
echo "以赞助我们并获取支持代码,请访问链接: https://www.miaoer.xyz/sponsor"
|
echo "以赞助我们并获取支持代码,请访问链接: https://www.miaoer.xyz/sponsor"
|
||||||
echo "我们将使用用户支持的费用用于继续维护 CatWrt 及博客"
|
echo "我们将使用用户支持的费用用于继续维护 CatWrt 及博客"
|
||||||
sleep 1
|
|
||||||
read -p "请输入支持代码: " sponsor_code
|
read -p "请输入支持代码: " sponsor_code
|
||||||
if [ "$sponsor_code" != "vme50" ]; then
|
if [ "$sponsor_code" != "vme50" ]; then
|
||||||
echo "支持代码无效,返回菜单选择其他软件源。"
|
echo "[ERROR] 支持代码无效,返回菜单选择其他软件源。"
|
||||||
apply_repo
|
apply_repo
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
@@ -773,23 +759,23 @@ apply_repo() {
|
|||||||
|
|
||||||
catnd() {
|
catnd() {
|
||||||
echo "$(date) - Starting CatWrt Network Diagnostics"
|
echo "$(date) - Starting CatWrt Network Diagnostics"
|
||||||
echo " "
|
echo
|
||||||
|
|
||||||
# Ping & PPPoE
|
# Ping & PPPoE
|
||||||
ping -c 3 223.5.5.5 >/dev/null
|
ping -c 3 223.5.5.5 >/dev/null
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
echo "[Ping] Network connection succeeded!"
|
echo "[Ping] Network connection succeeded!"
|
||||||
echo " "
|
echo
|
||||||
else
|
else
|
||||||
ping -c 3 119.29.29.99 >/dev/null
|
ping -c 3 119.29.29.99 >/dev/null
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
echo "[Ping] Network connection succeeded,But there may be problems!"
|
echo "[Ping] Network connection succeeded,But there may be problems!"
|
||||||
echo " "
|
echo
|
||||||
else
|
else
|
||||||
pppoe_config=$(grep 'pppoe' /etc/config/network)
|
pppoe_config=$(grep 'pppoe' /etc/config/network)
|
||||||
if [ ! -z "$pppoe_config" ]; then
|
if [ ! -z "$pppoe_config" ]; then
|
||||||
echo "[PPPoE] Please check if your PPPoE account and password are correct."
|
echo "[PPPoE] Please check if your PPPoE account and password are correct."
|
||||||
echo " "
|
echo
|
||||||
fi
|
fi
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -804,19 +790,19 @@ catnd() {
|
|||||||
for ip in $dns_servers; do
|
for ip in $dns_servers; do
|
||||||
if ! [[ $valid_dns =~ (^|[ ])$ip($|[ ]) ]]; then
|
if ! [[ $valid_dns =~ (^|[ ])$ip($|[ ]) ]]; then
|
||||||
echo "[DNS] Recommended to delete DNS $ip"
|
echo "[DNS] Recommended to delete DNS $ip"
|
||||||
echo " "
|
echo
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Bad DNS
|
# Bad DNS
|
||||||
echo "[DNS] DNS configuration looks good!"
|
echo "[DNS] DNS configuration looks good!"
|
||||||
echo " "
|
echo
|
||||||
|
|
||||||
bad_dns="114.114.114.114 114.114.115.115 119.29.29.29"
|
bad_dns="114.114.114.114 114.114.115.115 119.29.29.29"
|
||||||
if [[ $dns_config =~ $bad_dns ]]; then
|
if [[ $dns_config =~ $bad_dns ]]; then
|
||||||
echo "[DNS] DNS may be polluted or unreliable"
|
echo "[DNS] DNS may be polluted or unreliable"
|
||||||
echo " "
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# nslookup
|
# nslookup
|
||||||
@@ -825,25 +811,25 @@ catnd() {
|
|||||||
nslookup www.miaoer.xyz >/dev/null
|
nslookup www.miaoer.xyz >/dev/null
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
echo "[DNS] DNS resolution succeeded"
|
echo "[DNS] DNS resolution succeeded"
|
||||||
echo " "
|
echo
|
||||||
else
|
else
|
||||||
echo "[DNS] NS resolution failed for 'www.miaoer.xyz'"
|
echo "[DNS] NS resolution failed for 'www.miaoer.xyz'"
|
||||||
echo "[DNS] Your DNS server may have issues"
|
echo "[DNS] Your DNS server may have issues"
|
||||||
echo " "
|
echo
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Public IP
|
# Public IP
|
||||||
echo CatWrt IPv4 Addr: $(curl --silent --connect-timeout 5 4.ipw.cn)
|
echo CatWrt IPv4 Addr: $(curl --silent --connect-timeout 5 4.ipw.cn)
|
||||||
echo " "
|
echo
|
||||||
|
|
||||||
curl 6.ipw.cn --connect-timeout 5 >/dev/null 2>&1
|
curl 6.ipw.cn --connect-timeout 5 >/dev/null 2>&1
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "[IPv6] IPv6 network connection timed out"
|
echo "[IPv6] IPv6 network connection timed out"
|
||||||
echo " "
|
echo
|
||||||
else
|
else
|
||||||
echo CatWrt IPv6 Addr: $(curl --silent 6.ipw.cn)
|
echo CatWrt IPv6 Addr: $(curl --silent 6.ipw.cn)
|
||||||
echo " "
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# IPv6
|
# IPv6
|
||||||
@@ -851,10 +837,10 @@ catnd() {
|
|||||||
|
|
||||||
if echo "$resp" | grep -q -E '240e|2408|2409|2401'; then
|
if echo "$resp" | grep -q -E '240e|2408|2409|2401'; then
|
||||||
echo "[IPv6] IPv6 access is preferred"
|
echo "[IPv6] IPv6 access is preferred"
|
||||||
echo " "
|
echo
|
||||||
else
|
else
|
||||||
echo "[IPv6] IPv4 access is preferred"
|
echo "[IPv6] IPv4 access is preferred"
|
||||||
echo " "
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Default IP
|
# Default IP
|
||||||
@@ -863,7 +849,7 @@ catnd() {
|
|||||||
if [ -z "$ipaddr_config" ]; then
|
if [ -z "$ipaddr_config" ]; then
|
||||||
echo "[Default-IP] address is not the catwrt default 192.168.1.4"
|
echo "[Default-IP] address is not the catwrt default 192.168.1.4"
|
||||||
echo "Please configure your network at 'https://www.miaoer.xyz/posts/network/quickstart-catwrt'"
|
echo "Please configure your network at 'https://www.miaoer.xyz/posts/network/quickstart-catwrt'"
|
||||||
echo " "
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Bypass Gateway
|
# Bypass Gateway
|
||||||
@@ -872,7 +858,7 @@ catnd() {
|
|||||||
if [ -z "$wan_config" ]; then
|
if [ -z "$wan_config" ]; then
|
||||||
echo "[Bypass Gateway] No config for 'wan' interface found in /etc/config/network"
|
echo "[Bypass Gateway] No config for 'wan' interface found in /etc/config/network"
|
||||||
echo "Please check if your device is set as a Bypass Gateway"
|
echo "Please check if your device is set as a Bypass Gateway"
|
||||||
echo " "
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Rotuer Mode(PPPoE)
|
# Rotuer Mode(PPPoE)
|
||||||
@@ -882,24 +868,24 @@ catnd() {
|
|||||||
|
|
||||||
if [ -n "$pass_config" ] && [ -n "$user_config" ] && [ -n "$pppoe_config" ]; then
|
if [ -n "$pass_config" ] && [ -n "$user_config" ] && [ -n "$pppoe_config" ]; then
|
||||||
echo "[PPPoE] PPPoE Rotuer Mode"
|
echo "[PPPoE] PPPoE Rotuer Mode"
|
||||||
echo " "
|
echo
|
||||||
else
|
else
|
||||||
echo "[PPPoE] DHCP protocol detected in WAN interface"
|
echo "[PPPoE] DHCP protocol detected in WAN interface"
|
||||||
echo "The device may not be in PPPoE Rotuer Mode"
|
echo "The device may not be in PPPoE Rotuer Mode"
|
||||||
echo " "
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# IPv6 WAN6
|
# IPv6 WAN6
|
||||||
grep 'config interface' /etc/config/network | grep 'wan6' >/dev/null
|
grep 'config interface' /etc/config/network | grep 'wan6' >/dev/null
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "[wan6] Your IPv6 network may have issues"
|
echo "[wan6] Your IPv6 network may have issues"
|
||||||
echo " "
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
grep 'dhcpv6' /etc/config/network >/dev/null
|
grep 'dhcpv6' /etc/config/network >/dev/null
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "[wan6] Your IPv6 network may have issues"
|
echo "[wan6] Your IPv6 network may have issues"
|
||||||
echo " "
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Tcping
|
# Tcping
|
||||||
@@ -917,9 +903,8 @@ catnd() {
|
|||||||
tcping -q -c 1 google.com.hk
|
tcping -q -c 1 google.com.hk
|
||||||
[ $? -ne 0 ] && echo "Failed: google.com.hk"
|
[ $? -ne 0 ] && echo "Failed: google.com.hk"
|
||||||
|
|
||||||
echo " "
|
echo
|
||||||
echo "$(date) - Network check completed!"
|
echo "$(date) - Network check completed!"
|
||||||
echo " "
|
|
||||||
echo "CatWrt Network Diagnostics by @miaoermua"
|
echo "CatWrt Network Diagnostics by @miaoermua"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user