Systema Machinae

A living census of the web's bots. First edition.
Bots arrive at Port 443, where they’re supposed to queue at Passport Control. Some don’t. The robots.txt buoy at the harbour mouth states the rules. The island shows which bots read them and which don’t obey. You watch from the promenade. Every creature is a real bot visiting this website.

Bots arrive at Port 443, where they’re supposed to queue at Passport Control. Some don’t. The robots.txt buoy at the harbour mouth states the rules. The island shows which bots read them and which don’t obey. You watch from the promenade. Every creature is a real bot visiting this website.

All species

Pixel drawing of axios

axios

Hatchetus requestus

An axe. The pun writes itself.*

robots.txtUNTESTED
Has neither read robots.txt nor asked for a path it disallows.
AlignmentInsufficient data
Needs 200 requests and 5 sessions in 30 days.†

What it did here

Its record with each rule

Trailing 30 daysUndeclared
Sessions1
Requests1
Sessions that asked for anything besides robots.txt1
read robots.txt first0
had read it in the 24 hours before0
read it only afterwards0
did not read it1
Sessions that asked for a disallowed path0
Sessions that entered the Pitfall0
having read robots.txt0
Pages taken in the Pitfall and the Climb0
Requests turned back at the vault, with a 4030
Highest Climb level reachedHas not climbed
Private Beach visits (not on the guest list, so allowed)0
Turnstile waits kept0
Turnstile waits broken0
Sessions served a page that carries the nofollow link1
followed it0
Requests over the rate limit0
sessions that went over it0

What it asks for‡

Part of the siteUndeclared requests
The island, on the home page1

Landings, last 30 days

1 landing in 30 days

11 Oct 1 undeclared

Landings on each of the last 30 days, UTC
DayUndeclared
12 Sep0
13 Sep0
14 Sep0
15 Sep0
16 Sep0
17 Sep0
18 Sep0
19 Sep0
20 Sep0
21 Sep0
22 Sep0
23 Sep0
24 Sep0
25 Sep0
26 Sep0
27 Sep0
28 Sep0
29 Sep0
30 Sep0
1 Oct0
2 Oct0
3 Oct0
4 Oct0
5 Oct0
6 Oct0
7 Oct0
8 Oct0
9 Oct0
10 Oct0
11 Oct1

Favourite hours, UTC

19:00 1 undeclared

Landings in each hour of the UTC day, over the last 30 days
HourUndeclared
00:000
01:000
02:000
03:000
04:000
05:000
06:000
07:000
08:000
09:000
10:000
11:000
12:000
13:000
14:000
15:000
16:000
17:000
18:000
19:001
20:000
21:000
22:000
23:000

Requests, last 30 days

1 request in 30 days

11 Oct 1 undeclared

Requests on each of the last 30 days, UTC
DayUndeclared
12 Sep0
13 Sep0
14 Sep0
15 Sep0
16 Sep0
17 Sep0
18 Sep0
19 Sep0
20 Sep0
21 Sep0
22 Sep0
23 Sep0
24 Sep0
25 Sep0
26 Sep0
27 Sep0
28 Sep0
29 Sep0
30 Sep0
1 Oct0
2 Oct0
3 Oct0
4 Oct0
5 Oct0
6 Oct0
7 Oct0
8 Oct0
9 Oct0
10 Oct0
11 Oct1

Where it comes from‡

Undeclared sessions, the busiest 1
Network ownerCountrySessionsRequests
ADVANCED WIRELESS NETWORK COMPANY LIMITEDThailand11

What it has cost this site§

TodayLast 7 daysAll time
Requests111
Bytes served34.7 KB34.7 KB34.7 KB

Who it is

a JavaScript library

Runs axios

axios is a JavaScript library for making web requests. This name is what it sends when nobody changes it, so it usually means somebody’s own script.

Passport Control

Not checked. Anyone can run it and it names no operator, so there is no claim to test. 1 session filed as undeclared in the last 30 days.

Reference

The user agent it sends, and how to address it in robots.txt.

User agent, and how a request is filed under this species

axios/1.7.2

As commonly seen in server logs. Not yet checked against the operator’s documentation.

A request is filed under this species when its user-agent string contains the product name axios as a whole word, in any mix of capitals. Where a string holds more than one product name, the longest wins, and a named bot wins over a library it is built on.

How to address this bot in robots.txt

The line that addresses it

User-agent: axios

An example group. The path is a placeholder.

User-agent: axios
Disallow: /a-path/
Allow: /a-path/one-page

This is reference, not advice. Systema Machinae is not a bot-blocking product.

This site’s own robots.txt does not name it. The group for every bot applies.

Notes

  1. *The line under the name is a joke about the drawing. It plays on the name and says nothing about how the bot behaves.
  2. †Insufficient data. A judgement needs at least 200 requests and 5 sessions in the trailing 30 days. This one would rest on all its sessions: 1 request in 1 session over the trailing 30 days. The stamp is counted over the same sessions as the score. How it is scored
  3. ‡Parts of the site come from a fixed list, so a path is never shown. Networks are shown by owner and country only, so an address is never shown.
  4. §Counted from the request log for today and the 29 days before it, by UTC date. These are counts, not a verdict: a session is judged on what it did inside the 30 days. A landing is the first request of a session. Bytes are the size of the response body, counted whatever the score.
  5. What it is and who runs it, under Who it is, is a claim: the operator’s own account where it has published one, and a third party’s where it has not. This site has not tested it.