Skip to main content
trqsh — QUIC-first tunnels to localhost

PyPI Downloads Python release License

trqsh puts a public HTTPS URL in front of anything on your machine — a dev server, a webhook receiver, a game server, a raw TCP/UDP listener — in one command. It's a QUIC-first tunnel (real HTTP/3, not a rebrand of TCP) with a proper interactive console, live traffic inspection, real Let's Encrypt TLS, and a fully open-source stack you can self-host end to end. This package installs the signed trqsh CLI binary for your platform: a thin wrapper around a small Go binary, verified by SHA-256 on every install.

pip install trqsh
# or, isolated:
pipx install trqsh

trqsh login        # sign in through your browser
trqsh http 3000    # → a public HTTPS URL for localhost:3000
trqsh http 3000 opening a live tunnel

Why trqsh

  • QUIC-first, TCP fallback — built on HTTP/3's transport from the ground up, not HTTP/1.1 with a marketing label; falls back automatically where UDP is blocked.
  • Every protocolhttp, tcp, and udp tunnels, not just HTTP.
  • A real console, not a log spinner/pin traffic, /pin status, and friends keep live panels on screen while you keep working, with command history, autocomplete, and a scrolling transcript. See below.
  • Remote control from your phone/qr pairs the console to a scanned QR: watch the live transcript and tunnels, or type commands back, from anywhere.
  • Real TLS — Let's Encrypt via CertMagic, not a self-signed cert with a browser warning.
  • Background tunnels (-d) that outlive your terminal, reserved subdomains, custom domains, and a live request inspector.
  • Signed, verifiable releases — every download is checksummed and the checksum file itself is cosign-signed in CI (see Security below).
  • Fully open source (Apache-2.0) — read every line, self-host the whole edge + control plane instead of trusting a black box.

The console

Bare trqsh (or trqsh http 3000) opens an interactive, slash-command console — type / to browse everything it can do, pin live panels above the prompt, and keep an eye on traffic without leaving the terminal:

the trqsh console: welcome banner, an active tunnel, and pinned traffic + status panels

Commands

Command Does
/http <port> Expose a local HTTP port
/tcp <port> / /udp <port> Expose a local TCP/UDP port
/start Start every tunnel from your config file at once
/ls List running tunnels
/open <id> Open a tunnel's public URL in your browser
/qr [id|stop] Pair this console to your phone (or show a tunnel's QR)
/copy [id] Copy a tunnel URL to the clipboard
/requests Show recently captured requests
/pin <traffic|tunnels|status> Keep a live panel on screen
/stop <id|all> / /down Stop a tunnel, or the whole daemon
/subdomains, /domains Reserve subdomains, manage custom domains
/whoami, /login, /logout Account, plan, usage; sign in via browser
/update, /version Self-update in place; show version

Run /help inside the console for the full, current list.

Security

Every release archive ships with a checksums.txt that this package verifies before it ever execs the binary. The checksum file itself is keyless-signed with cosign via GitHub Actions' OIDC token — no key to leak, no key to trust blindly:

cosign verify-blob \
  --bundle checksums.txt.sigstore.json \
  --certificate-identity-regexp 'https://github.com/uzcreator/trqsh/.*' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  checksums.txt

How it works

The console script trqsh calls trqsh.ensure_binary(), which detects your OS (darwin/linux/windows) and CPU (amd64/arm64), downloads trqsh_<version>_<os>_<arch>.<ext> from https://github.com/uzcreator/trqshcli/releases, verifies its SHA-256 against checksums.txt, caches the binary under ~/.cache/trqsh/<version>/, and execs it. Pure standard library — no runtime dependencies.

Environment overrides

Variable Purpose
TRQSH_VERSION Pin a specific release (defaults to the package version).
TRQSH_REPO Alternate owner/repo for the release download.
TRQSH_DOWNLOAD_BASE Full base URL of a mirror serving the release assets (for air-gapped/internal mirrors).
TRQSH_SKIP_CHECKSUM=1 Skip SHA-256 verification (not recommended).

Uninstall

trqsh uninstall        # remove local data (config, key, cache) + stop tunnels
pip uninstall trqsh    # then remove the package itself

Run trqsh uninstall first: pip uninstall drops the package but leaves your saved key, control token, logs, and the cached binary under ~/.cache/trqsh/ behind — trqsh uninstall clears those and stops any background daemon. Add -y to skip the confirmation.

Links

Website · Source · CLI releases · Issues

Author

trqsh is created and maintained by Otabek Hamroqulov — GitHub @Hamroqulovv. Licensed Apache-2.0.

Release files for trqsh 0.2.0

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

Source distribution (sdist)

Source distribution for trqsh 0.2.0
File Size Uploaded
trqsh-0.2.0.tar.gz 6.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for trqsh 0.2.0
File Interpreter ABI Platform
trqsh-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.8 kB

Release files / trqsh-0.2.0.tar.gz

Download URL trqsh-0.2.0.tar.gz
Size 6.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ba40e19e4cf57bb570d9df013b53e9eb6c82199d81b221fa64563f93d81ded51
BLAKE2b-256 checksum
How to use checksums
a69a0824e4e6494b67dcdb674524eaea51f8964860d3cac067f7d5a72ac71e0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / trqsh-0.2.0-py3-none-any.whl

Download URL trqsh-0.2.0-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
024333a45394b4a0b0e9d7584e8127361eb9fddb1a00bd31a23c5c3611638352
BLAKE2b-256 checksum
How to use checksums
5f29dacda869a39c355a171c35e2b92154ae043cb41a2905489a609dc7ac3a78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release history Release notifications | RSS feed

0.2.1

2 release files

This release

0.2.0 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

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