Commit Graph

8360 Commits

Author SHA1 Message Date
Jinghao Tu d81a7b2b32
fix(route/huggingface): restore article list and author parsing (#20599)
* fix(route/huggingface): restore article list and author parsing

- lib/routes/huggingface/blog-zh.ts: Read articles from data.props.allBlogs and construct /blog/zh/:slug links; use authorsData (fullname or name) for author names.
- lib/routes/huggingface/blog.ts: Read articles from data.props.allBlogs and switch author parsing to authorsData (fullname or name); preserve upvotes and thumbnail handling.
- lib/routes/huggingface/daily-papers.ts: Relax selector to read data.props from div[data-target="DailyPapers"] so DailyPapers props can be retrieved.

* fix(route/huggingface): use api instead of http; title is at right property.
2025-12-01 23:57:43 +08:00
DIYgod 7f5ae64a2f
feat(twitter): add UserMedia support and enhance pagination logic 2025-12-01 22:57:09 +08:00
Ethan Shen 295a4f845e
feat(route): add Produce Report (#20596) 2025-12-01 21:54:05 +08:00
github-actions[bot] b6dbafe33e style: auto format 2025-11-28 16:22:58 +00:00
sk22 a590f9a723
feat(route/wogem): Add route for WOGEM.at housing cooperative (#20555)
* feat(category): add housing category

* feat(route/wogem): add route for wogem.at

* Revert "feat(category): add housing category"

This reverts commit 953f59421717592dc5d8f2e0d8c42b5d54c77c72.

* feat(route/wogem): change category

* fix(route/wogem): remove redundant filter parameter

---------

Co-authored-by: Samuel Kaiser <samuel.kaiser@timetoact.at>
2025-11-28 00:15:13 +08:00
github-actions[bot] edfac9f24c style: auto format 2025-11-27 05:54:33 +00:00
github-actions[bot] 838eb3c7ff style: auto format 2025-11-27 05:49:33 +00:00
Ethan Shen 4e4c058ad6
feat(route): add 数字尾巴兴趣 (#20463)
* feat(route): add 数字尾巴兴趣

* fix typo

* Update lib/routes/dgtle/feed.ts

* style: reorder imports for better organization

---------
2025-11-27 11:39:44 +08:00
Tony 21984b58c6 style: fix import statement formatting 2025-11-27 11:29:49 +08:00
Tony bf9f4b5961 style: fix import 2025-11-27 11:22:19 +08:00
Stephen Zhou d5e4fba8b2
style: format 2025-11-27 11:04:48 +08:00
github-actions[bot] a28890a135 style: auto format 2025-11-27 02:55:46 +00:00
Stephen Zhou 411bf6e445
fix(package): no fallback serve for package mode 2025-11-27 03:33:44 +08:00
Stephen Zhou da5f5080fe
fix(package): import namespaces dynamically 2025-11-27 03:18:35 +08:00
Stephen Zhou 399627cb65
feat(package): export utils 2025-11-27 02:18:00 +08:00
Stephen Zhou c83f27bd44
feat(package): register route 2025-11-27 02:06:18 +08:00
Stephen Zhou 69a859ca9d
refactor(package): simple type solution 2025-11-27 01:21:20 +08:00
Stephen Zhou bc86bda10d
fix(package): allow empty conf 2025-11-26 21:48:35 +08:00
Stephen Zhou b4a2aa5e70
fix(core): package mode (#20580) 2025-11-26 20:44:18 +08:00
Cason Kervis 87bb77ca4c
fix(route/sspai/index): fix order (#20575) 2025-11-26 20:12:05 +08:00
Ethan Shen 68fdac3ea2
feat(route): add 中国百货商业协会 (#20571)
* feat(route): add 中国百货商业协会

* fix typo
2025-11-26 09:13:42 +08:00
Serhii Hospodarchuk 81b03f2d8a
fix(route/substack): use ofetch directly to avoid xml parse errors (#20564)
* fix(route/substack): clean up xml before parsing

* fix(route/substack): use ofetch directly to avoid xml parse errors

* fix(route/substack): use isValidHost to validate the user
2025-11-26 04:54:21 +08:00
Tony fb3ae13f79 fix: update import statements to use local ofetch utility 2025-11-26 03:38:50 +08:00
Tony 87641236b8
fix(route/iwara): use ofetch (#20572) 2025-11-26 03:37:24 +08:00
sk22 d8c2be5710
feat(route): Add route for wiensued.at cooperative housing (#20552)
* feat(category): add housing category

* feat(route/wiensued): add route for wiensued.at

* Revert "feat(category): add housing category"

This reverts commit 953f59421717592dc5d8f2e0d8c42b5d54c77c72.

* feat(route/wiensued): change category

---------

Co-authored-by: Samuel Kaiser <samuel.kaiser@timetoact.at>
2025-11-26 03:09:22 +08:00
sk22 cbff05689a
feat(route): Add WBV-GPA Austrian communal housing search (#20544)
* feat(category): add housing category

* feat(route): Add WBV-GPA housing search

* fix(route/wbv-gpa): fix import

* fix(route/wbv-gpa): fix feed title

* Revert "feat(category): add housing category"

This reverts commit 953f59421717592dc5d8f2e0d8c42b5d54c77c72.

* feat(route/wbv-gpa): change category

---------

Co-authored-by: Samuel Kaiser <samuel.kaiser@timetoact.at>
2025-11-26 01:53:31 +08:00
sk22 36b6b34ffc
feat(route): Add route for gesiba.at (#20538)
* feat(category): add housing category

* feat(route): Add gesiba.at route

* fix(route/gesiba): improve feed, fix imports

* fix(route/gesiba): fix feed title

* Revert "feat(category): add housing category"

This reverts commit 953f59421717592dc5d8f2e0d8c42b5d54c77c72.

* fix(route/gesiba): change category

---------

Co-authored-by: Samuel Kaiser <samuel.kaiser@timetoact.at>
2025-11-25 23:36:44 +08:00
sk22 9946c99ff6
feat(route): Add route for oesw.at (#20537)
* feat(category): add housing category

* feat(route): add oesw.at housing search

* fix(route/oesw): append count to guid instead of link

* fix(route/oesw): fix feed title and imports

* Revert "feat(category): add housing category"

This reverts commit 953f59421717592dc5d8f2e0d8c42b5d54c77c72.

* feat(route/oesw): change category

---------

Co-authored-by: Samuel Kaiser <samuel.kaiser@timetoact.at>
2025-11-25 22:12:44 +08:00
Saif Azmi ad79cc6870
docs(route/linkedin/posts): update Puppeteer requirement to true (#20551) 2025-11-23 22:02:00 +08:00
AiraNadih ea262406ac
fix(route/kemono): fallback to added date if published date is missing (#20548)
Co-authored-by: AiraNadih <AiraNadih@users.noreply.github.com>
2025-11-23 21:48:24 +08:00
Tony 934d95a4ed
fix(route/1point3acres): handle optional tags in category assignment (#20547) 2025-11-23 13:11:09 +08:00
Zhengyi 98014554ca
fix(route/qidian/chapter): Add User Agent (#20513) 2025-11-23 04:44:10 +08:00
Ethan Shen 4caa9f65a3
feat(route): add 北青网 (#20539)
* feat(route): add 北青网

* fix typo
2025-11-22 22:19:15 +08:00
千代有希= e0aee671fb
feat(route): add some insitutes' routes of ECNU (#20532)
* 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

---------

Co-authored-by: FrozenStarrrr <frozenstars@qq.com>
2025-11-22 22:06:51 +08:00
Rongrong 6eb460c33b
feat(route/weibo): Fetch visitor Cookies before accessing some APIs (#20534)
* feat(route/weibo): Fetch visitor Cookies before accessing some APIs

Signed-off-by: Rongrong <i@rong.moe>

* fix(route/weibo/utils): getCookies: return too early on slow connection

Signed-off-by: Rongrong <i@rong.moe>

* fix(route/weibo/utils): getCookies: Redirection assertion is too loose

Signed-off-by: Rongrong <i@rong.moe>

---------

Signed-off-by: Rongrong <i@rong.moe>
2025-11-22 06:04:14 +08:00
IChengHo 8c7cd6832e
fix(route/phoronix): Use `ofetch` and `parseString` for reliable feed fetching (#20543)
The `rss-parser`'s internal `parseURL` method can fail with an "Error:
Non-whitespace before first tag" on feeds that are gzipped or contain a
Byte Order Mark (BOM), as it lacks robust decompression and encoding
handling.

This change switches the Phoronix route to:

Fetch the raw XML string using `ofetch`, which handles compression and
encoding correctly.

Pass the resulting clean string to `parser.parseString()`.

This resolves the parsing issue and ensures the route is reliable.
2025-11-22 04:33:29 +08:00
Rongrong 3ede128c55
fix(route/picnob): bring back support for diygod/rsshub:chromium-bundled (#20504)
* ci(docker-release): enable ZRAM to reduce memory pressure

This should hopefully help reduce stuck build jobs. Note that this can't
completely eliminate stuck builds since this is usually caused by
synchronization issues in QEMU.

Signed-off-by: Rongrong <i@rong.moe>

* build(Dockerfile): Add support for puppeteer-real-browser

Sets CHROMIUM_EXECUTABLE_PATH on AMD64 and installs essential
dependencies.

Signed-off-by: Rongrong <i@rong.moe>

* fix(route/picnob): bring back support for diygod/rsshub:chromium-bundled

The support for puppeteer-real-browser on diygod/rsshub:chromium-bundled
was improperly implemented in 400fb1fa49 ("fix(route/picnob): use
puppeteer-real-browser to pass cf check (#20478)") and was then removed
in 2cb11d7c7e ("fix(route/picnob): support img not in slide").

With proper support for puppeteer-real-browser added to Dockerfile, this
patch brings back the support for diygod/rsshub:chromium-bundled.

This partially reverts commit 2cb11d7c7e ("fix(route/picnob): support
img not in slide").

Signed-off-by: Rongrong <i@rong.moe>

* chore(route/picnob): add myself as maintainer

This route explicitly consult CHROMIUM_EXECUTABLE_PATH from the docker
image variant `diygod/rsshub:chromium-bundled`. Since I am the author of
the image variant, add myself as one of route maintainers so that I am
mentioned when the route is broken.

Signed-off-by: Rongrong <i@rong.moe>

# Conflicts:
#	lib/routes/picnob/user.ts

---------

Signed-off-by: Rongrong <i@rong.moe>
2025-11-21 01:23:22 +08:00
千代有希= 28bc65d0be
feat(route): add ECNU Software Engineering Insitute notices route (#20531)
* 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

---------

Co-authored-by: FrozenStarrrr <frozenstars@qq.com>
2025-11-21 00:32:29 +08:00
Ethan Shen d91d4681a0
feat(route): add Cloudflare Status (#20514)
* feat(route): add Cloudflare Status

* fix: missing type
2025-11-20 00:09:54 +08:00
FrozenStar 46086571b9
feat(route): add East China Normal University Undergraduate Office notice (#20515)
* feat(route): add East China Normal University Undergraduate Office notices

Co-authored-by: Yuki Chiyo <chiyo.uk@outlook.com>

* fix(route): delete a useless option and modified outdated url

Co-authored-by: Yuki Chiyo <chiyo.uk@outlook.com>

---------

Co-authored-by: Yuki Chiyo <chiyo.uk@outlook.com>
2025-11-19 21:57:07 +08:00
Tony d5cd095599
feat(route): add picnob.info (#20517) 2025-11-19 03:02:28 +08:00
Tony 5f80a3001f
fix(route/google): replace puppeteer with google-play-scraper (#20516)
* feat(route/google): replace puppeteer with google-play-scraper

* fix: override more deps

* fix(route/google/play): correct import casing for google-play-scraper
2025-11-19 02:54:37 +08:00
Keo ccfca1ad19
fix(route/ntrblog): use utils/got to get feed content (#20511) 2025-11-19 01:55:34 +08:00
surwall 1ffd371dfe
feat(route): add Google Play Store (#20231)
Co-authored-by: Xinhao Luo <neverbehave@fastmail.com>
2025-11-17 13:32:10 -08:00
Andvari ed51422824
fix(route/initium): replace got with ofetch and handle dead link (#20494)
* fix(route/initium): replace got with ofetch and handle dead link

* fix(route/theinitium): update fetchWebPage to handle new article structure
2025-11-18 01:29:51 +08:00
Stephen Zhou 4ab0547d9d
fix(route/picnob): ignore detail page error 2025-11-17 12:24:20 +08:00
Ethan Shen 87e2225139
fix(route): 中国炼焦行业协会 (#20493) 2025-11-17 00:13:31 +08:00
Liao-Ke 6e5409d7eb
feat(route): add AI 博客 (#20488)
* feat(route): add AI 博客

新增了一个归档路由处理函数,用于抓取AI博客的所有文章归档。

- 定义了一个新的路由配置对象`route`,路径为`/archives`,属于`blog`类别。
- 使用`ofetch`获取归档页面内容,并通过`cheerio`解析HTML。
- 遍历每个月份分组内的每篇文章,提取标题、链接、发布时间,并存储在列表中。
- 对列表中的每个条目,使用`cache.tryGet`缓存文章详情,若无缓存则再次使用`ofetch`获取,并解析出文章的主要内容。
- 返回处理后的结果对象,包含优化后的标题、归档页面链接以及过滤无效数据后的文章列表。

新增了一个命名空间配置对象`namespace`,用于定义AI博客的基本信息。

- 定义了一个新的命名空间配置对象`namespace`,包含站点名称、URL和语言。

* refactor(handler): 优化归档页面处理逻辑

- 使用 `toArray()` 和 `flatMap()` 方法简化了遍历每个月份分组和提取文章信息的代码逻辑。
- 修正了 `link` 属性的处理,确保当链接不存在时返回空字符串。
- 添加了 `author` 和 `description` 属性到文章对象中,以便更完整地描述文章内容。
- 精简了每个文章项的 `description` 构建,去除了不必要的 HTML 结构复制。
2025-11-16 23:48:33 +08:00
DIYgod 92032a8c51
fix(twitter): update proxy agent implementation to use new Client and HttpCookieAgentCookie 2025-11-15 09:37:48 +08:00
DIYgod d03f5697a4
fix(twitter): replace zstd decompression with gzip for third-party API requests 2025-11-15 09:01:46 +08:00