# git

What this client asked https://www.pathwren.workers.dev for, from that host's own request log.
Window: 2026-09-03 09:53:26Z to 2026-09-14 01:11:13Z UTC. Generated 2026-09-14.

## User-agent strings, exactly as they arrived

- `git/2.39.5` — 1057 request(s), 2 address(es), 2026-09-03 09:53:26Z to 2026-09-13 08:08:10Z
- `git/2.39.2` — 358 request(s), 2 address(es), 2026-09-05 21:49:31Z to 2026-09-06 01:48:58Z
- `git/2.53.0` — 192 request(s), 1 address(es), 2026-09-05 17:14:50Z to 2026-09-06 00:04:12Z
- `git/dulwich/1.2.14` — 18 request(s), 1 address(es), 2026-09-10 08:55:59Z to 2026-09-14 01:11:13Z
- `git/2.47.3` — 8 request(s), 1 address(es), 2026-09-09 19:41:27Z to 2026-09-11 02:55:09Z

- Requests: 1633
- Distinct addresses (salted hashes, never published): 7
- Distinct paths: 717
- Visits (30-minute gap rule): 19
- Status codes: 200×1614, 301×14, 404×5
- Accept headers: */*
- Our classifier called it: agent×1633 (ours, from the user-agent)

## What it asked for, in order

1. `/c/pypi-registry/data/agents.json/info/refs` — 2026-09-03 09:53:26Z — 404
2. `/c/pypi-registry/git/ai-crawler-index/info/refs` — 2026-09-05 17:14:50Z — 404
3. `/c/rubygems-registry/git/ai-crawler-index/info/refs` — 2026-09-05 20:28:25Z — 301
4. `/c/rubygems-registry/git/ai-crawler-index.git/info/refs` — 2026-09-05 20:28:25Z — 200
5. `/c/rubygems-registry/git/ai-crawler-index.git/HEAD` — 2026-09-05 20:28:25Z — 200
6. `/c/rubygems-registry/git/ai-crawler-index.git/objects/a2/6601a99dc6586c0aad10fcd09058479567541b` — 2026-09-05 20:28:25Z — 404
7. `/c/rubygems-registry/git/ai-crawler-index.git/objects/info/http-alternates` — 2026-09-05 20:28:25Z — 404
8. `/c/rubygems-registry/git/ai-crawler-index.git/objects/info/alternates` — 2026-09-05 20:28:25Z — 404
9. `/c/rubygems-registry/git/ai-crawler-index.git/objects/info/packs` — 2026-09-05 20:28:25Z — 200
10. `/c/rubygems-registry/git/ai-crawler-index.git/objects/pack/pack-940494383930e0bd45f8eec8aed1bee6943396ec.idx` — 2026-09-05 20:28:25Z — 200
11. `/c/rubygems-registry/git/ai-crawler-index.git/objects/pack/pack-940494383930e0bd45f8eec8aed1bee6943396ec.pack` — 2026-09-05 20:28:25Z — 200
12. `/c/rubygems-registry/git/ai-crawler-index.git/objects/03/256e336176134a64196f70054c7ca3d35aa46d` — 2026-09-05 21:49:32Z — 200
13. `/c/rubygems-registry/git/ai-crawler-index.git/objects/ad/c49a022411c6b9fd37cfe165944b13ae795dc4` — 2026-09-05 21:49:32Z — 200
14. `/c/rubygems-registry/git/ai-crawler-index.git/objects/cb/50a2ec55f86a8f2377366bc2f07eb193d35bab` — 2026-09-05 21:49:32Z — 200
15. `/c/rubygems-registry/git/ai-crawler-index.git/objects/62/bca7405f290a41ce2eff2b5d84977b341fd186` — 2026-09-05 21:49:32Z — 200
16. `/c/rubygems-registry/git/ai-crawler-index.git/objects/1e/d12934b1491160583ee33e64668412904afe23` — 2026-09-05 21:49:32Z — 200
17. `/c/rubygems-registry/git/ai-crawler-index.git/objects/75/f8d4646627f190f522414667b4c8f917fd145e` — 2026-09-05 21:49:32Z — 200
18. `/c/rubygems-registry/git/ai-crawler-index.git/objects/15/b6a9905f1fa0f3d57a905c2b4b39be5ddf02af` — 2026-09-05 21:49:32Z — 200
19. `/c/rubygems-registry/git/ai-crawler-index.git/objects/54/ddb70dac6410ae6ddfabea8525894052f9146b` — 2026-09-05 21:49:32Z — 200
20. `/c/rubygems-registry/git/ai-crawler-index.git/objects/6b/2fecdc1928db81db1c93a9b126a62960abac11` — 2026-09-05 21:49:32Z — 200
21. `/c/rubygems-registry/git/ai-crawler-index.git/objects/4f/de4528ae47e7479954063e309a1f76c84be6ff` — 2026-09-05 21:49:32Z — 200
22. `/c/rubygems-registry/git/ai-crawler-index.git/objects/81/cefc7ae4fe75e9ce457026b57f5340279ff7e4` — 2026-09-05 21:49:32Z — 200
23. `/c/rubygems-registry/git/ai-crawler-index.git/objects/a4/1225471e851f0fc7f46469f73f505538be8d1e` — 2026-09-05 21:49:32Z — 200
24. `/c/rubygems-registry/git/ai-crawler-index.git/objects/71/1daa314d6b0585ee1f7ab0ab4b8c66bdbb76a3` — 2026-09-05 21:49:32Z — 200
25. `/c/rubygems-registry/git/ai-crawler-index.git/objects/d1/901a04fe8e96d323bf2e22d7dee705188b8cf7` — 2026-09-05 21:49:32Z — 200
26. `/c/rubygems-registry/git/ai-crawler-index.git/objects/66/891f918b207b45e8c96f493ed7b61ce98066b2` — 2026-09-05 21:49:32Z — 200
27. `/c/rubygems-registry/git/ai-crawler-index.git/objects/e1/96b6128be1e9b0419bb810829b603c7455cbed` — 2026-09-05 21:49:32Z — 200
28. `/c/rubygems-registry/git/ai-crawler-index.git/objects/28/59408d7ee3472af19f9b9c317131d30717f294` — 2026-09-05 21:49:32Z — 200
29. `/c/rubygems-registry/git/ai-crawler-index.git/objects/7c/2501fe7b94f3ea1c8c51a779be4a232ad7c987` — 2026-09-05 21:49:32Z — 200
30. `/c/rubygems-registry/git/ai-crawler-index.git/objects/74/948a6ad128713809771069273ae91f8a1d69ad` — 2026-09-05 21:49:32Z — 200
31. `/c/rubygems-registry/git/ai-crawler-index.git/objects/f6/5e15bf57a66c10691748271b329ccabb5b0a63` — 2026-09-05 21:49:33Z — 200
32. `/c/rubygems-registry/git/ai-crawler-index.git/objects/26/1e8d584b03ffb0087fb823c2ab181a2029dd3c` — 2026-09-05 21:49:33Z — 200
33. `/c/rubygems-registry/git/ai-crawler-index.git/objects/3a/ef39d3e534d331fd11b45363ea7f6222a496f1` — 2026-09-05 21:49:33Z — 200
34. `/c/rubygems-registry/git/ai-crawler-index.git/objects/39/f2a62ed666c260b9a6c2f56cc21e3a466c8f32` — 2026-09-05 21:49:33Z — 200
35. `/c/rubygems-registry/git/ai-crawler-index.git/objects/c3/94f726653371d284d43bc89a904e518496e978` — 2026-09-05 21:49:33Z — 200
36. `/c/rubygems-registry/git/ai-crawler-index.git/objects/9a/6807609555d1787daac0a4c7859b8ee7b80193` — 2026-09-05 21:49:33Z — 200
37. `/c/rubygems-registry/git/ai-crawler-index.git/objects/e0/c2b017f3ef625d7dbe4565b41e0d74cc0fe8e3` — 2026-09-05 21:49:33Z — 200
38. `/c/rubygems-registry/git/ai-crawler-index.git/objects/f2/855d3946b1219e5be8240c10aed2e9354c9e60` — 2026-09-05 21:49:33Z — 200
39. `/c/rubygems-registry/git/ai-crawler-index.git/objects/20/c6b2e733b274a0922d0b3fb677c9023193ae3f` — 2026-09-05 21:49:33Z — 200
40. `/c/rubygems-registry/git/ai-crawler-index.git/objects/77/5edaa42a1739c76702651cb26b91d226db3a89` — 2026-09-05 21:49:33Z — 200

## What it asked for that did not exist

- `/c/pypi-registry/data/agents.json/info/refs` — 404×1 — first asked 2026-09-03 09:53:26Z; still absent
- `/c/pypi-registry/git/ai-crawler-index/info/refs` — 404×1 — first asked 2026-09-05 17:14:50Z; still absent
- `/c/rubygems-registry/git/ai-crawler-index.git/objects/a2/6601a99dc6586c0aad10fcd09058479567541b` — 404×1 — first asked 2026-09-05 20:28:25Z; answers 200 since 2026-09-05 21:09:00Z
- `/c/rubygems-registry/git/ai-crawler-index.git/objects/info/http-alternates` — 404×1 — first asked 2026-09-05 20:28:25Z; answers 200 since 2026-09-05 21:09:00Z
- `/c/rubygems-registry/git/ai-crawler-index.git/objects/info/alternates` — 404×1 — first asked 2026-09-05 20:28:25Z; answers 200 since 2026-09-05 21:10:08Z

## Verification

Not observed. This client publishes no address list we could read and no reverse-DNS convention we could test, so the user-agent is the only identity it has here — and a user-agent is a claim, not a proof. Anyone can send this string.

## Ask this page a question, with one GET

A question about this page, answered by a call you can make right now — no key, no account, no JSON-RPC, nothing to assemble. The query string is already filled in with this page's own subject.

- **What is git/2.39.5?**  
  `curl -s 'https://www.pathwren.workers.dev/tools/classify-ua?ua=git%2F2.39.5&s=client-dossiers'`  
  This exact user-agent run through the catalogue: which crawler it is, who operates it, what the crawl is for, what blocking it costs — or an honest "not recognised" if it is nobody we know.

Every parameter above is a value the endpoint reads, not an address it visits: nothing is fetched on your behalf. Called without any parameter, each endpoint returns its own specification instead of an error.


## What it publishes about you

Not observed. We have not seen this client publish a grade, a listing or a record about this host anywhere, and we make no claim that it does or does not.

## Documentation it names

not observed — no URL in its user-agent

JSON: https://www.pathwren.workers.dev/bot/git.json · all clients: https://www.pathwren.workers.dev/data/observed-clients.json
