Skip to main content

subspace

Expose a local HTTP service (e.g. LLM inference on a GPU machine) through a public relay server, without touching firewall or NAT rules.

The GPU machine dials out to the server; requesters reach it by passing its id as a bearer token.

requester --HTTP--> subspace server (public) <--websocket-- subspace client --> localhost:<port>

Install

uv tool install subspace-tunnel

or run without installing: uvx subspace-tunnel ...

Server

# server.yaml
listen: ":8080"
client_tokens:
  - "some-long-random-token"
subspace server --config server.yaml

TLS is out of scope, put the server behind Caddy/nginx/etc.

Client (GPU machine)

subspace client --server https://relay.example.com --token some-long-random-token --id some-long-random-id --port 8000

--upstream-authorization "Bearer sk-..." sets the Authorization header sent to the local port. Without it, the header is stripped.

Only one client can hold an id at a time. The id is freed when the client disconnects, or ~20s after it dies.

Requester

curl https://relay.example.com/v1/models -H "Authorization: Bearer some-long-random-id"

The id is effectively an api key: anyone who knows it can use the exposed service.

Metadata

Release files for subspace-tunnel 0.1.1

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

Built distributions (wheels)

Table of built distributions (wheels) for subspace-tunnel 0.1.1
File Actions
subspace_tunnel-0.1.1-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details for subspace_tunnel-0.1.1-py3-none-win_arm64.whl
subspace_tunnel-0.1.1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for subspace_tunnel-0.1.1-py3-none-win_amd64.whl
subspace_tunnel-0.1.1-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details for subspace_tunnel-0.1.1-py3-none-musllinux_1_2_x86_64.whl
subspace_tunnel-0.1.1-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details for subspace_tunnel-0.1.1-py3-none-musllinux_1_2_aarch64.whl
subspace_tunnel-0.1.1-py3-none-manylinux_2_17_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details for subspace_tunnel-0.1.1-py3-none-manylinux_2_17_x86_64.whl
subspace_tunnel-0.1.1-py3-none-manylinux_2_17_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details for subspace_tunnel-0.1.1-py3-none-manylinux_2_17_aarch64.whl
subspace_tunnel-0.1.1-py3-none-macosx_12_0_x86_64.whl Python 3 none macOS 12.0+ x86-64 Details for subspace_tunnel-0.1.1-py3-none-macosx_12_0_x86_64.whl
subspace_tunnel-0.1.1-py3-none-macosx_12_0_arm64.whl Python 3 none macOS 12.0+ ARM64 Details for subspace_tunnel-0.1.1-py3-none-macosx_12_0_arm64.whl

Total release size: 56.7 MB

Release files / subspace_tunnel-0.1.1-py3-none-win_arm64.whl

Download URL subspace_tunnel-0.1.1-py3-none-win_arm64.whl
Size 6.9 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
07bc542a1f3d44d6a817809e4e89cd3cae1f46ff7711dffbd49e82b0de740c0f
BLAKE2b-256 checksum
How to use checksums
d974beec5c1eb516f6ebe08dfa12cc12375e30030199e1edc47c0aa6f3e814f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

Release files / subspace_tunnel-0.1.1-py3-none-win_amd64.whl

Download URL subspace_tunnel-0.1.1-py3-none-win_amd64.whl
Size 7.5 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
00ed719a410a710671d10ec67a13cbb095343c033d077142b906c3e1f6042d7d
BLAKE2b-256 checksum
How to use checksums
f378c9234c5f7a634b3b27f2faa93ae4f4fa01a404b9a065d83a11fa039d2f2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

Release files / subspace_tunnel-0.1.1-py3-none-musllinux_1_2_x86_64.whl

Download URL subspace_tunnel-0.1.1-py3-none-musllinux_1_2_x86_64.whl
Size 7.3 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
d0995be289fd46b10050d4645fa1965e6d9cb7b4b8d9fb869a9a8a98258396ee
BLAKE2b-256 checksum
How to use checksums
071ddf26f3b242dd6993f48887375a7eea6bc60395c22464725e3b68b6522d83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

Release files / subspace_tunnel-0.1.1-py3-none-musllinux_1_2_aarch64.whl

Download URL subspace_tunnel-0.1.1-py3-none-musllinux_1_2_aarch64.whl
Size 6.8 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
755ec605148e5bab3ec4abbab887a04839d24d614773ce6256f4b3c13de67bf7
BLAKE2b-256 checksum
How to use checksums
5a5d6cb8b21ca807a213eb73359ef1486b3633e6b619a85ce4417afa91b51e47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

Release files / subspace_tunnel-0.1.1-py3-none-manylinux_2_17_x86_64.whl

Download URL subspace_tunnel-0.1.1-py3-none-manylinux_2_17_x86_64.whl
Size 7.3 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
f9c33150be1f9b6da77f76dd947d2ed0ada1c9da3c99ec79196088264445de18
BLAKE2b-256 checksum
How to use checksums
7bb896b70438e85508a214a6463d47d542d6c541839ade742ea374eb403a0b51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

Release files / subspace_tunnel-0.1.1-py3-none-manylinux_2_17_aarch64.whl

Download URL subspace_tunnel-0.1.1-py3-none-manylinux_2_17_aarch64.whl
Size 6.8 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
6598a5124c2f23f010418df59141f88deb3958705dad9ff39b921794d4d64c56
BLAKE2b-256 checksum
How to use checksums
a01d6a76f0d8738ad2bb8d693382c92fc8ebb69e9b411a8635656652d2ac873e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

Release files / subspace_tunnel-0.1.1-py3-none-macosx_12_0_x86_64.whl

Download URL subspace_tunnel-0.1.1-py3-none-macosx_12_0_x86_64.whl
Size 7.4 MB
Tags Python 3 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
48a483501290fcd2c30cf9cb47cb8e156b46a97dcff9d968da412939a5308173
BLAKE2b-256 checksum
How to use checksums
ce4a35e99c211410916635aeba37618238fb1dba699d6b41caab3df426e2fb08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

Release files / subspace_tunnel-0.1.1-py3-none-macosx_12_0_arm64.whl

Download URL subspace_tunnel-0.1.1-py3-none-macosx_12_0_arm64.whl
Size 6.9 MB
Tags Python 3 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
944a81253e00bfb57bf89930469affe434d39f96006b5aa45a04ff725e263a11
BLAKE2b-256 checksum
How to use checksums
0488096dea707831800a3c46f1b87d28381223408e69faa357bfab03e76a2834
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

Security for subspace-tunnel 0.1.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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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