Skip to content
v1.3.1 StableZero-Sprawl Gateway

Route Servers.
Without The Sprawl.

A fast, lightweight Go gateway and reverse proxy. Route domains, serve SPAs, and automate Let's Encrypt TLS in one human-readable Runtime file.

$curl -fsSL https://raw.githubusercontent.com/devlopersabbir/terrorserver/main/scripts/install.sh | sudo bash
/etc/terror/Runtime auto-reloads on save
1
# Route domain with automated Let's Encrypt TLS
2
api.example.com {
3
    proxy localhost:3000
4
}
5
 
6
# Custom listener port
7
:9090 {
8
    proxy localhost:4000
9
}
< 20 MB
Memory Footprint
Single compiled Go binary
Zero Config
Automatic TLS
Let's Encrypt HTTP/2 gateway
Instant
Hot Auto-Reload
systemd path watcher on save
1 Command
Deep Observability
terror status (DNS + TLS + Port)
Core Superpowers

Engineered For Clean Server Routing

Everything you need from a modern reverse proxy without the enterprise bloat.

Ergonomic Syntax

Zero-Sprawl Gateway

Declare domain reverse proxies, port listeners, and static folders in one intuitive Runtime file. Replace complex multi-file configurations with 3 clean lines.

api.example.com {
    proxy localhost:3000
}
Automated TLS

Zero-Config Let's Encrypt

Secure by default. Automatically provisions, verifies, and renews ACME TLS/SSL certificates on port 443 for all your domain routes without Certbot.

:443 HTTPS & HTTP/2
Auto-renew 30 days before expiry
systemd Native

Hot Auto-Reload on Save

Edit /etc/terror/Runtime in vim or nano and save. The integrated systemd terror.path immediately applies routing and listener changes with zero downtime.

sudo vim /etc/terror/Runtime
# Saved -> terror.service auto reloads
Instant Observability

Deep CLI Health Diagnostics

Run `terror status` to instantly diagnose DNS resolution, port listeners, TLS certificate validity, static root paths, and upstream backend responsiveness.

terror status
-> ok DNS, Port, SSL, Upstream
Single Go Binary

Zero Dependencies

No Node.js, Python, or OpenSSL runtime dependencies. Under 15MB binary with minimal memory footprint (<20MB RAM) for ultra-fast TTFB response times.

Linux amd64 & arm64
Pure Go compiled binary
SPA Friendly

Static & SPA Fallback Server

High-speed static asset delivery with built-in client-side routing fallback for React, Vue, Svelte, and Vite apps. Never see 404 on browser reload again.

app.example.com {
    root /var/www/dist
    file_server
}
Interactive Playground

Build Your Runtime in 5 Seconds

Select your workload and preview the production-ready Runtime configuration block.

Automatic Let's Encrypt TLS on port 443
Forwarded headers (X-Forwarded-For, Host, Proto)
Zero-downtime auto-reload on file save
/etc/terror/Runtime
# Automatic Let's Encrypt TLS on port 443
api.myapp.com {
    proxy localhost:3000
}
Comparison

Why Developers Choose Terror Server

Side-by-side comparison against traditional server architectures.

Feature / Capability
Terror Server
NginxCaddy
Configuration Syntax
3-line clean block
50+ lines of nginx.confCaddyfile syntax
Automatic Let's Encrypt TLS
Zero-config built-in
Certbot & cron neededBuilt-in
Auto-Reload on Save
systemd .path watcher
Manual nginx -s reloadManual API reload
Built-in Diagnostics
terror status (DNS + TLS)
No built-in toolLimited CLI
SPA Route Fallback
1 directive (file_server)
Complex try_filestry_files directive
RAM Footprint
< 20 MB RAM
~15 MB~40 MB
Ready to Route

Install Terror Server in Seconds

Deploy globally on any Linux server, VPS, or Docker container with a single command.

$curl -fsSL https://raw.githubusercontent.com/devlopersabbir/terrorserver/main/scripts/install.sh | sudo bash

Released under the MIT License.