Every release of xTQ Web, newest first. Install or upgrade with curl -fsSL https://xtq.ro/web/install.sh | sh, and your config is never touched.
1.0.3, 7 November 2026
More control for a fleet of sites.
- Your own page when a backend is down. An
errors { ... }block answers with a file, a fixed response, a redirect, or another backend when xTQ Web itself cannot reach the app (nothing listening, a timeout, every slot busy). The error handler's own status is sent through. - Placeholders.
header_up, responseheader,redirectandrewritevalues expand{client_ip},{remote_ip},{host},{path},{query},{uri},{scheme}and{header.Name}. - More ways to match a route.
has header <Name> <glob>,remote_ip <cidr>andwebsocket(each with anotform) match on a request header, the connecting address, or a WebSocket upgrade, alongside the existing path match. - Smarter forward auth.
authnow sendsX-Forwarded-UriandX-Forwarded-Method, and takes an optional block to set the Host and headers on the auth request. - Tidier automatic HTTPS. A certificate is no longer requested for a name that has its own
tls, is covered by a wildcard certificate, or is served only over plain HTTP.
1.0.2, 7 November 2026
Running many sites behind xTQ Web.
- A certificate per site.
tls <cert> <key>serves a site's own certificate, andtls internala self-signed one for a site behind a proxy that already terminates HTTPS. The resolver picks the site's own certificate first, then an automatic one, then the fallback, and a reload re-reads the files. - Config in pieces.
include <glob>pulls in other config files, so one file per site in a folder is picked up on reload. An empty or missing folder is fine, and errors still point at the real file and line.
1.0.1, 23 October 2026
Safer, kinder to visitors, easier to run.
- The browser check can no longer be skipped with a forged cookie, only xTQ Web's own signed pass counts.
- The browser check works on plain-HTTP sites (the pass is no longer marked HTTPS-only).
- A broken upload can no longer push a healthy app out of rotation.
max_body <size>turns oversized uploads away at the door, before the app reads a byte.- Stopping or restarting lets in-flight requests finish first (
XTQW_DRAIN_SECS). - Folder links under a path prefix redirect correctly.
probes offlets an app that really uses paths like/cgi-binor/actuatorreceive them.- The installer keeps your settings, passes them into Docker, and leaves an edited service file alone.
1.0.0, 29 September 2026
First public release. A single static binary that proxies apps, serves files, terminates TLS with automatic Let's Encrypt certificates, reloads without dropping connections, and keeps floods out with a built-in browser check and waiting room. In front of PHP it fronts xTQ PHP.
