Skip to main content

Web-based terminal accessible from phone via Cloudflare Tunnel

Project description

Porterminal - Vibe Code From Anywhere

PyPI Python Downloads License

Web terminal accessible from your phone via Cloudflare Quick Tunnel. Touch-friendly interface with virtual keys, multi-tab sessions, etc.

Features

  • Touch-optimized - Virtual keyboard, touch gestures
  • Multi-tab sessions - Run multiple terminals simultaneously with persistent sessions
  • Instant access - Cloudflare Quick Tunnel with QR code, no port forwarding needed
  • Cross-platform - Windows (PowerShell, CMD, WSL), Linux/macOS (Bash, Zsh, Fish)

Quick Start

# Install
uv tool install ptn

# Run
ptn

Scan the QR code with your phone to connect.

Alternative methods:

# Run without installing
uvx ptn

# Or with pip
pip install ptn

Usage

ptn [path] [options]

Options:
  --no-tunnel       Local network only (no Cloudflare tunnel)
  -v, --verbose     Show detailed logs
  -U, --update      Update to latest version
  -V, --version     Show version

Configuration

Create config.yaml to customize:

server:
  host: "127.0.0.1"
  port: 8000

terminal:
  cols: 120
  rows: 30
  default_shell: powershell  # cmd, wsl, bash, zsh

buttons:
  - label: "git"
    send: "git status\r"

Security

Warning: The URL is the only authentication. Anyone with the link can access your terminal.

  • Environment variables sanitized (API keys, tokens, secrets blocked)
  • Rate limiting on input
  • Sessions isolated per user via Cloudflare Access

Requirements

  • Python 3.12+
  • uv is prefered
  • cloudflared (auto-installed if missing)

License

AGPL-3.0

Project details


Download files

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

Source Distribution

ptn-0.1.0.tar.gz (594.1 kB view details)

Uploaded Source

Built Distribution

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

ptn-0.1.0-py3-none-any.whl (626.8 kB view details)

Uploaded Python 3

File details

Details for the file ptn-0.1.0.tar.gz.

File metadata

  • Download URL: ptn-0.1.0.tar.gz
  • Upload date:
  • Size: 594.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ptn-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4d43136a1765578973514b582e6d011f1d880b98ba45f26f85d103a0885c3663
MD5 a2c87202feccf7358954262e15fde47a
BLAKE2b-256 93a7112e60683b5fbaecbb93b9dc540c280efe944bc143b20a9c4908c4fd1f2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ptn-0.1.0.tar.gz:

Publisher: publish.yml on lyehe/porterminal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ptn-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ptn-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 626.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ptn-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 96d02aade1c8cfeaf485a790f24eca1fc4544555b35cd0b04a23ccb9d527d674
MD5 db5fd8f69d51822ed92f49d5886657c5
BLAKE2b-256 78f55c62fb491f2604945346acfe36182f0d22e58378d6df2f76e6378d2f8c76

See more details on using hashes here.

Provenance

The following attestation bundles were made for ptn-0.1.0-py3-none-any.whl:

Publisher: publish.yml on lyehe/porterminal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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