Add tech-stack fingerprinting (server, powered-by, generator)
WarcRecordFetcher was splitting out and discarding the HTTP response
headers to get at the HTML body — now it keeps and parses them, so
Server/X-Powered-By headers get captured alongside the <meta
name="generator"> tag already sitting in the parsed DOM. No extra
requests: same WARC segment already fetched for --with-metadata.
Site copies these from its homepage capture, same as
title/description/keywords. New badges on the site detail page show
the detected platform (e.g. "Wix.com Website Builder") and server
signature at a glance.
Verified against real .es data: correctly detected Wix
("00padel.es"), nginx/Apache/Cloudflare server headers, and PHP
X-Powered-By headers across the batch.
This commit is contained in:
@@ -18,6 +18,20 @@
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@if ($site->server || $site->powered_by || $site->generator)
|
||||
<div class="mt-3 flex flex-wrap gap-2">
|
||||
@if ($site->generator)
|
||||
<span class="rounded-full bg-blue-50 px-3 py-1 text-xs font-medium text-blue-700 dark:bg-blue-950 dark:text-blue-300">{{ $site->generator }}</span>
|
||||
@endif
|
||||
@if ($site->server)
|
||||
<span class="rounded-full bg-neutral-100 px-3 py-1 text-xs text-neutral-600 dark:bg-neutral-800 dark:text-neutral-400">Server: {{ $site->server }}</span>
|
||||
@endif
|
||||
@if ($site->powered_by)
|
||||
<span class="rounded-full bg-neutral-100 px-3 py-1 text-xs text-neutral-600 dark:bg-neutral-800 dark:text-neutral-400">Powered by: {{ $site->powered_by }}</span>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<h2 class="mt-8 text-lg font-medium">Pages ({{ $pages->total() }})</h2>
|
||||
|
||||
<div class="mt-4 overflow-hidden rounded-lg border border-neutral-200 dark:border-neutral-800">
|
||||
|
||||
Reference in New Issue
Block a user