Fusion Monster Evaluation Script - GO Refactored Version - Since it has not been officially released, please report any issues via issues.
Go version:https://github.com/oneclickvirt/ecs
Shell version: https://github.com/spiritLHLS/ecs/blob/main/README_EN.md
Architectures supported for compilation: amd64、arm、arm64、386、mips、mipsle、s390x、riscv64
Tested architectures: amd64, arm64
More architectures please test by yourself
Compilation support: Linux, Windows、MacOS、FreeBSD、OpenBSD
Tested on: Linux, Windows
More systems to be tested
Systems to be supported (hardware testing bugs not yet fixed): MacOS、FreeBSD、OpenBSD
- System basic information query [Self-developed basics, gostun]
- Concurrent IP basic information query [Self-developed basics]
- CPU test [Self-developed cputest supporting sysbench, geekbench, winsat]
- Memory test [Self-developed memorytest supporting sysbench, dd]
- Disk test [Self-developed disktest supporting dd, fio, winsat]
- Concurrent streaming media unlock information query for three major platforms [Modified from netflix-verify, VerifyDisneyPlus, TubeCheck to CommonMediaTests]
- Concurrent common streaming media tests [Self-developed code, logic modified from RegionRestrictionCheck, MediaUnlockTest to UnlockTests]
- Concurrent IP quality/security information query [Self-developed, due to testing with key information, privately developed, but binary files compiled in securityCheck]
- Email port test [Self-developed portchecker]
- Three-network return path test [Modified from zhanghanyun/backtrace to oneclickvirt/backtrace]
- Three-network route test [Modified from NTrace-core to nt3]
- Speed test [Based on data from speedtest.net-crawler, speedtest.cn-crawler, modified from speedtest-go to oneclickvirt/speedtest]
- Three-network Ping test [Modified from ecsspeed logic to pingtest]
export noninteractive=true && curl -L https://raw.githubusercontent.com/oneclickvirt/ecs/master/goecs.sh -o goecs.sh && chmod +x goecs.sh && bash goecs.sh env && bash goecs.sh install && goecs -l en
Download the script
curl -L https://raw.githubusercontent.com/oneclickvirt/ecs/master/goecs.sh -o goecs.sh && chmod +x goecs.sh
Install environment
./goecs.sh env
If you don't want interaction, use export noninteractive=true
and then execute the env
command
Install goecs
./goecs.sh install
Upgrade goecs
./goecs.sh upgrade
Uninstall goecs
./goecs.sh uninstall
Explanation of the shell script
Available commands:
./goecs.sh env Check and Install dependencies
Warning: This command performs system update(optional), which may:
1. Take considerable time
2. Cause temporary network interruptions
3. Impact system stability
4. Affect subsequent system startups
For systems with less than 1GB RAM, additional risks:
1. System freeze
2. SSH connection loss
3. Critical service failures
Recommended:
Hanging execution during environment dependency installation
Required components:
sysbench/geekbench (Required for CPU testing)
Optional components:
sudo, tar, unzip, dd, fio
speedtest (Network testing)
ping (Network connectivity)
systemd-detect-virt/dmidecode (System info detection)
./goecs.sh install Install goecs command
./goecs.sh upgrade Upgrade goecs command
./goecs.sh uninstall Uninstall goecs command
./goecs.sh help Show this message
Invoke the goecs menu
goecs -l en
or
./goecs -l en
Parameterized goecs command
Usage: goecs [options]
-backtrace
Enable/Disable backtrace test (in 'en' language or on windows it always false) (default true)
-basic
Enable/Disable basic test (default true)
-comm
Enable/Disable common media test (default true)
-cpu
Enable/Disable CPU test (default true)
-cpum string
Set CPU test method (supported: sysbench, geekbench, winsat) (default "sysbench")
-cput string
Set CPU test thread mode (supported: single, multi) (default "multi")
-disk
Enable/Disable disk test (default true)
-diskm string
Set disk test method (supported: fio, dd, winsat) (default "fio")
-diskmc
Enable/Disable multiple disk checks, e.g., -diskmc=false
-diskp string
Set disk test path, e.g., -diskp /root
-email
Enable/Disable email port test (default true)
-h Show help information
-l string
Set language (supported: en, zh) (default "zh")
-log
Enable/Disable logging in the current path
-memory
Enable/Disable memory test (default true)
-memorym string
Set memory test method (supported: sysbench, dd, winsat) (default "sysbench")
-menu
Enable/Disable menu mode, disable example: -menu=false (default true)
-nt3
Enable/Disable NT3 test (in 'en' language or on windows it always false) (default true)
-nt3loc string
Specify NT3 test location (supported: GZ, SH, BJ, CD for Guangzhou, Shanghai, Beijing, Chengdu) (default "GZ")
-nt3t string
Set NT3 test type (supported: both, ipv4, ipv6) (default "ipv4")
-security
Enable/Disable security test (default true)
-speed
Enable/Disable speed test (default true)
-spnum int
Set the number of servers per operator for speed test (default 2)
-upload
Enable/Disable upload the result (default true)
-ut
Enable/Disable unlock media test (default true)
-v Display version information
Download the compressed file with the exe file
https://github.com/oneclickvirt/ecs/releases
Find the latest version, download the .zip file corresponding to your architecture, and unzip it to get an exe file.
Right-click the exe file and select Run as administrator (running without administrator mode will not allow hardware testing), and invoke the menu to choose.
No environment installation is required for Windows testing.
Link: https://hub.docker.com/r/spiritlhl/goecs
Please make sure that Docker is installed on your machine before executing the following commands
Privileged Mode + host network
docker run --rm --privileged --network host spiritlhl/goecs:latest -menu=false -l en
Unprivileged mode + non-host network
docker run --rm spiritlhl/goecs:latest
Using Docker to execute tests, hardware testing will have some bias and virtualization architecture to determine the failure.
Recommended direct testing without using Docker testing.