mirror of
https://github.com/oneclickvirt/ecs.git
synced 2025-10-04 23:12:49 +08:00
Compare commits
27 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8e6037c340 | ||
![]() |
be59af4411 | ||
![]() |
7ae753a4e2 | ||
![]() |
3956420ffe | ||
![]() |
6ebe25af2d | ||
![]() |
fe02bd295a | ||
![]() |
172b520702 | ||
![]() |
d460e2b167 | ||
![]() |
03f5fd9e48 | ||
![]() |
0b0972cc3e | ||
![]() |
8273895def | ||
![]() |
3e31671502 | ||
![]() |
42b3ab3cff | ||
![]() |
0bef8161e7 | ||
![]() |
4f7e37f37c | ||
![]() |
c0dcea53e3 | ||
![]() |
02034da2d7 | ||
![]() |
aa6c835aed | ||
![]() |
2ebfdf7533 | ||
![]() |
28e21f0838 | ||
![]() |
23aae0b32b | ||
![]() |
abaf021e1c | ||
![]() |
be4e46ceba | ||
![]() |
4746ae14cf | ||
![]() |
eb702c4d97 | ||
![]() |
86bde156a4 | ||
![]() |
08be6238d2 |
5
.github/workflows/public-build.yml
vendored
5
.github/workflows/public-build.yml
vendored
@@ -28,9 +28,8 @@ jobs:
|
||||
run: |
|
||||
# 移除 network 包中对 security 的引用
|
||||
find . -type f -name "*.go" -exec sed -i 's|"github.com/oneclickvirt/security/network"|"github.com/oneclickvirt/basics/network"|g' {} +
|
||||
|
||||
# 修改 network/network.go
|
||||
cat > network/network.go << 'EOF'
|
||||
# 修改 back/network/network.go
|
||||
cat > back/network/network.go << 'EOF'
|
||||
package network1
|
||||
|
||||
import "github.com/oneclickvirt/basics/network"
|
||||
|
@@ -2,7 +2,8 @@
|
||||
FROM alpine:latest
|
||||
# 安装必要的工具
|
||||
RUN apk add --no-cache wget curl bash
|
||||
RUN apk add --no-cache bind-tools --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main
|
||||
RUN apk add --no-cache bind-tools
|
||||
# --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main
|
||||
RUN apk add --no-cache grep openssl ca-certificates uuidgen
|
||||
RUN export noninteractive=true
|
||||
# 下载并执行 goecs.sh 脚本
|
||||
|
60
README.md
60
README.md
@@ -2,9 +2,9 @@
|
||||
|
||||
[](https://github.com/oneclickvirt/ecs/actions/workflows/main.yaml)
|
||||
|
||||
[](https://www.spiritlhl.net/)
|
||||
[](https://hits.spiritlhl.net)
|
||||
|
||||
融合怪测评项目 - GO 重构版本
|
||||
融合怪测评项目 - GO版本 - (除环境安装使用shell外无额外shell文件依赖)
|
||||
|
||||
如有问题请 [issues](https://github.com/oneclickvirt/ecs/issues) 反馈。
|
||||
|
||||
@@ -24,16 +24,17 @@ Shell 版本:[https://github.com/spiritLHLS/ecs](https://github.com/spiritLHLS
|
||||
|
||||
### **编译与测试支持情况**
|
||||
| 编译支持的架构 | 测试支持的架构 | 编译支持的系统 | 测试支持的系统 |
|
||||
|-------------|------|--------|------------|
|
||||
|---------------------------|-----------|------------------------------|-----------|
|
||||
| amd64 | amd64 | Linux | Linux |
|
||||
| arm | arm | Windows | Windows |
|
||||
| arm64 | arm64 | FreeBSD | FreeBSD |
|
||||
| 386 | 386 | OpenBSD | OpenBSD |
|
||||
| 386 | 386 | | |
|
||||
| mips | | MacOS | |
|
||||
| mipsle | | | |
|
||||
| s390x | s390x | | |
|
||||
| riscv64 | | | |
|
||||
|
||||
|
||||
> 更多架构与系统请自行测试,如有问题请开 issues。
|
||||
|
||||
### **待支持的系统**
|
||||
@@ -45,42 +46,30 @@ Shell 版本:[https://github.com/spiritLHLS/ecs](https://github.com/spiritLHLS
|
||||
|
||||
## **功能**
|
||||
|
||||
- 系统基础信息查询,IP基础信息并发查询:
|
||||
自研 [basics](https://github.com/oneclickvirt/basics)、[gostun](https://github.com/oneclickvirt/gostun)
|
||||
- CPU 测试:
|
||||
自研 [cputest](https://github.com/oneclickvirt/cputest),支持 sysbench(lua/golang版本)、geekbench、winsat
|
||||
- 内存测试:
|
||||
自研 [memorytest](https://github.com/oneclickvirt/memorytest),支持 sysbench、dd
|
||||
- 硬盘测试:
|
||||
自研 [disktest](https://github.com/oneclickvirt/disktest),支持 dd、fio、winsat
|
||||
- 流媒体解锁信息并发查询:
|
||||
借鉴 [netflix-verify](https://github.com/sjlleo/netflix-verify) 等逻辑,开发至 [CommonMediaTests](https://github.com/oneclickvirt/CommonMediaTests)
|
||||
- 常见流媒体测试并发查询:
|
||||
自研至 [UnlockTests](https://github.com/oneclickvirt/UnlockTests),逻辑借鉴 [RegionRestrictionCheck](https://github.com/lmc999/RegionRestrictionCheck) 等
|
||||
- IP 质量/安全信息并发查询:
|
||||
自研,二进制文件编译至 [securityCheck](https://github.com/oneclickvirt/securityCheck)
|
||||
- 邮件端口测试:
|
||||
自研 [portchecker](https://github.com/oneclickvirt/portchecker)
|
||||
- 三网回程测试:
|
||||
借鉴 [zhanghanyun/backtrace](https://github.com/zhanghanyun/backtrace),二次开发至 [oneclickvirt/backtrace](https://github.com/oneclickvirt/backtrace)
|
||||
- 三网路由测试:
|
||||
基于 [NTrace-core](https://github.com/nxtrace/NTrace-core),二次开发至 [nt3](https://github.com/oneclickvirt/nt3)
|
||||
- 网速测试:
|
||||
基于 [speedtest.net](https://github.com/spiritLHLS/speedtest.net-CN-ID) 和 [speedtest.cn](https://github.com/spiritLHLS/speedtest.cn-CN-ID) 数据,开发至 [oneclickvirt/speedtest](https://github.com/oneclickvirt/speedtest)
|
||||
- 三网 Ping 值测试:
|
||||
借鉴 [ecsspeed](https://github.com/spiritLHLS/ecsspeed),二次开发至 [pingtest](https://github.com/oneclickvirt/pingtest)
|
||||
- 系统基础信息查询,IP基础信息并发查询:[basics](https://github.com/oneclickvirt/basics)、[gostun](https://github.com/oneclickvirt/gostun)
|
||||
- CPU 测试:[cputest](https://github.com/oneclickvirt/cputest),支持 sysbench(lua/golang版本)、geekbench、winsat
|
||||
- 内存测试:[memorytest](https://github.com/oneclickvirt/memorytest),支持 sysbench、dd
|
||||
- 硬盘测试:[disktest](https://github.com/oneclickvirt/disktest),支持 dd、fio、winsat
|
||||
- 流媒体解锁信息并发查询:[netflix-verify](https://github.com/sjlleo/netflix-verify) 等逻辑,开发至 [CommonMediaTests](https://github.com/oneclickvirt/CommonMediaTests)
|
||||
- 常见流媒体测试并发查询:[UnlockTests](https://github.com/oneclickvirt/UnlockTests),逻辑借鉴 [RegionRestrictionCheck](https://github.com/lmc999/RegionRestrictionCheck) 等
|
||||
- IP 质量/安全信息并发查询:二进制文件编译至 [securityCheck](https://github.com/oneclickvirt/securityCheck)
|
||||
- 邮件端口测试:[portchecker](https://github.com/oneclickvirt/portchecker)
|
||||
- 三网回程测试:借鉴 [zhanghanyun/backtrace](https://github.com/zhanghanyun/backtrace),二次开发至 [oneclickvirt/backtrace](https://github.com/oneclickvirt/backtrace)
|
||||
- 三网路由测试:基于 [NTrace-core](https://github.com/nxtrace/NTrace-core),二次开发至 [nt3](https://github.com/oneclickvirt/nt3)
|
||||
- 网速测试:基于 [speedtest.net](https://github.com/spiritLHLS/speedtest.net-CN-ID) 和 [speedtest.cn](https://github.com/spiritLHLS/speedtest.cn-CN-ID) 数据,开发至 [oneclickvirt/speedtest](https://github.com/oneclickvirt/speedtest)
|
||||
- 三网 Ping 值测试:借鉴 [ecsspeed](https://github.com/spiritLHLS/ecsspeed),二次开发至 [pingtest](https://github.com/oneclickvirt/pingtest)
|
||||
|
||||
**本项目初次使用建议查看说明:[跳转](https://github.com/oneclickvirt/ecs/README_NEW_USER.md)**
|
||||
**本项目初次使用建议查看说明:[跳转](https://github.com/oneclickvirt/ecs/blob/master/README_NEW_USER.md)**
|
||||
|
||||
---
|
||||
|
||||
## **使用说明**
|
||||
|
||||
### **Linux/FreeBSD/MacOS**
|
||||
### **Linux/FreeBSD/OpenBSD/MacOS**
|
||||
|
||||
#### **一键命令**
|
||||
|
||||
将默认安装依赖,默认更新包管理器,默认非互动模式,下面的非一键命令版本可控制是否安装依赖/是否更新包管理器/默认互动模式
|
||||
**一键命令**将**默认安装依赖**,**默认更新包管理器**,**默认非互动模式**
|
||||
|
||||
- **国际用户无加速:**
|
||||
|
||||
@@ -102,8 +91,11 @@ Shell 版本:[https://github.com/spiritLHLS/ecs](https://github.com/spiritLHLS
|
||||
|
||||
#### **详细说明**
|
||||
|
||||
**详细说明**中的命令**可控制是否安装依赖**,**是否更新包管理器**,**默认互动模式可进行选择**
|
||||
|
||||
<details>
|
||||
<summary>展开查看详细说明</summary>
|
||||
|
||||
1. **下载脚本**
|
||||
|
||||
**国际用户无加速:**
|
||||
@@ -365,7 +357,7 @@ GOOS=darwin GOARCH=amd64 go build -o goecs_darwin
|
||||
|
||||
## 致谢
|
||||
|
||||
感谢 [ipinfo.io](https://ipinfo.io) [ip.sb](https://ip.sb) [cheervision.co](https://cheervision.co) [scamalytics.com](https://scamalytics.com) [abuseipdb.com](https://www.abuseipdb.com/) [virustotal.com](https://www.virustotal.com/) [ip2location.com](ip2location.com/) [ip-api.com](https://ip-api.com) [ipregistry.co](https://ipregistry.co/) [ipdata.co](https://ipdata.co/) [ipgeolocation.io](https://ipgeolocation.io) [ipwhois.io](https://ipwhois.io) [ipapi.com](https://ipapi.com/) [ipapi.is](https://ipapi.is/) [ipqualityscore.com](https://www.ipqualityscore.com/) [bigdatacloud.com](https://www.bigdatacloud.com/) 等网站提供的API进行检测,感谢互联网各网站提供的查询资源
|
||||
感谢 [he.net](https://he.net) [bgp.tools](https://bgp.tools) [ipinfo.io](https://ipinfo.io) [ip.sb](https://ip.sb) [cheervision.co](https://cheervision.co) [scamalytics.com](https://scamalytics.com) [abuseipdb.com](https://www.abuseipdb.com/) [virustotal.com](https://www.virustotal.com/) [ip2location.com](ip2location.com/) [ip-api.com](https://ip-api.com) [ipregistry.co](https://ipregistry.co/) [ipdata.co](https://ipdata.co/) [ipgeolocation.io](https://ipgeolocation.io) [ipwhois.io](https://ipwhois.io) [ipapi.com](https://ipapi.com/) [ipapi.is](https://ipapi.is/) [ipqualityscore.com](https://www.ipqualityscore.com/) [bigdatacloud.com](https://www.bigdatacloud.com/) 等网站提供的API进行检测,感谢互联网各网站提供的查询资源
|
||||
|
||||
感谢
|
||||
|
||||
@@ -384,3 +376,7 @@ GOOS=darwin GOARCH=amd64 go build -o goecs_darwin
|
||||
<a href="https://community.ibm.com/zsystems/form/l1cc-oss-vm-request/" target="_blank">
|
||||
<img src="https://linuxone.cloud.marist.edu/oss/resources/images/linuxonelogo03.png" alt="ibm">
|
||||
</a>
|
||||
|
||||
## Stargazers over time
|
||||
|
||||
[](https://starchart.cc/oneclickvirt/ecs)
|
||||
|
56
README_EN.md
56
README_EN.md
@@ -2,9 +2,9 @@
|
||||
|
||||
[](https://github.com/oneclickvirt/ecs/actions/workflows/main.yaml)
|
||||
|
||||
[](https://www.spiritlhl.net/)
|
||||
[](https://hits.spiritlhl.net)
|
||||
|
||||
Fusion Monster Evaluation Project - GO Refactored Version
|
||||
Fusion Monster Evaluation Project - GO Version - (No additional shell file dependencies other than the environment installation shell)
|
||||
|
||||
Please report any issues via [issues](https://github.com/oneclickvirt/ecs/issues).
|
||||
|
||||
@@ -28,7 +28,7 @@ Shell version: [https://github.com/spiritLHLS/ecs/blob/main/README_EN.md](https:
|
||||
| amd64 | amd64 | Linux | Linux |
|
||||
| arm | arm | Windows | Windows |
|
||||
| arm64 | arm64 | FreeBSD | FreeBSD |
|
||||
| 386 | 386 | OpenBSD | OpenBSD |
|
||||
| 386 | 386 | | |
|
||||
| mips | | MacOS | |
|
||||
| mipsle | | | |
|
||||
| s390x | s390x | | |
|
||||
@@ -45,42 +45,30 @@ Shell version: [https://github.com/spiritLHLS/ecs/blob/main/README_EN.md](https:
|
||||
|
||||
## **Features**
|
||||
|
||||
- System basic information query and concurrent IP basic information query:
|
||||
Self-developed [basics](https://github.com/oneclickvirt/basics), [gostun](https://github.com/oneclickvirt/gostun)
|
||||
- CPU test:
|
||||
Self-developed [cputest](https://github.com/oneclickvirt/cputest) supporting sysbench(lua/golang version), geekbench, winsat
|
||||
- Memory test:
|
||||
Self-developed [memorytest](https://github.com/oneclickvirt/memorytest) supporting sysbench, dd
|
||||
- Disk test:
|
||||
Self-developed [disktest](https://github.com/oneclickvirt/disktest) supporting dd, fio, winsat
|
||||
- Streaming media unlock information concurrent query:
|
||||
Modified from [netflix-verify](https://github.com/sjlleo/netflix-verify) and more to [CommonMediaTests](https://github.com/oneclickvirt/CommonMediaTests)
|
||||
- Common streaming media tests concurrent query:
|
||||
Self-developed to [UnlockTests](https://github.com/oneclickvirt/UnlockTests), logic modified from [RegionRestrictionCheck](https://github.com/lmc999/RegionRestrictionCheck) and others
|
||||
- IP quality/security information concurrent query:
|
||||
Self-developed, binary files compiled in [securityCheck](https://github.com/oneclickvirt/securityCheck)
|
||||
- Email port test:
|
||||
Self-developed [portchecker](https://github.com/oneclickvirt/portchecker)
|
||||
- Three-network return path test:
|
||||
Modified from [zhanghanyun/backtrace](https://github.com/zhanghanyun/backtrace) to [oneclickvirt/backtrace](https://github.com/oneclickvirt/backtrace)
|
||||
- Three-network route test:
|
||||
Modified from [NTrace-core](https://github.com/nxtrace/NTrace-core) to [nt3](https://github.com/oneclickvirt/nt3)
|
||||
- Speed test:
|
||||
Based on data from [speedtest.net](https://github.com/spiritLHLS/speedtest.net-CN-ID) and [speedtest.cn](https://github.com/spiritLHLS/speedtest.cn-CN-ID), developed to [oneclickvirt/speedtest](https://github.com/oneclickvirt/speedtest)
|
||||
- Three-network Ping test:
|
||||
Modified from [ecsspeed](https://github.com/spiritLHLS/ecsspeed) to [pingtest](https://github.com/oneclickvirt/pingtest)
|
||||
- System basic information query and concurrent IP basic information query: Self-developed [basics](https://github.com/oneclickvirt/basics), [gostun](https://github.com/oneclickvirt/gostun)
|
||||
- CPU test: Self-developed [cputest](https://github.com/oneclickvirt/cputest) supporting sysbench(lua/golang version), geekbench, winsat
|
||||
- Memory test: Self-developed [memorytest](https://github.com/oneclickvirt/memorytest) supporting sysbench, dd
|
||||
- Disk test: Self-developed [disktest](https://github.com/oneclickvirt/disktest) supporting dd, fio, winsat
|
||||
- Streaming media unlock information concurrent query: Modified from [netflix-verify](https://github.com/sjlleo/netflix-verify) and more to [CommonMediaTests](https://github.com/oneclickvirt/CommonMediaTests)
|
||||
- Common streaming media tests concurrent query: Self-developed to [UnlockTests](https://github.com/oneclickvirt/UnlockTests), logic modified from [RegionRestrictionCheck](https://github.com/lmc999/RegionRestrictionCheck) and others
|
||||
- IP quality/security information concurrent query: Self-developed, binary files compiled in [securityCheck](https://github.com/oneclickvirt/securityCheck)
|
||||
- Email port test: Self-developed [portchecker](https://github.com/oneclickvirt/portchecker)
|
||||
- Three-network return path test: Modified from [zhanghanyun/backtrace](https://github.com/zhanghanyun/backtrace) to [oneclickvirt/backtrace](https://github.com/oneclickvirt/backtrace)
|
||||
- Three-network route test: Modified from [NTrace-core](https://github.com/nxtrace/NTrace-core) to [nt3](https://github.com/oneclickvirt/nt3)
|
||||
- Speed test: Based on data from [speedtest.net](https://github.com/spiritLHLS/speedtest.net-CN-ID) and [speedtest.cn](https://github.com/spiritLHLS/speedtest.cn-CN-ID), developed to [oneclickvirt/speedtest](https://github.com/oneclickvirt/speedtest)
|
||||
- Three-network Ping test: Modified from [ecsspeed](https://github.com/spiritLHLS/ecsspeed) to [pingtest](https://github.com/oneclickvirt/pingtest)
|
||||
|
||||
**For first-time users of this project, it is recommended to check the instructions: [Jump to](https://github.com/oneclickvirt/ecs/README_NEW_USER.md)**
|
||||
**For first-time users of this project, it is recommended to check the instructions: [Jump to](https://github.com/oneclickvirt/ecs/blob/master/README_NEW_USER.md)**
|
||||
|
||||
---
|
||||
|
||||
## **Instructions for Use**
|
||||
|
||||
### **Linux/FreeBSD/MacOS**
|
||||
### **Linux/FreeBSD/OpenBSD/MacOS**
|
||||
|
||||
#### **One-click command**
|
||||
|
||||
Will install dependencies by default, update package manager by default, non-interactive mode by default. The non-one-click version below allows control of dependency installation/package manager updates/interactive mode by default.
|
||||
**One-Click Command** will **Install Dependencies by Default**, **Update Package Manager by Default**, **Default Non-Interactive Mode***
|
||||
|
||||
- **International users without acceleration:**
|
||||
|
||||
@@ -102,6 +90,8 @@ Will install dependencies by default, update package manager by default, non-int
|
||||
|
||||
#### **Detailed instructions**
|
||||
|
||||
**Detailed description** of the commands in **Command **Controls whether to install dependencies**, **Whether to update the package manager**, **Default interaction mode can be selected***
|
||||
|
||||
<details>
|
||||
<summary>Expand to view detailed instructions</summary>
|
||||
|
||||
@@ -365,7 +355,7 @@ Note that `goecs` allows you to specify CPU test method via parameters. The defa
|
||||
|
||||
## Thanks
|
||||
|
||||
Thank [ipinfo.io](https://ipinfo.io) [ip.sb](https://ip.sb) [cheervision.co](https://cheervision.co) [scamalytics.com](https://scamalytics.com) [abuseipdb.com](https://www.abuseipdb.com/) [virustotal.com](https://www.virustotal.com/) [ip2location.com](ip2location.com/) [ip-api.com](https://ip-api.com) [ipregistry.co](https://ipregistry.co/) [ipdata.co](https://ipdata.co/) [ipgeolocation.io](https://ipgeolocation.io) [ipwhois.io](https://ipwhois.io) [ipapi.com](https://ipapi.com/) [ipapi.is](https://ipapi.is/) [ipqualityscore.com](https://www.ipqualityscore.com/) [bigdatacloud.com](https://www.bigdatacloud.com/) and others for providing APIs for testing, and thanks to various websites on the Internet for providing query resources.
|
||||
Thank [he.net](https://he.net) [bgp.tools](https://bgp.tools) [ipinfo.io](https://ipinfo.io) [ip.sb](https://ip.sb) [cheervision.co](https://cheervision.co) [scamalytics.com](https://scamalytics.com) [abuseipdb.com](https://www.abuseipdb.com/) [virustotal.com](https://www.virustotal.com/) [ip2location.com](ip2location.com/) [ip-api.com](https://ip-api.com) [ipregistry.co](https://ipregistry.co/) [ipdata.co](https://ipdata.co/) [ipgeolocation.io](https://ipgeolocation.io) [ipwhois.io](https://ipwhois.io) [ipapi.com](https://ipapi.com/) [ipapi.is](https://ipapi.is/) [ipqualityscore.com](https://www.ipqualityscore.com/) [bigdatacloud.com](https://www.bigdatacloud.com/) and others for providing APIs for testing, and thanks to various websites on the Internet for providing query resources.
|
||||
|
||||
Thank
|
||||
|
||||
@@ -384,3 +374,7 @@ Thanks also to the following platforms for editorial and testing support
|
||||
<a href="https://community.ibm.com/zsystems/form/l1cc-oss-vm-request/" target="_blank">
|
||||
<img src="https://linuxone.cloud.marist.edu/oss/resources/images/linuxonelogo03.png" alt="ibm">
|
||||
</a>
|
||||
|
||||
## Stargazers over time
|
||||
|
||||
[](https://starchart.cc/oneclickvirt/ecs)
|
||||
|
@@ -1,4 +1,6 @@
|
||||
# 目录 / Table of Contents / 目次
|
||||
## 目录 / Table of Contents / 目次
|
||||
|
||||
[](https://hits.spiritlhl.net)
|
||||
|
||||
## 语言 / Languages / 言語
|
||||
- [中文](#中文)
|
||||
@@ -83,6 +85,10 @@ IPV4/IPV6 ASN: 显示宿主机IP所属的ASN组织ID和名字,同一个IDC可
|
||||
|
||||
IPV4/IPV6 Location: 显示对应协议的IP在数据库中的地理位置。
|
||||
|
||||
IPV4 Active IPs: 根据 bgp.tools 信息查询当前CIDR分块中 活跃邻居数量/总邻居数量
|
||||
|
||||
IPV6 子网掩码:根据宿主机信息查询的本机IPV6子网大小
|
||||
|
||||
### **CPU测试**
|
||||
|
||||
支持通过命令行参数选择```GeekBench```和```Sysbench```进行测试:
|
||||
@@ -114,7 +120,7 @@ AMD的7950x单核满血性能得分在6500左右,AMD的5950x单核满血性能
|
||||
|
||||
一般来说,只需要判断IO速度是否低于```10240MB/s```,如果低于这个值那么证明内存性能不佳,极大概率存在超售超卖问题。
|
||||
|
||||
至于超开的原有可能是开了虚拟内存(硬盘当内存用)、可能是开了ZRAM(牺牲CPU性能)、可能是开了气球驱动、可能是开了KSM内存融合,原因多种多样。
|
||||
至于超开的原因可能是开了虚拟内存(硬盘当内存用)、可能是开了ZRAM(牺牲CPU性能)、可能是开了气球驱动、可能是开了KSM内存融合,原因多种多样。
|
||||
|
||||
### **硬盘测试**
|
||||
|
||||
@@ -178,7 +184,7 @@ AMD的7950x单核满血性能得分在6500左右,AMD的5950x单核满血性能
|
||||
|
||||
具体当前宿主机不做邮局或者不收电子邮件,那么该项目指标不用理会。
|
||||
|
||||
### **三网回城线路检测**
|
||||
### **三网回程线路检测**
|
||||
|
||||
检测当前的宿主机的IP地址 到 四个主要POP点城市的三个主要运营商的接入点的IP地址 的线路,具体来说
|
||||
|
||||
@@ -250,6 +256,8 @@ IPv4/IPv6 ASN: Displays the ASN organization ID and name that the host machine's
|
||||
|
||||
IPv4/IPv6 Location: Shows the geographic location of the corresponding protocol's IP in the database.
|
||||
|
||||
IPV4 Active IPs: Query the number of active neighbours/total number of neighbours in the current CIDR chunk based on the bgp.tools information.
|
||||
|
||||
### **CPU Testing**
|
||||
|
||||
Supports selecting `GeekBench` and `Sysbench` for testing through command line parameters:
|
||||
@@ -393,6 +401,8 @@ IPV4/IPV6 ASN: ホストマシンのIPが属するASN組織IDと名前を表示
|
||||
|
||||
IPV4/IPV6 ロケーション: データベース内の対応するプロトコルのIPの地理的位置を表示します。
|
||||
|
||||
IPV4 アクティブIP: bgp.tools情報に基づいて、現在のCIDRチャンクのアクティブなネイバー数/総ネイバー数を照会する。
|
||||
|
||||
### **CPUテスト**
|
||||
|
||||
コマンドラインパラメータを通じて```GeekBench```と```Sysbench```のテストを選択できます:
|
||||
|
28
go.mod
28
go.mod
@@ -4,20 +4,20 @@ go 1.23.4
|
||||
|
||||
require (
|
||||
github.com/imroc/req/v3 v3.49.0
|
||||
github.com/oneclickvirt/CommonMediaTests v0.0.4-20240704024502
|
||||
github.com/oneclickvirt/UnlockTests v0.0.26-20250301144558
|
||||
github.com/oneclickvirt/backtrace v0.0.4-20240702140722
|
||||
github.com/oneclickvirt/basics v0.0.10-20250319084937
|
||||
github.com/oneclickvirt/cputest v0.0.10-20250316113043
|
||||
github.com/oneclickvirt/CommonMediaTests v0.0.4-20250329123841
|
||||
github.com/oneclickvirt/UnlockTests v0.0.26-20250329125926
|
||||
github.com/oneclickvirt/backtrace v0.0.4-20250329130043
|
||||
github.com/oneclickvirt/basics v0.0.11-20250404123515
|
||||
github.com/oneclickvirt/cputest v0.0.10-20250404151448
|
||||
github.com/oneclickvirt/defaultset v0.0.2-20240624082446
|
||||
github.com/oneclickvirt/disktest v0.0.5-20250316104849
|
||||
github.com/oneclickvirt/gostun v0.0.3-20240702054621
|
||||
github.com/oneclickvirt/memorytest v0.0.4-20240820095126
|
||||
github.com/oneclickvirt/nt3 v0.0.4-20250118032755
|
||||
github.com/oneclickvirt/pingtest v0.0.6-20250317132907
|
||||
github.com/oneclickvirt/portchecker v0.0.3-20250118031146
|
||||
github.com/oneclickvirt/security v0.0.4-20240729065854
|
||||
github.com/oneclickvirt/speedtest v0.0.9-20250308142627
|
||||
github.com/oneclickvirt/disktest v0.0.7-20250404150324
|
||||
github.com/oneclickvirt/gostun v0.0.3-20250329105202
|
||||
github.com/oneclickvirt/memorytest v0.0.5-20250404130028
|
||||
github.com/oneclickvirt/nt3 v0.0.4-20250329125813
|
||||
github.com/oneclickvirt/pingtest v0.0.6-20250329130728
|
||||
github.com/oneclickvirt/portchecker v0.0.3-20250329125750
|
||||
github.com/oneclickvirt/security v0.0.4-20250401123241
|
||||
github.com/oneclickvirt/speedtest v0.0.9-20250329130205
|
||||
)
|
||||
|
||||
require (
|
||||
@@ -61,6 +61,8 @@ require (
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||
github.com/nxtrace/NTrace-core v1.3.7 // indirect
|
||||
github.com/oneclickvirt/dd v0.0.1-20250404124549 // indirect
|
||||
github.com/oneclickvirt/fio v0.0.1-20250404141714 // indirect
|
||||
github.com/onsi/ginkgo/v2 v2.22.1 // indirect
|
||||
github.com/oschwald/maxminddb-golang v1.13.1 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
|
||||
|
56
go.sum
56
go.sum
@@ -101,34 +101,38 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G
|
||||
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
|
||||
github.com/nxtrace/NTrace-core v1.3.7 h1:ZnTbPrPqpyeraCvUyNbQTNyl4Gz3NRQDh06WdIIHh90=
|
||||
github.com/nxtrace/NTrace-core v1.3.7/go.mod h1:aW2owz9I+W5i+gJEDmnWli75mB+fuO4UTwdOPMcQHpE=
|
||||
github.com/oneclickvirt/CommonMediaTests v0.0.4-20240704024502 h1:hRIYJ2uEp2N3AH5bP5X6bwfdwWfZQO/2WoqpUJ8+WsY=
|
||||
github.com/oneclickvirt/CommonMediaTests v0.0.4-20240704024502/go.mod h1:DAmFPRjFV5p9fEzUUSml5jJGn2f1NZJQCzTxITHDjc4=
|
||||
github.com/oneclickvirt/UnlockTests v0.0.26-20250301144558 h1:CE4RKKEXxquXMEmOdiT8XTQvrJHDZdEr+xMFmx3Cw3E=
|
||||
github.com/oneclickvirt/UnlockTests v0.0.26-20250301144558/go.mod h1:yXWIZB6iLS88pEd9m4QJi1GENn+7I91zA72y5ONz2Oc=
|
||||
github.com/oneclickvirt/backtrace v0.0.4-20240702140722 h1:UJ/VWf+ZbhGarc9HcHMIyenpmX+b2LxkXu0hlLk3Gxs=
|
||||
github.com/oneclickvirt/backtrace v0.0.4-20240702140722/go.mod h1:zvsC7xY/WZqs5KL2JB967OVnuqjNbxu9bW6wXRLo5h8=
|
||||
github.com/oneclickvirt/basics v0.0.10-20250319084937 h1:R4M7Xa6pleMXERlzZutppvKyukHA8y5S4YdKji5vtl4=
|
||||
github.com/oneclickvirt/basics v0.0.10-20250319084937/go.mod h1:fUdVpU8gdjaZsTCyqnQBAbHc9BbbN8Fxr3sGPKooUpU=
|
||||
github.com/oneclickvirt/cputest v0.0.10-20250316113043 h1:0IH4TlPWXyvB8D3+/DTRIapFdzlggPW12flPT24wqyk=
|
||||
github.com/oneclickvirt/cputest v0.0.10-20250316113043/go.mod h1:MmaHN9+XMntI3rLycwj8Ne31fG18IfNoa8N2utDK1CY=
|
||||
github.com/oneclickvirt/CommonMediaTests v0.0.4-20250329123841 h1:Zef93z9UiZQwRAKnnZYALmpBKvvuVaq34MEsuWwk6nc=
|
||||
github.com/oneclickvirt/CommonMediaTests v0.0.4-20250329123841/go.mod h1:DAmFPRjFV5p9fEzUUSml5jJGn2f1NZJQCzTxITHDjc4=
|
||||
github.com/oneclickvirt/UnlockTests v0.0.26-20250329125926 h1:H5//xwVjDR02bQ1hLa3G7LnwccsudPMjBVt7WCx2y/U=
|
||||
github.com/oneclickvirt/UnlockTests v0.0.26-20250329125926/go.mod h1:yXWIZB6iLS88pEd9m4QJi1GENn+7I91zA72y5ONz2Oc=
|
||||
github.com/oneclickvirt/backtrace v0.0.4-20250329130043 h1:d3ubN7FTY2xDKN8mmLc1RbvccpTkvfMADtMBvFCRdt0=
|
||||
github.com/oneclickvirt/backtrace v0.0.4-20250329130043/go.mod h1:zvsC7xY/WZqs5KL2JB967OVnuqjNbxu9bW6wXRLo5h8=
|
||||
github.com/oneclickvirt/basics v0.0.11-20250404123515 h1:2kisK9tBG/Km/HLQFA82lm/B+AWFJp3drjrtGvz8lhw=
|
||||
github.com/oneclickvirt/basics v0.0.11-20250404123515/go.mod h1:yN1IEOXN6v/GJqJSA70Pooo6nXBI/6rq72vTY72wJMQ=
|
||||
github.com/oneclickvirt/cputest v0.0.10-20250404151448 h1:ovGtCwFXG0qmpyNDRqcNDIiAmhrtemCjIUXTJ1fPH0o=
|
||||
github.com/oneclickvirt/cputest v0.0.10-20250404151448/go.mod h1:MmaHN9+XMntI3rLycwj8Ne31fG18IfNoa8N2utDK1CY=
|
||||
github.com/oneclickvirt/dd v0.0.1-20250404124549 h1:QT2QJaMoZabUijqN2a/vzC13ILeKwQR3vatFZxKszW0=
|
||||
github.com/oneclickvirt/dd v0.0.1-20250404124549/go.mod h1:tImu9sPTkLWo2tf1dEN1xQzrylWKauj9hbU8PHfyAeU=
|
||||
github.com/oneclickvirt/defaultset v0.0.2-20240624082446 h1:5Pg3mK/u/vQvSz7anu0nxzrNdELi/AcDAU1mMsmPzyc=
|
||||
github.com/oneclickvirt/defaultset v0.0.2-20240624082446/go.mod h1:e9Jt4tf2sbemCtc84/XgKcHy9EZ2jkc5x2sW1NiJS+E=
|
||||
github.com/oneclickvirt/disktest v0.0.5-20250316104849 h1:gmfXEsdThBEj6Nx5qNHtwQd5pEb1/54PZk91QtyzKak=
|
||||
github.com/oneclickvirt/disktest v0.0.5-20250316104849/go.mod h1:wIZy8G6Mbcy8Op8tc0HmJNpbJQQ5A15fvnUqMJXIdO0=
|
||||
github.com/oneclickvirt/gostun v0.0.3-20240702054621 h1:IE89eEYV9TJbF94SakQDAxTLIaqX+Tb6ZhJ/CCIP+90=
|
||||
github.com/oneclickvirt/gostun v0.0.3-20240702054621/go.mod h1:f7DPEXAxbmwXSW33dbxtb0/KzqvOBWhTs2Or5xBerQA=
|
||||
github.com/oneclickvirt/memorytest v0.0.4-20240820095126 h1:Il3rvWkrZy/6B2iO3HRe9039/qRllA4CzcZ/dI8aG2A=
|
||||
github.com/oneclickvirt/memorytest v0.0.4-20240820095126/go.mod h1:+YNzy+NeVg61d0kNwSyVDqHyVtKzjuRe1NvMzsDLg0I=
|
||||
github.com/oneclickvirt/nt3 v0.0.4-20250118032755 h1:phF5kngqoPnS6onIbKII9ndw/N5l3ciIgR7fK5mfSBk=
|
||||
github.com/oneclickvirt/nt3 v0.0.4-20250118032755/go.mod h1:lDpHmjWwLZd6pO8cZCwzrc5rwd8dK+TIYk+DGmRpSGg=
|
||||
github.com/oneclickvirt/pingtest v0.0.6-20250317132907 h1:b7IgN4ala2/c416O4DJFieX3h7thGNbnztQNY7L+Pf8=
|
||||
github.com/oneclickvirt/pingtest v0.0.6-20250317132907/go.mod h1:d3Ntx5m9lMll3a/k3+2B+5emj//vgDh4/NHTxs2qQE8=
|
||||
github.com/oneclickvirt/portchecker v0.0.3-20250118031146 h1:tXTcpq8P3KgQupEZhPcAwdiyXYy//jXGb28bp4bSt4g=
|
||||
github.com/oneclickvirt/portchecker v0.0.3-20250118031146/go.mod h1:HQxSTrqM8/QFqHMTBZ7S8H9eEO5FkUXU1eb7ZX5Mk+k=
|
||||
github.com/oneclickvirt/security v0.0.4-20240729065854 h1:I27XtMUEHmXw1RN0jNDQmFqNdu6vL4v1g8UZtXiCuBY=
|
||||
github.com/oneclickvirt/security v0.0.4-20240729065854/go.mod h1:384ZpNE3H6T6rtl0QhA4eQn8xGw7tc0rLD8ZH47qNGc=
|
||||
github.com/oneclickvirt/speedtest v0.0.9-20250308142627 h1:HPUJ5LR2C3UkQT7jegG7rtiwJJchGUUpWsbTHn15xT0=
|
||||
github.com/oneclickvirt/speedtest v0.0.9-20250308142627/go.mod h1:zd5ZgIGslmtQLQehEfRjyumlvgDHTpCSMchKfKXoASI=
|
||||
github.com/oneclickvirt/disktest v0.0.7-20250404150324 h1:uNTjFzzPBTJruPa25/4VLleHDyCj7QHre6qsVJZLo20=
|
||||
github.com/oneclickvirt/disktest v0.0.7-20250404150324/go.mod h1:LXhRiAYYW0poUMqvUHzgqNqhVnJPj4cxjSA8zTKszbI=
|
||||
github.com/oneclickvirt/fio v0.0.1-20250404141714 h1:rnNQ46O6kE+mFKmPDiWohNMbLr8xR6hzTgAsZcah4QE=
|
||||
github.com/oneclickvirt/fio v0.0.1-20250404141714/go.mod h1:NIq+XYTey68KNERGIy/oRDlzpwLzBVoHOCiqX8didsE=
|
||||
github.com/oneclickvirt/gostun v0.0.3-20250329105202 h1:aJ6E91Lp94lq8iWRcCaxpXTjqOOaWvufr5oras6cFtM=
|
||||
github.com/oneclickvirt/gostun v0.0.3-20250329105202/go.mod h1:f7DPEXAxbmwXSW33dbxtb0/KzqvOBWhTs2Or5xBerQA=
|
||||
github.com/oneclickvirt/memorytest v0.0.5-20250404130028 h1:2XLr8Ow922OnxHqFbGtyGFYNJtgTAcwXIr6AwvEp6UQ=
|
||||
github.com/oneclickvirt/memorytest v0.0.5-20250404130028/go.mod h1:qp5uRoSv5lcpUtUqQuFCer4xaZKz9S8UxL+pZopn540=
|
||||
github.com/oneclickvirt/nt3 v0.0.4-20250329125813 h1:ZK5DAz8GUa6oyRE/cWmUKkE02tfgDah4TXvN181em7c=
|
||||
github.com/oneclickvirt/nt3 v0.0.4-20250329125813/go.mod h1:lDpHmjWwLZd6pO8cZCwzrc5rwd8dK+TIYk+DGmRpSGg=
|
||||
github.com/oneclickvirt/pingtest v0.0.6-20250329130728 h1:XYMfpIj32Wuej5G7f7/NB5/i3I9DMX/mF3ZS8N5KKp8=
|
||||
github.com/oneclickvirt/pingtest v0.0.6-20250329130728/go.mod h1:d3Ntx5m9lMll3a/k3+2B+5emj//vgDh4/NHTxs2qQE8=
|
||||
github.com/oneclickvirt/portchecker v0.0.3-20250329125750 h1:TTNL0pnQlRsn046kW59I/9UWRpihttFHWnU7Ixycggk=
|
||||
github.com/oneclickvirt/portchecker v0.0.3-20250329125750/go.mod h1:HQxSTrqM8/QFqHMTBZ7S8H9eEO5FkUXU1eb7ZX5Mk+k=
|
||||
github.com/oneclickvirt/security v0.0.4-20250401123241 h1:myeAQ1wOKIHx5r9qs9dCwx/5FepY+hZu/fDNquMwKaw=
|
||||
github.com/oneclickvirt/security v0.0.4-20250401123241/go.mod h1:Cyo3hwh1irn6yWnTh+YVKtkkVzHlwZgm7t7qR3IPRQA=
|
||||
github.com/oneclickvirt/speedtest v0.0.9-20250329130205 h1:XWM6FhObi+2bEkntPcAAKkiS9w7r6j79DOtmlbq4hhs=
|
||||
github.com/oneclickvirt/speedtest v0.0.9-20250329130205/go.mod h1:zd5ZgIGslmtQLQehEfRjyumlvgDHTpCSMchKfKXoASI=
|
||||
github.com/onsi/ginkgo/v2 v2.22.1 h1:QW7tbJAUDyVDVOM5dFa7qaybo+CRfR7bemlQUN6Z8aM=
|
||||
github.com/onsi/ginkgo/v2 v2.22.1/go.mod h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM=
|
||||
github.com/onsi/gomega v1.36.1 h1:bJDPBO7ibjxcbHMgSCoo4Yj18UWbKDlLwX1x9sybDcw=
|
||||
|
4
goecs.go
4
goecs.go
@@ -39,7 +39,7 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
ecsVersion = "v0.1.20"
|
||||
ecsVersion = "v0.1.27"
|
||||
menuMode bool
|
||||
onlyChinaTest bool
|
||||
input, choice string
|
||||
@@ -173,7 +173,7 @@ func main() {
|
||||
speedtestmodel.EnableLoger = true
|
||||
}
|
||||
go func() {
|
||||
http.Get("https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Foneclickvirt%2Fecs&count_bg=%2357DEFF&title_bg=%23000000&icon=cliqz.svg&icon_color=%23E7E7E7&title=hits&edge_flat=false")
|
||||
http.Get("https://hits.spiritlhl.net/goecs.svg?action=hit&title=Hits&title_bg=%23555555&count_bg=%230eecf8&edge_flat=false")
|
||||
}()
|
||||
if menuMode {
|
||||
basicStatus, cpuTestStatus, memoryTestStatus, diskTestStatus = false, false, false, false
|
||||
|
18
goecs.sh
18
goecs.sh
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
# From https://github.com/oneclickvirt/ecs
|
||||
# 2024.12.08
|
||||
# 2025.04.02
|
||||
|
||||
# curl -L https://raw.githubusercontent.com/oneclickvirt/ecs/master/goecs.sh -o goecs.sh && chmod +x goecs.sh
|
||||
# 或
|
||||
@@ -139,8 +139,8 @@ goecs_check() {
|
||||
sleep 1
|
||||
done
|
||||
if [ -z "$ECS_VERSION" ]; then
|
||||
_yellow "Unable to get version info, using default version 0.1.19"
|
||||
ECS_VERSION="0.1.19"
|
||||
_yellow "Unable to get version info, using default version 0.1.27"
|
||||
ECS_VERSION="0.1.27"
|
||||
fi
|
||||
# Check if original goecs command exists
|
||||
version_output=""
|
||||
@@ -573,8 +573,8 @@ env_check() {
|
||||
fi
|
||||
# MacOS support
|
||||
if [ "$(uname -s)" = "Darwin" ]; then
|
||||
echo "Detected MacOS, installing sysbench iproute2mac fio..."
|
||||
brew install --force sysbench iproute2mac fio
|
||||
echo "Detected MacOS, installing sysbench iproute2mac..."
|
||||
brew install --force sysbench iproute2mac
|
||||
else
|
||||
if ! grep -q "^net.ipv4.ping_group_range = 0 2147483647$" /etc/sysctl.conf; then
|
||||
echo "net.ipv4.ping_group_range = 0 2147483647" >> /etc/sysctl.conf
|
||||
@@ -608,10 +608,8 @@ show_help() {
|
||||
推荐:
|
||||
环境依赖安装过程中挂起执行
|
||||
|
||||
必需组件:
|
||||
sysbench/geekbench (CPU性能测试必需)
|
||||
|
||||
可选组件:
|
||||
sysbench/geekbench (CPU性能测试)
|
||||
sudo, tar, unzip, dd, fio
|
||||
speedtest (网络测试)
|
||||
ping (网络连通性测试)
|
||||
@@ -637,10 +635,8 @@ Available commands:
|
||||
Recommended:
|
||||
Hanging execution during environment dependency installation
|
||||
|
||||
Required components:
|
||||
sysbench/geekbench (Required for CPU testing)
|
||||
|
||||
Optional components:
|
||||
sysbench/geekbench (CPU testing)
|
||||
sudo, tar, unzip, dd, fio
|
||||
speedtest (Network testing)
|
||||
ping (Network connectivity)
|
||||
|
@@ -6,7 +6,6 @@ import (
|
||||
"fmt"
|
||||
"github.com/imroc/req/v3"
|
||||
"github.com/oneclickvirt/UnlockTests/uts"
|
||||
"github.com/oneclickvirt/basics/ipv6"
|
||||
"github.com/oneclickvirt/basics/system"
|
||||
. "github.com/oneclickvirt/defaultset"
|
||||
"github.com/oneclickvirt/security/network"
|
||||
@@ -114,12 +113,7 @@ func BasicsAndSecurityCheck(language, nt3CheckType string, securtyCheckStatus bo
|
||||
systemInfo = system.CheckSystemInfo(language)
|
||||
}()
|
||||
wgt.Wait()
|
||||
ipv6Info, errv6 := ipv6.GetIPv6Mask(language)
|
||||
basicInfo := systemInfo + ipInfo
|
||||
if errv6 == nil && ipv6Info != "" {
|
||||
basicInfo += ipv6Info
|
||||
basicInfo += "\n"
|
||||
}
|
||||
if strings.Contains(ipInfo, "IPV4") && strings.Contains(ipInfo, "IPV6") {
|
||||
uts.IPV4 = true
|
||||
uts.IPV6 = true
|
||||
|
Reference in New Issue
Block a user