Many Lemmy instances are misconfigured, which can break progressive video streaming and even basic image loading in strange ways. The latest default lemmy-ansible config handles this correctly, but many instances use custom proxy setups that cause issues. This tool will check that:

  • ✅ The instance supports HTTP range requests for proper video streaming
  • ✅ CORS headers are properly set for API and pictrs media

The instance result shows:

discuss.tchncs.de ❌ Error: Failed to fetch

  • JRaccoon@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    0
    ·
    24 hours ago

    Seems to be a CORS issue. A GET request to https://discuss.tchncs.de/pictrs/image/2254acd7-9ce1-4b07-b334-15631f2847e2.png is correctly responded to with a single Allow-Origin header:

    Access-Control-Allow-Origin: *
    

    However, the problem occurs when a browser makes that request. It adds an Origin header (For example, Origin: https://aeharding.github.io/ in this case), and then the server responds with two Allow-Origin headers, which is invalid:

    access-control-allow-origin: https://aeharding.github.io/
    Access-Control-Allow-Origin: *
    

    (Note the different capitalization.)

    Ignoring that, it also seems that the server does not support the Range header. Requesting the same image with the header:

    Range: bytes=0-1
    

    returns the full image instead of the requested partial content. This effectively means that while video/audio files hosted on this instance will play, features like fast forwarding won’t work properly. This is something @milan@discuss.tchncs.de will probably want to take a look at some point.