fix: stop external link checker false positives (User-Agent + redirect exclusions) - #596
Merged
Merged
Conversation
Swap the external lychee check's User-Agent from curl/8.4.0 to a real browser UA string, which several sites (podcastaddict.com, developers.redhat.com) bot-detect and serve a fake 403/404 to. Add .lycheeignore entries for gitter.im and insights.lfx.linuxfoundation.org, which still fail for reasons lychee's HTTP client can't work around even after the UA fix (an unfollowed redirect and a TLS handshake incompatibility respectively), both verified to load fine in a real browser. Closes #595 Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Yacine Kheddache <yacine@microcks.io>
yada
force-pushed
the
fix/lychee-external-link-false-positives
branch
from
September 19, 2026 00:22
e3c6e88 to
2e5ee8e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes #595.
Two changes to
.github/workflows/external-link-check.ymland.lycheeignore:--user-agentfromcurl/8.4.0to a realbrowser UA string. Several sites (podcastaddict.com,
developers.redhat.com) bot-detect the curl UA and serve a fake
403/404 to it; with a browser UA they return content normally.
.lycheeignoreentries forgitter.imandinsights.lfx.linuxfoundation.org, which fail for reasons lychee'sHTTP client can't work around even after the UA fix, and are verified
to load fine in a real browser:
gitter.im: fix: replace dead Gitter link with Discord invite in blog post #594 already replaced the non-historical Gitter linkin the 1.0.0 release post with the Discord invite. The remaining
gitter.imlink in the 1.1.0 release post is intentionally kept(historical announcement of the Gitter→Discord move) and 301s to
app.gitter.im — a redirect lychee won't follow regardless of
--max-redirects.insights.lfx.linuxfoundation.org: TLS handshake fails forlychee's client specifically, confirmed independent of User-Agent.
Verification
Ran the actual
lycheebinary locally with the workflow's exact flagsagainst every external link flagged in #584:
reported as errors (404).
OK, along with openapi.org and the twoasciinema.org links.
.lycheeignore): the remaining gitter.im link (in the1.1.0 release post) and insights.lfx.linuxfoundation.org move from
ErrortoExcluded.barcelonajug.org, the removed YouTube video) are still correctly
reported as errors — this change does not mask real breakage.
Related issue(s)
Relates to #584
Generated with Claude Code