Skip to content

ifokeev/codetunnel

Repository files navigation

CodeTunnel

CodeTunnel Logo

Instant, secure development tunnels for web terminals
Perfect for AI-assisted coding from anywhere 🌴

Latest Release License Build Status Website

Features β€’ Installation β€’ Usage β€’ Building β€’ Security β€’ Contributing

Overview

CodeTunnel is a cross-platform desktop application that provides instant, secure web-based terminal access for developers. Built with Tauri 2.0, it bundles ttyd and cloudflared to create secure development tunnels that make your local terminal accessible from anywhere.

Features

  • 🌴 Hawaiian-Themed UI - Beautiful tropical design with palm tree branding
  • πŸš€ Instant Terminal Access - Launch a web terminal in seconds
  • 🌐 Secure Tunnels - Powered by Cloudflare's global network
  • πŸ”’ URL-based Security - Each session protected by a unique 32-character token
  • πŸ“± Mobile Friendly - Works perfectly with AI coding assistants on iPad/mobile
  • πŸ’» Cross-Platform - Native apps for macOS, Windows, and Linux
  • πŸ€– AI Development Ready - Optimized for Claude Code, Gemini CLI, and other AI tools
  • ⚑ Lightning Fast - Minimal latency with Rust backend

Installation

Download Pre-built Binaries

Visit our website or GitHub Releases to download:

macOS

  • Download: CodeTunnel_x.x.x_universal.dmg (Intel & Apple Silicon)
  • First run: Right-click and select "Open" to bypass Gatekeeper
  • Or remove quarantine: xattr -cr /Applications/CodeTunnel.app

Windows

  • Download: CodeTunnel_x.x.x_x64-setup.exe or .msi
  • Run installer and follow the wizard
  • First run: Click "More info" β†’ "Run anyway" if SmartScreen appears

Linux

  • AppImage (recommended): CodeTunnel_x.x.x_amd64.AppImage
    chmod +x CodeTunnel_*.AppImage
    ./CodeTunnel_*.AppImage
  • Debian/Ubuntu: codetunnel_x.x.x_amd64.deb
    sudo dpkg -i codetunnel_*.deb

Install from Source

See the Building section below.

Usage

  1. Launch CodeTunnel - Open the application
  2. Start Terminal - Click "Start Terminal" to begin a session
  3. Share URL - Copy the secure URL to access your terminal from any browser
  4. Access Terminal - Open the URL in a web browser to access your terminal
  5. Stop Terminal - Click "Stop Terminal" when done

Security Notice

Each terminal session is protected by a unique URL containing a 32-character random token. Only users with the exact URL can access the terminal. Keep URLs private and stop sessions when not in use.

Building

Prerequisites

  • Node.js (v18+)
  • pnpm
  • Rust
  • Platform-specific requirements:
    • macOS: Xcode Command Line Tools
    • Windows: Visual Studio Build Tools
    • Linux: webkit2gtk-4.0, libssl-dev

Setup

  1. Clone the repository:

    git clone https://github.com/ifokeev/codetunnel.git
    cd codetunnel
  2. Install dependencies:

    pnpm install
  3. Download platform binaries:

    ./scripts/download-binaries.sh

    For macOS distribution builds:

    ./scripts/build-ttyd-macos.sh

Development

Run in development mode with hot reload:

pnpm tauri:dev

Production Build

Build for current platform:

pnpm tauri:build

Build for specific platforms:

# macOS Universal
pnpm tauri:build -- -- --target universal-apple-darwin

# Windows x64
pnpm tauri:build -- -- --target x86_64-pc-windows-msvc

# Linux x64
pnpm tauri:build -- -- --target x86_64-unknown-linux-gnu

Project Structure

codetunnel/
β”œβ”€β”€ apps/
β”‚   └── desktop/          # Tauri desktop application
β”‚       β”œβ”€β”€ src/          # React frontend
β”‚       └── src-tauri/    # Rust backend
β”œβ”€β”€ packages/             # Shared packages (future)
β”œβ”€β”€ scripts/              # Build and utility scripts
└── pnpm-workspace.yaml   # Monorepo configuration

Security

CodeTunnel implements several security measures:

  • URL-based Authentication: Each session uses a cryptographically random 32-character token
  • Local Process Isolation: Terminal processes run with user permissions
  • No Persistent Storage: Sessions are temporary and not saved
  • HTTPS Only: Cloudflare tunnels provide encrypted connections

Best Practices

  • Only share URLs with trusted users
  • Stop sessions when not in use
  • Use Cloudflare Access for production deployments
  • Keep the application updated

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add 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

Support

Roadmap

  • Auto-updater with signature verification
  • Multiple concurrent terminal sessions
  • Session persistence and reconnection
  • Custom shell configuration
  • Package manager distribution (Homebrew, Scoop, etc.)
  • Browser extension for quick access
  • Team collaboration features

Aloha! 🌺
Made with ❀️ and 🌴 by the CodeTunnel team