Skip to main content

subspace

Expose a local HTTP service through a public relay server, without touching firewall or NAT rules.

The machine with the local service 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

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

--upstream-authorization "Bearer <token>" 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/ -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.3

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.3
File Actions
subspace_tunnel-0.1.3-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details for subspace_tunnel-0.1.3-py3-none-win_arm64.whl
subspace_tunnel-0.1.3-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for subspace_tunnel-0.1.3-py3-none-win_amd64.whl
subspace_tunnel-0.1.3-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details for subspace_tunnel-0.1.3-py3-none-musllinux_1_2_x86_64.whl
subspace_tunnel-0.1.3-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details for subspace_tunnel-0.1.3-py3-none-musllinux_1_2_aarch64.whl
subspace_tunnel-0.1.3-py3-none-manylinux_2_17_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details for subspace_tunnel-0.1.3-py3-none-manylinux_2_17_x86_64.whl
subspace_tunnel-0.1.3-py3-none-manylinux_2_17_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details for subspace_tunnel-0.1.3-py3-none-manylinux_2_17_aarch64.whl
subspace_tunnel-0.1.3-py3-none-macosx_12_0_x86_64.whl Python 3 none macOS 12.0+ x86-64 Details for subspace_tunnel-0.1.3-py3-none-macosx_12_0_x86_64.whl
subspace_tunnel-0.1.3-py3-none-macosx_12_0_arm64.whl Python 3 none macOS 12.0+ ARM64 Details for subspace_tunnel-0.1.3-py3-none-macosx_12_0_arm64.whl

Total release size: 56.7 MB

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

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

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

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

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

Download URL subspace_tunnel-0.1.3-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
c4a27b91232e7592b0d5e2b71cefd7bd22d0642adbed41c21660aeb1b0dfa6e7
BLAKE2b-256 checksum
How to use checksums
b84f70882240bbf77e271a24d3ad904fbaf52479a3111515359e22db236f6701
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

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

Download URL subspace_tunnel-0.1.3-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
11e48db3c7771e979d0625ca2be40c0ad1a536982f73124b12749d8405c0e5de
BLAKE2b-256 checksum
How to use checksums
19f1b3a65b287c706cf5a1ec75618e08c835fca8438f184aa928bb375d426dec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

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

Download URL subspace_tunnel-0.1.3-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
aa2a2b8e328c4aa582cc8685bdb9e4490470a77180b9e9e1c8548d10349c6261
BLAKE2b-256 checksum
How to use checksums
f1eed4cf49693832b0ece91c7357bc7ffa6233907fe65880bdf7e6cb6f55d3b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

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

Download URL subspace_tunnel-0.1.3-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
2aa9480437cc56293c3e82d5c90abb7e8ed538210f951dd5d83e04ee83a8567f
BLAKE2b-256 checksum
How to use checksums
27cfb0af8dbd1f7a435795f50fcdfd2ef5e938958e0ed2fc815fc9ea22f92cf6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

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

Download URL subspace_tunnel-0.1.3-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
5eee2182d3b7caa1112ce15191ac8c2b4ed292132a458e7c68730a395f1bb36b
BLAKE2b-256 checksum
How to use checksums
34b2c5b27490085d9c2075d9c5c648395f5c362dab4be73e92777b39544444ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

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

Download URL subspace_tunnel-0.1.3-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
298deea654ce5453875355150a7245b9e7ef2924d4e1b75489c19c76aab1f04f
BLAKE2b-256 checksum
How to use checksums
33dc6b9061077398e328c72fca70db3a30378c0ceb0810a39280cb598fdb733b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

Security for subspace-tunnel 0.1.3

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