LinkGate
Secure Download Links

Tokenized, expiring file delivery — fast, simple, and secure.

Protect your digital products with signed URLs and X-Accel-Redirect. Stop hotlinking and share links that expire automatically — without a heavy app or slow proxies.

Expiring links

Time-limited tokens prevent link sharing. Configure TTLs from minutes to days.

X-Accel performance

Files stream directly from Nginx — not PHP — for maximum throughput.

IP/agent binding

Optionally bind tokens to IP or user-agent to reduce abuse and resale.

One-line integration

Issue a token server-side and redirect the buyer to the signed URL. Done.

Framework-agnostic

Works with WordPress, Flask/FastAPI, Laravel — anything that can sign a URL.

Audit logs

Optional access logs to trace downloads by token and request metadata.

How it works (3 steps)

  1. Generate a token in your app (HMAC includes file path + expiry).
  2. Redirect the user to /_gate/<token>/file.pdf.
  3. Nginx validates and serves the file from a protected directory via alias.

Your PHP layer stays locked: only the signed endpoint runs; everything else is 404.

# Example signed URL (server-side)
GET /_gate/5f9e7c.../course.pdf HTTP/1.1
Host: linkgate.app

# Nginx (private area)
location /_gate/ {
  internal;
  alias /srv/linkgate/files/;   # private store
  add_header Cache-Control "no-store";
}