Skip to content

avanderhoorn/tunnel-proxy-release

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 

Repository files navigation

Remote SDK Host

Host application that exposes the GitHub Copilot SDK over Microsoft Dev Tunnels, enabling browser-based clients to interact with Copilot.

Installation

npm install -g github:avanderhoorn/tunnel-proxy-release

Prerequisites:

  • Node.js 20+

  • macOS: No extra dependencies are needed.

  • Linux: The following system packages are required:

    • libsecret-1-0 — for secure credential storage (keytar)
    • make, gcc/g++, python3 — for building node-pty if prebuilt binaries are not available (used for remote terminal support)

    On Ubuntu/Debian:

    sudo apt-get install -y libsecret-1-0 make gcc g++ python3

Codespaces / Dev Containers

Running in a container requires additional setup — see the appendix for instructions.

Usage

Start the host:

remote-sdk-host

Note: In Codespaces/containers, use the dbus-run-session wrapper shown in the appendix.

On first run, you'll be prompted to authenticate with GitHub via device flow. The tunnel ID and cluster will be displayed — use these to connect from the web client.

Commands

remote-sdk-host              # Start the tunnel host
remote-sdk-host logout       # Clear stored GitHub credentials
remote-sdk-host tunnel       # Show stored tunnel configuration
remote-sdk-host tunnel clear # Clear stored tunnel configuration

Options

-d, --debug    Enable verbose debug logging
-p, --port     Port for local SDK connection (default: auto)
-V, --version  Show version number
-h, --help     Show help

Web Client

Connect to your running host using the web client:

https://gh.io/copilot-tunnel

Enter the tunnel ID and cluster displayed by the host to establish a connection.

Updating

To update to the latest version:

npm install -g github:avanderhoorn/tunnel-proxy-release

Appendix: Codespaces / Dev Containers

Running in a container (e.g. GitHub Codespaces) requires additional setup because there is no D-Bus session bus or secret service available by default.

  1. Install dependencies:

    sudo apt-get install -y libsecret-1-0 dbus gnome-keyring make gcc g++ python3
  2. Generate a machine ID and start the D-Bus system daemon:

    sudo bash -c 'dbus-uuidgen > /etc/machine-id'
    sudo mkdir -p /run/dbus
    sudo dbus-daemon --system --fork
  3. Run remote-sdk-host inside a D-Bus session with an unlocked keyring:

    dbus-run-session -- bash -c 'echo "" | gnome-keyring-daemon --unlock && remote-sdk-host'

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors