Self hosted trail mapping and GPS tracking with Wanderer

@selfhosted

I deployed an instance of Wanderer and defined a route in preparation for my upcoming trip to The Great Smokey Mountains National Park next week. This service uses #ActivityPub but I haven’t been able to follow my account from #Mastodon yet… Even so I’m glad to add this to my #selfhosted arsenal. I will be live streaming on #Owncast during my hike, and I’ll also edit the footage for #PeerTube.

https://wanderer.eom.dev/trail/view/@[email protected]/7eb769b9157c8c7?share=ojps3c4mo6q0v169l14sj4i5dkje867s

  • curbstickle@anarchist.nexus
    shield
    M
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 months ago

    @[email protected] we have some detailed rules on project postings in [email protected] around project promo posts, but I’m not sure how easily that can be handled with non-threadiverse posts, so I’m going to note what I saw here.

    • There is AI assistance in the project, as Claude is a contributor
    • I only saw a single commit with Claude, which specifically was used to add some constraints around IPs:

    fix: close SSRF in /api/v1/trail/download (GHSA-7vqq-mjjr-h9j5) (#1104)

    • fix: close SSRF in /api/v1/trail/download (GHSA-7vqq-mjjr-h9j5)

    The endpoint fetched a user-supplied URL with no validation, letting
    unauthenticated requests reach internal services (PocketBase, Meilisearch)
    and cloud metadata endpoints. Add auth gating, protocol/hostname
    allowlisting, and DNS-resolved IP validation against private/reserved
    ranges (IPv4 and IPv6, including tunneled addresses like 6to4/Teredo/NAT64).
    The connection is pinned to the validated IP and redirects are rejected
    outright, closing the DNS-rebinding and redirect-based bypasses of a
    naive resolve-then-fetch check.

    Co-Authored-By: Claude Sonnet 5 [email protected]

    • fix url import modal loading

    • allow max 5 redirects


    Co-authored-by: Christian Beutel <>
    Co-authored-by: Claude Sonnet 5 [email protected]

    Which puts this at pair for implementation, but again only for this one commit as far as I can see.