pratham-terminal
v1.0.0
Published
A powerful personal operations terminal by Pratham
Maintainers
Readme
PRATHAM Personal Ops Terminal
A powerful, customizable command-line interface for personal system operations, monitoring, networking, development tools, and productivity.
🚀 Features
🔐 Security
- Password-protected access with environment variable support
- Rate limiting (3 failed attempts with 30s lockout)
- Secure password generator
- Cryptographic hash generation
🎨 Customization
- 4 Built-in Themes: Default (Cyan), Matrix (Green), Hacker (Red), Ocean (Blue)
- Command aliases support
- Configurable settings via
core/config.js
📊 System Monitoring
- sysinfo: Comprehensive system information (CPU, RAM, GPU, Battery, Storage)
- network: Network interfaces, IP addresses, connection statistics
- disk: Disk usage with visual bars and physical device info
- processes: Running processes with CPU/Memory usage (top-like view)
- time: Date, time, timezone, and system uptime
🌐 Network Tools
- ping: Ping hosts with statistics
- ports: Show open ports and listening services
- wifi: WiFi networks, signal strength, passwords, and connection details 🔐
- dns: Complete DNS lookup (A, AAAA, MX, NS, TXT, CNAME records)
⚡ System Control (Multi-Platform)
- power: Shutdown, restart, sleep, hibernate, lock screen
- kill: Terminate processes by PID or name
- Supports Windows, Linux, and macOS
- Custom timer support (5-3600 seconds)
- Safety confirmations for destructive actions
💻 Dev Tools
- encode: Text encoding (Base64, URL, Hex)
- decode: Text decoding (Base64, URL, Hex)
- hash: Generate cryptographic hashes (MD5, SHA1, SHA256, SHA512)
- uuid: Generate UUID v4 identifiers
- env: View environment variables with filtering
🛠️ Productivity Tools
- notes: Persistent note-taking system (add, list, delete, clear)
- history: Command history tracking with timestamps
- theme: Dynamic theme switching
- password: Generate secure random passwords
📦 Installation
Method 1: Local Development
# Clone or download the repository
cd pratham-terminal
# Install dependencies
npm install
# Link globally
npm link
# Run the terminal
ptMethod 2: Global Package Distribution (.tgz)
# Step 1: Create package file (one time)
npm pack
# Creates: pratham-terminal-1.0.0.tgz
# Step 2: Install on any computer
npm install -g pratham-terminal-1.0.0.tgz
# Or from cloud link:
npm install -g https://your-cloud-link/pratham-terminal-1.0.0.tgz
# Step 3: Use anywhere
pt⚠️ Self-Destruct Mode
When using on someone else's device, use the destroy command to completely remove all traces:
pt
destroy # Clears all data, uninstalls package, removes terminal🎯 Usage
Basic Commands
| Command | Aliases | Description |
|---------|---------|-------------|
| help | ? | Show all commands |
| clear | cls, clr | Clear terminal screen |
| exit | q, quit | Close terminal |
System Monitoring
| Command | Aliases | Description |
|---------|---------|-------------|
| sysinfo | sys | System & hardware stats |
| network | net | Network information |
| disk | - | Disk usage by drive |
| processes [N] | proc, ps | Top N processes (default: 10) |
| time | - | Date, time, and uptime |
Network Tools
# Ping
ping google.com # Ping host with default 4 packets
ping 8.8.8.8 10 # Ping with 10 packets
# Port Scanner
ports # Show open ports and listening services
# WiFi Information & Passwords 🔐
wifi # Show current connection, password & available networks
wifi MyHomeNetwork # Show password for specific saved network
# DNS Lookup
dns github.com # Complete DNS lookup (A, AAAA, MX, NS, TXT, CNAME)Aliases: ping (also p), dns (also lookup)
Developer Tools
# Encoding
encode base64 Hello World # Base64 encoding
encode url https://test.com # URL encoding
encode hex SecretText # Hexadecimal encoding
# Decoding
decode base64 SGVsbG8= # Base64 decoding
decode url https%3A%2F%2F # URL decoding
decode hex 48656c6c6f # Hex to text
# Hashing
hash password123 # SHA256 (default)
hash md5 mytext # MD5 hash
hash sha1 mytext # SHA1 hash
hash sha512 mytext # SHA512 hash
# UUID Generation
uuid # Generate single UUID v4
uuid 5 # Generate 5 UUIDs
# Environment Variables
env # Show all environment variables
env PATH # Show specific variableAliases: encode (also enc), decode (also dec), hash (also md5, sha256), uuid (also guid)
Security & System
# Password Generator
password # Generate 16-char password
password 24 # Generate 24-char password
password 20 5 # Generate 5 passwords of 20 chars
# Process Termination
kill 1234 # Kill process by PID
kill notepad # Kill all processes by name
# Environment Variables
env # List all variables (sensitive masked)
env PATH # Show specific variableAliases: password (also pass, pw), kill (also killall), env (also environment)
System Control
# Power commands
power shutdown [seconds] # Schedule shutdown (default: 60s)
power restart [seconds] # Schedule restart
power sleep # Put system to sleep
power hibernate # Hibernate system (Windows/Linux)
power lock # Lock screen
power cancel # Cancel scheduled operationUtilities
# Notes management
notes add Remember to backup system
notes list
notes delete 1
notes clear
# History
history # Show last 20 commands
history 50 # Show last 50 commands
# Theme
theme matrix # Switch to Matrix theme (green)
theme hacker # Switch to Hacker theme (red)
theme ocean # Switch to Ocean theme (blue)
theme default # Switch to Default theme (cyan)⚠️ Danger Zone
# Self-Destruct Command
destroy # Complete system cleanup and uninstall
# - Clears all data (notes, history)
# - Uninstalls terminal globally
# - Removes all traces from system
# ⚠️ CANNOT BE UNDONE!Use Case: When using terminal on someone else's device and want to leave no traces behind.
What it does:
- Clears all saved data files (notes.json, history.json)
- Runs
npm uninstall -g pratham-terminal - Cleans npm cache
- Exits terminal
- Makes the
ptcommand no longer available
⚙️ Configuration
Edit core/config.js to customize:
Security Settings
security: {
password: process.env.PRATHAM_PASSWORD || "admin",
maxAttempts: 3,
lockoutTime: 30000, // 30 seconds
}Set password via environment variable:
# Windows (PowerShell)
$env:PRATHAM_PASSWORD = "your_secure_password"
# Linux/Mac
export PRATHAM_PASSWORD="your_secure_password"Command Aliases
aliases: {
"?": "help",
"cls": "clear",
"sys": "sysinfo",
// Add your own!
}Theme Configuration
themes: {
custom: {
primary: chalk.magenta,
secondary: chalk.blue,
// ... customize colors
}
}📁 Project Structure
pratham-terminal/
├── bin/
│ └── pt.js # Entry point
├── core/
│ ├── config.js # Configuration settings
│ ├── terminal.js # Terminal loop & auth
│ └── commandHandler.js # Command routing
├── commands/
│ ├── help.js # Help command
│ ├── clear.js # Clear screen
│ ├── sysinfo.js # System information
│ ├── network.js # Network info
│ ├── disk.js # Disk usage
│ ├── processes.js # Process manager
│ ├── time.js # Time & uptime
│ ├── power.js # Power control
│ ├── notes.js # Note-taking
│ ├── history.js # Command history
│ ├── theme.js # Theme switcher
│ ├── exit.js # Exit terminal
│ ├── destroy.js # Self-destruct & uninstall
│ ├── ping.js # Network ping
│ ├── ports.js # Port scanner
│ ├── wifi.js # WiFi info & passwords
│ ├── dns.js # DNS lookup
│ ├── encode.js # Text encoding
│ ├── decode.js # Text decoding
│ ├── hash.js # Hash generator
│ ├── uuid.js # UUID generator
│ ├── password.js # Password generator
│ ├── kill.js # Process killer
│ └── env.js # Environment variables
├── data/ # Persistent storage
│ ├── notes.json # Saved notes
│ └── history.json # Command history
└── package.json🔧 Requirements
- Node.js >= 14.0.0
- npm or yarn
- Supported OS: Windows, Linux, macOS
📚 Dependencies
- chalk: Terminal colors
- figlet: ASCII art banner
- readline-sync: Synchronous user input
- systeminformation: System & hardware info
- cli-progress: Progress bars
🤝 Contributing
Feel free to fork, modify, and enhance this terminal!
📄 License
ISC License - See LICENSE file for details
👤 Author
Pratham
🎉 Acknowledgments
Built with Node.js and a passion for clean CLI interfaces.
Happy Hacking! 🚀
