{
    "ready": true,
    "site": {
        "id": 0,
        "domain": "bfloeser.de",
        "display_name": "This is my blog now",
        "primary_country_code": "DE",
        "category_name": "Personal"
    },
    "metrics": {
        "global_rank": 5415,
        "country_rank": 506,
        "category_rank": 4,
        "daily_pageviews_per_visitor": 4.11,
        "daily_time_on_site_seconds": 349,
        "bounce_rate": 28.68,
        "search_visits_percent": 42.19,
        "total_sites_linking_in": 1,
        "monthly_unique_visitors": 172,
        "recorded_at": "2026-03-26 05:48:04"
    },
    "audit": {
        "score": 99
    },
    "traffic_sources": {
        "direct_percent": 28.72,
        "search_percent": 36.92,
        "social_percent": 6.63,
        "referral_percent": 12.3,
        "email_percent": 6.63,
        "paid_percent": 8.8
    },
    "seo_profile": {
        "backlinks_total": 1,
        "referring_domains": 1,
        "dofollow_backlinks_percent": 0,
        "organic_keywords": 81,
        "indexed_pages": 94,
        "page_speed_score": 100,
        "mobile_friendliness_score": 95,
        "authority_score": 41,
        "spam_risk_score": 15
    },
    "crawl_report": {
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 94,
        "crawl_blocked": false,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": "",
        "notes": [],
        "created_at": "2026-03-26 05:48:04"
    },
    "keywords": [
        {
            "keyword": "This is my blog now",
            "position": 20,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 16:25:07",
            "is_estimated": true
        },
        {
            "keyword": "This is my blog now personal",
            "position": 22,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 16:25:07",
            "is_estimated": true
        },
        {
            "keyword": "This is my blog now reviews",
            "position": 24,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 16:25:07",
            "is_estimated": true
        },
        {
            "keyword": "this",
            "position": 26,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 16:25:07",
            "is_estimated": true
        },
        {
            "keyword": "blog",
            "position": 28,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 16:25:07",
            "is_estimated": true
        },
        {
            "keyword": "now",
            "position": 30,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 16:25:07",
            "is_estimated": true
        },
        {
            "keyword": "bfloeser",
            "position": 32,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 16:25:07",
            "is_estimated": true
        }
    ],
    "rating": {
        "overall": 64,
        "label": "Healthy",
        "breakdown": [
            {
                "label": "Technical foundation",
                "score": 18,
                "max": 18
            },
            {
                "label": "Authority & trust",
                "score": 13,
                "max": 30
            },
            {
                "label": "Reach & market presence",
                "score": 3,
                "max": 18
            },
            {
                "label": "Search visibility",
                "score": 3,
                "max": 12
            },
            {
                "label": "Engagement & retention",
                "score": 9,
                "max": 10
            },
            {
                "label": "Channels & diversification",
                "score": 4,
                "max": 6
            },
            {
                "label": "Registry stability",
                "score": 3,
                "max": 6
            },
            {
                "label": "Quality system",
                "score": 100,
                "max": 100
            },
            {
                "label": "Reputation system",
                "score": 43,
                "max": 100
            },
            {
                "label": "Safety system",
                "score": 100,
                "max": 100
            },
            {
                "label": "Evidence confidence",
                "score": 100,
                "max": 100
            },
            {
                "label": "External intelligence",
                "score": 50,
                "max": 100
            }
        ],
        "authority_score": 43,
        "quality_score": 100,
        "reputation_score": 43,
        "safety_score": 100,
        "confidence_score": 100,
        "fraud_score": 0,
        "authority_signals": {
            "backlinks": 1,
            "referring_domains": 1,
            "organic_keywords": 81,
            "indexed_pages": 94,
            "monthly_visitors": 172,
            "global_rank": 5415,
            "engagement_score": 83,
            "crawl_quality_score": 100,
            "brand_completeness_score": 79,
            "link_diversity_score": 92,
            "technical_reliability_score": 98,
            "whois_score": 45,
            "whois_age_years": 0,
            "whois_stability_score": 100,
            "spam_penalty": 0
        },
        "whois_signals": {
            "age_years": 0,
            "days_to_expiry": null,
            "days_since_last_registry_update": null,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": false,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 0,
            "status_count": 0
        }
    },
    "authority_score": 43,
    "trust_score": 78,
    "domain_tags": {
        "primary_tag": "T",
        "primary_tag_score": 85,
        "primary_candidate": "T",
        "primary_candidate_score": 85,
        "tag_codes": "T",
        "tags": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 85,
                "score": 85,
                "match_percent": 85,
                "threshold_band": "strong"
            }
        ],
        "tag_breakdown": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 85,
                "score": 85,
                "match_percent": 85,
                "threshold_band": "strong"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "",
                "message": "The evidence does not currently look notably uncertain.",
                "priority": 18,
                "score": 18,
                "match_percent": 18,
                "threshold_band": "none"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution",
                "description": "Signals are mixed or weak, so this domain should be treated carefully.",
                "reason": "Review carefully: mixed trust signals.",
                "message": "The current crawl does not show a meaningful caution match.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            },
            {
                "code": "Crypto",
                "label": "Crypto drainer risk",
                "tone": "toxic",
                "description": "Wallet-connect or seed-phrase theft patterns were detected.",
                "reason": "Wallet-connect or seed-phrase theft patterns were detected.",
                "message": "No meaningful crypto-drainer signals were detected.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            },
            {
                "code": "D",
                "label": "Dangerous",
                "tone": "toxic",
                "description": "Strong signs of phishing, malware, or other harmful behaviour were detected.",
                "reason": "Multiple high-risk signals pushed this domain into the dangerous range.",
                "message": "No meaningful dangerous-signal match was detected.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            }
        ],
        "nsfw_score": 0,
        "trust_score": 79,
        "manual": {
            "has_changes": false,
            "verified_status": "",
            "tag_codes": "",
            "rating_delta": 0,
            "authority_delta": 0,
            "trust_delta": 0,
            "note": "",
            "adjusted_by": 0,
            "adjusted_at": "",
            "lock_scores": false,
            "lock_flags": false
        },
        "summary": "Trusted (85% match) because low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
        "external_intel": [],
        "external_decision": [],
        "signal_scores": [
            {
                "label": "Strongest tag heuristic",
                "value": "T · 85%",
                "tone": "good",
                "detail": "The highest raw tag match from the heuristic engine before visibility thresholds and manual overrides."
            },
            {
                "label": "Trust score",
                "value": "79/100",
                "tone": "good",
                "detail": "Confidence derived from authority, crawl quality, stability, and risk signals."
            },
            {
                "label": "Authority score",
                "value": "43/100",
                "tone": "caution",
                "detail": "A higher authority score usually means broader reputation and backlink confidence."
            },
            {
                "label": "Spam risk",
                "value": "0/100",
                "tone": "good",
                "detail": "Lower is better. This blends spam indicators with false-positive protections for legitimate sites."
            },
            {
                "label": "Quality score",
                "value": "100/100",
                "tone": "good",
                "detail": "Based on crawl quality, content completeness, and technical evidence."
            },
            {
                "label": "Safety score",
                "value": "100/100",
                "tone": "good",
                "detail": "Higher is safer. Direct fraud signals can heavily cap this even when SEO signals look strong."
            },
            {
                "label": "Fraud score",
                "value": "0/100",
                "tone": "good",
                "detail": "Lower is better. This reflects phishing, drainer, fake-support, fake-shop, and malware signals."
            },
            {
                "label": "Infrastructure risk",
                "value": "0/100",
                "tone": "good",
                "detail": "Lower is better. This reflects the IP, registrar, and nameserver neighbourhood seen by the crawler."
            },
            {
                "label": "Evidence confidence",
                "value": "100/100",
                "tone": "good",
                "detail": "Higher means the crawler had enough pages and registry evidence to make a stronger call."
            },
            {
                "label": "External evidence",
                "value": "Low",
                "tone": "unknown",
                "detail": "Quality of the structured search and review evidence cluster."
            },
            {
                "label": "External decision",
                "value": "Inconclusive",
                "tone": "unknown",
                "detail": "How third-party evidence compares with the current candidate tag."
            },
            {
                "label": "NSFW score",
                "value": "0/100",
                "tone": "good",
                "detail": "Context-aware adult-content detection with medical / educational false-positive reduction."
            },
            {
                "label": "Registry stability",
                "value": "100/100",
                "tone": "good",
                "detail": "Based on age, expiry runway, and the amount of ownership / registrar churn."
            }
        ],
        "signal_sections": [
            {
                "title": "Registry & ownership",
                "items": [
                    {
                        "label": "Domain age",
                        "value": "—",
                        "tone": "unknown",
                        "detail": "Older domains generally carry more historical trust than very new ones."
                    },
                    {
                        "label": "Stability score",
                        "value": "100/100",
                        "tone": "good",
                        "detail": "Penalised by registrar, ownership, and nameserver churn."
                    },
                    {
                        "label": "Days to expiry",
                        "value": "—",
                        "tone": "unknown",
                        "detail": "Very short renewal windows can be a weak trust signal."
                    },
                    {
                        "label": "Registrar / ownership changes",
                        "value": "0 / 0",
                        "tone": "good",
                        "detail": "Frequent ownership churn can weaken trust."
                    },
                    {
                        "label": "Nameserver changes",
                        "value": "0",
                        "tone": "good",
                        "detail": "Repeated infrastructure changes can indicate instability."
                    },
                    {
                        "label": "DNSSEC / privacy",
                        "value": "DNSSEC off · privacy off",
                        "tone": "caution",
                        "detail": "DNSSEC strengthens DNS trust; privacy is neutral on its own."
                    }
                ]
            },
            {
                "title": "Reputation & search evidence",
                "items": [
                    {
                        "label": "Backlinks",
                        "value": "1",
                        "tone": "unknown",
                        "detail": "Broader backlink evidence usually improves confidence."
                    },
                    {
                        "label": "Referring domains",
                        "value": "1",
                        "tone": "unknown",
                        "detail": "Unique linking domains are more useful than raw link volume."
                    },
                    {
                        "label": "Organic keywords",
                        "value": "81",
                        "tone": "caution",
                        "detail": "Search footprint helps distinguish real sites from thin shells."
                    },
                    {
                        "label": "Indexed pages",
                        "value": "94",
                        "tone": "caution",
                        "detail": "Larger index coverage usually means more evidence to classify from."
                    },
                    {
                        "label": "Brand strength",
                        "value": "79/100",
                        "tone": "good",
                        "detail": "Stronger brand signals reduce false positives for legitimate sites."
                    },
                    {
                        "label": "Risk label",
                        "value": "GOOD",
                        "tone": "unknown",
                        "detail": "This is the raw crawl / heuristic risk label feeding the tag model."
                    }
                ]
            },
            {
                "title": "Crawl, content & technicals",
                "items": [
                    {
                        "label": "HTTP status",
                        "value": "200",
                        "tone": "good",
                        "detail": "Healthy responses make classification more reliable."
                    },
                    {
                        "label": "HTTPS / speed",
                        "value": "HTTPS OK · 112 ms",
                        "tone": "good",
                        "detail": "Slow or broken technical signals weaken confidence."
                    },
                    {
                        "label": "Content words",
                        "value": "810",
                        "tone": "good",
                        "detail": "Thin pages are harder to trust and easier to manipulate."
                    },
                    {
                        "label": "Schema / structure",
                        "value": "1 schema · meta · H1",
                        "tone": "caution",
                        "detail": "Structured markup and basic on-page hygiene improve quality confidence."
                    },
                    {
                        "label": "Links on page",
                        "value": "13 internal · 7 external",
                        "tone": "good",
                        "detail": "Link patterns help detect thin directories and promo pages."
                    },
                    {
                        "label": "Page speed / mobile",
                        "value": "100/100 · 95/100",
                        "tone": "good",
                        "detail": "Better technical quality generally reduces low-effort site patterns."
                    },
                    {
                        "label": "Crawl access",
                        "value": "Open",
                        "tone": "good",
                        "detail": "The crawler reached the site without an anti-bot challenge."
                    }
                ]
            },
            {
                "title": "External evidence & explainability",
                "items": [
                    {
                        "label": "Decision state",
                        "value": "Inconclusive",
                        "tone": "unknown",
                        "detail": "Structured third-party evidence is still too thin, mixed, or unqualified to force a harder verdict."
                    },
                    {
                        "label": "Evidence quality",
                        "value": "Low",
                        "tone": "unknown",
                        "detail": "Blends source trust, domain matching, evidence diversity, and freshness."
                    },
                    {
                        "label": "Support vs contradiction",
                        "value": "0 / 0",
                        "tone": "unknown",
                        "detail": "Compares how much structured external evidence supports the candidate tag against evidence that contradicts it."
                    },
                    {
                        "label": "Qualified risk sources",
                        "value": "No",
                        "tone": "good",
                        "detail": "Risk tags only promote from external evidence when source diversity or source trust thresholds are met."
                    },
                    {
                        "label": "Uncertainty buffer",
                        "value": "Clear",
                        "tone": "good",
                        "detail": "Prevents thin or mixed external evidence from forcing a stronger tag than the evidence can justify."
                    }
                ]
            }
        ],
        "positives": [
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness."
        ],
        "risks": []
    },
    "traffic_confidence": 64,
    "whois": {
        "current": {
            "id": 31117,
            "domain": "bfloeser.de",
            "source_type": "whois_text",
            "rdap_url": "",
            "registrar_name": "",
            "registrar_handle": "",
            "registrant_name": "",
            "registrant_org": "",
            "registrant_country": "",
            "registrant_email": "",
            "abuse_email": "",
            "created_date": null,
            "updated_date": null,
            "expires_date": null,
            "nameservers_json": "[]",
            "status_json": "[]",
            "dnssec": "unknown",
            "privacy_protected": 0,
            "content_hash": "f7e17c57c5fdd24df1793ece6bff99716369356b90b29c4725ac3ba12a76b72c",
            "history_count": 1,
            "last_checked_at": "2026-03-26 05:48:03",
            "last_changed_at": "2026-03-19 05:00:29",
            "created_at": "2026-03-19 05:00:29",
            "updated_at": "2026-03-26 05:48:03"
        },
        "history": [
            {
                "id": 31863,
                "domain": "bfloeser.de",
                "source_type": "whois_text",
                "registrar_name": "",
                "registrar_handle": "",
                "registrant_name": "",
                "registrant_org": "",
                "registrant_country": "",
                "registrant_email": "",
                "abuse_email": "",
                "created_date": null,
                "updated_date": null,
                "expires_date": null,
                "nameservers_json": "[]",
                "status_json": "[]",
                "dnssec": "unknown",
                "privacy_protected": 0,
                "content_hash": "f7e17c57c5fdd24df1793ece6bff99716369356b90b29c4725ac3ba12a76b72c",
                "checked_at": "2026-03-19 05:00:29",
                "change_summary": "Initial WHOIS snapshot captured.",
                "created_at": "2026-03-19 05:00:29"
            }
        ],
        "signals": {
            "age_years": 0,
            "days_to_expiry": null,
            "days_since_last_registry_update": null,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": false,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 0,
            "status_count": 0
        }
    },
    "discovered_domain": {
        "id": 95795,
        "domain": "bfloeser.de",
        "first_seen_at": "2026-03-15 21:47:17",
        "last_crawled_at": "2026-03-26 05:48:04",
        "last_title": "This is my blog now",
        "last_http_status": 200,
        "discovered_from_domain": "512kb.club",
        "depth": 0,
        "backlinks_count": 1,
        "rating_cache": 59,
        "spam_score": 0,
        "risk_label": "good",
        "category_name": "Personal",
        "primary_country_code": "DE",
        "internal_links_count": 13,
        "external_links_count": 7,
        "social_profiles_count": 1,
        "content_word_count": 810,
        "title_quality_score": 79,
        "has_meta_description": 1,
        "has_h1": 1,
        "language_code": "en",
        "response_time_ms": 112,
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 94,
        "quality_score": 100,
        "site_name": "This is my blog now",
        "canonical_domain": "",
        "favicon_present": 1,
        "schema_org_count": 1,
        "noindex_detected": 0,
        "feed_links_count": 1,
        "https_working": 1,
        "estimated_authority_score": 37,
        "trust_score": 99,
        "nsfw_score": 0,
        "overall_rank_estimate": 2022512,
        "primary_tag": "C",
        "tag_codes": "C,T,Uncertain",
        "manual_verified_status": "",
        "manual_tag_codes": "",
        "manual_rating_delta": 0,
        "manual_authority_delta": 0,
        "manual_trust_delta": 0,
        "manual_note": null,
        "manual_adjusted_by": null,
        "manual_adjusted_at": null,
        "manual_lock_scores": 0,
        "manual_lock_flags": 0,
        "crawl_blocked": 0,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": null,
        "safety_score": 100,
        "fraud_score": 0,
        "legitimacy_score": 58,
        "infrastructure_risk_score": 0,
        "score_confidence": 100,
        "tag_confidence": 72,
        "category_confidence": 44,
        "deep_crawl_pages": 50,
        "resolved_ip": "142.132.237.114",
        "category_candidates_json": "[{\"category\":\"Personal\",\"score\":39},{\"category\":\"Business\",\"score\":22},{\"category\":\"E-commerce\",\"score\":17},{\"category\":\"Technology\",\"score\":17}]",
        "page_signals_json": "[{\"path\":\"/about\",\"status\":200,\"title\":\"About | This is my blog now\",\"word_count\":382,\"summary_text\":\"About | This is my blog now About | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"About\\\",\\\"item\\\":\\\"https://bfloeser.de/about/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"About\\\",\\\"name\\\":\\\"About\\\",\\\"description\\\":\\\"I\\\\u0026rsquo;m a cloud engineer, former software developer, former computational chemist, free software enthusiast and small-time Linux nerd.\\\\nI started my professional career as a chemist, moved over to computational chemistry because I discovered the fun of high performance computing, started learning my first programming language, realized how much I enjoy it and\",\"classification_terms\":[\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/about/\",\"status\":200,\"title\":\"About | This is my blog now\",\"word_count\":382,\"summary_text\":\"About | This is my blog now About | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"About\\\",\\\"item\\\":\\\"https://bfloeser.de/about/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"About\\\",\\\"name\\\":\\\"About\\\",\\\"description\\\":\\\"I\\\\u0026rsquo;m a cloud engineer, former software developer, former computational chemist, free software enthusiast and small-time Linux nerd.\\\\nI started my professional career as a chemist, moved over to computational chemistry because I discovered the fun of high performance computing, started learning my first programming language, realized how much I enjoy it and\",\"classification_terms\":[\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/tags/\",\"status\":200,\"title\":\"Tags | This is my blog now\",\"word_count\":64,\"summary_text\":\"Tags | This is my blog now Tags | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchTagsDevelopment 1Fedora 1Fiction 1Food 1Gaming 15How To 20Introduction 1Linux 21Personal 19Privacy 11Programming 6Rambling 1Review 2Self-hosting 2Selfhosting 1Software 18Tech 10Technology 1&copy; 2026 This is my blog now &nbsp | &nbsp Licensed under CC BY-NC-ND 4.0 &nbsp | &nbsp Privacy PolicyPowered by Hugo & PaperMod &nbsp512KB CLUB GREEN TEAM let menu=document.getElementById(\\\"menu\\\");menu&&(menu.scrollLeft=localStorage.getItem(\\\"menu-scroll-position\\\"),menu.onscroll=function(){localStorage.setItem(\\\"menu-scroll-position\\\",menu.scrollLeft)}),document.querySelectorAll('a[href^=\\\"#\\\"]').forE\",\"classification_terms\":[\"tags\",\"about\",\"privacy\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/archives/\",\"status\":200,\"title\":\"Archive | This is my blog now\",\"word_count\":626,\"summary_text\":\"Archive | This is my blog now Archive | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Archive\\\",\\\"item\\\":\\\"https://bfloeser.de/archives/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"Archive\\\",\\\"name\\\":\\\"Archive\\\",\\\"description\\\":\\\"archives\\\",\\\"keywords\\\":[],\\\"articleBody\\\":\\\"\\\",\\\"wordCount\\\":\\\"0\\\",\\\"inLanguage\\\":\\\"en\\\",\\\"datePublished\\\":\\\"0001-01-01T00:00:00Z\\\",\\\"dateModified\\\":\\\"0001-01-01T00:00:00Z\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://bfloeser.de/archives/\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"This is my blog now\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://bfloeser.de/favicon\",\"classification_terms\":[\"archives\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/uses/\",\"status\":200,\"title\":\"Uses | This is my blog now\",\"word_count\":911,\"summary_text\":\"Uses | This is my blog now Uses | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Uses\\\",\\\"item\\\":\\\"https://bfloeser.de/uses/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"Uses\\\",\\\"name\\\":\\\"Uses\\\",\\\"description\\\":\\\"Here is an overview of the technology I use on a regular basis. Feel free to contact me if you have questions or would like a recommendation.\\\\nHardware Laptop Work machine for development, Dell Latitude 5450\\\\nCPU: 13th Gen Intel i7-1370P GPU: Intel Raptor Lake-P RAM: 32 GB DDR4 Storage: 500 GB NVMe Screen resolution: 1920 x 1080 OS: Fedora 40 Server I currently run one Ra\",\"classification_terms\":[\"uses\",\"contact\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":1,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/search/\",\"status\":200,\"title\":\"Search | This is my blog now\",\"word_count\":49,\"summary_text\":\"Search | This is my blog now Search | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Search\\\",\\\"item\\\":\\\"https://bfloeser.de/search/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"Search\\\",\\\"name\\\":\\\"Search\\\",\\\"description\\\":\\\"search\\\",\\\"keywords\\\":[],\\\"articleBody\\\":\\\"\\\",\\\"wordCount\\\":\\\"0\\\",\\\"inLanguage\\\":\\\"en\\\",\\\"datePublished\\\":\\\"0001-01-01T00:00:00Z\\\",\\\"dateModified\\\":\\\"0001-01-01T00:00:00Z\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://bfloeser.de/search/\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"This is my blog now\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://bfloeser.de/favicon.ico\\\"}}}Th\",\"classification_terms\":[\"search\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/posts/a-new-hope-ebook-reader/\",\"status\":200,\"title\":\"A New Hope (where Hope == e-reader) | This is my blog now\",\"word_count\":1589,\"summary_text\":\"A New Hope (where Hope == e-reader) | This is my blog now A New Hope (where Hope == e-reader) | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"A New Hope (where Hope == e-reader)\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/a-new-hope-ebook-reader/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"A New Hope (where Hope == e-reader)\\\",\\\"name\\\":\\\"A New Hope (where Hope == e-reader)\\\",\\\"description\\\":\\\"Since I like reading and shelf space is precious where I live I own an ebook reader. I\\\\u0026rsquo;ve had this one for a few years now and bo\",\"classification_terms\":[\"posts/a-new-hope-ebook-reader\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/posts/why-do-i-blog/\",\"status\":200,\"title\":\"Why Do I Write? | This is my blog now\",\"word_count\":1658,\"summary_text\":\"Why Do I Write? | This is my blog now Why Do I Write? | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"Why Do I Write?\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/why-do-i-blog/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"Why Do I Write?\\\",\\\"name\\\":\\\"Why Do I Write?\\\",\\\"description\\\":\\\"I suspect all people who write anything down for a purpose that is not related to work or bare survival come across this question sooner or later. I know I did and, while I don\\\\u0026rsquo;t have a definitive answer as of now, I do\",\"classification_terms\":[\"posts/why-do-i-blog\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/posts/how-am-i-feeling-01-26/\",\"status\":200,\"title\":\"How Am I Feeling? | This is my blog now\",\"word_count\":1594,\"summary_text\":\"How Am I Feeling? | This is my blog now How Am I Feeling? | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"How Am I Feeling?\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/how-am-i-feeling-01-26/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"How Am I Feeling?\\\",\\\"name\\\":\\\"How Am I Feeling?\\\",\\\"description\\\":\\\"This is gonna be a bit of a ramble.\\\\nThere is loads of stuff on my mind and I figured I could just try out something new in a sort of stream-of-consciousness sort of way. Not what I usually do but it\\\\u0026rsquo;s\",\"classification_terms\":[\"posts/how-am-i-feeling-01-26\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/posts/dedrm-again/\",\"status\":200,\"title\":\"How To: Remove Adobe DRM from ebooks — again | This is my blog now\",\"word_count\":1111,\"summary_text\":\"How To: Remove Adobe DRM from ebooks — again | This is my blog now How To: Remove Adobe DRM from ebooks — again | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"How To: Remove Adobe DRM from ebooks — again\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/dedrm-again/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"How To: Remove Adobe DRM from ebooks — again\\\",\\\"name\\\":\\\"How To: Remove Adobe DRM from ebooks — again\\\",\\\"description\\\":\\\"You might recall that I\\\\u0026rsquo;ve written about this before, this is round two, as you will.\\\\nI was once again i\",\"classification_terms\":[\"posts/dedrm-again\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/posts/server-infra-update/\",\"status\":200,\"title\":\"Server Infra Update | This is my blog now\",\"word_count\":1830,\"summary_text\":\"Server Infra Update | This is my blog now Server Infra Update | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"Server Infra Update\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/server-infra-update/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"Server Infra Update\\\",\\\"name\\\":\\\"Server Infra Update\\\",\\\"description\\\":\\\"I have been self-hosting for a while but mostly I have used one machine to put everything on. This makes maintenance straightforward as there\\\\u0026rsquo;s not a lot to do to install updates and the like. Rece\",\"classification_terms\":[\"posts/server-infra-update\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/page/2/\",\"status\":200,\"title\":\"This is my blog now\",\"word_count\":718,\"summary_text\":\"This is my blog now This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"This is my blog now\\\",\\\"url\\\":\\\"https://bfloeser.de/\\\",\\\"description\\\":\\\"Personal Blog\\\",\\\"logo\\\":\\\"https://bfloeser.de/favicon.ico\\\",\\\"sameAs\\\":[\\\"https://polymaths.social/@thedoctor\\\",\\\"https://codeberg.org/theDoctor\\\",\\\"https://github.com/DocKDE\\\",\\\"index.xml\\\"]}This is my blog now AboutTagsArchiveUsesSearchThe latest in VPN landIn a previous blog post I wrote about my current VPN setup and whether it might not be time to switch. I considered several options and tried almost all of them to get a feel for them. wg-easy This project advertises itself as the easiest way to run Wireguard. Indeed,\",\"classification_terms\":[\"page/2\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/privacy-policy\",\"status\":200,\"title\":\"Privacy Policy | This is my blog now\",\"word_count\":746,\"summary_text\":\"Privacy Policy | This is my blog now Privacy Policy | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Privacy Policy\\\",\\\"item\\\":\\\"https://bfloeser.de/privacy-policy/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"Privacy Policy\\\",\\\"name\\\":\\\"Privacy Policy\\\",\\\"description\\\":\\\"Since privacy matters to me, I will not go on about how \\\\u0026ldquo;I value your privacy\\\\u0026rdquo;.\\\\nThis website is currently hosted on a VPS, that I rent from Hetzner. I am the only person accessing it, although their staff will technically be able to do this as well, since they control the physical hardware that this\",\"classification_terms\":[\"privacy-policy\",\"about\",\"privacy\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/tags/development/\",\"status\":200,\"title\":\"Development | This is my blog now\",\"word_count\":131,\"summary_text\":\"Development | This is my blog now Development | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsDevelopmentHow To: Run shell scripts containing relative paths from anywhereHave you ever had the problem that you want to run a script but because it handles relative paths it depends on the directory it’s called from? Well, today I learned about a shell function that helps with that, called dirname. It can be fed a path and will return it with the last non-slash component and trailing slash removed. So to refer to the location a script sits in you can do simply: ...December 8, 2023&nbsp;·&nbsp;1 min&copy; 2026 This is my blog now &nbsp | &nbsp Licensed un\",\"classification_terms\":[\"tags/development\",\"about\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/tags/fedora/\",\"status\":200,\"title\":\"Fedora | This is my blog now\",\"word_count\":152,\"summary_text\":\"Fedora | This is my blog now Fedora | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsFedoraSetting up my Printer/Scanner in FedoraPrinters are devices straight from hell. Just stating a fact. Despite this unfortunate fact I can’t live without one. Digitization is woefully behind in the country I live in so there’s no way around occasionally having to scan and print stuff. Even if it’s just taxes once a year. A short while ago I bought a new printer/scanner combo because the old one died on me. I spent quite some time researching a good choice and settled on a Brother device because those are, at least in my humble experience, easy to set up on t\",\"classification_terms\":[\"tags/fedora\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/tags/fiction/\",\"status\":200,\"title\":\"Fiction | This is my blog now\",\"word_count\":203,\"summary_text\":\"Fiction | This is my blog now Fiction | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsFictionWorking efficiently with my MacBook AirI’ve changed jobs recently so I no longer had access to my trusty ThinkPad T490 running Ubuntu anymore. Instead, I was provided with a brand new MacBook Air. I’ve got to admit, I’ve always liked the look and feel of these machine (from the outside that is) but I’ve never used one myself, barring messing around with it in the local electronics shop. With that said, I had some concerns with being able to work with this thing efficiently because I was so used to my Linux setup. So in preparation I spent hours and hours\",\"classification_terms\":[\"tags/fiction\",\"about\",\"blog\",\"shop\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/tags/food/\",\"status\":200,\"title\":\"Food | This is my blog now\",\"word_count\":186,\"summary_text\":\"Food | This is my blog now Food | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsFoodThe Perfect PorridgeIntroduction I discovered my love for Scotland, especially the Highlands, in 2009 when I first visited. Where I come from it’s painfully obvious to even the most casual observer that there’s humans all around. In many places in the Scottish Highlands I felt like the land might have looked just like it does now 1000 years ago. Plus, I’m a sucker for castles so what’s not to love? On a vacation some years back I stayed at several bed and breakfasts and also discovered that I love British breakfast. The cuisine of that country is not exactly r\",\"classification_terms\":[\"tags/food\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/tags/gaming/\",\"status\":200,\"title\":\"Gaming | This is my blog now\",\"word_count\":809,\"summary_text\":\"Gaming | This is my blog now Gaming | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsGamingFinal Fantasy VII Remake - ReviewFinal Fantasy VII has been on my radar for a very long time. It have read about it more times than I can count and it was supposed to be this grand, epic, amazing experience so I figured that I should try and play it some time. Not being a console person, I haven’t grown up with the Final Fantasy series, in fact, I had almost no experience with it at all, apart from a brief look at XIII at a friend’s place. By now VII is available on Steam so there’s no reason I couldn’t just buy and play it but I must say the graphics seem\",\"classification_terms\":[\"tags/gaming\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/tags/how-to/\",\"status\":200,\"title\":\"How To | This is my blog now\",\"word_count\":580,\"summary_text\":\"How To | This is my blog now How To | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsHow ToHow To: Remove Adobe DRM from ebooks — againYou might recall that I’ve written about this before, this is round two, as you will. I was once again in need of removing DRM from my ebooks as the previous method I had stopped working. More specifically, I am talking about Adobe Digital Editions (ADE) DRM which is ubiquitous in the places I buy ebooks, especially English ones. So here’s how to do it (again). You’ll need Calibre, I am using the Flatpak version. If you’re on Linux, I recommend doing this because it is probably the most convenient way of getting\",\"classification_terms\":[\"tags/how-to\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/tags/introduction/\",\"status\":200,\"title\":\"Introduction | This is my blog now\",\"word_count\":50,\"summary_text\":\"Introduction | This is my blog now Introduction | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsIntroductionIntroductionMe saying helloSeptember 1, 2021&nbsp;·&nbsp;2 min&copy; 2026 This is my blog now &nbsp | &nbsp Licensed under CC BY-NC-ND 4.0 &nbsp | &nbsp Privacy PolicyPowered by Hugo & PaperMod &nbsp512KB CLUB GREEN TEAM let menu=document.getElementById(\\\"menu\\\");menu&&(menu.scrollLeft=localStorage.getItem(\\\"menu-scroll-position\\\"),menu.onscroll=function(){localStorage.setItem(\\\"menu-scroll-position\\\",menu.scrollLeft)}),document.querySelectorAll('a[href^=\\\"#\\\"]').forEach(e=>{e.addEventListener(\\\"click\\\",function(e){e.preventDefault();var t=this.getAttrib\",\"classification_terms\":[\"tags/introduction\",\"about\",\"privacy\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/tags/linux/\",\"status\":200,\"title\":\"Linux | This is my blog now\",\"word_count\":629,\"summary_text\":\"Linux | This is my blog now Linux | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsLinuxServer Infra UpdateI have been self-hosting for a while but mostly I have used one machine to put everything on. This makes maintenance straightforward as there’s not a lot to do to install updates and the like. Recently I started hosting my own VPN mesh as well as my own recursive DNS resolver, coupled with Pi-hole as ad blocker, each of which reside on a separate VPS. Add to that that I migrated my Home Assistant instance to a dedicated device to separate concerns there, the presence of my digital picture frame and suddenly I have to maintain five servers.\",\"classification_terms\":[\"tags/linux\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/tags/personal/\",\"status\":200,\"title\":\"Personal | This is my blog now\",\"word_count\":652,\"summary_text\":\"Personal | This is my blog now Personal | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsPersonalA New Hope (where Hope == e-reader)Since I like reading and shelf space is precious where I live I own an ebook reader. I’ve had this one for a few years now and bought it used back in the day but by now it has accumulated a sufficient amount of quirks that I needed a replacemnt. Another recent development is that I started to get more serious about ebook management (I lost quite a few over the years because I never backed them up) and now run a booklore server. It does more than I need but it’s a cool piece of software, I think (and very pretty!). ...\",\"classification_terms\":[\"tags/personal\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/tags/privacy/\",\"status\":200,\"title\":\"Privacy | This is my blog now\",\"word_count\":591,\"summary_text\":\"Privacy | This is my blog now Privacy | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsPrivacyA New Hope (where Hope == e-reader)Since I like reading and shelf space is precious where I live I own an ebook reader. I’ve had this one for a few years now and bought it used back in the day but by now it has accumulated a sufficient amount of quirks that I needed a replacemnt. Another recent development is that I started to get more serious about ebook management (I lost quite a few over the years because I never backed them up) and now run a booklore server. It does more than I need but it’s a cool piece of software, I think (and very pretty!). ...Ma\",\"classification_terms\":[\"tags/privacy\",\"about\",\"privacy\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/tags/programming/\",\"status\":200,\"title\":\"Programming | This is my blog now\",\"word_count\":580,\"summary_text\":\"Programming | This is my blog now Programming | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsProgrammingRedoing my CV and Cover Letter for Job ApplicationsI have recently decided to quit my current job and pursue a career as a developer. This decision has been in the making for a while and only matured a short time ago, still I feel like it’s the right thing for me to do. Obviously, I’ll need to apply for jobs and for that I need to get the paperwork in order. I need to update my CV to make sense when applying for coding jobs (as opposed to scientific positions in academia) and I need a cover letter for every job I’m applying to although a basic te\",\"classification_terms\":[\"tags/programming\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/tags/rambling/\",\"status\":200,\"title\":\"Rambling | This is my blog now\",\"word_count\":172,\"summary_text\":\"Rambling | This is my blog now Rambling | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsRamblingHow Am I Feeling?This is gonna be a bit of a ramble. There is loads of stuff on my mind and I figured I could just try out something new in a sort of stream-of-consciousness sort of way. Not what I usually do but it’s a new year after all! Where do I even start? I am about two and a half weeks into my ADHD medication and it’s been wild! From headaches to unrest, giddiness sleeping issues, energy bouts to lack of appetite, weight loss (and subsequent gain after changing things up) there have been lots of unusual happenings with my body and I’m still try\",\"classification_terms\":[\"tags/rambling\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/tags/review/\",\"status\":200,\"title\":\"Review | This is my blog now\",\"word_count\":368,\"summary_text\":\"Review | This is my blog now Review | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsReviewFinal Fantasy VII Remake - ReviewFinal Fantasy VII has been on my radar for a very long time. It have read about it more times than I can count and it was supposed to be this grand, epic, amazing experience so I figured that I should try and play it some time. Not being a console person, I haven’t grown up with the Final Fantasy series, in fact, I had almost no experience with it at all, apart from a brief look at XIII at a friend’s place. By now VII is available on Steam so there’s no reason I couldn’t just buy and play it but I must say the graphics seem\",\"classification_terms\":[\"tags/review\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/tags/self-hosting/\",\"status\":200,\"title\":\"Self-Hosting | This is my blog now\",\"word_count\":294,\"summary_text\":\"Self-Hosting | This is my blog now Self-Hosting | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsSelf-HostingServer Infra UpdateI have been self-hosting for a while but mostly I have used one machine to put everything on. This makes maintenance straightforward as there’s not a lot to do to install updates and the like. Recently I started hosting my own VPN mesh as well as my own recursive DNS resolver, coupled with Pi-hole as ad blocker, each of which reside on a separate VPS. Add to that that I migrated my Home Assistant instance to a dedicated device to separate concerns there, the presence of my digital picture frame and suddenly I have to maintain\",\"classification_terms\":[\"tags/self-hosting\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/tags/selfhosting/\",\"status\":200,\"title\":\"Selfhosting | This is my blog now\",\"word_count\":195,\"summary_text\":\"Selfhosting | This is my blog now Selfhosting | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsSelfhostingNext Round of Homelab UpdatesMonitoring Cleanup Has it been a week already? Time never stands still, does it? Anyhoo, I ended my last post being unsure about how exactly to do monitoring. Who watches the Watchmen? I decided to go ahead and implement something I’ve thought about previously. I installed uptime-kuma and ntfy on both my VPS and my server so they can keep tabs on each other. An Observability Mexican Standoff, if you will. Works pretty well so far, the only weakness is that none of this monitoring will do anything, if Tailscale network\",\"classification_terms\":[\"tags/selfhosting\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/tags/software/\",\"status\":200,\"title\":\"Software | This is my blog now\",\"word_count\":652,\"summary_text\":\"Software | This is my blog now Software | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsSoftwareServer Infra UpdateI have been self-hosting for a while but mostly I have used one machine to put everything on. This makes maintenance straightforward as there’s not a lot to do to install updates and the like. Recently I started hosting my own VPN mesh as well as my own recursive DNS resolver, coupled with Pi-hole as ad blocker, each of which reside on a separate VPS. Add to that that I migrated my Home Assistant instance to a dedicated device to separate concerns there, the presence of my digital picture frame and suddenly I have to maintain five se\",\"classification_terms\":[\"tags/software\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/tags/tech/\",\"status\":200,\"title\":\"Tech | This is my blog now\",\"word_count\":592,\"summary_text\":\"Tech | This is my blog now Tech | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsTechMy SubscriptionsEDIT: I totally forgot stuff so I had to edit it in! I was prompted to write this down by a blost from Matt in which he lists all the things he subscribes to and I figured I’d do the same. So here goes: Proton Unlimited - 191.76 €/24 months Managed Nextcloud - 5.11 €/month Hetzner VPS - 3.79 €/month IONOS VPS - 1 €/month Late Night Linux Podcast - 11.90 €/month This domain - $4.09 (3.51 €)/year Aaaaand that’s it, really. I didn’t count things other household members subscribe to, something like another 1 €/month for email or ~5 €/year for a lib\",\"classification_terms\":[\"tags/tech\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/tags/technology/\",\"status\":200,\"title\":\"Technology | This is my blog now\",\"word_count\":156,\"summary_text\":\"Technology | This is my blog now Technology | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\")This is my blog now AboutTagsArchiveUsesSearchHome&nbsp;»&nbsp;TagsTechnologyA New Hope (where Hope == e-reader)Since I like reading and shelf space is precious where I live I own an ebook reader. I’ve had this one for a few years now and bought it used back in the day but by now it has accumulated a sufficient amount of quirks that I needed a replacemnt. Another recent development is that I started to get more serious about ebook management (I lost quite a few over the years because I never backed them up) and now run a booklore server. It does more than I need but it’s a cool piece of software, I think (and very pretty!).\",\"classification_terms\":[\"tags/technology\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/posts/latest-vpn-land/\",\"status\":200,\"title\":\"The latest in VPN land | This is my blog now\",\"word_count\":2801,\"summary_text\":\"The latest in VPN land | This is my blog now The latest in VPN land | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"The latest in VPN land\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/latest-vpn-land/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"The latest in VPN land\\\",\\\"name\\\":\\\"The latest in VPN land\\\",\\\"description\\\":\\\"In a previous blog post I wrote about my current VPN setup and whether it might not be time to switch. I considered several options and tried almost all of them to get a feel for them.\\\\nwg-easy This p\",\"classification_terms\":[\"posts/latest-vpn-land\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/posts/adhd/\",\"status\":200,\"title\":\"It's not my Birthday — I still got ADHD | This is my blog now\",\"word_count\":1739,\"summary_text\":\"It's not my Birthday — I still got ADHD | This is my blog now It's not my Birthday — I still got ADHD | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"It's not my Birthday — I still got ADHD\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/adhd/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"It's not my Birthday — I still got ADHD\\\",\\\"name\\\":\\\"It\\\\u0027s not my Birthday — I still got ADHD\\\",\\\"description\\\":\\\" WARNING!\\\\nThis is a deeply personal post, much more so than others on this website. Proceed at your own risk.\\\\nEvery now and again I have\",\"classification_terms\":[\"posts/adhd\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/posts/final-fantasy-vii-remake-review/\",\"status\":200,\"title\":\"Final Fantasy VII Remake - Review | This is my blog now\",\"word_count\":3952,\"summary_text\":\"Final Fantasy VII Remake - Review | This is my blog now Final Fantasy VII Remake - Review | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"Final Fantasy VII Remake - Review\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/final-fantasy-vii-remake-review/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"Final Fantasy VII Remake - Review\\\",\\\"name\\\":\\\"Final Fantasy VII Remake - Review\\\",\\\"description\\\":\\\"Final Fantasy VII has been on my radar for a very long time. It have read about it more times than I can count and it was supposed to be thi\",\"classification_terms\":[\"posts/final-fantasy-vii-remake-review\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/posts/octopath-traveller-2-review/\",\"status\":200,\"title\":\"Octopath Traveller II - Review | This is my blog now\",\"word_count\":8452,\"summary_text\":\"Octopath Traveller II - Review | This is my blog now Octopath Traveller II - Review | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"Octopath Traveller II - Review\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/octopath-traveller-2-review/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"Octopath Traveller II - Review\\\",\\\"name\\\":\\\"Octopath Traveller II - Review\\\",\\\"description\\\":\\\"This game has been sitting on my wishlist for a good while now. Just a few days ago I rolled credits on it after having spent 70-80 hours on it and figured\",\"classification_terms\":[\"posts/octopath-traveller-2-review\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/posts/subscriptions/\",\"status\":200,\"title\":\"My Subscriptions | This is my blog now\",\"word_count\":598,\"summary_text\":\"My Subscriptions | This is my blog now My Subscriptions | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"My Subscriptions\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/subscriptions/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"My Subscriptions\\\",\\\"name\\\":\\\"My Subscriptions\\\",\\\"description\\\":\\\"EDIT: I totally forgot stuff so I had to edit it in!\\\\nI was prompted to write this down by a blost from Matt in which he lists all the things he subscribes to and I figured I\\\\u0026rsquo;d do the same. So here goes:\\\\nProton Unl\",\"classification_terms\":[\"posts/subscriptions\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":2},{\"path\":\"/posts/next-round-home-server/\",\"status\":200,\"title\":\"Next Round of Homelab Updates | This is my blog now\",\"word_count\":2117,\"summary_text\":\"Next Round of Homelab Updates | This is my blog now Next Round of Homelab Updates | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"Next Round of Homelab Updates\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/next-round-home-server/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"Next Round of Homelab Updates\\\",\\\"name\\\":\\\"Next Round of Homelab Updates\\\",\\\"description\\\":\\\"Monitoring Cleanup Has it been a week already? Time never stands still, does it? Anyhoo, I ended my last post being unsure about how exactly to do monitoring. Who wa\",\"classification_terms\":[\"posts/next-round-home-server\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":2},{\"path\":\"/posts/vpn-musings/\",\"status\":200,\"title\":\"VPN Musings | This is my blog now\",\"word_count\":3804,\"summary_text\":\"VPN Musings | This is my blog now VPN Musings | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"VPN Musings\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/vpn-musings/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"VPN Musings\\\",\\\"name\\\":\\\"VPN Musings\\\",\\\"description\\\":\\\"What\\\\u0026rsquo;s Up? I have been self-hosting stuff for years now. It started with Nextcloud once upon a time but by now there are a whole bunch of really useful services that run on my personal server. Said server runs in my house behind a comple\",\"classification_terms\":[\"posts/vpn-musings\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/posts/perfect-porridge/\",\"status\":200,\"title\":\"The Perfect Porridge | This is my blog now\",\"word_count\":1464,\"summary_text\":\"The Perfect Porridge | This is my blog now The Perfect Porridge | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"The Perfect Porridge\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/perfect-porridge/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"The Perfect Porridge\\\",\\\"name\\\":\\\"The Perfect Porridge\\\",\\\"description\\\":\\\"Introduction I discovered my love for Scotland, especially the Highlands, in 2009 when I first visited. Where I come from it\\\\u0026rsquo;s painfully obvious to even the most casual observer that there\\\\u0026rs\",\"classification_terms\":[\"posts/perfect-porridge\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/posts/state-of-the-homelab/\",\"status\":200,\"title\":\"State of my Homelab in August 2025 | This is my blog now\",\"word_count\":3390,\"summary_text\":\"State of my Homelab in August 2025 | This is my blog now State of my Homelab in August 2025 | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"State of my Homelab in August 2025\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/state-of-the-homelab/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"State of my Homelab in August 2025\\\",\\\"name\\\":\\\"State of my Homelab in August 2025\\\",\\\"description\\\":\\\"It\\\\u0026rsquo;s been a while since I\\\\u0026rsquo;ve last written about the stuff I self-host. Once upon a time I was simple-minded enough to believe\",\"classification_terms\":[\"posts/state-of-the-homelab\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/posts/consumerism/\",\"status\":200,\"title\":\"Consumerism and my Relationship with Money | This is my blog now\",\"word_count\":2678,\"summary_text\":\"Consumerism and my Relationship with Money | This is my blog now Consumerism and my Relationship with Money | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"Consumerism and my Relationship with Money\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/consumerism/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"Consumerism and my Relationship with Money\\\",\\\"name\\\":\\\"Consumerism and my Relationship with Money\\\",\\\"description\\\":\\\"I was inspired to write this by a blog post by Joel. I encourage you to go and read it.\\\\nGrowing up, I didn\\\\u0026rsquo;t car\",\"classification_terms\":[\"posts/consumerism\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/posts/social-dissociation/\",\"status\":200,\"title\":\"Social Dissociation | This is my blog now\",\"word_count\":1499,\"summary_text\":\"Social Dissociation | This is my blog now Social Dissociation | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"Social Dissociation\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/social-dissociation/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"Social Dissociation\\\",\\\"name\\\":\\\"Social Dissociation\\\",\\\"description\\\":\\\"Have you ever thought or talked about \\\\u0026ldquo;normies\\\\u0026rdquo;? If you\\\\u0026rsquo;re reading this, odds aren\\\\u0026rsquo;t bad that you have. We, the technically adept (or at least not completely cluele\",\"classification_terms\":[\"posts/social-dissociation\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/posts/spiderman-review/\",\"status\":200,\"title\":\"Review: Spider-Man Remastered Edition | This is my blog now\",\"word_count\":1636,\"summary_text\":\"Review: Spider-Man Remastered Edition | This is my blog now Review: Spider-Man Remastered Edition | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"Review: Spider-Man Remastered Edition\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/spiderman-review/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"Review: Spider-Man Remastered Edition\\\",\\\"name\\\":\\\"Review: Spider-Man Remastered Edition\\\",\\\"description\\\":\\\"tl;dr Overall good game. Story is decent, gameplay is pretty good but the game is way too repetitive.\\\\nOverview I bought this because it ha\",\"classification_terms\":[\"posts/spiderman-review\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/posts/download-the-chosen-from-website/\",\"status\":200,\"title\":\"How To: Download 'The Chosen' from the Official Website | This is my blog now\",\"word_count\":1049,\"summary_text\":\"How To: Download 'The Chosen' from the Official Website | This is my blog now How To: Download 'The Chosen' from the Official Website | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"How To: Download 'The Chosen' from the Official Website\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/download-the-chosen-from-website/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"How To: Download 'The Chosen' from the Official Website\\\",\\\"name\\\":\\\"How To: Download \\\\u0027The Chosen\\\\u0027 from the Official Website\\\",\\\"description\\\":\\\"If you\\\\u0026rsquo;re like me, you may wan\",\"classification_terms\":[\"posts/download-the-chosen-from-website\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":6,\"depth\":2},{\"path\":\"/posts/please-stop-lying/\",\"status\":200,\"title\":\"Please Stop Lying | This is my blog now\",\"word_count\":1571,\"summary_text\":\"Please Stop Lying | This is my blog now Please Stop Lying | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Posts\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"Please Stop Lying\\\",\\\"item\\\":\\\"https://bfloeser.de/posts/please-stop-lying/\\\"}]}{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"Please Stop Lying\\\",\\\"name\\\":\\\"Please Stop Lying\\\",\\\"description\\\":\\\"I hate lies, I hate lying and I dislike liars.\\\\nI am aware that there\\\\u0026rsquo;s philosophical debate around the issue of whether or not lying is acceptable. There seems to be a social consensus that, to a degree, ly\",\"classification_terms\":[\"posts/please-stop-lying\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/posts/printer-fedora/\",\"status\":200,\"title\":\"Setting up my Printer/Scanner in Fedora | This is my blog now\",\"word_count\":1576,\"summary_text\":\"Setting up my Printer/Scanner in Fedora | This is my blog now Setting up my Printer/Scanner in Fedora | This is my blog now#theme-toggle,.top-link{display:none}localStorage.getItem(\\\"pref-theme\\\")===\\\"light\\\"&&(document.querySelector(\\\"html\\\").dataset.theme=\\\"light\\\"){\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"Lis",
        "score_reasons_json": "[\"Category confidence was reduced, so the classifier fell back to the broader parent category.\",\"Trusted status now requires clean crawl access and stronger confidence, so this result was downgraded to caution.\"]",
        "route_domain": "bfloeser.de",
        "display_domain": "bfloeser.de"
    },
    "explainability": {
        "summary": "bfloeser.de currently scores 64/100. Technical and crawl-quality evidence are doing most of the lifting for the score. Evidence confidence is strong enough for a relatively stable read. This is an estimated profile rather than a manually tracked one. Crawler access looks clean.",
        "badges": [
            {
                "label": "Profile",
                "value": "Estimated profile",
                "tone": "unknown",
                "detail": null
            },
            {
                "label": "Evidence confidence",
                "value": "High confidence",
                "tone": "good",
                "detail": "100/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Solid confidence",
                "tone": "caution",
                "detail": "64/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "weighted_contributions": [
            {
                "label": "Quality system",
                "points": "+34.0",
                "tone": "good",
                "detail": "Technical quality, crawl depth, page structure, and implementation hygiene. Current subsystem score: 100/100."
            },
            {
                "label": "Reputation system",
                "points": "+14.6",
                "tone": "caution",
                "detail": "Authority, search visibility, reach, engagement, and registry stability. Current subsystem score: 43/100."
            },
            {
                "label": "Safety system",
                "points": "+32.0",
                "tone": "good",
                "detail": "Fraud, spam, and trust signals from infrastructure, crawl, and registry evidence. Current subsystem score: 100/100."
            },
            {
                "label": "Risk clamp",
                "points": "-17.0",
                "tone": "risk",
                "detail": "Safety thresholds capped the final score until the risk profile improves."
            }
        ],
        "evidence_cards": [
            {
                "label": "Authority and trust",
                "value": "43/100 · trust 78/100",
                "tone": "caution",
                "detail": "172 monthly visitors, 81 organic keywords, brand completeness 79/100, engagement 83/100."
            },
            {
                "label": "Backlink and search evidence",
                "value": "1 referring domains",
                "tone": "good",
                "detail": "1 backlinks across 1 referring domains. Diversity 92/100; spam penalty 0."
            },
            {
                "label": "Registry and domain stability",
                "value": "0.0 years old",
                "tone": "good",
                "detail": "Stability 100/100 · age 0.0 years."
            },
            {
                "label": "Safety and fraud posture",
                "value": "Safety 100/100 · fraud 0/100",
                "tone": "good",
                "detail": "Primary tag T · safety 100/100 · fraud 0/100."
            }
        ],
        "positives": [
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "HTTPS is working, so the site clears a basic transport-security check.",
            "Backlink diversity looks broad enough to strengthen authority confidence."
        ],
        "risks": [],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-03-26 05:48:04",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 18d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-26 05:48:03",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 18d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-13 16:25:07",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-13 16:25:07",
                "tone": "good",
                "detail": "Estimated trend derived from current profile and crawl signals. Age: 0s ago."
            },
            {
                "label": "Audience geography",
                "value": "Not captured yet",
                "tone": "unknown",
                "detail": "Audience mix is estimated from available signals rather than first-party audience logs."
            }
        ],
        "section_notes": {
            "audience": "Audience geography is estimated from category, country, traffic mix, and brand signals until first-party audience data is collected.",
            "keywords": "Top keywords are estimated from crawl language, brand, category, and visibility signals until tracked keyword snapshots are stored.",
            "history": "Rank history is estimated from the current profile because no stored history exists for this domain yet."
        },
        "base_weighted_score": 81,
        "fraud_clamp_penalty": 17,
        "final_score": 64
    },
    "insight_snapshot": {
        "version": 1,
        "generated_at": "2026-04-13T16:25:07+00:00",
        "domain": "bfloeser.de",
        "display_name": "This is my blog now",
        "is_tracked": false,
        "is_estimated": true,
        "overall_score": 64,
        "authority_score": 43,
        "trust_score": 78,
        "safety_score": 100,
        "fraud_score": 0,
        "confidence_score": 100,
        "traffic_confidence": 64,
        "last_crawled_at": "2026-03-26 05:48:04",
        "crawl_blocked": false,
        "summary": "bfloeser.de currently scores 64/100. Technical and crawl-quality evidence are doing most of the lifting for the score. Evidence confidence is strong enough for a relatively stable read. This is an estimated profile rather than a manually tracked one. Crawler access looks clean.",
        "badges": [
            {
                "label": "Profile",
                "value": "Estimated profile",
                "tone": "unknown",
                "detail": null
            },
            {
                "label": "Evidence confidence",
                "value": "High confidence",
                "tone": "good",
                "detail": "100/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Solid confidence",
                "tone": "caution",
                "detail": "64/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "top_positive_signals": [
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "HTTPS is working, so the site clears a basic transport-security check.",
            "Backlink diversity looks broad enough to strengthen authority confidence."
        ],
        "top_risk_signals": [],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-03-26 05:48:04",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 18d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-26 05:48:03",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 18d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-13 16:25:07",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-13 16:25:07",
                "tone": "good",
                "detail": "Estimated trend derived from current profile and crawl signals. Age: 0s ago."
            },
            {
                "label": "Audience geography",
                "value": "Not captured yet",
                "tone": "unknown",
                "detail": "Audience mix is estimated from available signals rather than first-party audience logs."
            }
        ],
        "top_tags": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good"
            }
        ]
    },
    "is_tracked": false,
    "is_estimated": true,
    "live_state": {
        "status": "processing",
        "status_label": "Cache build running",
        "message": "The refreshed page cache is still being built for this domain.",
        "updated_at": "2026-04-13T17:53:48+00:00"
    },
    "refresh_state": {
        "canRequest": false,
        "queued": true,
        "processing": true,
        "stageKey": "cache-queued",
        "stageLabel": "Cache build running",
        "cooldownUntil": null,
        "message": "The refreshed page cache is still being built for this domain.",
        "action": "/domain/bfloeser.de/refresh",
        "isGuestCooldown": false,
        "cooldownSeconds": 0
    },
    "urlscan_report": {
        "domain": "bfloeser.de",
        "status": "complete",
        "submitted_at": "2026-03-19T05:00:34+00:00",
        "last_checked_at": "2026-03-23T20:03:06+00:00",
        "last_error": "",
        "submitted_url": "https://bfloeser.de/",
        "summary": "urlscan.io report is ready.",
        "uuid": "019d0477-825b-707f-9c6d-4a048f8f72ed",
        "result_url": "https://urlscan.io/result/019d0477-825b-707f-9c6d-4a048f8f72ed/",
        "api_result_url": "https://urlscan.io/api/v1/result/019d0477-825b-707f-9c6d-4a048f8f72ed/",
        "visibility": "public",
        "raw_submit_response": {
            "message": "Submission successful",
            "uuid": "019d0477-825b-707f-9c6d-4a048f8f72ed",
            "result": "https://urlscan.io/result/019d0477-825b-707f-9c6d-4a048f8f72ed/",
            "api": "https://urlscan.io/api/v1/result/019d0477-825b-707f-9c6d-4a048f8f72ed/",
            "visibility": "public",
            "options": [],
            "url": "https://bfloeser.de/",
            "country": "de"
        },
        "report": {
            "data": {
                "requests": [
                    {
                        "request": {
                            "requestId": "F27F71A7EFDFE6ACC0A961A98F4C02D2",
                            "loaderId": "F27F71A7EFDFE6ACC0A961A98F4C02D2",
                            "documentURL": "https://bfloeser.de/",
                            "request": {
                                "url": "https://bfloeser.de/",
                                "method": "GET",
                                "headers": {
                                    "Upgrade-Insecure-Requests": "1",
                                    "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"
                                },
                                "mixedContentType": "none",
                                "initialPriority": "VeryHigh",
                                "referrerPolicy": "strict-origin-when-cross-origin",
                                "isSameSite": true
                            },
                            "timestamp": 13989280.725155,
                            "wallTime": 1773896434.390492,
                            "initiator": {
                                "type": "other"
                            },
                            "redirectHasExtraInfo": false,
                            "type": "Document",
                            "frameId": "222F515A7468CF8BF57A66D19DACE58B",
                            "hasUserGesture": false,
                            "primaryRequest": true
                        },
                        "response": {
                            "encodedDataLength": 7336,
                            "dataLength": 16568,
                            "requestId": "F27F71A7EFDFE6ACC0A961A98F4C02D2",
                            "type": "Document",
                            "response": {
                                "url": "https://bfloeser.de/",
                                "status": 200,
                                "statusText": "",
                                "headers": {
                                    "alt-svc": "h3=':443'; ma=86400",
                                    "content-encoding": "gzip",
                                    "content-security-policy": "default-src 'self'; script-src 'self' blob: https://logs.bfloeser.de 'unsafe-inline' https://cdn.jsdelivr.net; font-src 'self' https://cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net; connect-src 'self' https://logs.bfloeser.de",
                                    "content-type": "text/html; charset=utf-8",
                                    "date": "Thu, 19 Mar 2026 05:00:35 GMT",
                                    "etag": "\"dh11oen084fjcs8-gzip\"",
                                    "last-modified": "Thu, 12 Mar 2026 19:18:57 GMT",
                                    "permissions-policy": "accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=(), interest-cohort=()",
                                    "referrer-policy": "strict-origin-when-cross-origin",
                                    "server": "Caddy",
                                    "strict-transport-security": "max-age=31536000",
                                    "vary": "Accept-Encoding",
                                    "x-content-type-options": "nosniff",
                                    "x-frame-options": "DENY"
                                },
                                "mimeType": "text/html",
                                "charset": "utf-8",
                                "remoteIPAddress": "142.132.237.114",
                                "remotePort": 443,
                                "encodedDataLength": 569,
                                "timing": {
                                    "requestTime": 13989280.725565,
                                    "proxyStart": -1,
                                    "proxyEnd": -1,
                                    "dnsStart": 0,
                                    "dnsEnd": 29.94,
                                    "connectStart": 30.012,
                                    "connectEnd": 617.156,
                                    "sslStart": 35.529,
                                    "sslEnd": 617.15,
                                    "workerStart": -1,
                                    "workerReady": -1,
                                    "workerFetchStart": -1,
                                    "workerRespondWithSettled": -1,
                                    "sendStart": 617.249,
                                    "sendEnd": 617.325,
                                    "pushStart": 0,
                                    "pushEnd": 0,
                                    "receiveHeadersStart": 1108.813,
                                    "receiveHeadersEnd": 1109.924
                                },
                                "responseTime": 1773896435499.722,
                                "protocol": "h2",
                                "alternateProtocolUsage": "unspecifiedReason",
                                "securityState": "secure",
                                "securityDetails": {
                                    "protocol": "TLS 1.3",
                                    "keyExchange": "",
                                    "keyExchangeGroup": "X25519MLKEM768",
                                    "cipher": "AES_128_GCM",
                                    "certificateId": 0,
                                    "subjectName": "bfloeser.de",
                                    "sanList": [
                                        "bfloeser.de"
                                    ],
                                    "issuer": "E7",
                                    "validFrom": 1771382242,
                                    "validTo": 1779158241,
                                    "signedCertificateTimestampList": [
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Sectigo 'Tiger2026h1'",
                                            "logId": "16832DABF0A9250F0FF03AA545FFC8BFC823D0874BF6042927F8E71F3313F5FA",
                                            "timestamp": 1771385752844,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "3046022100A7E4A7192428B315A86C34ED297D27977096841555F81A28BF9D24919E2BDC03022100CA131D5C495B2B77B8DF92C2F381CF637CEF06CDADDED8B26920995755E9E727"
                                        },
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Geomys 'Tuscolo2026h1'",
                                            "logId": "717E95F3C2388A6DB1E384493D31E15AA96208762D4200E0050CD067B5A661E2",
                                            "timestamp": 1771385753008,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "304402200206C7DF713541B27B7359AD904DFF3169A2A57811BE3002BA0D8D1F6C769BAB022029F9645BE7735D2BEC48F2A97D72AD4AB09170CA2C12EA45E354A6C43E4DE69D"
                                        }
                                    ],
                                    "certificateTransparencyCompliance": "compliant",
                                    "serverSignatureAlgorithm": 1027,
                                    "encryptedClientHello": false
                                },
                                "securityHeaders": [
                                    {
                                        "name": "Content-Security-Policy",
                                        "value": "default-src 'self'; script-src 'self' blob: https://logs.bfloeser.de 'unsafe-inline' https://cdn.jsdelivr.net; font-src 'self' https://cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net; connect-src 'self' https://logs.bfloeser.de"
                                    },
                                    {
                                        "name": "Strict-Transport-Security",
                                        "value": "max-age=31536000"
                                    },
                                    {
                                        "name": "X-Content-Type-Options",
                                        "value": "nosniff"
                                    },
                                    {
                                        "name": "X-Frame-Options",
                                        "value": "DENY"
                                    }
                                ]
                            },
                            "hasExtraInfo": true,
                            "hash": "bf64ee86d961d6021a975ae51ae96bfe2b2a0a943fe4c1bcf61130f5cf2facdd",
                            "size": 16526,
                            "asn": {
                                "ip": "142.132.237.114",
                                "asn": "24940",
                                "country": "DE",
                                "description": "HETZNER-AS Hetzner Online GmbH, DE",
                                "name": "HETZNER-AS Hetzner Online GmbH",
                                "route": "142.132.128.0/17"
                            },
                            "geoip": {
                                "country": "DE",
                                "region": "SN",
                                "timezone": "Europe/Berlin",
                                "city": "Falkenstein",
                                "ll": [
                                    50.4777,
                                    12.3649
                                ],
                                "country_name": "Germany",
                                "metro": 0
                            },
                            "rdns": {
                                "ip": "142.132.237.114",
                                "ptr": "static.114.237.132.142.clients.your-server.de"
                            }
                        }
                    },
                    {
                        "request": {
                            "requestId": "1630524.2",
                            "loaderId": "F27F71A7EFDFE6ACC0A961A98F4C02D2",
                            "documentURL": "https://bfloeser.de/",
                            "request": {
                                "url": "https://bfloeser.de/assets/css/stylesheet.6ad7813833272fd2c25befb3b4015cd8b026aef1cfb7845a226765e0774b8b92.css",
                                "method": "GET",
                                "headers": {
                                    "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
                                    "Origin": "https://bfloeser.de",
                                    "Referer": "https://bfloeser.de/"
                                },
                                "mixedContentType": "none",
                                "initialPriority": "VeryHigh",
                                "referrerPolicy": "strict-origin-when-cross-origin",
                                "isLinkPreload": true,
                                "isSameSite": true
                            },
                            "timestamp": 13989281.849196,
                            "wallTime": 1773896435.514548,
                            "initiator": {
                                "type": "parser",
                                "url": "https://bfloeser.de/",
                                "lineNumber": 0,
                                "columnNumber": 719
                            },
                            "redirectHasExtraInfo": false,
                            "type": "Stylesheet",
                            "frameId": "222F515A7468CF8BF57A66D19DACE58B",
                            "hasUserGesture": false,
                            "renderBlockingBehavior": "NonBlocking"
                        },
                        "response": {
                            "encodedDataLength": 5070,
                            "dataLength": 18565,
                            "requestId": "1630524.2",
                            "type": "Stylesheet",
                            "response": {
                                "url": "https://bfloeser.de/assets/css/stylesheet.6ad7813833272fd2c25befb3b4015cd8b026aef1cfb7845a226765e0774b8b92.css",
                                "status": 200,
                                "statusText": "",
                                "headers": {
                                    "x-frame-options": "DENY",
                                    "strict-transport-security": "max-age=31536000",
                                    "content-security-policy": "default-src 'self'; script-src 'self' blob: https://logs.bfloeser.de 'unsafe-inline' https://cdn.jsdelivr.net; font-src 'self' https://cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net; connect-src 'self' https://logs.bfloeser.de",
                                    "cache-control": "max-age=31536000",
                                    "content-encoding": "gzip",
                                    "etag": "\"dh11oel4cq3sebp-gzip\"",
                                    "referrer-policy": "strict-origin-when-cross-origin",
                                    "x-content-type-options": "nosniff",
                                    "permissions-policy": "accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=(), interest-cohort=()",
                                    "alt-svc": "h3=':443'; ma=86400",
                                    "date": "Thu, 19 Mar 2026 05:00:35 GMT",
                                    "content-type": "text/css; charset=utf-8",
                                    "last-modified": "Thu, 12 Mar 2026 19:18:56 GMT",
                                    "server": "Caddy",
                                    "vary": "Accept-Encoding"
                                },
                                "mimeType": "text/css",
                                "charset": "utf-8",
                                "remoteIPAddress": "142.132.237.114",
                                "remotePort": 443,
                                "encodedDataLength": 97,
                                "timing": {
                                    "requestTime": 13989281.849498,
                                    "proxyStart": -1,
                                    "proxyEnd": -1,
                                    "dnsStart": -1,
                                    "dnsEnd": -1,
                                    "connectStart": -1,
                                    "connectEnd": -1,
                                    "sslStart": -1,
                                    "sslEnd": -1,
                                    "workerStart": -1,
                                    "workerReady": -1,
                                    "workerFetchStart": -1,
                                    "workerRespondWithSettled": -1,
                                    "sendStart": 0.491,
                                    "sendEnd": 0.897,
                                    "pushStart": 0,
                                    "pushEnd": 0,
                                    "receiveHeadersStart": 152.088,
                                    "receiveHeadersEnd": 153.241
                                },
                                "responseTime": 1773896435666.934,
                                "protocol": "h2",
                                "alternateProtocolUsage": "unspecifiedReason",
                                "securityState": "secure",
                                "securityDetails": {
                                    "protocol": "TLS 1.3",
                                    "keyExchange": "",
                                    "keyExchangeGroup": "X25519MLKEM768",
                                    "cipher": "AES_128_GCM",
                                    "certificateId": 0,
                                    "subjectName": "bfloeser.de",
                                    "sanList": [
                                        "bfloeser.de"
                                    ],
                                    "issuer": "E7",
                                    "validFrom": 1771382242,
                                    "validTo": 1779158241,
                                    "signedCertificateTimestampList": [
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Sectigo 'Tiger2026h1'",
                                            "logId": "16832DABF0A9250F0FF03AA545FFC8BFC823D0874BF6042927F8E71F3313F5FA",
                                            "timestamp": 1771385752844,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "3046022100A7E4A7192428B315A86C34ED297D27977096841555F81A28BF9D24919E2BDC03022100CA131D5C495B2B77B8DF92C2F381CF637CEF06CDADDED8B26920995755E9E727"
                                        },
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Geomys 'Tuscolo2026h1'",
                                            "logId": "717E95F3C2388A6DB1E384493D31E15AA96208762D4200E0050CD067B5A661E2",
                                            "timestamp": 1771385753008,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "304402200206C7DF713541B27B7359AD904DFF3169A2A57811BE3002BA0D8D1F6C769BAB022029F9645BE7735D2BEC48F2A97D72AD4AB09170CA2C12EA45E354A6C43E4DE69D"
                                        }
                                    ],
                                    "certificateTransparencyCompliance": "compliant",
                                    "serverSignatureAlgorithm": 1027,
                                    "encryptedClientHello": false
                                },
                                "securityHeaders": [
                                    {
                                        "name": "Content-Security-Policy",
                                        "value": "default-src 'self'; script-src 'self' blob: https://logs.bfloeser.de 'unsafe-inline' https://cdn.jsdelivr.net; font-src 'self' https://cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net; connect-src 'self' https://logs.bfloeser.de"
                                    },
                                    {
                                        "name": "Strict-Transport-Security",
                                        "value": "max-age=31536000"
                                    },
                                    {
                                        "name": "X-Content-Type-Options",
                                        "value": "nosniff"
                                    },
                                    {
                                        "name": "X-Frame-Options",
                                        "value": "DENY"
                                    }
                                ]
                            },
                            "hasExtraInfo": true,
                            "hash": "6ad7813833272fd2c25befb3b4015cd8b026aef1cfb7845a226765e0774b8b92",
                            "size": 18565,
                            "asn": {
                                "ip": "142.132.237.114",
                                "asn": "24940",
                                "country": "DE",
                                "description": "HETZNER-AS Hetzner Online GmbH, DE",
                                "name": "HETZNER-AS Hetzner Online GmbH",
                                "route": "142.132.128.0/17"
                            },
                            "geoip": {
                                "country": "DE",
                                "region": "SN",
                                "timezone": "Europe/Berlin",
                                "city": "Falkenstein",
                                "ll": [
                                    50.4777,
                                    12.3649
                                ],
                                "country_name": "Germany",
                                "metro": 0
                            },
                            "rdns": {
                                "ip": "142.132.237.114",
                                "ptr": "static.114.237.132.142.clients.your-server.de"
                            }
                        },
                        "initiatorInfo": {
                            "url": "https://bfloeser.de/",
                            "host": "bfloeser.de",
                            "type": "parser"
                        }
                    },
                    {
                        "request": {
                            "requestId": "1630524.3",
                            "loaderId": "F27F71A7EFDFE6ACC0A961A98F4C02D2",
                            "documentURL": "https://bfloeser.de/",
                            "request": {
                                "url": "https://logs.bfloeser.de/log_visits.js",
                                "method": "GET",
                                "headers": {
                                    "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
                                    "Referer": "https://bfloeser.de/"
                                },
                                "mixedContentType": "none",
                                "initialPriority": "Low",
                                "referrerPolicy": "strict-origin-when-cross-origin",
                                "isSameSite": true
                            },
                            "timestamp": 13989281.849335,
                            "wallTime": 1773896435.514672,
                            "initiator": {
                                "type": "parser",
                                "url": "https://bfloeser.de/",
                                "lineNumber": 0,
                                "columnNumber": 1735
                            },
                            "redirectHasExtraInfo": false,
                            "type": "Script",
                            "frameId": "222F515A7468CF8BF57A66D19DACE58B",
                            "hasUserGesture": false,
                            "renderBlockingBehavior": "NonBlocking"
                        },
                        "response": {
                            "encodedDataLength": 1902,
                            "dataLength": 2688,
                            "requestId": "1630524.3",
                            "type": "Script",
                            "response": {
                                "url": "https://logs.bfloeser.de/log_visits.js",
                                "status": 200,
                                "statusText": "",
                                "headers": {
                                    "content-security-policy": "default-src 'self'; img-src 'self' https: data:; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; connect-src 'self' https:; frame-ancestors 'self' ;",
                                    "cache-control": "public, max-age=86400, must-revalidate",
                                    "x-dns-prefetch-control": "on",
                                    "content-encoding": "gzip",
                                    "etag": "W/\"a80-19cc2d54050\"",
                                    "via": "1.1 Caddy",
                                    "accept-ranges": "bytes",
                                    "access-control-allow-origin": "*",
                                    "alt-svc": "h3=\":443\"; ma=2592000",
                                    "date": "Thu, 19 Mar 2026 05:00:35 GMT",
                                    "content-type": "application/javascript; charset=UTF-8",
                                    "last-modified": "Fri, 06 Mar 2026 11:08:01 GMT",
                                    "vary": "Accept-Encoding",
                                    "x-middleware-rewrite": "/script.js"
                                },
                                "mimeType": "application/javascript",
                                "charset": "utf-8",
                                "remoteIPAddress": "142.132.237.114",
                                "remotePort": 443,
                                "encodedDataLength": 425,
                                "timing": {
                                    "requestTime": 13989281.849637,
                                    "proxyStart": -1,
                                    "proxyEnd": -1,
                                    "dnsStart": 0.034,
                                    "dnsEnd": 27.545,
                                    "connectStart": 27.629,
                                    "connectEnd": 327.374,
                                    "sslStart": 33.357,
                                    "sslEnd": 327.37,
                                    "workerStart": -1,
                                    "workerReady": -1,
                                    "workerFetchStart": -1,
                                    "workerRespondWithSettled": -1,
                                    "sendStart": 327.44,
                                    "sendEnd": 327.484,
                                    "pushStart": 0,
                                    "pushEnd": 0,
                                    "receiveHeadersStart": 516.024,
                                    "receiveHeadersEnd": 517.193
                                },
                                "responseTime": 1773896436031.011,
                                "protocol": "h2",
                                "alternateProtocolUsage": "unspecifiedReason",
                                "securityState": "secure",
                                "securityDetails": {
                                    "protocol": "TLS 1.3",
                                    "keyExchange": "",
                                    "keyExchangeGroup": "X25519MLKEM768",
                                    "cipher": "AES_128_GCM",
                                    "certificateId": 0,
                                    "subjectName": "logs.bfloeser.de",
                                    "sanList": [
                                        "logs.bfloeser.de"
                                    ],
                                    "issuer": "E8",
                                    "validFrom": 1771310848,
                                    "validTo": 1779086847,
                                    "signedCertificateTimestampList": [
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "DigiCert 'Sphinx2026h1'",
                                            "logId": "499C9B69DE1D7CECFC36DECD8764A6B85BAF0A878019D15552FBE9EB29DDF8C3",
                                            "timestamp": 1771314358538,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "304602210086ECB038722A3A9B7C56429AE26FFAAD3A2823E973B01ADCCC5190B3E7A7E994022100D94A96D5A88C110C65359AF3A612D022A32707D09288E16A0FF50130A408A7C6"
                                        },
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Sectigo 'Elephant2026h1'",
                                            "logId": "D16EA9A568077E6635A03F37A5DDBC03A53C411214D48818F5E931B323CB9504",
                                            "timestamp": 1771314358765,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "3045022100934452361E28AEF191BA797CDFB83737F92DEC37888FAE1AEF636C14ED89D75E022051460BD3A93FAAF6DAF1BDD9B38FA01FE6EEF81F8FDD4B077256F15E5DF8F53E"
                                        }
                                    ],
                                    "certificateTransparencyCompliance": "compliant",
                                    "serverSignatureAlgorithm": 1027,
                                    "encryptedClientHello": false
                                },
                                "securityHeaders": [
                                    {
                                        "name": "Content-Security-Policy",
                                        "value": "default-src 'self'; img-src 'self' https: data:; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; connect-src 'self' https:; frame-ancestors 'self' ;"
                                    }
                                ]
                            },
                            "hasExtraInfo": true,
                            "hash": "aad6fd97ede93c8973d9555c1d3243de4013567065079baeb37b7e082eda069e",
                            "size": 2688,
                            "asn": {
                                "ip": "142.132.237.114",
                                "asn": "24940",
                                "country": "DE",
                                "description": "HETZNER-AS Hetzner Online GmbH, DE",
                                "name": "HETZNER-AS Hetzner Online GmbH",
                                "route": "142.132.128.0/17"
                            },
                            "geoip": {
                                "country": "DE",
                                "region": "SN",
                                "timezone": "Europe/Berlin",
                                "city": "Falkenstein",
                                "ll": [
                                    50.4777,
                                    12.3649
                                ],
                                "country_name": "Germany",
                                "metro": 0
                            },
                            "rdns": {
                                "ip": "142.132.237.114",
                                "ptr": "static.114.237.132.142.clients.your-server.de"
                            }
                        },
                        "initiatorInfo": {
                            "url": "https://bfloeser.de/",
                            "host": "bfloeser.de",
                            "type": "parser"
                        }
                    },
                    {
                        "request": {
                            "requestId": "1630524.7",
                            "loaderId": "F27F71A7EFDFE6ACC0A961A98F4C02D2",
                            "documentURL": "https://bfloeser.de/",
                            "request": {
                                "url": "https://logs.bfloeser.de/api/logs",
                                "method": "POST",
                                "headers": {
                                    "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
                                    "Content-Type": "application/json",
                                    "Referer": "https://bfloeser.de/"
                                },
                                "postData": "{\"type\":\"event\",\"payload\":{\"website\":\"65d593b4-bfda-47d8-82c5-6043466cd6fc\",\"screen\":\"1600x1200\",\"language\":\"de-DE\",\"title\":\"This is my blog now\",\"hostname\":\"bfloeser.de\",\"url\":\"https://bfloeser.de/\",\"referrer\":\"\"}}",
                                "hasPostData": true,
                                "postDataEntries": [
                                    {
                                        "bytes": "eyJ0eXBlIjoiZXZlbnQiLCJwYXlsb2FkIjp7IndlYnNpdGUiOiI2NWQ1OTNiNC1iZmRhLTQ3ZDgtODJjNS02MDQzNDY2Y2Q2ZmMiLCJzY3JlZW4iOiIxNjAweDEyMDAiLCJsYW5ndWFnZSI6ImRlLURFIiwidGl0bGUiOiJUaGlzIGlzIG15IGJsb2cgbm93IiwiaG9zdG5hbWUiOiJiZmxvZXNlci5kZSIsInVybCI6Imh0dHBzOi8vYmZsb2VzZXIuZGUvIiwicmVmZXJyZXIiOiIifX0="
                                    }
                                ],
                                "mixedContentType": "none",
                                "initialPriority": "High",
                                "referrerPolicy": "strict-origin-when-cross-origin",
                                "isSameSite": true
                            },
                            "timestamp": 13989282.373727,
                            "wallTime": 1773896436.039092,
                            "initiator": {
                                "type": "script",
                                "stack": {
                                    "callFrames": [
                                        {
                                            "functionName": "C",
                                            "scriptId": "245",
                                            "url": "https://logs.bfloeser.de/log_visits.js",
                                            "lineNumber": 0,
                                            "columnNumber": 1341
                                        },
                                        {
                                            "functionName": "J",
                                            "scriptId": "245",
                                            "url": "https://logs.bfloeser.de/log_visits.js",
                                            "lineNumber": 0,
                                            "columnNumber": 2302
                                        },
                                        {
                                            "functionName": "I",
                                            "scriptId": "245",
                                            "url": "https://logs.bfloeser.de/log_visits.js",
                                            "lineNumber": 0,
                                            "columnNumber": 1587
                                        }
                                    ]
                                }
                            },
                            "redirectHasExtraInfo": false,
                            "type": "Fetch",
                            "frameId": "222F515A7468CF8BF57A66D19DACE58B",
                            "hasUserGesture": false
                        },
                        "response": {
                            "encodedDataLength": 472,
                            "dataLength": 419,
                            "requestId": "1630524.7",
                            "type": "Fetch",
                            "response": {
                                "url": "https://logs.bfloeser.de/api/logs",
                                "status": 200,
                                "statusText": "",
                                "headers": {
                                    "access-control-max-age": "86400",
                                    "content-security-policy": "default-src 'self'; img-src 'self' https: data:; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; connect-src 'self' https:; frame-ancestors 'self' ;",
                                    "cache-control": "no-cache",
                                    "x-dns-prefetch-control": "on",
                                    "access-control-allow-methods": "GET, DELETE, POST, PUT",
                                    "via": "1.1 Caddy",
                                    "access-control-allow-origin": "*",
                                    "alt-svc": "h3=\":443\"; ma=2592000",
                                    "date": "Thu, 19 Mar 2026 05:00:39 GMT",
                                    "content-type": "application/json",
                                    "vary": "rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch",
                                    "x-middleware-rewrite": "/api/send",
                                    "access-control-allow-headers": "*"
                                },
                                "mimeType": "application/json",
                                "charset": "",
                                "remoteIPAddress": "142.132.237.114",
                                "remotePort": 443,
                                "encodedDataLength": 472,
                                "timing": {
                                    "requestTime": 13989286.029365,
                                    "proxyStart": -1,
                                    "proxyEnd": -1,
                                    "dnsStart": -1,
                                    "dnsEnd": -1,
                                    "connectStart": -1,
                                    "connectEnd": -1,
                                    "sslStart": -1,
                                    "sslEnd": -1,
                                    "workerStart": -1,
                                    "workerReady": -1,
                                    "workerFetchStart": -1,
                                    "workerRespondWithSettled": -1,
                                    "sendStart": 0.115,
                                    "sendEnd": 0.453,
                                    "pushStart": 0,
                                    "pushEnd": 0,
                                    "receiveHeadersStart": 405.234,
                                    "receiveHeadersEnd": 405.296
                                },
                                "responseTime": 1773896440099.942,
                                "protocol": "h2",
                                "alternateProtocolUsage": "mainJobWonRace",
                                "securityState": "secure",
                                "securityDetails": {
                                    "protocol": "TLS 1.3",
                                    "keyExchange": "",
                                    "keyExchangeGroup": "X25519MLKEM768",
                                    "cipher": "AES_128_GCM",
                                    "certificateId": 0,
                                    "subjectName": "logs.bfloeser.de",
                                    "sanList": [
                                        "logs.bfloeser.de"
                                    ],
                                    "issuer": "E8",
                                    "validFrom": 1771310848,
                                    "validTo": 1779086847,
                                    "signedCertificateTimestampList": [
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "DigiCert 'Sphinx2026h1'",
                                            "logId": "499C9B69DE1D7CECFC36DECD8764A6B85BAF0A878019D15552FBE9EB29DDF8C3",
                                            "timestamp": 1771314358538,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "304602210086ECB038722A3A9B7C56429AE26FFAAD3A2823E973B01ADCCC5190B3E7A7E994022100D94A96D5A88C110C65359AF3A612D022A32707D09288E16A0FF50130A408A7C6"
                                        },
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Sectigo 'Elephant2026h1'",
                                            "logId": "D16EA9A568077E6635A03F37A5DDBC03A53C411214D48818F5E931B323CB9504",
                                            "timestamp": 1771314358765,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "3045022100934452361E28AEF191BA797CDFB83737F92DEC37888FAE1AEF636C14ED89D75E022051460BD3A93FAAF6DAF1BDD9B38FA01FE6EEF81F8FDD4B077256F15E5DF8F53E"
                                        }
                                    ],
                                    "certificateTransparencyCompliance": "compliant",
                                    "serverSignatureAlgorithm": 1027,
                                    "encryptedClientHello": false
                                },
                                "securityHeaders": [
                                    {
                                        "name": "Content-Security-Policy",
                                        "value": "default-src 'self'; img-src 'self' https: data:; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; connect-src 'self' https:; frame-ancestors 'self' ;"
                                    }
                                ]
                            },
                            "hasExtraInfo": true,
                            "hash": "a62b077ccd372df0ce3d4646731d3b54769220ed5996030ee9eccfb8ada63cf1",
                            "size": 419,
                            "asn": {
                                "ip": "142.132.237.114",
                                "asn": "24940",
                                "country": "DE",
                                "description": "HETZNER-AS Hetzner Online GmbH, DE",
                                "name": "HETZNER-AS Hetzner Online GmbH",
                                "route": "142.132.128.0/17"
                            },
                            "geoip": {
                                "country": "DE",
                                "region": "SN",
                                "timezone": "Europe/Berlin",
                                "city": "Falkenstein",
                                "ll": [
                                    50.4777,
                                    12.3649
                                ],
                                "country_name": "Germany",
                                "metro": 0
                            },
                            "rdns": {
                                "ip": "142.132.237.114",
                                "ptr": "static.114.237.132.142.clients.your-server.de"
                            }
                        },
                        "initiatorInfo": {
                            "url": "https://logs.bfloeser.de/log_visits.js",
                            "host": "logs.bfloeser.de",
                            "type": "script"
                        }
                    },
                    {
                        "request": {
                            "requestId": "E37EE3FA24CE64BAD5F3F857F649C1DD",
                            "loaderId": "",
                            "documentURL": "https://logs.bfloeser.de/api/logs",
                            "request": {
                                "url": "https://logs.bfloeser.de/api/logs",
                                "method": "OPTIONS",
                                "headers": {
                                    "Accept": "*/*",
                                    "Access-Control-Request-Headers": "content-type",
                                    "Access-Control-Request-Method": "POST",
                                    "Origin": "https://bfloeser.de",
                                    "Sec-Fetch-Mode": "cors",
                                    "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"
                                },
                                "initialPriority": "High",
                                "referrerPolicy": "strict-origin-when-cross-origin"
                            },
                            "timestamp": 13989282.376538,
                            "wallTime": 1773896436.041875,
                            "initiator": {
                                "type": "preflight",
                                "url": "https://logs.bfloeser.de/api/logs",
                                "requestId": "1630524.7"
                            },
                            "redirectHasExtraInfo": false,
                            "type": "Other",
                            "hasUserGesture": false
                        },
                        "response": {
                            "encodedDataLength": 0,
                            "dataLength": 0,
                            "requestId": "E37EE3FA24CE64BAD5F3F857F649C1DD",
                            "type": "Preflight",
                            "response": {
                                "url": "https://logs.bfloeser.de/api/logs",
                                "status": 204,
                                "statusText": "",
                                "headers": {
                                    "access-control-allow-headers": "*",
                                    "access-control-allow-methods": "GET, DELETE, POST, PUT",
                                    "access-control-allow-origin": "*",
                                    "access-control-max-age": "86400",
                                    "allow": "OPTIONS, POST",
                                    "alt-svc": "h3=\":443\"; ma=2592000",
                                    "cache-control": "no-cache",
                                    "content-security-policy": "default-src 'self'; img-src 'self' https: data:; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; connect-src 'self' https:; frame-ancestors 'self' ;",
                                    "date": "Thu, 19 Mar 2026 05:00:39 GMT",
                                    "vary": "rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch",
                                    "via": "1.1 Caddy",
                                    "x-dns-prefetch-control": "on",
                                    "x-middleware-rewrite": "/api/send"
                                },
                                "mimeType": "",
                                "charset": "",
                                "remoteIPAddress": "142.132.237.114",
                                "remotePort": 443,
                                "encodedDataLength": 451,
                                "timing": {
                                    "requestTime": 13989282.375607,
                                    "proxyStart": -1,
                                    "proxyEnd": -1,
                                    "dnsStart": 0.338,
                                    "dnsEnd": 0.343,
                                    "connectStart": 0.343,
                                    "connectEnd": 3441.677,
                                    "sslStart": 5.974,
                                    "sslEnd": 3441.671,
                                    "workerStart": -1,
                                    "workerReady": -1,
                                    "workerFetchStart": -1,
                                    "workerRespondWithSettled": -1,
                                    "sendStart": 3441.767,
                                    "sendEnd": 3441.83,
                                    "pushStart": 0,
                                    "pushEnd": 0,
                                    "receiveHeadersStart": 3653.326,
                                    "receiveHeadersEnd": 3653.373
                                },
                                "responseTime": 1773896439694.278,
                                "protocol": "h2",
                                "alternateProtocolUsage": "mainJobWonRace",
                                "securityState": "secure",
                                "securityDetails": {
                                    "protocol": "TLS 1.3",
                                    "keyExchange": "",
                                    "keyExchangeGroup": "X25519MLKEM768",
                                    "cipher": "AES_128_GCM",
                                    "certificateId": 0,
                                    "subjectName": "logs.bfloeser.de",
                                    "sanList": [
                                        "logs.bfloeser.de"
                                    ],
                                    "issuer": "E8",
                                    "validFrom": 1771310848,
                                    "validTo": 1779086847,
                                    "signedCertificateTimestampList": [
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "DigiCert 'Sphinx2026h1'",
                                            "logId": "499C9B69DE1D7CECFC36DECD8764A6B85BAF0A878019D15552FBE9EB29DDF8C3",
                                            "timestamp": 1771314358538,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "304602210086ECB038722A3A9B7C56429AE26FFAAD3A2823E973B01ADCCC5190B3E7A7E994022100D94A96D5A88C110C65359AF3A612D022A32707D09288E16A0FF50130A408A7C6"
                                        },
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Sectigo 'Elephant2026h1'",
                                            "logId": "D16EA9A568077E6635A03F37A5DDBC03A53C411214D48818F5E931B323CB9504",
                                            "timestamp": 1771314358765,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "3045022100934452361E28AEF191BA797CDFB83737F92DEC37888FAE1AEF636C14ED89D75E022051460BD3A93FAAF6DAF1BDD9B38FA01FE6EEF81F8FDD4B077256F15E5DF8F53E"
                                        }
                                    ],
                                    "certificateTransparencyCompliance": "compliant",
                                    "serverSignatureAlgorithm": 1027,
                                    "encryptedClientHello": false
                                },
                                "securityHeaders": [
                                    {
                                        "name": "Content-Security-Policy",
                                        "value": "default-src 'self'; img-src 'self' https: data:; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; connect-src 'self' https:; frame-ancestors 'self' ;"
                                    }
                                ]
                            },
                            "hasExtraInfo": true,
                            "asn": {
                                "ip": "142.132.237.114",
                                "asn": "24940",
                                "country": "DE",
                                "description": "HETZNER-AS Hetzner Online GmbH, DE",
                                "name": "HETZNER-AS Hetzner Online GmbH",
                                "route": "142.132.128.0/17"
                            },
                            "geoip": {
                                "country": "DE",
                                "region": "SN",
                                "timezone": "Europe/Berlin",
                                "city": "Falkenstein",
                                "ll": [
                                    50.4777,
                                    12.3649
                                ],
                                "country_name": "Germany",
                                "metro": 0
                            },
                            "rdns": {
                                "ip": "142.132.237.114",
                                "ptr": "static.114.237.132.142.clients.your-server.de"
                            }
                        }
                    },
                    {
                        "request": {
                            "requestId": "1630524.8",
                            "loaderId": "F27F71A7EFDFE6ACC0A961A98F4C02D2",
                            "documentURL": "https://bfloeser.de/",
                            "request": {
                                "url": "https://bfloeser.de/favicon.ico",
                                "method": "GET",
                                "headers": {
                                    "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
                                    "Referer": "https://bfloeser.de/"
                                },
                                "mixedContentType": "none",
                                "initialPriority": "High",
                                "referrerPolicy": "strict-origin-when-cross-origin",
                                "isSameSite": true
                            },
                            "timestamp": 13989282.376264,
                            "wallTime": 1773896436.041604,
                            "initiator": {
                                "type": "other"
                            },
                            "redirectHasExtraInfo": false,
                            "type": "Other",
                            "frameId": "222F515A7468CF8BF57A66D19DACE58B",
                            "hasUserGesture": false
                        },
                        "response": {
                            "encodedDataLength": 1287,
                            "dataLength": 1141,
                            "requestId": "1630524.8",
                            "type": "Other",
                            "response": {
                                "url": "https://bfloeser.de/favicon.ico",
                                "status": 200,
                                "statusText": "",
                                "headers": {
                                    "content-encoding": "gzip",
                                    "etag": "\"dcshby6gd99wvp-gzip\"",
                                    "x-content-type-options": "nosniff",
                                    "alt-svc": "h3=':443'; ma=86400",
                                    "date": "Thu, 19 Mar 2026 05:00:36 GMT",
                                    "content-type": "image/vnd.microsoft.icon",
                                    "last-modified": "Sun, 14 Sep 2025 11:17:05 GMT",
                                    "vary": "Accept-Encoding",
                                    "x-frame-options": "DENY",
                                    "strict-transport-security": "max-age=31536000",
                                    "content-security-policy": "default-src 'self'; script-src 'self' blob: https://logs.bfloeser.de 'unsafe-inline' https://cdn.jsdelivr.net; font-src 'self' https://cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net; connect-src 'self' https://logs.bfloeser.de",
                                    "cache-control": "max-age=31536000",
                                    "referrer-policy": "strict-origin-when-cross-origin",
                                    "permissions-policy": "accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=(), interest-cohort=()",
                                    "content-length": "1166",
                                    "server": "Caddy"
                                },
                                "mimeType": "image/vnd.microsoft.icon",
                                "charset": "",
                                "remoteIPAddress": "142.132.237.114",
                                "remotePort": 443,
                                "encodedDataLength": 1287,
                                "timing": {
                                    "requestTime": 13989282.376417,
                                    "proxyStart": -1,
                                    "proxyEnd": -1,
                                    "dnsStart": -1,
                                    "dnsEnd": -1,
                                    "connectStart": -1,
                                    "connectEnd": -1,
                                    "sslStart": -1,
                                    "sslEnd": -1,
                                    "workerStart": -1,
                                    "workerReady": -1,
                                    "workerFetchStart": -1,
                                    "workerRespondWithSettled": -1,
                                    "sendStart": 0.108,
                                    "sendEnd": 0.165,
                                    "pushStart": 0,
                                    "pushEnd": 0,
                                    "receiveHeadersStart": 152.9,
                                    "receiveHeadersEnd": 153.016
                                },
                                "responseTime": 1773896436194.669,
                                "protocol": "h2",
                                "alternateProtocolUsage": "unspecifiedReason",
                                "securityState": "secure",
                                "securityDetails": {
                                    "protocol": "TLS 1.3",
                                    "keyExchange": "",
                                    "keyExchangeGroup": "X25519MLKEM768",
                                    "cipher": "AES_128_GCM",
                                    "certificateId": 0,
                                    "subjectName": "bfloeser.de",
                                    "sanList": [
                                        "bfloeser.de"
                                    ],
                                    "issuer": "E7",
                                    "validFrom": 1771382242,
                                    "validTo": 1779158241,
                                    "signedCertificateTimestampList": [
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Sectigo 'Tiger2026h1'",
                                            "logId": "16832DABF0A9250F0FF03AA545FFC8BFC823D0874BF6042927F8E71F3313F5FA",
                                            "timestamp": 1771385752844,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "3046022100A7E4A7192428B315A86C34ED297D27977096841555F81A28BF9D24919E2BDC03022100CA131D5C495B2B77B8DF92C2F381CF637CEF06CDADDED8B26920995755E9E727"
                                        },
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Geomys 'Tuscolo2026h1'",
                                            "logId": "717E95F3C2388A6DB1E384493D31E15AA96208762D4200E0050CD067B5A661E2",
                                            "timestamp": 1771385753008,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "304402200206C7DF713541B27B7359AD904DFF3169A2A57811BE3002BA0D8D1F6C769BAB022029F9645BE7735D2BEC48F2A97D72AD4AB09170CA2C12EA45E354A6C43E4DE69D"
                                        }
                                    ],
                                    "certificateTransparencyCompliance": "compliant",
                                    "serverSignatureAlgorithm": 1027,
                                    "encryptedClientHello": false
                                },
                                "securityHeaders": [
                                    {
                                        "name": "Content-Security-Policy",
                                        "value": "default-src 'self'; script-src 'self' blob: https://logs.bfloeser.de 'unsafe-inline' https://cdn.jsdelivr.net; font-src 'self' https://cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net; connect-src 'self' https://logs.bfloeser.de"
                                    },
                                    {
                                        "name": "Strict-Transport-Security",
                                        "value": "max-age=31536000"
                                    },
                                    {
                                        "name": "X-Content-Type-Options",
                                        "value": "nosniff"
                                    },
                                    {
                                        "name": "X-Frame-Options",
                                        "value": "DENY"
                                    }
                                ]
                            },
                            "hasExtraInfo": true,
                            "hash": "7fca2df08efbef6ab3f8cfdacece13ed547e0aece4feb03a90f756bfa062360d",
                            "size": 1524,
                            "asn": {
                                "ip": "142.132.237.114",
                                "asn": "24940",
                                "country": "DE",
                                "description": "HETZNER-AS Hetzner Online GmbH, DE",
                                "name": "HETZNER-AS Hetzner Online GmbH",
                                "route": "142.132.128.0/17"
                            },
                            "geoip": {
                                "country": "DE",
                                "region": "SN",
                                "timezone": "Europe/Berlin",
                                "city": "Falkenstein",
                                "ll": [
                                    50.4777,
                                    12.3649
                                ],
                                "country_name": "Germany",
                                "metro": 0
                            },
                            "rdns": {
                                "ip": "142.132.237.114",
                                "ptr": "static.114.237.132.142.clients.your-server.de"
                            }
                        }
                    }
                ],
                "cookies": [],
                "console": [],
                "links": [
                    {
                        "href": "https://polymaths.social/@thedoctor",
                        "text": "",
                        "frameId": "222F515A7468CF8BF57A66D19DACE58B"
                    },
                    {
                        "href": "https://codeberg.org/theDoctor",
                        "text": "",
                        "frameId": "222F515A7468CF8BF57A66D19DACE58B"
                    },
                    {
                        "href": "https://github.com/DocKDE",
                        "text": "",
                        "frameId": "222F515A7468CF8BF57A66D19DACE58B"
                    },
                    {
                        "href": "https://creativecommons.org/licenses/by-nc-nd/4.0/deed.en",
                        "text": "CC BY-NC-ND 4.0",
                        "frameId": "222F515A7468CF8BF57A66D19DACE58B"
                    },
                    {
                        "href": "https://gohugo.io/",
                        "text": "Hugo",
                        "frameId": "222F515A7468CF8BF57A66D19DACE58B"
                    },
                    {
                        "href": "https://git.io/hugopapermod",
                        "text": "PaperMod",
                        "frameId": "222F515A7468CF8BF57A66D19DACE58B"
                    },
                    {
                        "href": "https://512kb.club/",
                        "text": "512KB CLUB GREEN TEAM",
                        "frameId": "222F515A7468CF8BF57A66D19DACE58B"
                    }
                ],
                "timing": {
                    "beginNavigation": "2026-03-19T05:00:34.388Z",
                    "frameStartedLoading": "2026-03-19T05:00:34.390Z",
                    "frameNavigated": "2026-03-19T05:00:35.524Z",
                    "domContentEventFired": "2026-03-19T05:00:36.038Z",
                    "frameStoppedLoading": "2026-03-19T05:00:36.041Z"
                },
                "globals": [
                    {
                        "prop": "mybutton",
                        "type": "object"
                    },
                    {
                        "prop": "umami",
                        "type": "object"
                    },
                    {
                        "prop": "menu",
                        "type": "unknown",
                        "source": "globalScope"
                    }
                ],
                "storages": []
            },
            "lists": {
                "ips": [
                    "142.132.237.114"
                ],
                "countries": [
                    "DE"
                ],
                "asns": [
                    "24940"
                ],
                "domains": [
                    "logs.bfloeser.de",
                    "bfloeser.de"
                ],
                "servers": [
                    "Caddy"
                ],
                "urls": [
                    "https://bfloeser.de/",
                    "https://bfloeser.de/assets/css/stylesheet.6ad7813833272fd2c25befb3b4015cd8b026aef1cfb7845a226765e0774b8b92.css",
                    "https://logs.bfloeser.de/log_visits.js",
                    "https://logs.bfloeser.de/api/logs",
                    "https://bfloeser.de/favicon.ico"
                ],
                "linkDomains": [
                    "polymaths.social",
                    "codeberg.org",
                    "github.com",
                    "creativecommons.org",
                    "gohugo.io",
                    "git.io",
                    "512kb.club"
                ],
                "certificates": [
                    {
                        "subjectName": "bfloeser.de",
                        "issuer": "E7",
                        "validFrom": 1771382242,
                        "validTo": 1779158241
                    },
                    {
                        "subjectName": "logs.bfloeser.de",
                        "issuer": "E8",
                        "validFrom": 1771310848,
                        "validTo": 1779086847
                    }
                ],
                "hashes": [
                    "bf64ee86d961d6021a975ae51ae96bfe2b2a0a943fe4c1bcf61130f5cf2facdd",
                    "6ad7813833272fd2c25befb3b4015cd8b026aef1cfb7845a226765e0774b8b92",
                    "aad6fd97ede93c8973d9555c1d3243de4013567065079baeb37b7e082eda069e",
                    "a62b077ccd372df0ce3d4646731d3b54769220ed5996030ee9eccfb8ada63cf1",
                    "7fca2df08efbef6ab3f8cfdacece13ed547e0aece4feb03a90f756bfa062360d"
                ]
            },
            "meta": {
                "processors": {
                    "umbrella": {
                        "data": []
                    },
                    "geoip": {
                        "data": [
                            {
                                "ip": "142.132.237.114",
                                "geoip": {
                                    "country": "DE",
                                    "region": "SN",
                                    "timezone": "Europe/Berlin",
                                    "city": "Falkenstein",
                                    "ll": [
                                        50.4777,
                                        12.3649
                                    ],
                                    "country_name": "Germany",
                                    "metro": 0
                                }
                            }
                        ]
                    },
                    "asn": {
                        "data": [
                            {
                                "ip": "142.132.237.114",
                                "asn": "24940",
                                "country": "DE",
                                "description": "HETZNER-AS Hetzner Online GmbH, DE",
                                "name": "HETZNER-AS Hetzner Online GmbH",
                                "route": "142.132.128.0/17"
                            }
                        ]
                    },
                    "rdns": {
                        "data": [
                            {
                                "ip": "142.132.237.114",
                                "ptr": "static.114.237.132.142.clients.your-server.de"
                            }
                        ]
                    },
                    "wappa": {
                        "data": []
                    }
                }
            },
            "page": {
                "asn": "AS24940",
                "asnname": "HETZNER-AS Hetzner Online GmbH, DE",
                "city": "Falkenstein",
                "country": "DE",
                "domain": "bfloeser.de",
                "ip": "142.132.237.114",
                "ptr": "static.114.237.132.142.clients.your-server.de",
                "server": "Caddy",
                "url": "https://bfloeser.de/",
                "apexDomainAgeDays": 1646,
                "language": "en",
                "mimeType": "text/html",
                "title": "This is my blog now",
                "tlsValidDays": 89,
                "tlsAgeDays": 29,
                "domainAgeDays": 1646,
                "tlsValidFrom": "2026-02-18T02:37:22.000Z",
                "apexDomain": "bfloeser.de",
                "tlsIssuer": "E7",
                "status": "200"
            },
            "scanner": {
                "country": "de"
            },
            "stats": {
                "IPv6Percentage": 0,
                "adBlocked": 0,
                "domainStats": [
                    {
                        "count": 3,
                        "ips": [
                            "142.132.237.114"
                        ],
                        "domain": "logs.bfloeser.de",
                        "size": 3107,
                        "encodedSize": 2374,
                        "countries": [
                            "DE"
                        ],
                        "index": 2,
                        "initiators": [
                            "bfloeser.de",
                            "logs.bfloeser.de"
                        ],
                        "redirects": 0
                    },
                    {
                        "count": 3,
                        "ips": [
                            "142.132.237.114"
                        ],
                        "domain": "bfloeser.de",
                        "size": 36274,
                        "encodedSize": 13693,
                        "countries": [
                            "DE"
                        ],
                        "index": 0,
                        "initiators": [
                            "bfloeser.de"
                        ],
                        "redirects": 0
                    }
                ],
                "ipStats": [
                    {
                        "requests": 6,
                        "domains": [
                            "bfloeser.de",
                            "logs.bfloeser.de"
                        ],
                        "ip": "142.132.237.114",
                        "asn": {
                            "ip": "142.132.237.114",
                            "asn": "24940",
                            "country": "DE",
                            "description": "HETZNER-AS Hetzner Online GmbH, DE",
                            "name": "HETZNER-AS Hetzner Online GmbH",
                            "route": "142.132.128.0/17"
                        },
                        "dns": [],
                        "geoip": {
                            "country": "DE",
                            "region": "SN",
                            "timezone": "Europe/Berlin",
                            "city": "Falkenstein",
                            "ll": [
                                50.4777,
                                12.3649
                            ],
                            "country_name": "Germany",
                            "metro": 0
                        },
                        "size": 39381,
                        "encodedSize": 16067,
                        "countries": [
                            "DE"
                        ],
                        "index": 0,
                        "ipv6": false,
                        "redirects": 0,
                        "count": null,
                        "rdns": {
                            "ip": "142.132.237.114",
                            "ptr": "static.114.237.132.142.clients.your-server.de"
                        }
                    }
                ],
                "malicious": 0,
                "protocolStats": [
                    {
                        "count": 6,
                        "size": 39381,
                        "encodedSize": 16067,
                        "ips": [
                            "142.132.237.114"
                        ],
                        "countries": [
                            "DE"
                        ],
                        "securityState": [],
                        "protocol": "h2"
                    }
                ],
                "regDomainStats": [
                    {
                        "count": 6,
                        "ips": [
                            "142.132.237.114"
                        ],
                        "regDomain": "bfloeser.de",
                        "size": 39381,
                        "encodedSize": 16067,
                        "countries": [],
                        "index": 0,
                        "subDomains": [
                            {
                                "domain": "",
                                "country": "DE"
                            },
                            {
                                "domain": "logs",
                                "country": "DE"
                            }
                        ],
                        "redirects": 0
                    }
                ],
                "resourceStats": [
                    {
                        "count": 1,
                        "size": 1141,
                        "encodedSize": 1287,
                        "latency": 0,
                        "countries": [
                            "DE"
                        ],
                        "ips": [
                            "142.132.237.114"
                        ],
                        "type": "Other",
                        "compression": "0.9",
                        "percentage": 16
                    },
                    {
                        "count": 1,
                        "size": 0,
                        "encodedSize": 0,
                        "latency": 0,
                        "countries": [
                            "DE"
                        ],
                        "ips": [
                            "142.132.237.114"
                        ],
                        "type": "Preflight",
                        "compression": "NaN",
                        "percentage": 16
                    },
                    {
                        "count": 1,
                        "size": 419,
                        "encodedSize": 472,
                        "latency": 0,
                        "countries": [
                            "DE"
                        ],
                        "ips": [
                            "142.132.237.114"
                        ],
                        "type": "Fetch",
                        "compression": "0.9",
                        "percentage": 16
                    },
                    {
                        "count": 1,
                        "size": 2688,
                        "encodedSize": 1902,
                        "latency": 0,
                        "countries": [
                            "DE"
                        ],
                        "ips": [
                            "142.132.237.114"
                        ],
                        "type": "Script",
                        "compression": "1.4",
                        "percentage": 16
                    },
                    {
                        "count": 1,
                        "size": 18565,
                        "encodedSize": 5070,
                        "latency": 0,
                        "countries": [
                            "DE"
                        ],
                        "ips": [
                            "142.132.237.114"
                        ],
                        "type": "Stylesheet",
                        "compression": "3.7",
                        "percentage": 16
                    },
                    {
                        "count": 1,
                        "size": 16568,
                        "encodedSize": 7336,
                        "latency": 0,
                        "countries": [
                            "DE"
                        ],
                        "ips": [
                            "142.132.237.114"
                        ],
                        "type": "Document",
                        "compression": "2.3",
                        "percentage": 16
                    }
                ],
                "securePercentage": 100,
                "secureRequests": 6,
                "serverStats": [
                    {
                        "count": 3,
                        "size": 36274,
                        "encodedSize": 13693,
                        "ips": [
                            "142.132.237.114"
                        ],
                        "countries": [
                            "DE"
                        ],
                        "server": "Caddy"
                    }
                ],
                "tlsStats": [
                    {
                        "count": 6,
                        "size": 39381,
                        "encodedSize": 16067,
                        "ips": [
                            "142.132.237.114"
                        ],
                        "countries": [
                            "DE"
                        ],
                        "protocols": {
                            "TLS 1.3 /  / AES_128_GCM": 6
                        },
                        "securityState": "secure"
                    }
                ],
                "totalLinks": 7,
                "uniqCountries": 1
            },
            "submitter": {
                "country": "GB"
            },
            "task": {
                "method": "api",
                "source": "fb1d0777",
                "tags": [
                    "website-rank",
                    "bfloeser.de"
                ],
                "time": "2026-03-19T05:00:41.117Z",
                "url": "https://bfloeser.de/",
                "uuid": "019d0477-825b-707f-9c6d-4a048f8f72ed",
                "visibility": "public",
                "reportURL": "https://urlscan.io/result/019d0477-825b-707f-9c6d-4a048f8f72ed/",
                "screenshotURL": "https://urlscan.io/screenshots/019d0477-825b-707f-9c6d-4a048f8f72ed.png",
                "domURL": "https://urlscan.io/dom/019d0477-825b-707f-9c6d-4a048f8f72ed/",
                "domain": "bfloeser.de",
                "apexDomain": "bfloeser.de"
            },
            "verdicts": {
                "overall": {
                    "score": 0,
                    "categories": [],
                    "brands": [],
                    "tags": [],
                    "malicious": false,
                    "hasVerdicts": true
                },
                "urlscan": {
                    "score": 0,
                    "categories": [],
                    "brands": [],
                    "tags": [],
                    "malicious": false,
                    "hasVerdicts": false
                },
                "engines": {
                    "score": 14,
                    "malicious": true,
                    "categories": [],
                    "enginesTotal": 0,
                    "maliciousTotal": 0,
                    "benignTotal": 0,
                    "maliciousVerdicts": [],
                    "benignVerdicts": [],
                    "hasVerdicts": true,
                    "tags": [
                        "urlscan-ml",
                        "urlscan-ml-60c5e22"
                    ]
                },
                "community": {
                    "score": 0,
                    "categories": [],
                    "brands": [],
                    "votesTotal": 0,
                    "votesMalicious": 0,
                    "votesBenign": 0,
                    "malicious": false,
                    "hasVerdicts": false
                }
            }
        },
        "report_summary": {
            "page_url": "https://bfloeser.de/",
            "page_domain": "bfloeser.de",
            "ip": "142.132.237.114",
            "country": "DE",
            "server": "Caddy",
            "asn": "AS24940",
            "status_code": 200,
            "screenshot_url": "https://urlscan.io/screenshots/019d0477-825b-707f-9c6d-4a048f8f72ed.png",
            "report_url": "https://urlscan.io/result/019d0477-825b-707f-9c6d-4a048f8f72ed/",
            "requests": 0,
            "unique_countries": 1,
            "domains": 0,
            "malicious": false,
            "classification": "",
            "verdict_text": "No clear malicious classification",
            "brands": [],
            "labels": [],
            "lists": {
                "ips": [
                    "142.132.237.114"
                ],
                "countries": [
                    "DE"
                ],
                "asns": [
                    "24940"
                ],
                "domains": [
                    "logs.bfloeser.de",
                    "bfloeser.de"
                ],
                "servers": [
                    "Caddy"
                ],
                "urls": [
                    "https://bfloeser.de/",
                    "https://bfloeser.de/assets/css/stylesheet.6ad7813833272fd2c25befb3b4015cd8b026aef1cfb7845a226765e0774b8b92.css",
                    "https://logs.bfloeser.de/log_visits.js",
                    "https://logs.bfloeser.de/api/logs",
                    "https://bfloeser.de/favicon.ico"
                ],
                "linkDomains": [
                    "polymaths.social",
                    "codeberg.org",
                    "github.com",
                    "creativecommons.org",
                    "gohugo.io",
                    "git.io",
                    "512kb.club"
                ],
                "certificates": [
                    {
                        "subjectName": "bfloeser.de",
                        "issuer": "E7",
                        "validFrom": 1771382242,
                        "validTo": 1779158241
                    },
                    {
                        "subjectName": "logs.bfloeser.de",
                        "issuer": "E8",
                        "validFrom": 1771310848,
                        "validTo": 1779086847
                    }
                ],
                "hashes": [
                    "bf64ee86d961d6021a975ae51ae96bfe2b2a0a943fe4c1bcf61130f5cf2facdd",
                    "6ad7813833272fd2c25befb3b4015cd8b026aef1cfb7845a226765e0774b8b92",
                    "aad6fd97ede93c8973d9555c1d3243de4013567065079baeb37b7e082eda069e",
                    "a62b077ccd372df0ce3d4646731d3b54769220ed5996030ee9eccfb8ada63cf1",
                    "7fca2df08efbef6ab3f8cfdacece13ed547e0aece4feb03a90f756bfa062360d"
                ]
            }
        },
        "completed_at": "2026-03-23T20:03:07+00:00",
        "is_fresh": false,
        "can_retry": true,
        "poll_after_seconds": 20
    }
}