JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 392
  • Score
    100M100P100Q103393F
  • License MIT

Locus - Forward your terminal to your mobile device. Code anywhere from your pocket.

Package Exports

  • @leverageaiapps/locus-beta
  • @leverageaiapps/locus-beta/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@leverageaiapps/locus-beta) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@leverageaiapps/locus-ssh

npm version License: MIT

SSH-mode version of Locus - Forward terminal without ANSI codes. Clean output for AI processing.

Node.js Platform

Features

  • 🚀 Instant Setup - One command to start forwarding your terminal
  • 📱 Mobile Access - Access your terminal from any device with a browser
  • 🎙️ Voice Input - Built-in voice recognition for hands-free coding
  • 🔒 Secure - PIN-protected sessions with automatic IP blocking
  • 🌐 No Port Forwarding - Uses Vortex Gateway for secure tunneling
  • Real-time - WebSocket-based communication for instant feedback
  • 🎯 PTY Support - Full terminal emulation with node-pty

Prerequisites

Locus requires Node.js 18 or higher. The Vortex tunnel is built-in and requires no additional dependencies.

Installation

npm install -g @leverageaiapps/locus

Verify Installation:

locus --version

Quick Start

# Start a terminal session
locus

# Start with a specific command
locus claude
locus python
locus vim

A QR code will appear - scan it with your phone and enter the 6-digit PIN to access your terminal!

Usage

Basic Commands

# Start a terminal session
locus

# Start with a custom PIN
locus --pin 123456

# Start with a machine name
locus --name "My Laptop"

# Start a specific command with PIN
locus claude --pin 123456

Options

Option Short Description
--name <name> -n Set a custom machine name
--pin <pin> -p Set a custom 6-digit PIN
--debug-asr Enable verbose ASR logging

Configuration

# Show current configuration
locus config --show

How It Works

  1. Run locus [command] in your terminal
  2. Locus starts a local web server and creates a Vortex tunnel
  3. A QR code appears with your unique URL
  4. Scan the QR code with your phone
  5. Enter the 6-digit PIN to access your terminal
  6. Your terminal is now accessible from your mobile device!

Exiting

To exit Locus, you can:

  • Type exit in the terminal (or the command to exit your current program)
  • Press Ctrl+C in the terminal where you ran locus
  • Close the terminal window

When you see "Terminal session ended.", the session has been successfully closed.

Security

  • PIN Protection: Each session requires a 6-digit PIN
  • Rate Limiting: Max 10 failed login attempts per IP
  • Auto-blocking: IPs are temporarily blocked after too many failures
  • Session Cookies: Authentication persists for 24 hours

Troubleshooting

Error: posix_spawnp failed

Fix permissions on the node-pty spawn-helper:

# macOS ARM (M1/M2/M3)
chmod +x node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper

# macOS Intel
chmod +x node_modules/node-pty/prebuilds/darwin-x64/spawn-helper

# Linux x64
chmod +x node_modules/node-pty/prebuilds/linux-x64/spawn-helper

Connection Issues

If you encounter connection issues, verify the Vortex gateway is accessible:

curl -I https://vortex.futuretech.social/health

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments