S
ShieldFlare Docs

Welcome to ShieldFlare

ShieldFlare is a security platform that protects your websites, servers and game servers from DDoS attacks, bots and other threats.

๐ŸŒ
Domain Protection
WAF, DDoS protection and automatic SSL for your websites.
๐Ÿ”Œ
IP Guard
Hide your server IP with an encrypted tunnel.
๐ŸŽฎ
Game Servers
DDoS protection for Minecraft, FiveM, CS2 and more.
โš™๏ธ
ShieldFlare Proxy
Own reverse proxy as alternative to Apache/Nginx.
๐Ÿ”
ShieldFlare Access
Zero Trust network access without open ports.
๐Ÿ”‘
API & Webhooks
Integrate ShieldFlare into your own applications.

How ShieldFlare works

ShieldFlare acts as a shield between the internet and your server. All traffic passes through our infrastructure before reaching your server.

๐ŸŒ
Internet
โ†’
๐Ÿ›ก๏ธ
ShieldFlare
WAF ยท DDoS ยท SSL
โ†’
๐Ÿ–ฅ๏ธ
Your server

Quick Start

Get your first service protected in under 5 minutes.

1. Create an account

1

Go to shieldflare.nl

Click Register and fill in your details.

2

Verify your email

Click the link in the verification email.

3

Add a service

Go to Dashboard โ†’ Add Service and choose Domain, IP Guard or Game Server.

Choose a service

ServiceBest forSetup time
๐ŸŒ Domain ProtectionWebsites, web apps2-24 hours (DNS)
๐Ÿ”Œ IP GuardVPS, servers, APIs~5 minutes
๐ŸŽฎ Game ServerMinecraft, FiveM, CS2~5 minutes

Plans & Limits

FeatureFreeStarterProEnterprise
Domains125999
IP Guard013999
Game Servers013999
ShieldFlare Accessโœ•1 network / 3 nodes3 networks / 10 nodesUnlimited
WAFโœ“โœ“โœ“โœ“
DDoS Protectionโœ“โœ“โœ“โœ“
SSLโœ“โœ“โœ“โœ“
API Accessโœ“โœ“โœ“โœ“

Domain Protection

Protect your website with WAF, DDoS mitigation, automatic SSL and DNS management.

How it works

When you add a domain, you point your nameservers to ShieldFlare. All DNS traffic then goes through our infrastructure.

Adding a domain

1

Go to Domains in dashboard

Click + Add domain and enter your domain name.

2

Point nameservers to ShieldFlare

Log in to your domain registrar and change the nameservers to:

NS1: ns1.shieldflare.nl NS2: ns2.shieldflare.nl
3

Wait for DNS propagation

This takes between 5 minutes and 24 hours.

4

Configure DNS records

Add an A record pointing to your server IP.

Proxy mode

When you enable proxy mode on a DNS record, traffic goes through ShieldFlare's DDoS protection and WAF.

๐Ÿ’ก MX, TXT and NS records are never proxied. Only A and CNAME records can be proxied.

SSL configuration

ModeDescriptionRecommended
OFFNo SSL, HTTP onlyโœ•
FlexibleSSL between visitor and ShieldFlare, HTTP to serverโœ•
FullSSL everywhere, self-signed cert OKโœ“
Full StrictSSL everywhere, valid cert requiredโœ“

IP Guard

Hide your server's real IP address behind a ShieldFlare dedicated IP using an encrypted tunnel.

How it works

๐ŸŒ
Attacker
โ†’
๐Ÿ›ก๏ธ
ShieldFlare Edge
Dedicated IP
โŸถ Encrypted tunnel
๐Ÿ–ฅ๏ธ
Your server
IP hidden

Installing the Agent

The ShieldFlare Agent runs on your server and sets up the encrypted tunnel to our Edge.

Linux

bash
# Download and install the agent
curl -fsSL https://shieldflare.nl/agent/install.sh | bash

# Or download manually
wget https://shieldflare.nl/agent/sf-agent-linux-amd64
chmod +x sf-agent-linux-amd64
./sf-agent-linux-amd64 --config /etc/shieldflare/agent.json

Windows

powershell
# Download the Windows agent
Invoke-WebRequest -Uri "https://shieldflare.nl/agent/sf-agent-windows-amd64.exe" -OutFile "sf-agent.exe"
.\sf-agent.exe --config C:\ShieldFlare\agent.json

Agent config file

json
{
  "tunnel_id": "SF-XXXXXXXX",
  "edge_ip": "edge.shieldflare.nl",
  "edge_port": 7777,
  "tunnel_ip": "10.1.0.2",
  "session_key": "your-session-key",
  "api_url": "https://shieldflare.nl",
  "kill_switch": true
}
โš ๏ธ Enable kill switch to block all traffic if the tunnel disconnects.

Firewall rules

You can add custom firewall rules per IP Guard tunnel.

ActionDescription
ALLOWAllow traffic from this IP/range
BLOCKBlock traffic from this IP/range
RATE_LIMITLimit requests per minute

Game Servers

Protect your game server from DDoS attacks with a dedicated ShieldFlare IP.

Supported games

โ›๏ธ
Minecraft Java
Port 25565 (TCP)
โ›๏ธ
Minecraft Bedrock
Port 19132 (UDP)
๐Ÿš—
FiveM
Port 30120 (TCP/UDP)
๐ŸŽฏ
CS2
Port 27015 (TCP/UDP)
๐Ÿ”ง
Rust
Port 28015 (UDP)
โš™๏ธ
Custom
Any TCP/UDP port

Adding a game server

1

Go to Game Servers

Click + Add server and select your game.

2

Enter your server IP and port

The real IP of your server (not the ShieldFlare IP).

3

Use the ShieldFlare IP

Players connect to the ShieldFlare IP and port.

โœ“ After adding your game server, install the ShieldFlare Agent on your server for the tunnel to work.

ShieldFlare Proxy

ShieldFlare Proxy is a high-performance reverse proxy written in Go, as a replacement for Apache and Nginx.

Features

๐Ÿ”’
Automatic SSL
Let's Encrypt certificates are automatically requested and renewed.
โšก
WebSocket
Full WebSocket support for real-time applications.
๐Ÿ“
Static files
Serve static files directly without an additional webserver.
๐Ÿ”€
SPA support
Single Page Applications (React, Vue) work out of the box.

Config file format

Site configs are stored in /etc/shieldflare-proxy/sites-available/.

conf
# /etc/shieldflare-proxy/sites-available/example.com.conf

server_name example.com www.example.com
ssl on
redirect_http on
gzip on

# IP access control
allow 1.2.3.4
deny all

# URL redirects
redirect /old-page /new-page 301

# Custom error pages
error_page /var/www/errors/

location /socket.io/ {
    proxy http://127.0.0.1:3000/socket.io/
    websocket on
}

location /api/ {
    # Load balancing โ€” meerdere backends
    upstream http://127.0.0.1:3000/
    upstream http://127.0.0.1:3001/
    rate_limit 100
    max_body 10mb
}

location /static/ {
    static /var/www/mysite/public/
    cache 3600
    add_header X-Cache-Control public
}

location / {
    proxy http://127.0.0.1:3000/
    spa on
}

Site-level options

OptionDescription
server_name <domains>Domain names (space-separated)
ssl onEnable automatic SSL via Let's Encrypt
redirect_http onRedirect HTTP to HTTPS
gzip onEnable gzip compression
error_page <dir>Custom error pages directory
allow <ip>Allow specific IP or range
deny <ip|all>Block specific IP, range or all
redirect <from> <to> [code]Redirect URL (default 301)

Location options

OptionDescription
proxy <url>Proxy to backend
upstream <url>Add upstream (load balancing)
static <path>Serve static files
websocket onEnable WebSocket proxying
spa onSPA mode (React, Vue)
rate_limit <n>Rate limit (req/min per IP)
max_body <n>mbMax request body size
cache <seconds>Cache responses in memory
add_header <key> <value>Add custom response header

Load balancing

Add multiple upstream directives to distribute traffic across multiple backends.

conf
location / {
    upstream http://server1.example.com:3000/
    upstream http://server2.example.com:3000/
    upstream http://server3.example.com:3000/
}

IP access control

conf
# Allow only specific IPs
allow 1.2.3.4
allow 5.6.7.8
deny all

# Block specific IP
deny 1.2.3.4

sf-proxy CLI

bash
# List all enabled sites
sf-proxy list

# Enable a site
sf-proxy enable example.com

# Disable a site
sf-proxy disable example.com

# Reload config (without downtime)
pkill -HUP -f sf-proxy

Migrating from Apache

ApacheShieldFlare Proxy
ProxyPass / http://...location / { proxy http://... }
DocumentRoot /var/www/location / { static /var/www/ }
SSLEngine onssl on
RewriteRule ^ https://...redirect_http on
a2ensite example.comsf-proxy enable example.com
a2dissite example.comsf-proxy disable example.com
systemctl reload apache2pkill -HUP -f sf-proxy
โœ“ ShieldFlare Proxy automatically requests and renews SSL certificates via Let's Encrypt. No certbot needed!

ShieldFlare Access

Zero Trust network access: connect your servers in a private network without opening ports.

What is Zero Trust?

Traditional VPNs give full network access once connected. Zero Trust means every connection is individually verified.

๐Ÿšซ
No open ports
Servers don't need open ports to be accessible.
๐ŸŒ
Private mesh network
All nodes communicate via ShieldFlare Edge.
๐Ÿ›ก๏ธ
Access policies
Set precise rules: who can access what.
๐Ÿ“‹
Full audit log
See all connections and access attempts.

Setting up a network

1

Create a network

Go to ShieldFlare Access and click + Create network.

2

Add nodes

Add the servers you want to connect. Each node gets a private IP in your network.

3

Install the agent

Click Install on a node to get the installation script. Run it on your server.

4

Set access policies

Add policies to control which nodes can communicate with each other.

โ„น๏ธ ShieldFlare Access is available from the Starter plan.

WAF Web Application Firewall

The ShieldFlare WAF filters malicious requests before they reach your server.

Default rules

Rule typeWhat it blocks
SQL InjectionUNION SELECT, DROP TABLE, etc.
XSS<script>, onerror=, javascript: etc.
Path Traversal../ and encoded variants
Command InjectionShell metacharacters
Scanner DetectionNikto, SQLmap, Nmap, etc.

Custom rules

You can add custom WAF rules per domain under Domains โ†’ WAF.

DDoS Protection

ShieldFlare automatically detects and mitigates DDoS attacks on all layers.

Layers protected

3๏ธโƒฃ
Layer 3
IP flooding, ICMP floods, UDP amplification
4๏ธโƒฃ
Layer 4
SYN floods, TCP/UDP floods
7๏ธโƒฃ
Layer 7
HTTP floods, bot attacks, slowloris

SSL / TLS

ShieldFlare provides automatic SSL certificates for all protected domains.

โœ“ All SSL certificates are provided free via Let's Encrypt and renew automatically.

Bot Protection

ShieldFlare's bot protection uses JavaScript challenges to distinguish real visitors from automated bots.

How to enable

Go to Domains โ†’ your domain โ†’ Settings โ†’ Bot Protection and toggle it on.

โš ๏ธ Bot protection requires JavaScript. Do not enable it for APIs or services that don't use browsers.

API Reference

The ShieldFlare API lets you manage your services programmatically.

Authentication

All API requests require an API key in the Authorization header.

bash
curl https://shieldflare.nl/api/domains \
  -H "Authorization: Bearer sf_your_api_key"

Creating an API key

1

Go to API Keys

In the dashboard, go to API Keys.

2

Click + Create API key

Enter a name and select the required permissions.

3

Save the key

The key is shown only once. Save it immediately.

Endpoints

MethodEndpointDescription
GET/api/domainsList all domains
POST/api/domainsAdd a domain
GET/api/ipList all IP Guards
POST/api/ipAdd an IP Guard
GET/api/analytics/:id/trafficTraffic stats for a domain
GET/api/ticketsList all tickets
POST/api/ticketsCreate a ticket

Webhooks

Webhooks send HTTP POST requests to your URL when events occur in ShieldFlare.

Available events

EventDescription
attack.detectedDDoS attack detected
attack.mitigatedAttack successfully mitigated
tunnel.connectedIP Guard tunnel connected
tunnel.disconnectedIP Guard tunnel disconnected
domain.verifiedDomain nameservers verified
ssl.expiringSSL certificate expiring in 14 days
ticket.replySupport replied to your ticket

Webhook payload example

json
{
  "event": "attack.detected",
  "timestamp": "2026-10-10T14:00:00Z",
  "data": {
    "domain": "example.com",
    "source_ip": "1.2.3.4",
    "requests_per_minute": 5000,
    "mitigated": true
  }
}

FAQ

How long does DNS propagation take?

Typically between 5 minutes and 24 hours, depending on your current DNS TTL values.

Does my server need to be accessible from the internet?

For domain protection: yes. For IP Guard: no, the agent connects outbound to our Edge.

Can I use ShieldFlare with my existing SSL certificate?

Yes. Set the SSL mode to Full or Full Strict and keep your existing certificate on your server.

Does ShieldFlare support IPv6?

IPv6 support is on our roadmap.

How do I cancel my subscription?

Go to Dashboard โ†’ Billing and click Cancel subscription.

Troubleshooting

Website not loading after adding domain

1

Check nameservers

Go to Domains โ†’ Nameservers and click Verify.

2

Check DNS records

Make sure there is an A record pointing to your server IP.

3

Check proxy mode

If proxy mode is on, make sure your server is accessible from ShieldFlare's IP.

IP Guard tunnel not connecting

1

Check if agent is running

bash
systemctl status shieldflare-agent
2

Check agent logs

bash
journalctl -u shieldflare-agent -n 50
3

Check config file

Make sure tunnel_id and session_key are correct.

SSL certificate not working

ShieldFlare uses Let's Encrypt for automatic SSL. Make sure port 80 is accessible (needed for the ACME challenge).

๐Ÿ’ก Still having issues? Open a support ticket via Dashboard โ†’ Tickets.