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 the matching bundled x86-64 helper through the Guacamole SSH terminal and reuses it on later connections. Linux servers need a shell and core utilities; Windows servers need PowerShell 5.1+ and a Windows SSH console. No runtime installation, administrator access or internet connection is required there. The user’s helper cache must allow execution.

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

For a Windows server, add --server-os windows to either bridge command or the SSH Match hook. The default is Linux. RDP connections are not supported.

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.

Transport defaults

The conservative configuration uses 4 TCP frame credits per connection, a 65536-byte frame limit, and 8 Guacamole input blobs awaiting gateway acknowledgements across the bridge. --window and --input-window are independent: increasing TCP credits no longer increases gateway buffering. See transport tuning for examples and the distinction between gateway and remote delivery acknowledgements. The independent --input-window option is available from v1.1.4.

Stop an existing managed bridge before changing transport settings. Its original settings remain in effect until it is restarted.

Contribution

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

See Building, Testing, Transport debugging 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.1.4

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.1.4
File Size Uploaded Provenance Actions
guac_bridge-1.1.4.tar.gz 1.4 MB With provenance Details for guac_bridge-1.1.4.tar.gz

Built distributions (wheels)

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

Total release size: 23.8 MB

Release files / guac_bridge-1.1.4.tar.gz

Download URL guac_bridge-1.1.4.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
0983f2217b918d07604d449ff016e9da852c16e881d052d784d5bf2c8490aa59
BLAKE2b-256 checksum
How to use checksums
52246beb63f7fcd7f1e97c1f95a5509da81a8f8a88a34266b38d8ed9a05e25f4
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 2, 2026.

Transparency log

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

Download URL guac_bridge-1.1.4-py3-none-win_amd64.whl
Size 10.8 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
00033d5056c6902343de39324bdf7ead2a7e045b85e5daa157a2f403a5044bc3
BLAKE2b-256 checksum
How to use checksums
1af6b64c4d3f7ed2b6da0ab38083a52f7274cab640549b12e384081d0b9b8f29
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 2, 2026.

Transparency log

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

Download URL guac_bridge-1.1.4-py3-none-manylinux_2_28_x86_64.whl
Size 11.7 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
8f07f7aee580e8c7db2705998b713963c047f74398aedf6e959130882b5c518f
BLAKE2b-256 checksum
How to use checksums
4cf2ffec26384fc884f16446fad2e21a31ce401c07a7e7b0e97d37fa8be6354b
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 2, 2026.

Transparency log

Security for guac-bridge 1.1.4

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.1.4.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 2, 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