STEP 1
Register
Open https://anycast.ac/register. You'll need email, handle, and password. Handle is a short nickname shown in the panel and audit log. Password is stored as bcrypt hash (cost=12); plain-text is never persisted.
STEP 2
Create a site
In the dashboard hit + New site. A form opens. Fields to fill:
- Domain Your site's name (e.g. example.com). Without protocol or path.
- Origin URL Where your real server actually lives. Format http://1.2.3.4:8080 or https://server.example.net. We connect here from our edge (DE1 · Frankfurt).
- TLS mode acme (default) → auto Let's Encrypt on our side. Or byo → you upload fullchain+key via API.
- Preset Quick preset: easy for forums, normal by default, strict for APIs, paranoid during active attack. Change later in Rules.
STEP 3
Set up DNS
Add a CNAME record in your domain's DNS zone:
Name Type Value ───────────────────────────────────────────────────────── example.com CNAME cname.anycast.ac www CNAME cname.anycast.ac
cname.anycast.ac resolves to our Germany edge (DE1 · Frankfurt) via BGP anycast.
STEP 4
Wait for the certificate
Cert-worker checks your domain's DNS every 30 seconds. As soon as the CNAME points at our anycast, it:
- Requests Let's Encrypt via ACME HTTP-01.
- Receives fullchain.pem + privkey.pem.
- Copies them to every edge via SCP.
- Reloads nginx and pushes site-registry refresh.
- Flips the site to active state in Postgres.
The whole process takes 30-90 seconds. If after 5 minutes your site is still pending - see the Troubleshooting section below.
STEP 5
Verify it works
$ curl -I https://example.com HTTP/2 200 server: fg-edge-se1 x-fg-route: ok ...
Headers server: fg-edge-* and x-fg-route confirm traffic flows through us. If you see your origin's headers directly (e.g. server: nginx/1.25), DNS hasn't propagated yet.
STEP 6
Configure rules
Dashboard → Sites → your site → Edit rules. What's here:
- Rate per IP0-100 000
- Max requests per IP per minute. 0 = no limit. Recommended: 120 for forums, 600 for APIs, 60 for biolinks.
- Burst per IP0-200 000
- One-off spike allowed on top of rate. Typically 2-3× of rate.
- Proto ban threshold0-50
- How many HTTP-protocol violations an IP can make (invalid Host, gibberish request-line) before a 60-second kernel ban. Recommended: 2.
- Auto ban threshold0-10 000
- How many soft violations (rate-overshoot, empty-UA) before a 1-hour full ban. Usually 50-100.
- Deny CIDRs / Allow CIDRsfree text
- List of CIDR blocks one per line. Allow takes precedence over Deny. Examples: 10.0.0.0/8, 2a02::/16.
- Block empty UAtoggle
- On by default. Drops requests with no User-Agent header - ~90% of all bots, low false-positive risk.
- Allowed methodsCSV
- Allowed HTTP methods comma-separated. Default GET,POST,HEAD,OPTIONS. Add PUT,DELETE,PATCH for APIs.
- Max body KB0-100 000
- Max POST body in kilobytes. 0 = no limit. For a regular site 2048 (2 MB) is plenty.
- Challenge suspectstoggle
- Suspicious IPs (by ASN, User-Agent, rate) get a silent JS challenge - transparent for humans, impassable for curl bots.
- Under Attack Mode (UAM)toggle
- PLATINUM mode. Every new IP sees an interstitial challenge (~1 second on the client) before reaching the site. Turn on during active attacks, turn off once it calms down. Trust cookie lasts 30 minutes.
STEP 7
Read the charts
On the site card - three bar charts: Requests, Blocked, Allowed. Ranges:
- 60 sec
- 6 bars × 10 seconds. Real-time observation.
- 5 min
- 10 bars × 30 seconds. 'What just happened'.
- 1 hour
- 60 bars × 1 minute. Half-hour / hour history.
- 1 day
- 144 bars × 10 minutes. Full day.
- All time · by day
- 30 bars, one per day. Month view.
Samples are written by a separate worker every 10 seconds directly from edge counters - charts start filling the moment a site is created, even with no traffic (0 is a valid point).
STEP 8
Troubleshooting
- Site is pending for more than 5 minutes
- Chrome opens fine, Firefox says "Not secure"
- "Host not served here" error
- HSTS is locked on the wrong cert
- UAM kicks me out of my own site
STEP 9
Next
Read the policy and rules before running anything serious. Questions - support@anycast.ac. Real humans answer there.