Put your domain behind hubCDN
No signup, no dashboard. Everything is configured with two DNS records.
- Point your domain at this node
Add a CNAME (or ALIAS at the apex) to:
www.your-domain.com CNAME cdn.hubcdn.space
Or point A/AAAA records directly at:
your-domain.com A/AAAA 41.186.167.39
- Open your domain in a browser
Once DNS propagates, hubCDN issues a TLS certificate for your domain automatically and shows a setup page with your next step.
- Declare your origin in a TXT record
Tell hubCDN where your actual server lives:
hubcdn.v1.origin.your-domain.com TXT "https://origin.your-server.com"
That's it. Traffic now flows through this node with caching and automatic certificate renewal.
Optional: tune caching with one more TXT record
hubcdn.v1.config.your-domain.com TXT "cache=aggressive; ttl=6h; websocket=on"
| Key | Values | Default |
|---|---|---|
cache | off · standard · aggressive | standard |
ttl | duration (90s, 6h) or seconds | 1h |
swr | serve-stale window · 0 = off | 10m |
websocket | on · off | on |
preserve_host | on · off | on |
max_object | size (16mb) | node limit |
Changes are picked up automatically on the next refresh cycle.
Results: dummy-web.uhost.pro is faster
| Metric | dummy-web.uhost.pro | origin-dummy-web.uhost.pro |
|---|---|---|
| Avg. first byte (TTFB) | 0.595s | 1.153s |
| Avg. total time | 0.702s | 1.153s |
| Response size | 12,881 bytes | 12,881 bytes |
dummy-web.uhost.pro is ~48% faster in time to first byte than the origin - served from hubCDN's edge cache instead of round-tripping across continents on every request.
Optimize any image through hubCDN
Wrap any public image URL and get back a compressed, resized, edge-cached copy. No DNS changes, no signup - just a URL.
URL format
/img/<options>/<image-url>
/img/w=800,q=75,f=jpeg/https://your-site.com/photo.jpg
Options are comma-separated key=value pairs. A single _ applies the defaults: re-encode at quality 80 with metadata stripped.
Try it
All options
| Key | Values | Effect |
|---|---|---|
w, h | 1–4096 | Resize; one dimension keeps aspect ratio |
fit | scaledown · contain · cover · fill | How the image maps into w×h (cover center-crops) |
dpr | 0.5–3 | Device pixel ratio multiplier for w/h |
q | 1–100 | JPEG quality (default 80) |
f | auto · jpeg · png · gif | Output format; auto keeps transparency in PNG |
gray | on | Grayscale |
blur | 1–50 | Blur radius |
flip | h · v · hv | Mirror horizontally / vertically |
_ | - | No options: just compress & strip metadata |
Real example: 110x smaller, automatically

| Metric | Original | Through hubCDN |
|---|---|---|
| File size | 3.7 MB | 34 KB |
| Dimensions | 6000×4000 | 600×400 |
| Format | JPEG, untouched | JPEG, quality 80, no metadata |
That preview above is this exact photo, live, resized with w=600 - 99% smaller (110x). Even with zero options at all (/img/_/<url>), just the default 2048px cap and re-encode alone takes it from 3.7 MB down to 247 KB - a 93% reduction - with no configuration whatsoever.
The first request pays a one-time cost to fetch and optimize the source (a few seconds, since this source is large); every request after that is served instantly from cache.
Test it yourself - open either link directly:
Original: http://origin-dummy-web.uhost.pro/arnaud-padalle-9a8GgZPWnqU-unsplash.jpg
Optimized: https://cdn.hubcdn.space/img/w=600/http://origin-dummy-web.uhost.pro/arnaud-padalle-9a8GgZPWnqU-unsplash.jpg
