Skip to main content

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

  1. term-cast creates a pseudo-terminal (PTY) that captures all input/output
  2. Starts a local web server on port 8080
  3. Your phone connects via WebSocket for real-time streaming
  4. When input is detected, your phone gets notified
  5. You can type responses directly from your phone
  6. 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 --ssl flag for HTTPS
  • Session isolation - each run gets a unique session

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mobile_terminal-0.2.1-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file mobile_terminal-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mobile_terminal-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a1b1445184bb2d495106ae036b5a4cd9dcc31d2df258fd7dedd574ca9fa53506
MD5 4527bf4df7c07c8134495bb1d3b8417d
BLAKE2b-256 7251042425297915e5df58400e896ca5ba640ac9374c990a784b33cfc4169bf9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page