The terminal moves with you - Access your terminal from any mobile device
Project description
mobile-terminal
The terminal moves with you. Access and control your terminal from any mobile device.
What it does
mobile-terminal creates a local web server that streams your terminal output to your phone in real-time. When your terminal needs input (like Y/N prompts, passwords, or any user input), you get notified on your phone and can respond directly from there.
Perfect for:
- Long-running scripts that occasionally need input
- Remote deployments that ask for confirmation
- AI coding assistants (like Claude) that need permissions
- Any command that might interrupt your workflow
Features
- 📱 Real-time terminal streaming to your phone
- 🔔 Instant notifications when input is needed
- ⌨️ Send commands from your phone
- 🚫 Prevents laptop sleep while running
- 🔒 Local network only - secure by default
- 🎯 Zero configuration - just run and go
Installation
🐍 Using pip (Recommended)
pip install mobile-terminal
🍺 Using Homebrew (macOS/Linux)
# Coming soon!
brew tap josharsh/tap
brew install mobile-terminal
📦 Using pipx (Isolated Environment)
pipx install mobile-terminal
🔧 From Source
git clone https://github.com/josharsh/mobile-terminal.git
cd mobile-terminal
pip install -e .
🐳 Using Docker
# Coming soon!
docker run -p 8080:8080 josharsh/mobile-terminal
Requirements
- Python 3.7 or higher
- Works on macOS, Linux, and Windows (WSL)
Usage
Basic usage
# Run any command with mobile-terminal
mobile-terminal npm install
# Or use the short alias
mterm npm install
# Or start an interactive shell
mobile-terminal
# Or simply
mterm
# Then open the URL on your phone:
# http://192.168.1.42:8080
Examples
Monitor a deployment:
term-cast ./deploy-to-production.sh
Watch AI coding assistant:
term-cast claude-code
System updates:
term-cast sudo apt upgrade
How it works
- term-cast creates a pseudo-terminal (PTY) that captures all input/output
- Starts a local web server on port 8080
- Your phone connects via WebSocket for real-time streaming
- When input is detected, your phone gets notified
- You can type responses directly from your phone
- Laptop stays awake while term-cast is running
Requirements
- Python 3.7+
- Same WiFi network for laptop and phone
- Modern web browser on phone
Security
- Local network only - no data leaves your network
- No authentication by default - only use on trusted networks
- Optional encryption - use
--sslflag for HTTPS - Session isolation - each run gets a unique session
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mobile_terminal-0.2.0.tar.gz.
File metadata
- Download URL: mobile_terminal-0.2.0.tar.gz
- Upload date:
- Size: 19.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1cc5414950c1d6517862cb32b2285fc1b7cfefc7e38b4207a4d8e5df4f130d6b
|
|
| MD5 |
0c01c21570e7371686ac6d9be27336b5
|
|
| BLAKE2b-256 |
8ead94416683d6bd64b62a8baa8887f5c1c2f294f7026347bec2e40dfbf117d7
|
File details
Details for the file mobile_terminal-0.2.0-py3-none-any.whl.
File metadata
- Download URL: mobile_terminal-0.2.0-py3-none-any.whl
- Upload date:
- Size: 13.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32f13261156b45bb73d88ed0a8be723e9ed67c86c494d1d6d3351f2544d9bb8d
|
|
| MD5 |
8672e0d28273e000add1d16409c2ca5b
|
|
| BLAKE2b-256 |
fbc514a713a227cd2622d33f6e6b61a1ce139e9874c0f8b6c2bd6c33a39fdcc9
|