Commit Graph

8420 Commits

Author SHA1 Message Date
Tony b84bb92a8a
style: replace unicorn/no-for-loop w/ typescript/prefer-for-of (#20798)
* style: replace unicorn/no-for-loop w/ typescript/prefer-for-of

* style: fix typescript-eslint/prefer-for-of

* style: fix typescript/no-inferrable-types

* style: fix typescript-eslint/consistent-generic-constructors

* style: typescript-eslint/consistent-type-assertions

* style: fix typescript-eslint/array-type

* fix: revert .entries() in d96ca62d3d80806b0475a54e749decfc07b24701
2026-01-02 09:42:24 +08:00
Ethan Shen 4b6c445f73
feat(route): add CoStar Press Releases (#20791)
* feat(route): add CoStar Press Releases

* fix typo
2026-01-01 01:48:27 +08:00
Tony eee59e49f2
fix(route/douyu): simplify item creation for live stream titles (#20792) 2026-01-01 00:30:54 +08:00
pseudoyu c135b8dfdd
fix(route/tingshuitz): update jlwater url 2025-12-31 10:21:16 +08:00
Tony b832b97bac
fix(route/2048): update cookie handling (#20785)
* fix(route/2048): update cookie handling

* Update lib/routes/2048/index.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix(route/2048): improve null value checks in filter function

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-31 00:00:22 +08:00
Yufan You fb07a7f2e5
fix: add summary field in JSON output format (#20778)
* fix: add summary field in JSON output format

This fixes that the summary/description was not included in the feed.

As a side-note, we cannot remove the content_html field even if only the
summary/description is present.

> content_html and content_text are each optional strings — but one or
> both must be present.

* test: add JSON view tests

---------
2025-12-30 21:57:51 +08:00
DIYgod d12fa2ed12
feat: revamp binance announcement route
- Map legacy types to catalog IDs

- Support language suffix and remove messages route
2025-12-29 22:20:30 +08:00
DIYgod 5caccabfd9
feat: add binance messages announcement route 2025-12-29 21:27:25 +08:00
DIYgod 81ff849337
feat(tests): add comprehensive unit tests for various utility functions and views (#20779)
* feat(tests): add comprehensive unit tests for various utility functions and views

- Implement tests for cache utility to ensure proper behavior with no cache and TTL keys.
- Add tests for common utilities including string manipulation and path handling.
- Introduce tests for directory import functionality to validate file imports and pattern matching.
- Create tests for git hash retrieval to handle fallback scenarios.
- Develop tests for deprecated got utility to verify response handling and retry logic.
- Enhance got utility tests to include request hooks and search parameter handling.
- Mock header generator tests to validate user agent handling.
- Expand helpers tests to cover current path retrieval and duration parsing.
- Implement tests for ofetch utility to ensure proper proxy handling and logging.
- Add OpenTelemetry metric tests to validate metric serialization.
- Create proxy tests to verify multi-proxy selection and failure handling.
- Introduce request rewriter tests to validate fetch and get wrapper functionality.
- Add timezone utility tests to handle various input types.
- Implement view tests for Atom and RSS rendering to ensure correct output.
- Create index view tests to validate debug information display based on configuration.

* refactor: remove deprecated got implementation and associated tests

* test: expand coverage for api, middleware, and utils
2025-12-29 17:34:48 +08:00
DIYgod cf4e772de8
refactor: replace art template with jsx (#20777)
* refactor: replace art template with jsx

* fix: tsx files

* fix: renderToString import

* fix: hono html raw import

* feat: remove art
2025-12-29 12:27:32 +08:00
github-actions[bot] dc8aa664e1 style: auto format 2025-12-28 15:40:07 +00:00
Weirdo 3813afad84
feat(route): 添加BTBTLA指定剧名详情路由 (#20766)
* feat(route): 添加BT影视更新列表路由

* 更新 gxlist.ts

* feat(route): 添加BTBTLA指定剧名详情路由

- 新增 /detail/:name 路由用于获取指定电影或电视剧的详细信息
- 实现通过剧名搜索获取ID并解析详情页内容的功能
- 添加磁力链接获取功能,使用缓存优化性能
- 更新命名空间描述,完善URL格式
- 优化最近更新页面标题显示格式

* fix(route): 修正 btbtla 详情页路由示例

- 修复了路由示例路径缺少 btbtla 前缀的问题
- 确保示例路径与实际路由配置保持一致

* refactor(btbtla): 优化详情页路由和磁力链接处理

- 使用路由参数替代路径解析获取名称
- 导入配置模块以使用缓存过期设置
- 优化磁力链接获取逻辑并添加缓存
- 改进链接和磁力链接的返回值处理
- 添加种子文件下载支持和类型标识
- 简化空值检查逻辑

* 更新 detail.ts

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* 更新 detail.ts

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

---------

Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
2025-12-28 23:35:16 +08:00
Outvi V af886e3f43
feat(route): 添加電音部新闻及组合新闻相关路由 (#20770)
* feat: denonbu

* chore: UPPER_SNAKE_CASE for constants

* fix: timezone

* fix: extract a title if none is given

* fix: typo

* fix: handle special media fields

testcase: /denonbu/news/daiba

* fix: naming

* feat: cache token

* chore: remove manual `...` (RSSHub will add it)

* chore: simplify checks

shall be safe to guess the site won't have sid === 0

* Apply suggestion from TonyRL

---------
2025-12-28 23:17:36 +08:00
DIYgod 0db4c9cef9
docs: update license 2025-12-28 18:39:22 +08:00
Tony 99639882ce
feat(route/foodtalks): add tag (#20771)
* feat(route): add tag

* fix: replace 'referrer' with 'referer' in http header

* fix(route): update tag path

* fix(utils): update pubDate parsing to include timezone

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: update image source to use favicon.ico for foodtalks routes

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-28 05:36:35 +08:00
github-actions[bot] 71837553ca style: auto format 2025-12-27 16:17:36 +00:00
千代有希= bd4ac7bd54
feat(route): add two new routes of ECNU (#20690)
* fix(route): fix wrong title of /ecnu/bksy

Co-authored-by: FrozenStarrrr <frozenstars@qq.com>

* feat(route): add ECNU Software Engineering Insitute notices route

* fix(route): modify wrong radar target

* add School of Computer Science and Technology ECNU notices route

* add School of data science and engineering notices route

* add School of Comm. & Elec. Engineering notices route

* add School of Geospace A.I. Engineering ECNU notices route

* add ECNU faculty of Edu. notices route

* add ECNU faculty of Earth Sci. notices route

* add ECNU Meng Xiancheng notices route

* add ECNU Guanghua notices route

* fix(route): add empty line at the end of files.

* add department of history ECNU notices route

* add department of Philo. ECNU notices route

* fix(route): add maintainer of /ecnu/bksy

* fix(route): delete unnecessary try-catch statment, modified incorrect url, fix image url.

* fix(route): fix unnecessary try-catch, description, condition and wrond url

* fix(route): fix image display

* fix(route): fix problems in bksy.ts

* feat(route): add ecnu/pharm

* feat(route): add art insititute of ECNU

* feat(route): add route of school of Stat. ECNU

* feat(route): add route of school of Phy. & Elec., ECNU

* feat(route): add route of school of Chem. & Mol., ECNU

* feat(route): add route of school of Eco. & Envir., ECNU

* feat(route): add route of school of Comm., ECNU

* feat(route): add route of school of International Chinese Studies, ECNU

* feat(route): add route of school of Psy. & cognitive Sci., ECNU

* feat(route): add route of college of Phy. Edu. & health , ECNU

* feat(route): add route of college of public management, ECNU

* feat(route): add route of college of Marxismus, ECNU

* fix(routes): fix incorrect time display and remove unnecessary codes

* fix(foute): format the code

* add cxcy

* feat(routes): add ecnu/jiaoliu

* feat(route): add two new routes of ECNU

* feat(route): add info of /ecnu/cxcy

* fix(route): replace links with baseUrl and update the method to query dom element

* Update lib/routes/ecnu/cxcy.ts

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

---------

Co-authored-by: FrozenStarrrr <frozenstars@qq.com>
2025-12-28 00:15:43 +08:00
Ethan Shen e2a7209ed2
feat(route): add Semiconductor Industry Association (#20760) 2025-12-27 22:43:12 +08:00
karasu 220a6842d5
fix(route/ff14-zh): add a default news link to items where the link is empty (#20762) 2025-12-26 18:01:11 +08:00
Ethan Shen 27bdccbd71
feat(route): add 多知网 (#20750) 2025-12-24 20:58:48 +08:00
Tony c982d6474b
fix(route/famitsu): add support for new renderJSON cases (#20749) 2025-12-23 22:31:29 +08:00
grenade 3f42a429ee
fix(route/huggingface): Add allowEmpty option to huggingface daily papers response (#20739)
Fixes https://github.com/DIYgod/RSSHub/issues/20738
2025-12-22 09:54:51 +00:00
Ethan Shen 24aac5c00d
feat(route): add 中央气象台产品 (#20728)
* feat(route): add 中央气象台产品

* fix typo
2025-12-22 00:18:50 +08:00
Weirdo e703cb76ff
feat(route): 添加BT影视更新列表路由 (#20737)
* feat(route): 添加BT影视更新列表路由

* 更新 gxlist.ts
2025-12-21 20:15:26 +08:00
Tony 14757b8d5e test(header): add wait after each test to prevent race conditions 2025-12-20 23:54:41 +08:00
Yufan You 60ec93ad40
fix(routes/mercari): use item updated time in cache key (#20726)
* Revert "fix(routes/mercari): set cache max age to routeExpire (#20653)"

This reverts commit 7fc7a62a25.

* fix(routes/mercari): use item updated time in cache key
2025-12-20 23:46:57 +08:00
Bin Wang 1efb6d0cbe
fix(routes/cbc): fix CBC route to exclude text to speech widget (#20734)
CBC articles have a text to speech widget at the beginning of every
article, which is useless and add lots of noise. This PR removes it.
2025-12-20 23:13:41 +08:00
Stephen Zhou ec5460614b
feat(hupu): game result 2025-12-20 13:40:30 +08:00
Ethan Shen 3ebb7d6932
feat(route): add X410 News (#20718) 2025-12-17 18:17:29 +08:00
tmr d4b865a4f2
feat(route): add Read Something Wonderful (#20696)
* feat(route): add anthropic research

* feat(route): simplify code

* feat: add route for Read Something Wonderful articles

* refactor: remove ID-based sorting from results.

* refactor(routes/readsomethingwonderful): simplify API request

Simplify the API request by removing unnecessary headers and adding format parameter.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-16 00:05:40 +08:00
Zhenlong Huang 5a240fee65
feat(routes/techflowpost): add featured featured route (#20695)
* feat(routes/techflowpost): add featured featured route

* fix: use path parameter instead of query parameter

* fix(routes/techflowpost): update featured title for clarity

* fix(routes/techflowpost): enhance featured route with category mapping
2025-12-15 22:32:02 +08:00
Blank0120 bdabe6929c
fix(route/sspai): add body_extends in sspai tag route (#20709) 2025-12-15 18:59:19 +08:00
Ethan Shen 32288b6bb2
feat(route): add TheBrain Blog (#20697) 2025-12-15 01:39:09 +08:00
Zhenlong Huang 9f09c37c30
fix(routes/anthropic): fix page parsing logic (#20693)
* fix(routes/anthropic): fix page parsing logic

* fix(routes/anthropic): update content selector for improved page parsing
2025-12-13 13:37:44 +08:00
Elijah Lopez 6ba2c5f82a
feat(route): add canada.ca (#20680) 2025-12-13 12:07:18 +08:00
Tony dd7382a419
feat(route/carousell): add carousell (#20677)
* feat(route/carousell): add carousell

* feat(route/carousell): update search title format to include region
2025-12-11 21:21:39 +08:00
Tony caef0fe811
fix(route/twitch): update gql hash (#20670) 2025-12-10 15:12:58 +08:00
Yufan You e5ae378fe9
fix(routes/lovelive-anime): update full text CSS selector (#20665) 2025-12-10 13:40:52 +08:00
Ethan Shen 781da24210
feat(route): add 数字尾巴标签 (#20618)
* feat(route): add 数字尾巴标签

* fix typo
2025-12-10 00:25:03 +08:00
Yufan You c2cff410fa
fix(routes/mastodon): don't refresh account ID cache (#20663)
The account ID may change, so the cache should not be refreshed indefinitely.
2025-12-09 22:31:16 +08:00
Yufan You 7fc7a62a25
fix(routes/mercari): set cache max age to routeExpire (#20653)
Item description and price may change, and it can be critical to get the
latest price, otherwise the item may be bought by others.

However, it's still useful to cache the result, as it might be used by
other routes (e.g. different keywords or sorting parameters).
2025-12-09 20:29:06 +08:00
Dzming Li dbb692462d
chore: add Nix flake and NixOS module support (#20597)
* feat(nix): add flake module and offline-friendly build

* chore(nix): upgrade to Node.js 24 and pnpm 10

Update devenv.nix to match project dependencies:
- Upgrade Node.js from 22 to 24 (aligns with Dockerfile node:24-bookworm)
- Upgrade pnpm from 9 to 10 (aligns with package.json pnpm@10.22.0)

* test: fix buffer-get test timeout

Replace external URL with mock server endpoint to prevent test timeout.
The test was trying to fetch from http://example.com which is not mocked,
causing it to timeout. Now uses http://rsshub.test/headers which is
properly mocked in the test setup.
2025-12-09 19:43:06 +08:00
Tony 24612ee4d8
fix(route/tiktok): fix route (#20648)
* fix(route/tiktok): fix route

* fix(route/tiktok): clarify comment on officalItem property
2025-12-08 01:00:47 +08:00
Stephen Zhou fd98be1027
chore: fix art template on vercel (#20647) 2025-12-08 00:21:14 +08:00
iamsnn 531f8a1249
feat(route): add bntnews (#20638)
* add routes for bntnews

* fix reviews
2025-12-07 20:23:08 +08:00
WuNein fd12cf8e75
fix(route/huggingface): add huggingface group models detail (#20646)
* Adding Huggingface Model details

* more robust

* fix deepscan's problem, shall not be a problem !!!!! 404 should be a proper state !!!!!

* md2html and image url fix
2025-12-07 17:40:02 +08:00
Stephen Zhou add80cdb57
chore: fix vercel serve static 2025-12-06 23:50:22 +08:00
WuNein dd142bff03
feat(route): add huggingface group models route (#20631)
* feat(route): add huggingface group models route

* feat(route): add huggingface group models route , eslint fix

* feat(route): add huggingface group models route , eslint fix

* remove Unnecessary  fliter

* remove no use date
2025-12-06 10:59:39 +08:00
Jinghao Tu 7196256dcd
fix(route/huggingface): fix getting blog links and community blog author data handling. (#20644)
* fix(route/huggingface): fix getting blog links and community blog author data handling.

* fix(route/huggingface): fix property error.
2025-12-06 01:04:10 +08:00
Stephen Zhou 601ce1a72e
feat(route/hupu): news route for teams 2025-12-05 23:09:12 +08:00