Host application that exposes the GitHub Copilot SDK over Microsoft Dev Tunnels, enabling browser-based clients to interact with Copilot.
npm install -g github:avanderhoorn/tunnel-proxy-releasePrerequisites:
-
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
Running in a container requires additional setup — see the appendix for instructions.
Start the host:
remote-sdk-hostNote: In Codespaces/containers, use the
dbus-run-sessionwrapper 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.
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-d, --debug Enable verbose debug logging
-p, --port Port for local SDK connection (default: auto)
-V, --version Show version number
-h, --help Show helpConnect to your running host using the web client:
Enter the tunnel ID and cluster displayed by the host to establish a connection.
To update to the latest version:
npm install -g github:avanderhoorn/tunnel-proxy-releaseRunning in a container (e.g. GitHub Codespaces) requires additional setup because there is no D-Bus session bus or secret service available by default.
-
Install dependencies:
sudo apt-get install -y libsecret-1-0 dbus gnome-keyring make gcc g++ python3
-
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 -
Run
remote-sdk-hostinside a D-Bus session with an unlocked keyring:dbus-run-session -- bash -c 'echo "" | gnome-keyring-daemon --unlock && remote-sdk-host'