Welcome to ShieldFlare
ShieldFlare is a security platform that protects your websites, servers and game servers from DDoS attacks, bots and other threats.
How ShieldFlare works
ShieldFlare acts as a shield between the internet and your server. All traffic passes through our infrastructure before reaching your server.
Quick Start
Get your first service protected in under 5 minutes.
1. Create an account
Go to shieldflare.nl
Click Register and fill in your details.
Verify your email
Click the link in the verification email.
Add a service
Go to Dashboard โ Add Service and choose Domain, IP Guard or Game Server.
Choose a service
| Service | Best for | Setup time |
|---|---|---|
| ๐ Domain Protection | Websites, web apps | 2-24 hours (DNS) |
| ๐ IP Guard | VPS, servers, APIs | ~5 minutes |
| ๐ฎ Game Server | Minecraft, FiveM, CS2 | ~5 minutes |
Plans & Limits
| Feature | Free | Starter | Pro | Enterprise |
|---|---|---|---|---|
| Domains | 1 | 2 | 5 | 999 |
| IP Guard | 0 | 1 | 3 | 999 |
| Game Servers | 0 | 1 | 3 | 999 |
| ShieldFlare Access | โ | 1 network / 3 nodes | 3 networks / 10 nodes | Unlimited |
| 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
Go to Domains in dashboard
Click + Add domain and enter your domain name.
Point nameservers to ShieldFlare
Log in to your domain registrar and change the nameservers to:
Wait for DNS propagation
This takes between 5 minutes and 24 hours.
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.
SSL configuration
| Mode | Description | Recommended |
|---|---|---|
| OFF | No SSL, HTTP only | โ |
| Flexible | SSL between visitor and ShieldFlare, HTTP to server | โ |
| Full | SSL everywhere, self-signed cert OK | โ |
| Full Strict | SSL 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
Installing the Agent
The ShieldFlare Agent runs on your server and sets up the encrypted tunnel to our Edge.
Linux
# 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
# 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
{
"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
}
Firewall rules
You can add custom firewall rules per IP Guard tunnel.
| Action | Description |
|---|---|
| ALLOW | Allow traffic from this IP/range |
| BLOCK | Block traffic from this IP/range |
| RATE_LIMIT | Limit requests per minute |
Game Servers
Protect your game server from DDoS attacks with a dedicated ShieldFlare IP.
Supported games
Adding a game server
Go to Game Servers
Click + Add server and select your game.
Enter your server IP and port
The real IP of your server (not the ShieldFlare IP).
Use the ShieldFlare IP
Players connect to the ShieldFlare IP and port.
ShieldFlare Proxy
ShieldFlare Proxy is a high-performance reverse proxy written in Go, as a replacement for Apache and Nginx.
Features
Config file format
Site configs are stored in /etc/shieldflare-proxy/sites-available/.
# /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
| Option | Description |
|---|---|
server_name <domains> | Domain names (space-separated) |
ssl on | Enable automatic SSL via Let's Encrypt |
redirect_http on | Redirect HTTP to HTTPS |
gzip on | Enable 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
| Option | Description |
|---|---|
proxy <url> | Proxy to backend |
upstream <url> | Add upstream (load balancing) |
static <path> | Serve static files |
websocket on | Enable WebSocket proxying |
spa on | SPA mode (React, Vue) |
rate_limit <n> | Rate limit (req/min per IP) |
max_body <n>mb | Max 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.
location / {
upstream http://server1.example.com:3000/
upstream http://server2.example.com:3000/
upstream http://server3.example.com:3000/
}
IP access control
# 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
# 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
| Apache | ShieldFlare Proxy |
|---|---|
ProxyPass / http://... | location / { proxy http://... } |
DocumentRoot /var/www/ | location / { static /var/www/ } |
SSLEngine on | ssl on |
RewriteRule ^ https://... | redirect_http on |
a2ensite example.com | sf-proxy enable example.com |
a2dissite example.com | sf-proxy disable example.com |
systemctl reload apache2 | pkill -HUP -f sf-proxy |
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.
Setting up a network
Create a network
Go to ShieldFlare Access and click + Create network.
Add nodes
Add the servers you want to connect. Each node gets a private IP in your network.
Install the agent
Click Install on a node to get the installation script. Run it on your server.
Set access policies
Add policies to control which nodes can communicate with each other.
WAF Web Application Firewall
The ShieldFlare WAF filters malicious requests before they reach your server.
Default rules
| Rule type | What it blocks |
|---|---|
| SQL Injection | UNION SELECT, DROP TABLE, etc. |
| XSS | <script>, onerror=, javascript: etc. |
| Path Traversal | ../ and encoded variants |
| Command Injection | Shell metacharacters |
| Scanner Detection | Nikto, 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
SSL / TLS
ShieldFlare provides automatic SSL certificates for all protected domains.
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.
API Reference
The ShieldFlare API lets you manage your services programmatically.
Authentication
All API requests require an API key in the Authorization header.
curl https://shieldflare.nl/api/domains \
-H "Authorization: Bearer sf_your_api_key"
Creating an API key
Go to API Keys
In the dashboard, go to API Keys.
Click + Create API key
Enter a name and select the required permissions.
Save the key
The key is shown only once. Save it immediately.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/domains | List all domains |
| POST | /api/domains | Add a domain |
| GET | /api/ip | List all IP Guards |
| POST | /api/ip | Add an IP Guard |
| GET | /api/analytics/:id/traffic | Traffic stats for a domain |
| GET | /api/tickets | List all tickets |
| POST | /api/tickets | Create a ticket |
Webhooks
Webhooks send HTTP POST requests to your URL when events occur in ShieldFlare.
Available events
| Event | Description |
|---|---|
attack.detected | DDoS attack detected |
attack.mitigated | Attack successfully mitigated |
tunnel.connected | IP Guard tunnel connected |
tunnel.disconnected | IP Guard tunnel disconnected |
domain.verified | Domain nameservers verified |
ssl.expiring | SSL certificate expiring in 14 days |
ticket.reply | Support replied to your ticket |
Webhook payload example
{
"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
Check nameservers
Go to Domains โ Nameservers and click Verify.
Check DNS records
Make sure there is an A record pointing to your server IP.
Check proxy mode
If proxy mode is on, make sure your server is accessible from ShieldFlare's IP.
IP Guard tunnel not connecting
Check if agent is running
systemctl status shieldflare-agentCheck agent logs
journalctl -u shieldflare-agent -n 50Check 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).