Spokes v1.5.4

Published at September 8, 2025 ·  5 min read

Share on:

We’re excited to announce the release of Spokes v1.5.4, bringing several powerful new features and important bug fixes to enhance your experience with the Spokes Gateway server.

Get the Release!

You can download the RPM here. As always, our container images are available in both the Packetriot and Terrapin Labs repositories.

docker pull packetriot/spokes:1.5.4

# alternatively

docker pull terrapinlabs/spokes:1.5.4

Registration Tokens

In this release, registration tokens have been updated to support more granular limits. You can now configure.

  • Expiration dates, which provide tokens with a limited lifespan, automatically expire if they are lost or forgotten.
  • The maximum number of tunnels that can be created with a specific token.
  • The maximum number of active tunnels that can be instantiated and connected to the Spokes server.

These controls can be used independently or combined to suit different use cases. For example, you can create a token with a high tunnel creation limit but restrict the number of active tunnels at any time. This flexibility allows for more secure and manageable token usage.

New Registration Token Limits

New Registration Token Limits

The table has been updated to show all of the new criteria added to registration tokens. Still, there is a column that highlights the number of tunnels created with a token that has a link to a page to view and browse specific tunnels.

Updated Registration Tokens List

Updated Registration Tokens List

The relationship between registration tokens and the tunnels created using them is now visible with a new page that is available in this release.

Registration Token to Tunnel List View

Registration Token to Tunnel List View

Previously created tunnels will not be displayed here since we did not record the relationship. However, new tunnels will begin to show up.

Reverse Proxy

We’ve added a built-in reverse proxy, and now you can create HTTP and TCP traffic rules to proxy traffic to an upstream application running adjacent to the Spokes server. Spokes now behaves like any typical reverse proxy server, such as Apache or nginx, but it supports features not available out of the box, such as:

  • TLS management with Let’s Encrypt integration.
  • Password portals, including support for OpenID Connect authentication.
  • IP Filtering
Reverse Proxy Services

Reverse Proxy Services

This new feature makes Spokes a well-rounded network server, beyond the advanced remote tunneling that is its primary focus.

Spokes basic TCP port forwarding as well in this reverse proxy. This means that if you want to expose local backend services like a Postgres database or Redis server. You can use custom or randomized ports to allocate a public port and forward the traffic as you would typically do with a remotely deployed tunnel.

HTTP - Secure By Default

We’ve made a change in the Spokes dashboard UI and backend such that all HTTP traffic rules created or updated in the Spokes dashboard will enable the secure setting. That means that HTTPS traffic rules will always be requested for any HTTP traffic rule, regardless of the TLS option you choose (or ignore).

Earlier, you could make selections that would only request HTTP traffic and not HTTPS. This change makes sense to us and simplifies which inputs are necessary when creating new rules for HTTP traffic.

We are introducing a new term called Server TLS, which implies TLS session management and termination at the Spokes server’s edge. When this occurs, relaying HTTP traffic to tunnels includes an X-Forwarded-Proto field set to https.

Spokes uses a directory called certs-extra, located in /var/lib/spokes/certs-extra, where TLS certificates can be organized into subdirectories. This feature was added a long time ago, but is not thoroughly documented.

The Packetriot network uses this feature to store wildcard TLS certificates that are used to terminate TLS connections for *.pktriot.net and other Packetriot domains. But it can also be used for private Spokes servers and can alleviate throttling by Let’s Encrypt, if it’s used widely by a customer.

This mechanism for TLS termination and session management will now be referred to as Server TLS moving forward, and is a new-ish TLS option for HTTP traffic rules.

UI Enhancements

We streamlined the user interface for creating and updating HTTP traffic rules for remote tunnels and our reverse proxy. Earlier, we provided input fields for all the possible values one could input, mirroring the pktriot CLI.

In this release, we refactored the UI so that you can choose an upstream method and then only see the relevant fields. For example, if you want to use an upstream URL, you would only be presented with that field, along with the appropriate optional fields, such as Insecure Upstream TLS.

Upstream URL Inputs

Upstream URL Inputs

When you select the manual method, you will receive just those relevant input fields: destination, HTTP port, and optional TLS port, which is used for transparent TLS proxying.

Manual Upstream Inputs

Manual Upstream Inputs

These changes should reduce errors and confusion on which input fields to use and when. In addition to these changes, we similarly streamlined TLS settings for HTTP traffic rules. We added a combo box that will dynamically present custom certificate file upload inputs when selected. The combo box includes a setting for Let’s Encrypt or Server TLS.

Certificate Management Fixes

We fixed several bugs, including improved prioritization for static TLS certificates. Spokes now correctly prioritizes static certificates above ACME-based certificates (such as those issued by Let’s Encrypt or ZeroSSL), ensuring your custom TLS setups are properly respected.

If you are using static TLS certificates in your deployments, we strongly recommend upgrading to v1.5.4 to benefit from the fixed prioritization behavior.

Improvements & Bug Fixes

We added security headers to our HTTP and API responses to improve the security of Spokes: X-Frame-Options, Content-Security-Policy, and X-Content-Type-Options.

Roadmap

In our next release, we plan on adding a new page to the dashboard to manage TLS certificates in the certs-extra directory. We will explore expanding the API as well to do it programmatically and also via the CLI.

Thanks!

As always, we want to thank our users for their valuable feedback and bug reports. Your input drives continuous improvements to Spokes. If you have ideas for features or enhancements, please don’t hesitate to reach out.

Cheers!


Related posts

Spokes v1.5.0

Spokes v1.4.6

Spokes v1.4.5

Spokes v1.4.4

Spokes v1.4.3

Spokes v1.4.2

Spokes v1.4.1