DIYgod/RSSHub · error · ConfigNotFoundError
Zodgame RSS is disabled due to the lack of <a href="https://
Error message
Zodgame RSS is disabled due to the lack of <a href="https://docs.rsshub.app/deploy/config#route-specific-configurations">relevant config</a>
What it means
A `ConfigNotFoundError` at lib/routes/zodgame/forum.tsx:42 when `config.zodgame.cookie` is `undefined`, meaning the `ZODGAME_COOKIE` environment variable was not set. Zodgame (zodgame.xyz) requires an authenticated session cookie to access its Discuz mobile API. Without it, every request would return a login page, so the route refuses to run entirely. The route declares this via `features.requireConfig` with the ZODGAME_COOKIE key.
Source
Thrown at lib/routes/zodgame/forum.tsx:42
requirePuppeteer: false,
antiCrawler: false,
supportBT: false,
supportPodcast: false,
supportScihub: false,
nsfw: true,
},
name: 'forum',
maintainers: ['FeCCC'],
handler,
};
async function handler(ctx) {
const fid = ctx.req.param('fid');
const subUrl = `${rootUrl}/api/mobile/index.php?version=4&module=forumdisplay&fid=${fid}`;
const cookie = config.zodgame.cookie;
if (cookie === undefined) {
throw new ConfigNotFoundError('Zodgame RSS is disabled due to the lack of <a href="https://docs.rsshub.app/deploy/config#route-specific-configurations">relevant config</a>');
}
const response = await got({
method: 'get',
url: subUrl,
headers: {
Cookie: cookie,
},
});
const info = response.data.Variables;
const ThreadList = info.forum_threadlist
.map((item) => {
const type = info.threadtypes.types[item.typeid];
if (!type) {
return;
}View on GitHub (pinned to bed535e087)
Solutions
- Log into zodgame.xyz in a browser, open DevTools → Application → Cookies, copy the full cookie string (especially the session auth cookies).
- Set the `ZODGAME_COOKIE` environment variable to that cookie string (format: `key1=value1; key2=value2`).
- Restart RSSHub so config is re-read.
- If the cookie has expired, repeat the harvest — Discuz session cookies have a finite lifetime.
Defensive patterns
Strategy: validation
Validate before calling
if (!process.env.ZODGAME_COOKIE) {
throw new Error('ZODGAME_COOKIE environment variable is not set. Zodgame RSS will be unavailable.');
} Prevention
- Set ZODGAME_COOKIE in the RSSHub environment before enabling the zodgame route.
- Harvest the cookie from a logged-in zodgame.xyz browser session (DevTools → Network → copy Cookie header).
- Discuz session cookies expire — refresh the cookie periodically.
- Use the requireConfig feature flag so RSSHub shows the route as configuration-required in documentation.
When it happens
Trigger: Self-hosted RSSHub instance without ZODGAME_COOKIE in the environment; the env var name is misspelled; the value is set but empty string (note: empty string is not undefined, so empty string would bypass this check but fail at the API).
Common situations: New deployment missing the env var; docker-compose/env file doesn't include ZODGAME_COOKIE; cookie expired and was removed but env var unset rather than refreshed.
Related errors
- 该 RSS 源由于配置不正确而被禁用:令牌丢失。
- 该 RSS 源由于配置不正确而被禁用:令牌丢失。
- BAIDU_COOKIE must contain BDUSS. Please check your cookie co
- 缺少对应 loginUid 的 Bilibili 用户登录后的 Cookie 值 <a href="https://do
- 缺少对应 uid 的 Bilibili 用户登录后的 Cookie 值
AI-assisted analysis of DIYgod/RSSHub@bed535e087 (2026-08-12).
Data as JSON: /api/errors/11c7efe4b5a657b8.
Report an issue: GitHub.