ecs (Fusion Monster)

repository·main·Indexed 27 days ago

https://github.com/spiritlhls/ecs

A comprehensive benchmarking and diagnostic suite for VPS/ECS servers. It provides tools for system information retrieval, CPU benchmarking (sysbench or Geekbench), disk I/O testing (dd and fio), network speed tests via ecsspeed, and IP quality analysis including DNS blacklist and mail port detection. Supports various Linux distributions (Ubuntu, Debian, CentOS, Fedora, etc.), FreeBSD, and Armbian across amd64, arm64, i386, and arm architectures.

Tokens
3.2K
Snippets
4
Records
21
Agent score
92%

What's inside ecs

  1. Overview of ECS benchmark features

    main

    The ECS (融合怪) script is a comprehensive benchmarking tool for VPS/servers that includes optimized versions of various industry-standard tests. Key features include:

    • System Information: Basic info retrieval (optimized from bench.sh, superbench.sh, yabs, and lemonbench).
    • CPU Performance: Benchmarking using sysbench (default) or specified Geekbench versions.
    • Memory & Disk: Memory testing and disk I/O testing using both dd (fast, no size limit) and fio (more accurate, has size limits).
    • Streaming & Media: Testing for streaming service unlocks (e.g., Netflix, etc.) and TikTok unlock status.
    • Network & Routing:
      • Three-network (CN2/AS/etc.) return route and latency testing.
      • Bandwidth type detection (Residential vs. Data Center).
      • Speedtest using the ecsspeed engine which automatically updates node lists.
    • IP Quality: Comprehensive IPv4/IPv6 quality and email port (port 25) reachability detection.
  2. Overview of ecs (Fusion Monster) Script

    main

    The ecs (Fusion Monster) script is a comprehensive testing tool for evaluating VPS/ECS server performance and quality. It supports various system information checks, CPU benchmarking, disk I/O testing, network speed tests, and IP quality analysis.

    Note for advanced users: The Shell version is currently in maintenance mode. For testing on unsupported architectures, minimizing environment changes, or running without root privileges, it is recommended to use the Golang version.

  3. Fusion Monster Test Capabilities

    main

    The Fusion Monster script provides a self-optimized suite of VPS testing tools. It combines various testing directions and individual tests, including:

    • Basic Information: System and hardware overview.
    • CPU Performance: Benchmarking using optimized versions of LemonBench and YABS.
    • Memory & Disk: Memory testing and disk I/O testing (both dd and fio methods).
    • Streaming & Media Unlocking: Tests for streaming media availability and TikTok unlocking capabilities.
    • Network Analysis: Detection of backhaul routing and bandwidth types (Business, Home, or Data Center).
    • IP Quality: Original testing for IP quality and Port 25 detection (supporting both IPv4 and IPv6).
    • Speedtest: Integrated speed testing using ecsspeed, which automatically updates speed test server IDs.
  4. Compatibility and System Requirements

    main

    Supported Systems

    • Fully Supported: Ubuntu 18+, Debian 8+, Centos 7+, Fedora 33+, Almalinux 8.5+, OracleLinux 8+, RockyLinux 8+, AstraLinux CE, Arch.
    • Partially Supported: FreeBSD (requires pkg install -y curl bash), Armbian.

    Supported Architectures

    • amd64 (x86_64)
    • arm64
    • i386
    • arm

    Requirements

    • Requires an active internet connection for testing.
    • For the Fusion Monster script, it is recommended to execute in the /root path to avoid environmental dependency issues.
  5. Fusion Monster test capabilities and features

    main

    Fusion Monster is an integrated VPS testing suite that combines multiple testing directions and third-party scripts into a self-optimized workflow.

    Core Testing Features:

    • System Information: Queries basic system info using optimized versions of bench.sh, superbench.sh, yabs, and lemonbench.
    • CPU Performance: Uses sysbench scoring by default (can be configured to use specific geekbench versions).
    • Memory & Disk IO: Includes lemonbench for memory and dd disk tests, and yabs for fio disk tests (note: fio is more accurate but slower and has size limits).
    • Streaming & Social Media: Tests for streaming media unlocking and TikTok availability (using optimized TikTokCheck and UnlockTests).
    • Network & Routing: Detects backhaul routing and bandwidth types (Business, Home, or Data Center) and performs speed tests using the custom ecsspeed tool which automatically updates server IDs.
    • IP Quality: An original implementation for detecting IP quality and Port 25 availability for both IPv4 and IPv6.
  6. Run the Fusion Monster Server Test Script (Interactive)

    main

    Use the interactive mode to navigate through the test menus manually. This is useful for selecting specific test suites via a menu-driven interface. The output defaults to Chinese unless the -en flag is provided.

    curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh -en
  7. Run tests on low-performance servers using screen

    main

    When testing extremely low-spec servers, the testing process may take a long time (e.g., 47+ minutes) and is prone to SSH connection interruptions caused by high CPU or IO usage. To prevent the test from failing due to a disconnected SSH session, it is recommended to run the testing script within a screen session.

    1. Start a screen session.
    2. Execute the testing script inside the session.
    3. You can then safely close your SSH connection.
    4. To check the progress later, reconnect via SSH and use cat test_result.txt to view the real-time status.
  8. Perform IP Quality Detection

    main

    The IP quality check includes 15 database queries, DNS blacklist checks, IPv4/IPv6 detection, ASN/address lookup, and mail port detection.

    # Option 1: Direct execution
    bash <(wget -qO- bash.spiritlhl.net/ecs-ipcheck)
    
    # Option 2: GitHub raw
    bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/ecs/main/ipcheck.sh)
    
    # Option 3: Manual download (requires dos2unix)
    wget -qO ipcheck.sh --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/ipcheck.sh
    dos2unix ipcheck.sh
    bash ipcheck.sh
  9. Run ecs in Non-Interactive Mode (Parameter Mode)

    main
    You can bypass the interactive menu by passing parameters directly to the script using the -m flag followed by menu selection indices. You can specify up to three levels of selection (e.g., -m 5 1 1).
  10. Install and run the VPS Fusion Monster Test Script

    main

    The VPS Fusion Monster Test Script is a comprehensive tool for testing VPS performance, including CPU, IO, network speed, and IP quality.

    Interactive Mode

    Use this mode to select specific tests from a menu via user input.

    curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh -en

    Non-Interactive Mode (Automated)

    Use this mode to run specific tests automatically without user input by passing parameters via the -m flag.

    curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh -en -m 1
  11. Best practices for running the ECS benchmark script

    main

    To ensure a stable and accurate benchmark, follow these execution guidelines:

    • Execution Path: It is recommended to run the script from the /root directory to avoid environment dependency issues.
    • Environment Stability: Use screen or tmux to run the script. This prevents the benchmark from being interrupted if your SSH connection becomes unstable (especially on low-performance machines).
    • Output Location: Results are automatically saved to test_result.txt in the current working directory.
    • Termination: If you need to stop the test mid-way, press Ctrl+C. The script will automatically exit and clean up any residual environment dependency files.
    • Production Warning: Do not use this script in a production environment as it automatically updates package managers.