Skip to content

yuIlariy/speedo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

⚑ Speedo Bot β€” Telegram VPS Speedtest πŸ“‘

Not just a bot β€” a sysadmin assistant. A one-bot NOC panel for your VPS.
Speedo performs full diagnostics, plots performance trends, monitors health, and exports logs β€” all from Telegram.
Built on aiogram and optimized for deployment clarity, emoji-rich feedback, and admin-only control πŸ‘‘πŸ€©


πŸ› οΈ Features

  • /start β€” Welcome message with usage tips (admin only)

  • /speedtest β€” Full diagnostic:

    • Download / Upload / Ping
    • VPS uptime
    • Data sent / received
    • Server location + sponsor
    • Client location + ISP
    • Masked IP (randomized)
    • Thumbnail preview
  • /trend β€” Speed graph using the last 30 tests

  • /monthlytrend β€” Graph showing only results from the current month

  • /lastspeed β€” Displays the latest speedtest snapshot in text format

  • /healthscore β€” Emoji-based VPS performance rating (ping, bandwidth)

  • /pwatch β€” Top 5 Resources-Heavy processes(with a refresh button πŸ”₯

  • /anomalywatch β€” πŸ‘»Auto watches your system with set threshold percentage & sends alerts β˜„οΈ

  • anomalyreport β€” β˜„οΈ Manually pull anomalyreport logs

  • /anomalystatus β€” πŸ‘» Anomalywatch status

  • /resetanomaly β€” β˜„οΈ Reset Anomaly

  • /ping β€” ICMP ping test to 8.8.8.8, 1.1.1.1 ... if target address not specified (packet loss, latency stats)

  • /exportlog β€” Sends the full speedlog.json file as a document

  • /sysinfo β€” Current VPS system info:

    • 🧠 CPU model
    • ⏱️ Uptime
    • πŸ’Ύ Disk usage
    • πŸ“¦ Memory usage
    • πŸ“Š Load average
  • /bootcheck β€” VPS boot time & uptime snapshot (admin only)

  • /loadrings β€” VPS rings πŸ’

  • /syschart β€” Graphical system telemetry panel:

    • RAM & Disk usage bars
    • CPU load + temperature
    • Load average trend
    • Network I/O stats
    • Last speedtest overlay
    • Random caption flair 🀩
  • Auto Speedtest loop:

    • Runs silently every hour
    • Appends results to speedlog.json
    • Sends HTML summary to admin with timestamp & uptime
  • πŸ–ΌοΈ Cleanly formatted results using HTML + emoji

  • πŸ”’ Admin-only command access

  • βš™οΈ Built on Aiogram 3.7+


πŸ“¦ Installation

  • There mayhap a 15sec cool down after deploy to enable auto monitor without error (bot will boot after 15sec)(maybe cos πŸ¦” is πŸ‘‘)

1. Clone the Repo

git clone https://github.com/yuIlariy/speedo.git
cd speedo

2. Install Python and pip

sudo apt update
sudo apt install python3 python3-pip

3. Create Virtual Environment (recommended)

python3 -m venv speedo
source speedo/bin/activate

4. Install Required Packages

pip3 install -r requirements.txt

βš™οΈ Configuration

Edit the config.py file:

TOKEN = "your_telegram_bot_token"
ADMIN_ID = 123456789       # Your Telegram numeric user ID
THUMBNAIL_URL = "https://telegra.ph/file/e292b12890b8b4b9dcbd1.jpg"

πŸš€ Running the Bot

Manual Start

python3 bot.py

πŸ¦” Run in Background with Screen

screen -S speedo
python3 bot.py

Detach: Ctrl + A, then Ctrl + D

Resume:

screen -r speedo

Stop: Ctrl + C, then

screen -S speedo -X quit

πŸ§ͺ Available Commands

Command Description
/start Welcome & usage guide
/speedtest Full VPS speedtest with thumbnail
/trend Speed history graph (last 30 tests)
/monthlytrend Plot only the tests from the current month
/lastspeed Latest speedtest summary
/healthscore VPS performance rating with emoji verdict
/ping Ping a target address(or defaults) to check network health
/exportlog Download speedlog.json
/sysinfo VPS system snapshot
/bootcheck VPS boot time & uptime
/syschart Graphical telemetry panel with caption overlay
/loadrings Graphical rings panel with caption overlay(LOTR)
/anomalywatch Auto watch your system against set threshold points & sends alerts πŸ‘»
/anomalyreport Manually pull anomalyreport πŸ‘»
/anomalystatus Know your anomalywatch status πŸ‘»
/resetanomaly Reset anomalywatch πŸ‘»
/netstatus Current network status πŸ‘»
/pwatch Top 5 resource-heavy processes πŸ‘»

πŸ“¦ Requirements

aiogram>=3.7.0
speedtest-cli
matplotlib
psutil

πŸ“Ž Developer Credits 🀩🚨

Original repo: yuIlariy/speedo
πŸ₯ Telegram VPS bot extension by 🧠 Yuilariy x MS Copilot
🌍 Speedtest with style. Fork it. Use it. Credit it. Rule it πŸ‘‘