From dbd4883d2b4de8242ec8082d6ff74f5c4cf25c2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=96=B5=E4=BA=8C?= <66155308+miaoermua@users.noreply.github.com> Date: Sat, 22 Jun 2024 10:15:17 +0800 Subject: [PATCH] Delete sh.bak --- sh.bak | 509 --------------------------------------------------------- 1 file changed, 509 deletions(-) delete mode 100644 sh.bak diff --git a/sh.bak b/sh.bak deleted file mode 100644 index 903b20c..0000000 --- a/sh.bak +++ /dev/null @@ -1,509 +0,0 @@ -#!/bin/bash -### - # @Author: miaoermua - # @Date: 2023-12-12 16:59:27 - # @LastEditors: 喵二 - # @LastEditTime: 2024-01-13 17:45:49 - # @FilePath: \undefinedn:\Git\cattools\cattools.sh -### - -DEFAULT_IP="192.168.1.4" -RELEASE="/etc/catwrt_release" -AMD64_REPO="https://fastly.jsdelivr.net/gh/miaoermua/cattools@main/repo/amd64/distfeeds.conf" -MT798X_REPO="https://fastly.jsdelivr.net/gh/miaoermua/cattools@main/repo/mt798x/distfeeds.conf" -AMD64_EFI_SYSUP="https://github.com/miaoermua/CatWrt/releases/download/v23.8/CatWrt.v23.8.x86_64-squashfs-combined-efi.img.gz" -AMD64_BIOS_SYSUP="https://github.com/miaoermua/CatWrt/releases/download/v23.8/CatWrt.v23.8.x86_64-squashfs-combined.img.gz" - -# Check ROOT & OpenWrt - -if [ $(id -u) != "0" ]; then - echo "Error: You must be root to run this script, please use root user" - exit 1 -fi - -openwrt_release=$(cat /etc/openwrt_release) -if ! grep -q "OpenWrt" <<< "$openwrt_release"; then - echo "Your system is not supported!" - exit 1 -fi - - -update(){ - if ! curl -fsSLo /root/cattools https://service.miaoer.xyz/cattools/cattools.sh; then - echo "[main site]Unable to connect to update site! 无法连接更新站点!" - - if ! curl -fsSLo /root/cattools https://fastly.jsdelivr.net/gh/miaoermua/cattools@main/repo/mt798x/cattools.sh; then - echo "[site 2]Unable to connect to update site! 无法连接更新仓库" - - if ! curl -fsSLo /root/cattools https://raw.githubusercontent.com/miaoermua/service/main/cattools/cattools.sh; then - echo "[site 3]Unable to connect to update site! 无法连接更新仓库" - echo "Unable to connect, please check the internet! 无法连接互联网,请联系作者!" - return - fi - fi - fi - - exec $(readlink -f "$0") -} - -setip(){ - read -p "请输入 IP(默认为 $DEFAULT_IP): " input_ip - if [ -z $input_ip ]; then - input_ip=$DEFAULT_IP - fi - - uci set network.lan.ipaddr=$input_ip - uci commit network - /etc/init.d/network restart - - echo "默认 IP 已设置为 $input_ip" -} - -catwrt_update(){ - /usr/bin/catwrt-update -} - -catwrt_network_diagnostics(){ - echo " " - echo "$(date) - Starting CatWrt Network Diagnostics" - echo " " - - # Ping & PPPoE - - ping -c 3 223.5.5.5 > /dev/null - if [ $? -eq 0 ]; then - echo "[Ping] Network connection succeeded!" - echo " " - else - ping -c 3 119.29.29.99 > /dev/null - if [ $? -eq 0 ]; then - echo "[Ping] Network connection succeeded,But there may be problems!" - echo " " - else - pppoe_config=$(grep 'pppoe' /etc/config/network) - if [ ! -z "$pppoe_config" ]; then - echo "[PPPoE] Please check if your PPPoE account and password are correct." - echo " " - fi - exit 1 - fi - fi - - # DNS - - valid_dns="1.1.1.1 1.0.0.1 8.8.8.8 8.8.4.4 223.6.6.6 223.5.5.5 180.76.76.76 208.67.222.222 208.67.220.220 119.29.29.99" - - dns_config=$(grep 'option dns' /etc/config/network) - dns_servers=$(echo $dns_config | awk -F "'" '{print $2}') - - for ip in $dns_servers; do - if ! [[ $valid_dns =~ (^|[ ])$ip($|[ ]) ]]; then - echo "[DNS] Recommended to delete DNS $ip" - echo " " - exit 1 - fi - done - - # Bad DNS - - echo "[DNS] DNS configuration looks good!" - echo " " - - bad_dns="114.114.114.114 114.114.115.115 119.29.29.29" - if [[ $dns_config =~ $bad_dns ]]; then - echo "[DNS] DNS may be polluted or unreliable" - echo " " - fi - - # nslookup - - nslookup bilibili.com > /dev/null - if [ $? -ne 0 ]; then - nslookup www.miaoer.xyz > /dev/null - if [ $? -eq 0 ]; then - echo "[DNS] DNS resolution succeeded" - echo " " - else - echo "[DNS] NS resolution failed for 'www.miaoer.xyz'" - echo "[DNS] Your DNS server may have issues" - echo " " - fi - fi - - # Public IP - - echo CatWrt IPv4 Addr: $(curl --silent --connect-timeout 5 4.ipw.cn ) - echo " " - - curl 6.ipw.cn --connect-timeout 5 > /dev/null 2>&1 - if [ $? -ne 0 ]; then - echo "[IPv6] IPv6 network connection timed out" - echo " " - else - echo CatWrt IPv6 Addr: $(curl --silent 6.ipw.cn) - echo " " - fi - - # IPv6 - - resp=$(curl --silent test.ipw.cn) - - if echo "$resp" | grep -q -E '240e|2408|2409|2401'; then - echo "[IPv6] IPv6 access is preferred" - echo " " - else - echo "[IPv6] IPv4 access is preferred" - echo " " - fi - - # Default IP - - ipaddr_config=$(grep '192.168.1.4' /etc/config/network) - - if [ -z "$ipaddr_config" ]; then - 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 " " - fi - - # Bypass Gateway - - wan_config=$(grep 'config interface' /etc/config/network | grep 'wan') - - if [ -z "$wan_config" ]; then - 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 " " - fi - - # Rotuer Mode(PPPoE) - - pass_config=$(grep 'password' /etc/config/network) - user_config=$(grep 'username' /etc/config/network) - pppoe_config=$(grep 'pppoe' /etc/config/network) - - if [ -n "$pass_config" ] && [ -n "$user_config" ] && [ -n "$pppoe_config" ]; then - echo "[PPPoE] PPPoE Rotuer Mode" - echo " " - else - echo "[PPPoE] DHCP protocol detected in WAN interface" - echo "The device may not be in PPPoE Rotuer Mode" - echo " " - fi - - # IPv6 WAN6 - - grep 'config interface' /etc/config/network | grep 'wan6' > /dev/null - if [ $? -ne 0 ]; then - echo "[wan6] Your IPv6 network may have issues" - echo " " - fi - - grep 'dhcpv6' /etc/config/network > /dev/null - if [ $? -ne 0 ]; then - echo "[wan6] Your IPv6 network may have issues" - echo " " - fi - - # Tcping - - echo "[Tcping] Testing..." - - tcping -q -c 1 cn.bing.com - [ $? -ne 0 ] && echo "Failed: cn.bing.com" - - tcping -q -c 1 bilibili.com - [ $? -ne 0 ] && echo "Failed: bilibili.com" - - tcping -q -c 1 github.com - [ $? -ne 0 ] && echo "Failed: github.com" - - tcping -q -c 1 google.com.hk - [ $? -ne 0 ] && echo "Failed: google.com.hk" - - echo " " - echo "$(date) - Network check completed" - echo " " -} - -use_repo(){ - # fk is - if [ -f "/var/opkg-lists/istore_compat" ]; then - rm /var/opkg-lists/istore_compat - fi - - echo "Warning:" - echo "软件源纯属免费分享,赞助我们复制链接在浏览器打开,这对我们继续保持在线服务有很大影响。" - echo "本人不对所有软件进行保证,我们没有第三方商业服务,风险需要自行承担。" - echo "支持我们: https://www.miaoer.xyz/sponsor" - echo "你需要同意 CatWrt 软件源用户协议,请确认是否继续 (y/n)" - read -t 10 -p "您有 10 秒选择,输入 y 继续,其他退出:" confirm - [ "$confirm" != y ] && return - - arch=$(uname -m) - - # Check ARCH release - model=$(grep "Model:" $release | cut -d ' ' -f2) - - if [[ $model =~ "mt798x" ]]; then - # mt798x - curl -o /etc/opkg/distfeeds.conf $MT798X_REPO - - elif [ "$arch" = "x86_64" ]; then - # amd64 - curl -o /etc/opkg/distfeeds.conf $AMD64_REPO - - else - echo "不支持的机型: $model" - return - fi - - if [ -f "/var/lock/opkg.lock" ]; then - rm /var/lock/opkg.lock - fi - - opkg update -} - -catwrt_sysupgrade(){ - - # uname - if [[ $(uname -m) =~ "x86_64" ]]; then - echo "CatWrt ARCH: x86_64(AMD64)" - - # Check Disk space remaining - size=$(fdisk -l /dev | grep "Disk /dev" | awk '{print $5}') - size=${size%\*} - if [[ $size > 820 ]]; then - echo "磁盘空间出现了更改!脚本退出!" - exit - fi - - # Check EFI remaining - if [[ -b /dev/sda128 || -b /dev/vda128 || -b /dev/nvme0n1p128]]; then - efi_part=true - else - efi_part=false - fi - - # confirmation - echo "即将升级系统,存在风险请你三思确认 (y/n) 30 秒后默认退出脚本!" - read -t 30 confirm - confirm=${confirm:-n} - - # upgrade - if [[ $confirm =~ [Yy] ]]; then - if [[ $efi_part == true ]]; then - sysupgrade -v $AMD64_EFI_SYSUP - else - sysupgrade -v $AMD64_BIOS_SYSUP - fi - else - echo "用户已取消升级!" - fi - - else - echo "仅有 x86_64 可以使用脚本进行系统升级。" - fi -} - -debug(){ - - if [ -f /www/logs.txt ]; then - rm /www/logs.txt - fi - cat /etc/banner >> /www/logs.txt - $(date) >> /www/logs.txt - echo "## RELEASE" >> /www/logs.txt - echo "==========" >> /www/logs.txt - cat /etc/catwrt_release >> /www/logs.txt - - echo "## Application" >> /www/logs.txt - echo "==========" >> /www/logs.txt - opkg list_installed >> /www/logs.txt - - echo "## SYSLOG" >> /www/logs.txt - echo "==========" >> /www/logs.txt - logread >> /www/logs.txt - - echo "## DMESG" >> /www/logs.txt - echo "==========" >> /www/logs.txt - dmesg >> /www/logs.txt - - echo "## Plugins" >> /www/logs.txt - echo "==========" >> /www/logs.txt - cat /tmp/openclash.log >> /www/logs.txt - cat /tmp/log/ssrplus.log >> /www/logs.txt - cat /tmp/log/passwall.log >> /www/logs.txt - cat /tmp/log/passwall2.log >> /www/logs.txt - - echo "## Task" >> /www/logs.txt - echo "==========" >> /www/logs.txt - top -b -n 1 >> /www/logs.txt - - echo "## Network Configuration" >> /www/logs.txt - echo "==========" >> /www/logs.txt - ifconfig -a >> /www/logs.txt - echo "## UCI Network" >> /www/logs.txt - echo "==========" >> /www/logs.txt - uci show network >> /www/logs.txt - - echo "## Firewall" >> /www/logs.txt - echo "==========" >> /www/logs.txt - iptables -L -v -n >> /www/logs.txt - ip6tables -L -v -n >> /www/logs.txt - - echo "## Routing Table" >> /www/logs.txt - echo "==========" >> /www/logs.txt - ip route >> /www/logs.txt - ip -6 route >> /www/logs.txt - - echo "## Memory Usage" >> /www/logs.txt - echo "==========" >> /www/logs.txt - free -h >> /www/logs.txt - - echo "## Disk Usage" >> /www/logs.txt - echo "==========" >> /www/logs.txt - df -h >> /www/logs.txt - - - lan_ip=$(uci get network.lan.ipaddr) - - echo "日志已收集到 /www/logs.txt" - echo "使用浏览器访问下载 http://$lan_ip/logs.txt" - exit -} - -setup(){ - -read -p "Do you want toNetwork Setup? 是否使用网络向导? (Enter/1) " use_wizard - if [ "$use_wizard" != 1 ]; then - exit 0 - fi - -echo "CatWrt default IP is 192.168.1.4. 默认 CatWrt IP 为 192.168.1.4" -read -p "Do you want to change IP address? 是否修改IP地址? (Enter/1) " change_ip - if [ "$change_ip" = 1 ]; then - read -p "Please input new IP: " new_ip - uci set network.lan.ipaddr=$new_ip - fi - -echo "Recommended DNS: 223.6.6.6 119.29.29.99. 推荐使用的DNS: 223.6.6.6 119.29.29.99" -read -p "Use recommended DNS servers? 使用推荐的DNS服务器? (Enter/1) " use_recommended_dns - if [ "$use_recommended_dns" = 1 ]; then - read -p "Please input DNS servers separated by space 请输入以空格分隔的DNS服务器: " dns_servers - uci set network.lan.dns="$dns_servers" - else - uci set network.lan.dns="223.6.6.6 119.29.29.99" - fi - -echo "IPv6 is enabled by default. IPv6 默认是开启的" -read -p "Disable IPv6? 是否禁用IPv6? (Enter/1) " disable_ipv6 - if [ "$disable_ipv6" = 1 ]; then - uci delete dhcp.lan.dhcpv6 - uci delete dhcp.lan.ra - uci delete dhcp.lan.ra_management - uci delete network.lan.ip6assign - fi - -echo "Default connection mode is DHCP. 默认模式为 DHCP" -read -p "Use PPPoE dial up instead? 使用PPPoE拨号上网? (Enter/1) " use_pppoe - if [ "$use_pppoe" = 1 ]; then - read -p "Please input PPPoE username: " pppoe_user - read -p "Please input PPPoE password: " pppoe_pass - uci set network.wan.proto=pppoe - uci set network.wan.username=$pppoe_user - uci set network.wan.password=$pppoe_pass - fi - -echo "Default client IP range: 30 to 200. 默认客户端 IP 段为 30 到 200" -read -p "Set custom client IP range instead? 设置自定义客户端IP段? (Enter/1)" custom_ip_range - if [ "$custom_ip_range" = 1 ]; then - read -p "Please input start IP: " dhcp_start - read -p "Please input end IP: " dhcp_limit - uci set dhcp.lan.start=$dhcp_start - uci set dhcp.lan.limit=$dhcp_limit - fi -echo "WiFi 部分将等待完善!" - -uci commit - -/etc/init.d/network restart -/etc/init.d/dnsmasq restart -/etc/init.d/firewall restart - -ping -c 2 bilibili.com > /dev/null - - if [ $? -eq 0 ]; then - echo "Network connectivity OK!" - else - lan_ip=$(uci get network.lan.ipaddr) - echo "Network error, bilibili.com ping failed." - echo "Please login to LuCI interface: http://$lan_ip to check settings." - fi - -echo "Network Wizard completed!" - -bypass_gateway(){ - - echo "没做完" - exit -} - -update - -while true; do - clear - echo " CatTools" - echo "----------------------------------------" - echo "1. Setup Network" - echo "2. Set IP Address" - echo "3. Check Updates" - echo "4. Network Diagnostics" - echo "5. Use Custom Repo" - echo "6. System Upgrade" - echo "7. Collect Debug Logs" - echo "8. Setup Bypass Gateway" - echo "0. Exit" - echo "----------------------------------------" - echo -n "Please enter your choice: " - read choice - - case $choice in - 1) - setup - ;; - 2) - setip - ;; - 3) - catwrt_update - ;; - 4) - catwrt_network_diagnostics - ;; - 5) - use_repo - ;; - 6) - catwrt_sysupgrade - ;; - 7) - debug - ;; - 8) - bypass_gateway - ;; - 0) - echo "Exiting..." - break - ;; - *) - echo "Invalid choice, please try again" - ;; - esac - - sleep 1 -done - -echo "Done!"