Skip to main content

🐸 Guac Bridge

SSH and OpenAI-compatible endpoints through Guacamole.

Expose a remote server’s SSH service or OpenAI-compatible API on your computer through its Guacamole web terminal. Use your usual SSH tools or LLM applications with the local port.

First-time setup

On Windows x86-64, run the installer from Releases. Select Add Guac Bridge to my user PATH if desired. On Linux x86-64, extract the native release archive.

Alternatively, install on either client with uv:

uv tool install guac-bridge
uv tool update-shell

No installation is needed on the server. The client uploads its bundled Linux x86-64 helper through the Guacamole terminal and reuses it on later connections. The server needs a normal shell and core utilities, with an executable user cache directory; no runtime installation, root access or internet connection is required there.

Open the desired Guacamole terminal in your browser and copy its full URL. Use it as CONNECTION_URL below.

SSH bridge

Connect

guac-bridge ssh --url CONNECTION_URL

Enter your Guacamole username and password. In another terminal:

ssh -p 2222 SERVER_USERNAME@127.0.0.1

Keep the bridge running while connected. Stop it with Ctrl+C.

Use an SSH config

Add to ~/.ssh/config, replacing the URL and both usernames:

Host guac-server
    HostName 127.0.0.1
    Port 2222
    User SERVER_USERNAME

Match originalhost guac-server exec "guac-bridge ssh --ensure-running --save-password --url CONNECTION_URL --username GUACAMOLE_USERNAME --port %p"
Match all

Connect with ssh guac-server. The hook starts or reuses the background bridge and shows startup progress in your calling console. On first login it prompts in the calling console and saves your password to the system credential store after successful authentication.

The bridge stays running after SSH exits. Check or stop it with:

guac-bridge ssh --status --port 2222
guac-bridge ssh --stop --port 2222

Use a dedicated local port for each destination. Windows users can add --show-console to see the background bridge in a separate console.

LLM bridge

guac-bridge llm --url CONNECTION_URL

Enter your Guacamole credentials. The default local port is 8000, forwarding the server’s HTTP endpoint at 127.0.0.1:8000, including streamed responses. Use --target-port for a different server port and --port for a different local port.

Keep the bridge running while using the application. Stop it with Ctrl+C.

The commands guac-ssh-client and guac-llm-client also work. Run any client with --help for credential storage, certificates, background operation and transport tuning.

Contribution

The native CLI, helper and shared transport live in one Cargo package. The uv package installs the same native executables.

See Building, Testing and Benchmarking. Submit issues and pull requests on GitHub.

Architecture

Each bridge opens a Guacamole WebSocket connection, checks or uploads its bundled helper, and runs it inside the remote terminal. Both bridge types forward TCP streams with bounded flow control; HTTP headers, bodies and streaming responses pass through unchanged. The helper exits with the session; only its cached executable remains.

See Connection details for diagrams, loopback interfaces and process lifetimes.

Metadata

Release files for guac-bridge 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for guac-bridge 1.0.1
File Size Uploaded Provenance Actions
guac_bridge-1.0.1.tar.gz 698.9 kB With provenance Details for guac_bridge-1.0.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for guac-bridge 1.0.1
File Interpreter ABI Platform Actions
guac_bridge-1.0.1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for guac_bridge-1.0.1-py3-none-win_amd64.whl
guac_bridge-1.0.1-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details for guac_bridge-1.0.1-py3-none-manylinux_2_28_x86_64.whl

Total release size: 18.8 MB

Release files / guac_bridge-1.0.1.tar.gz

Download URL guac_bridge-1.0.1.tar.gz
Size 698.9 kB
Tags Source
SHA-256 checksum
How to use checksums
fdcf5d7ff973bb92b7d49d0496fc40e966266df485cdfec9560f87781070fc19
BLAKE2b-256 checksum
How to use checksums
f7eaefc8fe3b4b25df51ad274e34cc32cc6464da7cea315b9d455d69f9651245
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / guac_bridge-1.0.1-py3-none-win_amd64.whl

Download URL guac_bridge-1.0.1-py3-none-win_amd64.whl
Size 8.6 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
d39e6c7ac2593fc8abeb8f2ff94ef379d1a2f8a73dcf4f1e25a1efcd303054d5
BLAKE2b-256 checksum
How to use checksums
d47c9b61b954b740a62b31e6fbae184f6234defbd8de8b09739746f5fd8ecd28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / guac_bridge-1.0.1-py3-none-manylinux_2_28_x86_64.whl

Download URL guac_bridge-1.0.1-py3-none-manylinux_2_28_x86_64.whl
Size 9.5 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
ec0c161f25a9718c539d57c649f4cb0f844b860725af5a9e8865d41a73484dca
BLAKE2b-256 checksum
How to use checksums
b584676f38690ed09c5f6dd532d6e393c0ae6b66d71f2ae5abb7a8f232edccab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Security for guac-bridge 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 3 files in this release have been uploaded with provenance metadata.

Select from 3 files

Attestation for guac_bridge-1.0.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page