Remote server and PC management through a Telegram bot + web dashboard.
Bahasa Indonesia · Linux Install · Windows Install · Security
Server Control Suite contains two single-file remote administration applications:
| Platform | File | Version | Runtime |
|---|---|---|---|
| Linux | server_control_linux.py |
4.0.0 | Python 3.8+ |
| Windows | server_control_win.py |
5.0.0 | Python 3.10+ |
Both variants combine a private Telegram control bot with a browser-based dashboard for system monitoring and administration.
The Linux build includes a live dashboard, network monitoring, systemctl service management, log viewing, file editing, Telegram resource alerts, terminal commands, process management, Docker controls, firewall/iptables controls, and script management.
The Windows build is a separate Windows-native implementation with automatic dependency setup, a first-run configuration wizard, Windows Services, Event Viewer integration, Task Scheduler startup, Windows Defender Firewall integration, hidden/background execution, and dashboard shortcuts.
Important
This is a powerful remote-administration tool. It can execute commands, edit files, control processes/services, and change firewall or scheduled-task configuration. Do not expose the web dashboard directly to the public Internet without additional access controls.
- Telegram bot restricted to the configured owner/admin ID
- Web dashboard with token authentication
- CPU, RAM, disk, network, uptime, and process monitoring
- File manager
- Upload/download and file editing
- Process management
- Python/script discovery and execution
- Web terminal
- Docker management
- Resource alerts sent to Telegram
- Configurable dashboard port
- Responsive browser UI
systemctlservice manager- journal/syslog/auth/dmesg log tools
- iptables controls
- cron management
- nohup-based script runner
- Linux network and storage tools
- Oracle Cloud deployment use case
- Windows Services manager
- Event Viewer integration
- Windows Defender Firewall controls
- Scheduled Tasks management
- automatic Task Scheduler startup registration
- hidden background process through
pythonw.exe - automatic dashboard shortcut creation
- local application data/config directory
- Waitress production WSGI server
- single-instance protection
Telegram actions use an owner-ID check before sensitive handlers execute.
The dashboard is protected by an access token. The Windows build additionally includes per-IP login rate limiting and constant-time token comparison.
For production use:
- use a long, random
DASH_TOKEN; - use a separate long
DASH_SECRET; - never commit a Telegram bot token;
- prefer Tailscale/WireGuard/VPN, Cloudflare Access, or a TLS reverse proxy;
- restrict inbound firewall rules to trusted sources;
- do not expose port
8080openly to the Internet.
See Security Hardening.
git clone https://github.com/baska-pro/server-control-suite.git
cd server-control-suiteTo update later:
git pullOn GitHub:
Code → Download ZIP
Extract the archive and choose the script for your operating system.
Platform releases are available now. Download the file for the operating system you need:
server_control_linux.py
server_control_win.py
git clone https://github.com/baska-pro/server-control-suite.git
cd server-control-suite
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements-linux.txt
cp .env.example .env
nano .envLoad the environment and run:
set -a
source .env
set +a
python3 server_control_linux.pyRequired configuration:
TOKEN_SERVER_CONTROL
ADMIN_ID
The Linux source reads TOKEN_SERVER_CONTROL, ADMIN_ID, DASH_PORT, dashboard secrets/tokens, and alert thresholds from environment variables.
For persistent startup with systemd, follow Linux Installation.
Requirements:
Windows 10 / 11
Python 3.10+
Internet access during first dependency installation
Clone or download the repo, then open PowerShell / Terminal as Administrator:
py server_control_win.pyOn first run the Windows build:
- requests Administrator elevation when available;
- asks for Telegram Bot Token;
- asks for the Telegram Owner/Admin ID;
- asks for the dashboard port;
- stores configuration under the current user's application-data directory;
- creates/updates its stable installed copy;
- creates a Task Scheduler startup task;
- creates Dashboard shortcuts;
- creates a private-profile Windows Firewall rule when elevated;
- launches the control suite in the background without keeping a terminal open.
The first-run wizard and saved configuration behavior are implemented directly in the Windows source. The startup/background workflow uses Task Scheduler and the installed application copy.
Full instructions: Windows Installation.
Default port:
8080
Typical local URLs:
http://127.0.0.1:8080
http://SERVER_LAN_IP:8080
If the preferred port is already occupied, both applications can search for a nearby free port.
Important settings:
| Setting | Linux | Windows | Purpose |
|---|---|---|---|
TOKEN_SERVER_CONTROL |
Required | Optional env override | Telegram bot token |
ADMIN_ID |
Required | Optional env override | Allowed Telegram owner ID |
DASH_PORT |
Optional | Optional | Dashboard port |
DASH_SECRET |
Strongly recommended | Optional override | Flask session secret |
DASH_TOKEN |
Strongly recommended | Optional override | Dashboard login token |
ALERT_CPU |
Optional | Optional | CPU alert threshold |
ALERT_RAM |
Optional | Optional | RAM alert threshold |
ALERT_DISK |
Optional | Optional | Disk alert threshold |
ALERT_CD |
Optional | Optional | Alert cooldown seconds |
See Configuration.
For a cloned installation:
git pullThen restart the application.
The Windows build keeps a stable installed copy and refreshes it when the source file changes during a normal run. The Linux build should be restarted through your process manager/systemd after pulling updates.
See Updating.
server-control-suite/
├── server_control_linux.py
├── server_control_win.py
├── requirements-linux.txt
├── requirements-windows.txt
├── .env.example
├── README.md
├── README.id.md
├── CHANGELOG.md
├── SECURITY.md
├── CONTRIBUTING.md
├── VERSIONS.md
├── LICENSE
├── docs/
├── install/
├── assets/
└── .github/
|
Telegram Control |
File Manager |
|
Telegram Control |
Web Terminal |
|
Script Management |
|
More screenshots are available in assets/screenshots/.
Because the two implementations currently have different application versions, use platform-qualified release tags:
linux-v4.0.0
windows-v5.0.0
If a release contains both builds, its notes should clearly state the version of each platform.
See Release Checklist.
Copyright © 2026 Lathif Baska.
This repository is published under an All Rights Reserved source-available license. See LICENSE.
Lathif Baska
GitHub: @baska-pro