Commit graph

690 commits

Author SHA1 Message Date
girst
1177eba00a fix lighttpd config for 1.x
single quotes only allowed in 2.x. follow-up to a94b2c9.
2026-08-05 14:48:34 +02:00
ai.robots.txt
5994ca0b33 Merge pull request #259 from fork-graveyard/main
do not needlessly escape hypens, make nginx matches case-sensitive, further minify regexps
2026-08-05 11:33:22 +00:00
Glyn Normington
d93db7b81d
Merge pull request #259 from fork-graveyard/main
do not needlessly escape hypens, make nginx matches case-sensitive, further minify regexps
2026-08-05 12:33:05 +01:00
girst
0beb4a2666 update test files to match new output 2026-08-04 19:36:25 +02:00
girst
a94b2c93e5 further minify regexps
- nginx and lighttpd allow single quoted strings, so use python's
  built-in methods to escape quotes
- only apache requires parentheses on the outside (and only for obscure
  reasons)
- caddy expects double quoted strings. at least escape inner quotes
  directly (re.escape does not do this since python 3.7), should any
  appear
2026-08-04 14:48:03 +02:00
girst
3bd200ba32 make nginx matches case-sensitive
fixes #225.
2026-08-04 14:18:17 +02:00
girst
c4b366740e do not needlessly escape hypens
partially fixes #225.
2026-08-04 14:13:52 +02:00
Glyn Normington
27389c0b3d
Merge pull request #256 from guest20/patch-1
robots.py: duplicate parser = argparse.ArgumentParser(...)
2026-08-04 12:05:31 +01:00
Glyn Normington
940bf7f7e4
Merge pull request #255 from INXPRNCD/data/fill-unclear-6-entries
Fill "Unclear at this time." from primary operator docs for 6 entries
2026-08-04 11:59:32 +01:00
Glyn Normington
1e031f41d8
Merge pull request #254 from INXPRNCD/fix/ci-commit-message-injection
Pass commit messages to bash via env, not template interpolation
2026-08-04 11:57:47 +01:00
guest20
265ea03066
robots.py: duplciate parser = argparse.ArgumentParser(...)
Two is just greedy
2026-08-04 10:24:30 +02:00
Özden und Julia
2eb9315743 Fill "Unclear at this time." from primary operator docs for 6 entries
Re-submission of #248, which was merged then reverted in 80c19fc. The revert was
caused by main.yml's commit-message handling, not by this data — that is fixed
separately in #254.

Six entries move from "Unclear at this time." to the operator's own documented
value, each citing the primary source inline:

  Applebot              Yes   support.apple.com/en-us/119829#retrieval
  Meta-ExternalAgent    Yes   developers.facebook.com/docs/sharing/webmasters/web-crawlers/
  Meta-ExternalFetcher  No    (same Meta page — user-initiated fetch, documented
  meta-externalfetcher  No     as not checking robots.txt)
  DuckAssistBot         Yes   duckduckgo.com/duckduckgo-help-pages/results/duckassistbot/
  Google-Agent          Yes   developers.google.com/search/docs/crawling-indexing/google-common-crawlers#google-agent

table-of-bot-metrics.md is regenerated and included, so `robots.py --convert` has
nothing left to write and the workflow's commit step is skipped entirely.

Verified: code/tests.py 13/13 · robots.py --convert exits 0 and is idempotent ·
robots.txt, .htaccess, the nginx/lighttpd/haproxy configs and the Caddyfile are
byte-identical · the JSON diff touches only the six `respect` fields, nothing else.
2026-08-04 09:11:42 +02:00
Özden und Julia
4021a10239 Pass commit messages to bash via env, not template interpolation
`git commit -m "${{ github.event.head_commit.message }}"` splices arbitrary text
straight into a double-quoted bash string. A message containing a double quote
closes the string early and the remainder is re-parsed as shell words.

This is what broke main after #248 merged. That PR's title contained
"Unclear at this time." (with quotes), so the merge commit message did too, and
the line bash actually ran was:

    git commit -m "Fill "Unclear at this time." from primary operator docs ..."

which git received as:

    -m "Fill Unclear"  at  this  "time. from primary operator docs ..."

Hence `error: pathspec 'at' did not match any file(s) known to git`, a failed
run, and the revert in 80c19fc. The data in that PR was fine — robots.py
--convert exits 0 against it and code/tests.py passes 13/13.

The same interpolation is also a script-injection vector, which is the more
important reason to change it: a PR title is attacker-controlled, and

    chore: tidy"; <any command>; echo "

executes that command on the runner with the workflow's token. `inputs.message`
has the same shape in the `if [ -n ... ]` test and its own `git commit -m`, so
all three are moved.

Passing through `env:` and quoting the shell variable is GitHub's documented
recommendation for untrusted values. The variable is expanded by bash after
parsing, so quotes, newlines and `$(...)` stay literal text.

Verified: code/tests.py 13/13 · python code/robots.py --convert exits 0 and
leaves robots.txt, table-of-bot-metrics.md and every server-config output
byte-identical · reproduced both the parse failure and the injection locally
against the old form, and confirmed the env form commits the same message
verbatim, quotes included.
2026-08-04 09:09:10 +02:00
ai.robots.txt
24c010e668 Merge pull request #251 from glyn/delete-IbouBot v1.49
Delete IbouBot
2026-07-31 15:01:58 +00:00
Glyn Normington
1be8fa6220
Merge pull request #251 from glyn/delete-IbouBot
Delete IbouBot
2026-07-31 16:01:41 +01:00
Glyn Normington
69a87566de Delete IbouBot
Fixes https://github.com/ai-robots-txt/ai.robots.txt/issues/250
2026-07-31 13:04:31 +01:00
Glyn Normington
042d00a5ab
Merge pull request #249 from ai-robots-txt/test-ci
Empty commit to test CI
2026-07-31 03:35:15 +01:00
Glyn Normington
c96a9916cc Empty commit to test CI 2026-07-31 03:34:01 +01:00
Glyn Normington
80c19fcad5 Revert "Fill operator and respect from primary docs for 6 entries"
This reverts commit e62a95bb8a.

Reverted because of CI failure noted in PR.
2026-07-31 03:30:04 +01:00
Glyn Normington
bbe0579a23
Merge pull request #248 from INXPRNCD/fill-unclear-operator-and-respect-from-primary-docs
Fill "Unclear at this time." from primary operator docs for 6 entries
2026-07-31 03:20:58 +01:00
Known Agents
2155906baa Update from knownagents.com 2026-07-31 01:57:31 +00:00
Erdinc Özden
e62a95bb8a Fill operator and respect from primary docs for 6 entries
Applebot, Meta-ExternalAgent, Meta-ExternalFetcher, meta-externalfetcher,
DuckAssistBot and Google-Agent carried 'Unclear at this time.' in both
operator and respect, but each operator documents the behaviour on its
own site. Values are linked to the primary source inline, matching the
style already used by Applebot-Extended and meta-externalagent.

robots.txt output is unchanged — no keys added or renamed.
2026-07-30 22:05:49 +02:00
Glyn Normington
3db35be22d
Merge pull request #241 from iamdhrv/fix/exact-spider-user-agent v1.48
Anchor generic Spider user-agent match
2026-07-30 12:15:55 +01:00
Dhruv Maniya
49669178ef fix: configure exact user-agent matching
Signed-off-by: Dhruv Maniya <dhruvmaniya1998@gmail.com>
2026-07-29 21:47:42 +05:30
Dhruv Maniya
af31418609 Anchor the generic Spider user agent
Signed-off-by: Dhruv Maniya <dhruvmaniya1998@gmail.com>
2026-07-15 13:04:57 +05:30
Known Agents
a0fed45f0e Update from knownagents.com 2026-07-10 02:03:20 +00:00
ai.robots.txt
2a83168bbb Merge pull request #240 from bobmatyas/add/tabstack
Add: Mozilla-Tabstack
2026-07-09 15:01:12 +00:00
Glyn Normington
51f7fd5e3a
Merge pull request #240 from bobmatyas/add/tabstack
Add: Mozilla-Tabstack
2026-07-09 16:00:59 +01:00
Known Agents
a71b27a232 Update from knownagents.com 2026-07-09 02:04:28 +00:00
bob
c793fa0a8c Add: Mozilla-Tabstack. Closes #226 2026-07-08 21:16:52 -04:00
Glyn Normington
f030cbe956
Merge pull request #238 from ghking/rename-dark-visitors-to-known-agents v1.47
Renaming Dark Visitors to Known Agents
2026-07-09 01:41:52 +01:00
Glyn Normington
12a15a3a28
Update code/robots.py
For consistency.
2026-07-09 01:40:00 +01:00
Glyn Normington
5065ca6055
Update .github/workflows/ai_robots_update.yml
For consistency.
2026-07-09 01:39:50 +01:00
Glyn Normington
0b021b9e40
Update code/robots.py
For consistency.
2026-07-09 01:39:39 +01:00
Gavin King
dad7db5168 Fixed broken URLs 2026-07-08 20:38:48 -04:00
Gavin King
e1bf273b16 Update robots.py 2026-07-08 20:26:48 -04:00
Gavin King
a35e6f9a09 Update ai_robots_update.yml 2026-07-08 20:23:53 -04:00
Gavin King
c43c5afd07 More name changes 2026-07-08 15:43:07 -04:00
Gavin King
0c5de5b90b Updating the name 2026-07-08 15:30:25 -04:00
dark-visitors
a394130efd Update from Dark Visitors 2026-06-26 02:32:55 +00:00
Glyn Normington
ee4ae068c2
Merge pull request #236 from guest20/patch-2
robots.py: fix darkvisiters descriptions and links
2026-06-23 11:15:59 +01:00
Glyn Normington
82df5f7659
Apply suggestions from code review
Co-authored-by: Glyn Normington <work@underlap.org>
2026-06-23 11:13:17 +01:00
guest20
ac207f9947
tests.py: ) 2026-06-23 04:17:14 +02:00
guest20
ffad9293c4
tests.py: consolidate 2026-06-23 04:13:17 +02:00
guest20
80357baf9c
robots.py: pass everything to consolodate 2026-06-21 23:51:32 +02:00
guest20
7dbe93295e
robots.py: pull consolodate out 2026-06-21 23:47:11 +02:00
guest20
3f965b292d
robots.py: keep new, non-default values
Co-authored-by: Glyn Normington <work@underlap.org>
2026-06-20 18:29:47 +02:00
dark-visitors
5cb3ec765f Update from Dark Visitors 2026-06-17 11:21:12 +00:00
guest20
25415e342c
robots.py: div class=description 2026-06-17 13:20:29 +02:00
dark-visitors
118bb772c0 Update from Dark Visitors 2026-06-17 11:01:38 +00:00