Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

links: the weekly report lists the same ~27 bot-blocked hosts every week; add a per-entry hint and check licence URLs too

未关闭
#89 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
38/100
Issue 类型
功能
描述清晰度
描述清楚
活跃度
活跃

调研方向

Start with site/check-links.mjs for fetching and weekly report rendering, site/lib/link-check.mjs for status handling, and checks.mjs plus checks.test.mjs for Evidence URL parsing and validation. Read the current link-check flow and its tests first. Done means known blocked hosts can be recorded as checked by hand, retry and Evidence URL checks are reported, and tests cover the new field or allowlist.

由索引模型根据 Issue 内容生成。

描述

enhancement hardening priority: medium

Why it matters
Issue #77 (regenerated every Monday) carries a collapsed "Refused the checker (27)" list: Fab, BlenderKit, CloudCompare and other hosts return 403 to a plain fetch no matter how healthy the source is. The maintainer has to open each by hand every week, and nothing records that a host was already checked in a browser. Meanwhile the checker only fetches the entry's url; the licence page an Evidence line points to is never fetched, although that page disappearing is exactly the event the catalog exists to catch.

Evidence

  • site/check-links.mjs:56-63 sends one fetch with a generic UA and no retry; site/lib/link-check.mjs:29 maps 401/403/429 straight to blocked.
  • site/check-links.mjs:159 renders the recurring "Refused the checker" section.
  • #77 body: 27 blocked, 0 dead, 0 moved, 3 maintenance mismatches, so nearly all weekly noise is the blocked list.
  • docs/review-ledger.md (2026-10-13): "Fab listings in a browser (plain fetches return 403)".

Suggested approach

  1. Add an optional frontmatter field such as link_check: manual (with a short reason) that the validator accepts and the checker uses to list the entry under "checked by hand on " instead of "Refused". A host allowlist in site/config.json would also work and needs no per-entry edits.
  2. On 403/429, retry once with browser-like User-Agent, Accept-Language and Sec-Fetch-* headers.
  3. Also fetch any https:// URL in ## Evidence lines (already parsed by checks.mjs for dates) and report a dead licence page as its own section.
  4. Only include the blocked list when it changed since the previous run.

Done when
The weekly issue shows no recurring "Refused" rows for known hosts, a dead licence URL is reported, and checks.test.mjs covers the new field or allowlist.

主要语言
JavaScript
星标
58
派生
15
平均合并
16 小时 53 分钟
30 天内合并 PR
14

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

TMHSDigital/Free-Game-Dev-Assets 的其他 Issue

查看 TMHSDigital/Free-Game-Dev-Assets 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。