mirror of
				https://github.com/oneclickvirt/backtrace.git
				synced 2025-11-04 07:42:37 +08:00 
			
		
		
		
	2024.05.01
This commit is contained in:
		
							parent
							
								
									237369da84
								
							
						
					
					
						commit
						c0568c0d9c
					
				
							
								
								
									
										16
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								README.md
									
									
									
									
									
								
							@ -2,12 +2,22 @@
 | 
			
		||||
 | 
			
		||||
[](https://hits.seeyoufarm.com) [](https://github.com/oneclickvirt/backtrace/actions/workflows/main.yaml)
 | 
			
		||||
 | 
			
		||||
基于 https://github.com/zhanghanyun/backtrace 的重构和优化版本,支持多系统多架构,记录多个线路
 | 
			
		||||
三网回程路由测试
 | 
			
		||||
 | 
			
		||||
基于 https://github.com/zhanghanyun/backtrace 的重构和优化,与原版存在很大不同
 | 
			
		||||
 | 
			
		||||
## 功能
 | 
			
		||||
 | 
			
		||||
- [x] 检测回程显示IPV4地址时的线路,不显示IP地址时显示ASN检测不到,原版[backtrace](https://github.com/zhanghanyun/backtrace)也支持
 | 
			
		||||
- [x] 支持对```4837```、```9929```和```163```线路的判断,原版[backtrace](https://github.com/zhanghanyun/backtrace)也支持
 | 
			
		||||
- [x] 支持对```CN2GT```和```CN2GIA```线路的判断,原版[backtrace](https://github.com/zhanghanyun/backtrace)不支持
 | 
			
		||||
- [x] 支持对```CMIN2```和```CMI```线路的判断,原版[backtrace](https://github.com/zhanghanyun/backtrace)不支持
 | 
			
		||||
- [x] 支持对整个回程路由进行线路分析,与原版[backtrace](https://github.com/zhanghanyun/backtrace)仅进行一次判断不同
 | 
			
		||||
- [x] 修复原版[backtrace](https://github.com/zhanghanyun/backtrace)对IPV4地址信息获取时json解析失败依然打印信息的问题
 | 
			
		||||
- [x] 增加对全平台的编译支持,原版[backtrace](https://github.com/zhanghanyun/backtrace)仅支持linux平台的amd64和arm64架构
 | 
			
		||||
 | 
			
		||||
## 使用
 | 
			
		||||
 | 
			
		||||
终端下运行
 | 
			
		||||
 | 
			
		||||
```shell
 | 
			
		||||
curl https://raw.githubusercontent.com/oneclickvirt/backtrace/main/backtrace_install.sh -sSf | sh
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
@ -55,14 +55,16 @@ func BackTrace() {
 | 
			
		||||
	rsp, err := http.Get("http://ipinfo.io")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Fatalln("Get ip info err", err)
 | 
			
		||||
	} else {
 | 
			
		||||
		info := IpInfo{}
 | 
			
		||||
		err = json.NewDecoder(rsp.Body).Decode(&info)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			log.Fatalln("json decode err", err)
 | 
			
		||||
		} else {
 | 
			
		||||
			fmt.Println(Green("国家: ") + White(info.Country) + Green(" 城市: ") + White(info.City) +
 | 
			
		||||
			Green(" 服务商: ") + Blue(info.Org))
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	info := IpInfo{}
 | 
			
		||||
	err = json.NewDecoder(rsp.Body).Decode(&info)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Fatalln("json decode err", err)
 | 
			
		||||
	}
 | 
			
		||||
	fmt.Println(Green("国家: ") + White(info.Country) + Green(" 城市: ") + White(info.City) +
 | 
			
		||||
		Green(" 服务商: ") + Blue(info.Org))
 | 
			
		||||
	for i := range ips {
 | 
			
		||||
		go trace(c, i, cmin2)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -1,11 +1,83 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#From https://github.com/oneclickvirt/backtrace
 | 
			
		||||
#2024.05.01
 | 
			
		||||
 | 
			
		||||
os=$(uname -s)
 | 
			
		||||
arch=$(uname -m)
 | 
			
		||||
if [ "$arch" = "x86_64" ]; then
 | 
			
		||||
  wget -q -O backtrace  https://github.com/oneclickvirt/backtrace/releases/output/backtrace-linux-amd64
 | 
			
		||||
else
 | 
			
		||||
  wget -q -O backtrace  https://github.com/oneclickvirt/backtrace/releases/output/backtrace-linux-arm64
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
case $os in
 | 
			
		||||
  Linux)
 | 
			
		||||
    case $arch in
 | 
			
		||||
      x86_64)
 | 
			
		||||
        wget -q -O backtrace https://github.com/oneclickvirt/backtrace/releases/output/backtrace-linux-amd64
 | 
			
		||||
        ;;
 | 
			
		||||
      arm*)
 | 
			
		||||
        wget -q -O backtrace https://github.com/oneclickvirt/backtrace/releases/output/backtrace-linux-arm64
 | 
			
		||||
        ;;
 | 
			
		||||
      *)
 | 
			
		||||
        echo "Unsupported architecture: $arch"
 | 
			
		||||
        exit 1
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
    ;;
 | 
			
		||||
  Darwin)
 | 
			
		||||
    case $arch in
 | 
			
		||||
      x86_64)
 | 
			
		||||
        wget -q -O backtrace https://github.com/oneclickvirt/backtrace/releases/output/backtrace-darwin-amd64
 | 
			
		||||
        ;;
 | 
			
		||||
      arm64)
 | 
			
		||||
        wget -q -O backtrace https://github.com/oneclickvirt/backtrace/releases/output/backtrace-darwin-arm64
 | 
			
		||||
        ;;
 | 
			
		||||
      *)
 | 
			
		||||
        echo "Unsupported architecture: $arch"
 | 
			
		||||
        exit 1
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
    ;;
 | 
			
		||||
  FreeBSD)
 | 
			
		||||
    case $arch in
 | 
			
		||||
      amd64)
 | 
			
		||||
        wget -q -O backtrace https://github.com/oneclickvirt/backtrace/releases/output/backtrace-freebsd-amd64
 | 
			
		||||
        ;;
 | 
			
		||||
      i386)
 | 
			
		||||
        wget -q -O backtrace https://github.com/oneclickvirt/backtrace/releases/output/backtrace-freebsd-386
 | 
			
		||||
        ;;
 | 
			
		||||
      arm*)
 | 
			
		||||
        wget -q -O backtrace https://github.com/oneclickvirt/backtrace/releases/output/backtrace-freebsd-arm64
 | 
			
		||||
        ;;
 | 
			
		||||
      *)
 | 
			
		||||
        echo "Unsupported architecture: $arch"
 | 
			
		||||
        exit 1
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
    ;;
 | 
			
		||||
  OpenBSD)
 | 
			
		||||
    case $arch in
 | 
			
		||||
      amd64)
 | 
			
		||||
        wget -q -O backtrace https://github.com/oneclickvirt/backtrace/releases/output/backtrace-openbsd-amd64
 | 
			
		||||
        ;;
 | 
			
		||||
      i386)
 | 
			
		||||
        wget -q -O backtrace https://github.com/oneclickvirt/backtrace/releases/output/backtrace-openbsd-386
 | 
			
		||||
        ;;
 | 
			
		||||
      arm*)
 | 
			
		||||
        wget -q -O backtrace https://github.com/oneclickvirt/backtrace/releases/output/backtrace-openbsd-arm64
 | 
			
		||||
        ;;
 | 
			
		||||
      *)
 | 
			
		||||
        echo "Unsupported architecture: $arch"
 | 
			
		||||
        exit 1
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
    ;;
 | 
			
		||||
  *)
 | 
			
		||||
    echo "Unsupported operating system: $os"
 | 
			
		||||
    exit 1
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
chmod 777 backtrace
 | 
			
		||||
mv backtrace /usr/bin/
 | 
			
		||||
backtrace
 | 
			
		||||
if [ -f /usr/bin/ ]; then
 | 
			
		||||
  mv backtrace /usr/bin/
 | 
			
		||||
  backtrace
 | 
			
		||||
else
 | 
			
		||||
  ./backtrace
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user