rsshub 1.0.0-master.ff1ff8d → 1.0.0-master.ff3ea5a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/api/follow/config.ts +27 -0
- package/lib/api/index.ts +4 -7
- package/lib/{app.tsx → app-bootstrap.tsx} +0 -2
- package/lib/app.test.ts +15 -1
- package/lib/app.ts +5 -0
- package/lib/config.ts +119 -4
- package/lib/errors/index.tsx +3 -2
- package/lib/index.ts +48 -12
- package/lib/middleware/access-control.ts +3 -3
- package/lib/middleware/cache.ts +5 -3
- package/lib/middleware/debug.ts +6 -4
- package/lib/middleware/header.test.ts +1 -0
- package/lib/middleware/header.ts +6 -0
- package/lib/middleware/parameter.ts +4 -3
- package/lib/middleware/template.test.ts +14 -0
- package/lib/middleware/template.tsx +8 -1
- package/lib/registry.test.ts +24 -1
- package/lib/registry.ts +156 -15
- package/lib/router.js +3 -30
- package/lib/routes/005/index.ts +3 -5
- package/lib/routes/0818tuan/index.ts +2 -2
- package/lib/routes/10000link/info.ts +251 -0
- package/lib/routes/10000link/namespace.ts +9 -0
- package/lib/routes/10000link/templates/description.art +7 -0
- package/lib/routes/10jqka/realtimenews.ts +4 -4
- package/lib/routes/121/namespace.ts +9 -0
- package/lib/routes/121/templates/description.art +17 -0
- package/lib/routes/121/weather-live.ts +104 -0
- package/lib/routes/12306/index.ts +0 -2
- package/lib/routes/12306/zxdt.ts +15 -33
- package/lib/routes/12371/zxfb.ts +2 -2
- package/lib/routes/141jav/index.ts +4 -3
- package/lib/routes/141jav/namespace.ts +1 -1
- package/lib/routes/141ppv/index.ts +4 -3
- package/lib/routes/141ppv/namespace.ts +1 -1
- package/lib/routes/163/ds.ts +0 -2
- package/lib/routes/163/exclusive.ts +17 -19
- package/lib/routes/163/music/artist-songs.ts +0 -2
- package/lib/routes/163/music/artist.ts +0 -2
- package/lib/routes/163/music/djradio.ts +27 -22
- package/lib/routes/163/music/playlist.ts +0 -2
- package/lib/routes/163/music/userevents.ts +0 -2
- package/lib/routes/163/music/userplaylist.ts +0 -2
- package/lib/routes/163/music/userplayrecords.ts +0 -2
- package/lib/routes/163/namespace.ts +1 -1
- package/lib/routes/163/news/rank.ts +5 -5
- package/lib/routes/163/news/special.ts +2 -2
- package/lib/routes/163/open/vip.ts +0 -2
- package/lib/routes/163/renjian.ts +2 -2
- package/lib/routes/163/templates/music/djradio-content.art +2 -0
- package/lib/routes/163/today.ts +2 -2
- package/lib/routes/163/utils.ts +2 -5
- package/lib/routes/18comic/album.ts +61 -66
- package/lib/routes/18comic/blogs.ts +3 -3
- package/lib/routes/18comic/index.ts +12 -11
- package/lib/routes/18comic/namespace.ts +1 -1
- package/lib/routes/18comic/search.ts +55 -6
- package/lib/routes/18comic/utils.ts +70 -4
- package/lib/routes/199it/index.ts +332 -0
- package/lib/routes/199it/templates/description.art +20 -0
- package/lib/routes/19lou/index.ts +11 -11
- package/lib/routes/1lou/index.ts +2 -2
- package/lib/routes/1point3acres/blog.ts +2 -2
- package/lib/routes/1point3acres/category.ts +8 -8
- package/lib/routes/1point3acres/offer.ts +2 -4
- package/lib/routes/1point3acres/section.ts +18 -18
- package/lib/routes/1point3acres/thread.ts +6 -6
- package/lib/routes/1point3acres/utils.ts +0 -3
- package/lib/routes/1x/index.ts +1 -3
- package/lib/routes/2023game/index.ts +3 -3
- package/lib/routes/2048/index.ts +66 -57
- package/lib/routes/21caijing/channel.ts +1082 -0
- package/lib/routes/21caijing/namespace.ts +8 -0
- package/lib/routes/2cycd/index.ts +3 -3
- package/lib/routes/30secondsofcode/category.ts +65 -0
- package/lib/routes/30secondsofcode/namespace.ts +7 -0
- package/lib/routes/30secondsofcode/new-and-popular.ts +41 -0
- package/lib/routes/30secondsofcode/utils.ts +53 -0
- package/lib/routes/36kr/hot-list.ts +16 -3
- package/lib/routes/36kr/index.ts +2 -2
- package/lib/routes/3dmgame/news-center.ts +3 -3
- package/lib/routes/3kns/index.ts +15 -17
- package/lib/routes/423down/index.ts +26 -28
- package/lib/routes/4gamers/utils.ts +0 -3
- package/lib/routes/4khd/article.ts +28 -0
- package/lib/routes/4khd/category.ts +48 -0
- package/lib/routes/4khd/const.ts +4 -0
- package/lib/routes/4khd/latest.ts +41 -0
- package/lib/routes/4khd/namespace.ts +8 -0
- package/lib/routes/4khd/types.ts +12 -0
- package/lib/routes/4ksj/forum.ts +2 -4
- package/lib/routes/4kup/article.ts +29 -0
- package/lib/routes/4kup/category.ts +47 -0
- package/lib/routes/4kup/const.ts +4 -0
- package/lib/routes/4kup/latest.ts +41 -0
- package/lib/routes/4kup/namespace.ts +8 -0
- package/lib/routes/4kup/popular.ts +81 -0
- package/lib/routes/4kup/tag.ts +47 -0
- package/lib/routes/4kup/types.ts +12 -0
- package/lib/routes/500px/tribe-set.ts +1 -3
- package/lib/routes/52hrtt/symposium.ts +2 -2
- package/lib/routes/56kog/class.ts +5 -5
- package/lib/routes/56kog/top.ts +2 -2
- package/lib/routes/56kog/util.ts +0 -3
- package/lib/routes/591/list.ts +2 -4
- package/lib/routes/5music/index.ts +87 -0
- package/lib/routes/5music/namespace.ts +9 -0
- package/lib/routes/6park/index.ts +9 -4
- package/lib/routes/6park/news.ts +12 -3
- package/lib/routes/78dm/index.ts +429 -45
- package/lib/routes/78dm/namespace.ts +2 -0
- package/lib/routes/78dm/templates/description.art +17 -0
- package/lib/routes/7mmtv/index.ts +13 -14
- package/lib/routes/81/81rc/index.ts +2 -2
- package/lib/routes/8264/list.ts +37 -39
- package/lib/routes/91porn/author.ts +0 -2
- package/lib/routes/91porn/index.ts +3 -4
- package/lib/routes/91porn/namespace.ts +1 -1
- package/lib/routes/95mm/category.ts +2 -2
- package/lib/routes/95mm/tab.ts +2 -1
- package/lib/routes/95mm/utils.ts +0 -3
- package/lib/routes/a9vg/index.ts +14 -16
- package/lib/routes/aamacau/index.ts +7 -7
- package/lib/routes/abc/index.ts +3 -5
- package/lib/routes/academia/topics.ts +10 -20
- package/lib/routes/accessbriefing/index.ts +22 -24
- package/lib/routes/acfun/article.ts +9 -9
- package/lib/routes/acfun/bangumi.ts +2 -2
- package/lib/routes/acfun/video.ts +2 -2
- package/lib/routes/acs/journal.ts +0 -2
- package/lib/routes/adquan/case-library.ts +144 -0
- package/lib/routes/adquan/index.ts +144 -0
- package/lib/routes/adquan/namespace.ts +9 -0
- package/lib/routes/adquan/templates/description.art +7 -0
- package/lib/routes/aeaweb/index.ts +2 -4
- package/lib/routes/aeon/category.ts +34 -17
- package/lib/routes/aeon/namespace.ts +1 -1
- package/lib/routes/aeon/templates/essay.art +8 -2
- package/lib/routes/aeon/templates/video.art +4 -4
- package/lib/routes/aeon/type.ts +28 -17
- package/lib/routes/aeon/utils.ts +47 -20
- package/lib/routes/afdian/explore.ts +6 -6
- package/lib/routes/aflcio/blog.ts +158 -0
- package/lib/routes/aflcio/namespace.ts +9 -0
- package/lib/routes/afr/latest.ts +69 -0
- package/lib/routes/afr/namespace.ts +7 -0
- package/lib/routes/afr/navigation.ts +75 -0
- package/lib/routes/afr/query.ts +349 -0
- package/lib/routes/afr/utils.ts +80 -0
- package/lib/routes/agefans/detail.ts +1 -1
- package/lib/routes/agefans/update.ts +7 -5
- package/lib/routes/agirls/{index.ts → z-index.ts} +2 -2
- package/lib/routes/agora0/index.ts +2 -2
- package/lib/routes/agri/index.ts +55 -57
- package/lib/routes/ahjzu/news.ts +3 -3
- package/lib/routes/aibase/daily.ts +110 -0
- package/lib/routes/aibase/discover.ts +76 -76
- package/lib/routes/aibase/topic.ts +28 -28
- package/lib/routes/aibase/util.ts +3 -3
- package/lib/routes/aicaijing/index.ts +0 -2
- package/lib/routes/aiea/index.ts +4 -4
- package/lib/routes/aijishu/index.ts +4 -4
- package/lib/routes/ainvest/news.ts +1 -1
- package/lib/routes/ainvest/utils.ts +3 -3
- package/lib/routes/aip/journal-pupp.ts +1 -1
- package/lib/routes/aip/journal.ts +28 -32
- package/lib/routes/aip/utils.ts +0 -3
- package/lib/routes/air-level/index.ts +49 -0
- package/lib/routes/air-level/levelrank.ts +65 -0
- package/lib/routes/air-level/namespace.ts +12 -0
- package/lib/routes/aisixiang/thinktank.ts +1 -1
- package/lib/routes/aisixiang/toplist.ts +2 -2
- package/lib/routes/aisixiang/zhuanti.ts +2 -2
- package/lib/routes/ajcass/namespace.ts +11 -0
- package/lib/routes/ajcass/shxyj.ts +73 -0
- package/lib/routes/ajmide/index.ts +1 -1
- package/lib/routes/ali213/namespace.ts +9 -0
- package/lib/routes/ali213/news.ts +267 -0
- package/lib/routes/ali213/templates/description.art +21 -0
- package/lib/routes/ali213/zl.ts +224 -0
- package/lib/routes/aliresearch/information.ts +1 -1
- package/lib/routes/alistapart/index.ts +4 -2
- package/lib/routes/alistapart/topic.ts +41 -40
- package/lib/routes/aliyun/database-month.ts +4 -4
- package/lib/routes/aliyun/developer/group.ts +12 -18
- package/lib/routes/aliyun/notice.ts +9 -9
- package/lib/routes/aljazeera/index.ts +0 -2
- package/lib/routes/ally/rail.ts +24 -18
- package/lib/routes/alternativeto/utils.ts +1 -1
- package/lib/routes/amazfitwatchfaces/index.ts +430 -0
- package/lib/routes/amazfitwatchfaces/namespace.ts +10 -0
- package/lib/routes/amazfitwatchfaces/templates/description.art +17 -0
- package/lib/routes/amazon/kindle-software-updates.ts +7 -9
- package/lib/routes/amz123/kx.ts +65 -0
- package/lib/routes/amz123/namespace.ts +9 -0
- package/lib/routes/android/security-bulletin.ts +61 -0
- package/lib/routes/annualreviews/index.ts +2 -2
- package/lib/routes/anquanke/category.ts +2 -2
- package/lib/routes/anquanke/namespace.ts +1 -1
- package/lib/routes/anquanke/vul.ts +1 -1
- package/lib/routes/anthropic/engineering.ts +72 -0
- package/lib/routes/anthropic/namespace.ts +7 -0
- package/lib/routes/anthropic/news.ts +77 -0
- package/lib/routes/anthropic/research.ts +112 -0
- package/lib/routes/anytxt/namespace.ts +9 -0
- package/lib/routes/anytxt/release-notes.ts +92 -0
- package/lib/routes/apkpure/versions.ts +1 -1
- package/lib/routes/apnews/mobile-api.ts +94 -0
- package/lib/routes/apnews/sitemap.ts +3 -2
- package/lib/routes/apnews/topics.ts +13 -12
- package/lib/routes/apnews/utils.ts +3 -11
- package/lib/routes/apnic/index.ts +61 -0
- package/lib/routes/apnic/namespace.ts +8 -0
- package/lib/routes/app-center/release.ts +2 -4
- package/lib/routes/app-sales/index.ts +200 -0
- package/lib/routes/app-sales/mostwanted.ts +194 -0
- package/lib/routes/app-sales/namespace.ts +9 -0
- package/lib/routes/app-sales/templates/description.art +120 -0
- package/lib/routes/app-sales/util.ts +161 -0
- package/lib/routes/apple/apps.ts +3 -3
- package/lib/routes/apple/design.ts +54 -0
- package/lib/routes/apple/namespace.ts +1 -1
- package/lib/routes/apple/podcast.ts +12 -7
- package/lib/routes/apple/security-releases.ts +179 -0
- package/lib/routes/apple/templates/security-releases.art +28 -0
- package/lib/routes/appleinsider/index.ts +2 -2
- package/lib/routes/appstore/price.ts +0 -1
- package/lib/routes/appstorrent/programs.ts +0 -2
- package/lib/routes/aqara/post.ts +0 -2
- package/lib/routes/aqara/region.ts +1 -1
- package/lib/routes/aqicn/aqi.ts +1 -0
- package/lib/routes/arcteryx/new-arrivals.ts +8 -10
- package/lib/routes/arcteryx/outlet.ts +8 -10
- package/lib/routes/arcteryx/regear-new-arrivals.ts +0 -2
- package/lib/routes/artstation/user.ts +0 -2
- package/lib/routes/asiafruitchina/categories.ts +683 -0
- package/lib/routes/asiafruitchina/namespace.ts +9 -0
- package/lib/routes/asiafruitchina/news.ts +182 -0
- package/lib/routes/asiafruitchina/templates/description.art +17 -0
- package/lib/routes/asianfanfics/namespace.ts +7 -0
- package/lib/routes/asianfanfics/tag.ts +91 -0
- package/lib/routes/asianfanfics/text-search.ts +70 -0
- package/lib/routes/asiantolick/index.ts +0 -2
- package/lib/routes/asmr-200/index.ts +1 -2
- package/lib/routes/asus/bios.ts +1 -6
- package/lib/routes/atcoder/contest.ts +12 -12
- package/lib/routes/augmentcode/blog.ts +161 -0
- package/lib/routes/augmentcode/namespace.ts +9 -0
- package/lib/routes/augmentcode/templates/description.art +17 -0
- package/lib/routes/auto-stats/index.ts +2 -2
- package/lib/routes/azul/namespace.ts +9 -0
- package/lib/routes/azul/packages.ts +105 -0
- package/lib/routes/baidu/gushitong/index.ts +1 -3
- package/lib/routes/baidu/search.ts +0 -2
- package/lib/routes/baidu/tieba/forum.ts +0 -2
- package/lib/routes/baidu/tieba/post.ts +31 -37
- package/lib/routes/baidu/tieba/search.ts +5 -7
- package/lib/routes/baidu/top.ts +2 -4
- package/lib/routes/baijing/index.ts +48 -0
- package/lib/routes/baijing/namespace.ts +8 -0
- package/lib/routes/bakamh/manga.ts +74 -0
- package/lib/routes/bakamh/namespace.ts +8 -0
- package/lib/routes/bandcamp/weekly.ts +0 -2
- package/lib/routes/bandisoft/history.ts +329 -0
- package/lib/routes/bandisoft/namespace.ts +9 -0
- package/lib/routes/bangumi.online/online.ts +0 -2
- package/lib/routes/bangumi.tv/calendar/today.ts +0 -2
- package/lib/routes/bangumi.tv/subject/ep.ts +0 -3
- package/lib/routes/bangumi.tv/subject/index.ts +2 -2
- package/lib/routes/bangumi.tv/user/collections.ts +0 -3
- package/lib/routes/banshujiang/index.ts +763 -0
- package/lib/routes/banshujiang/namespace.ts +9 -0
- package/lib/routes/banshujiang/templates/description.art +17 -0
- package/lib/routes/banyuetan/index.ts +238 -0
- package/lib/routes/banyuetan/namespace.ts +9 -0
- package/lib/routes/banyuetan/templates/description.art +21 -0
- package/lib/routes/baobua/article.ts +51 -0
- package/lib/routes/baobua/category.ts +60 -0
- package/lib/routes/baobua/const.ts +4 -0
- package/lib/routes/baobua/latest.ts +57 -0
- package/lib/routes/baobua/namespace.ts +8 -0
- package/lib/routes/baobua/search.ts +60 -0
- package/lib/routes/baozimh/index.ts +0 -2
- package/lib/routes/barronschina/index.ts +2 -2
- package/lib/routes/bast/index.ts +1 -1
- package/lib/routes/bbc/index.ts +47 -42
- package/lib/routes/bbc/learningenglish.ts +76 -0
- package/lib/routes/bbcnewslabs/news.ts +4 -4
- package/lib/routes/bc3ts/list.ts +1 -4
- package/lib/routes/bdys/index.ts +78 -81
- package/lib/routes/bdys/namespace.ts +1 -1
- package/lib/routes/behance/queries.ts +1015 -0
- package/lib/routes/behance/templates/description.art +23 -0
- package/lib/routes/behance/user.ts +77 -56
- package/lib/routes/beijingprice/index.ts +10 -10
- package/lib/routes/bendibao/news.ts +5 -5
- package/lib/routes/bfl/announcements.ts +127 -0
- package/lib/routes/bfl/namespace.ts +9 -0
- package/lib/routes/bgmlist/onair.ts +0 -2
- package/lib/routes/bigquant/collections.ts +1 -1
- package/lib/routes/bilibili/article.ts +37 -14
- package/lib/routes/bilibili/bangumi.ts +1 -1
- package/lib/routes/bilibili/cache.ts +101 -24
- package/lib/routes/bilibili/check-cookie.ts +31 -0
- package/lib/routes/bilibili/danmaku.ts +3 -3
- package/lib/routes/bilibili/dynamic.ts +52 -17
- package/lib/routes/bilibili/followers.ts +2 -2
- package/lib/routes/bilibili/followings-article.ts +2 -2
- package/lib/routes/bilibili/followings-dynamic.ts +12 -6
- package/lib/routes/bilibili/followings-video.ts +2 -2
- package/lib/routes/bilibili/followings.ts +2 -2
- package/lib/routes/bilibili/hot-search.ts +1 -1
- package/lib/routes/bilibili/live-area.ts +2 -2
- package/lib/routes/bilibili/live-room.ts +14 -12
- package/lib/routes/bilibili/mall-new.ts +2 -2
- package/lib/routes/bilibili/manga-followings.ts +2 -2
- package/lib/routes/bilibili/manga-update.ts +40 -4
- package/lib/routes/bilibili/partion.ts +57 -57
- package/lib/routes/bilibili/ranking.ts +202 -120
- package/lib/routes/bilibili/readlist.ts +1 -1
- package/lib/routes/bilibili/user-channel.ts +1 -0
- package/lib/routes/bilibili/user-collection.ts +5 -3
- package/lib/routes/bilibili/utils.ts +8 -3
- package/lib/routes/bilibili/video.ts +31 -15
- package/lib/routes/bilibili/vsearch.ts +3 -3
- package/lib/routes/bilibili/wasm-exec.ts +649 -0
- package/lib/routes/bilibili/watchlater.ts +2 -2
- package/lib/routes/binance/announcement.ts +1 -1
- package/lib/routes/bing/daily-wallpaper.ts +5 -1
- package/lib/routes/bing/search.ts +2 -2
- package/lib/routes/biquge/index.ts +1 -1
- package/lib/routes/biquge/namespace.ts +1 -1
- package/lib/routes/bitget/announcement.ts +1 -1
- package/lib/routes/bjfu/it/index.ts +2 -2
- package/lib/routes/bjfu/jwc/index.ts +2 -2
- package/lib/routes/bjfu/news/index.ts +2 -2
- package/lib/routes/bjnews/cat.ts +2 -9
- package/lib/routes/bjp/apod.ts +1 -1
- package/lib/routes/bjp/namespace.ts +1 -1
- package/lib/routes/bjsk/index.ts +2 -2
- package/lib/routes/bjsk/keti.ts +2 -2
- package/lib/routes/bjtu/gs.ts +20 -20
- package/lib/routes/bjwxdxh/index.ts +5 -5
- package/lib/routes/bjx/fd.ts +1 -1
- package/lib/routes/bjx/huanbao.ts +4 -12
- package/lib/routes/bjx/types.ts +12 -16
- package/lib/routes/blizzard/news-cn.ts +130 -0
- package/lib/routes/blizzard/news.ts +151 -62
- package/lib/routes/blockworks/index.ts +128 -0
- package/lib/routes/blockworks/namespace.ts +7 -0
- package/lib/routes/blogread/index.ts +3 -4
- package/lib/routes/bloomberg/authors.ts +20 -21
- package/lib/routes/bloomberg/index.ts +21 -20
- package/lib/routes/bloomberg/utils.ts +5 -17
- package/lib/routes/bnu/bs.ts +5 -5
- package/lib/routes/bnu/dwxgb.ts +3 -3
- package/lib/routes/bnu/fe.ts +72 -0
- package/lib/routes/bnu/jwb.ts +2 -1
- package/lib/routes/bnu/mba.ts +22 -22
- package/lib/routes/boc/whpj.ts +2 -2
- package/lib/routes/bookfere/category.ts +14 -18
- package/lib/routes/booru/mmda.ts +0 -2
- package/lib/routes/bossdesign/index.ts +2 -2
- package/lib/routes/bse/index.ts +14 -14
- package/lib/routes/bsky/feeds.ts +70 -0
- package/lib/routes/bsky/keyword.ts +15 -10
- package/lib/routes/bsky/posts.ts +3 -5
- package/lib/routes/bsky/templates/post.art +8 -1
- package/lib/routes/bsky/utils.ts +34 -1
- package/lib/routes/bt0/namespace.ts +2 -2
- package/lib/routes/btzj/index.ts +16 -18
- package/lib/routes/buaa/jiaowu.ts +1 -1
- package/lib/routes/buaa/lib/space/newbook.ts +0 -2
- package/lib/routes/buaa/news/index.ts +2 -2
- package/lib/routes/buaa/sme.ts +2 -2
- package/lib/routes/buct/cist.ts +58 -0
- package/lib/routes/buct/gr.ts +93 -0
- package/lib/routes/buct/jwc.ts +64 -0
- package/lib/routes/buct/namespace.ts +7 -0
- package/lib/routes/bulianglin/rss.ts +3 -3
- package/lib/routes/bullionvault/gold-news.ts +232 -0
- package/lib/routes/bullionvault/namespace.ts +9 -0
- package/lib/routes/bupt/jwc.ts +2 -2
- package/lib/routes/bupt/rczp.ts +3 -3
- package/lib/routes/bupt/scss.ts +98 -0
- package/lib/routes/byau/xinwen/index.ts +2 -2
- package/lib/routes/caai/utils.ts +0 -3
- package/lib/routes/caareviews/utils.ts +3 -6
- package/lib/routes/cags/edu/index.ts +84 -0
- package/lib/routes/cags/namespace.ts +9 -0
- package/lib/routes/cahkms/index.ts +5 -7
- package/lib/routes/caixin/blog.ts +1 -1
- package/lib/routes/caixin/category.ts +9 -9
- package/lib/routes/caixin/database.ts +0 -2
- package/lib/routes/caixin/latest.ts +7 -2
- package/lib/routes/caixin/utils-fulltext.ts +7 -4
- package/lib/routes/caixin/utils.ts +0 -3
- package/lib/routes/camchina/index.ts +2 -2
- package/lib/routes/cankaoxiaoxi/index.ts +20 -22
- package/lib/routes/capitalmind/insights.ts +40 -0
- package/lib/routes/capitalmind/namespace.ts +8 -0
- package/lib/routes/capitalmind/podcasts.ts +41 -0
- package/lib/routes/capitalmind/utils.ts +122 -0
- package/lib/routes/cara/likes.ts +0 -3
- package/lib/routes/cara/timeline.ts +0 -3
- package/lib/routes/cara/utils.ts +0 -9
- package/lib/routes/cartoonmad/comic.ts +1 -3
- package/lib/routes/cas/cg/index.ts +5 -5
- package/lib/routes/cas/genetics/index.ts +2 -2
- package/lib/routes/casssp/news.ts +2 -2
- package/lib/routes/cast/index.ts +11 -11
- package/lib/routes/catti/namespace.ts +6 -0
- package/lib/routes/catti/news.ts +120 -0
- package/lib/routes/caus/index.ts +2 -2
- package/lib/routes/cbaigui/index.ts +0 -2
- package/lib/routes/cbpanet/index.ts +38 -38
- package/lib/routes/ccac/news.ts +3 -3
- package/lib/routes/cccfna/index.ts +1 -1
- package/lib/routes/cccmc/index.ts +264 -0
- package/lib/routes/cccmc/namespace.ts +9 -0
- package/lib/routes/ccf/ccfcv/index.ts +2 -4
- package/lib/routes/ccf/news.ts +2 -2
- package/lib/routes/ccf/tfbd/utils.ts +0 -3
- package/lib/routes/ccfa/index.ts +32 -34
- package/lib/routes/ccreports/index.ts +3 -3
- package/lib/routes/cctv/category.ts +2 -2
- package/lib/routes/cctv/jx.ts +3 -3
- package/lib/routes/cctv/lm.ts +7 -7
- package/lib/routes/cctv/utils/news.ts +3 -3
- package/lib/routes/cctv/utils/xinwen1j1.ts +1 -1
- package/lib/routes/cctv/xwlb.ts +1 -1
- package/lib/routes/cde/index.ts +9 -9
- package/lib/routes/cde/xxgk.ts +26 -11
- package/lib/routes/cde/zdyz.ts +2 -2
- package/lib/routes/cdi/index.ts +2 -2
- package/lib/routes/cdu/cdrw.ts +80 -0
- package/lib/routes/cdu/tzggcdunews.ts +80 -0
- package/lib/routes/cdzjryb/project-list.ts +0 -2
- package/lib/routes/ce/district.ts +91 -0
- package/lib/routes/ce/namespace.ts +8 -0
- package/lib/routes/cebbank/all.ts +6 -8
- package/lib/routes/cebbank/history.ts +6 -8
- package/lib/routes/cfachina/analygarden.ts +2 -2
- package/lib/routes/cfr/index.ts +3 -2
- package/lib/routes/cfr/utils.ts +2 -10
- package/lib/routes/chaincatcher/home.ts +0 -2
- package/lib/routes/changba/user.ts +41 -47
- package/lib/routes/chaoxing/qk.ts +4 -6
- package/lib/routes/chaping/news.ts +9 -9
- package/lib/routes/cherrytimes/market.ts +35 -0
- package/lib/routes/cherrytimes/namespace.ts +6 -0
- package/lib/routes/chiculture/topic.ts +2 -2
- package/lib/routes/chikubi/index.ts +1 -0
- package/lib/routes/chikubi/namespace.ts +1 -1
- package/lib/routes/chikubi/navigation.ts +2 -2
- package/lib/routes/chikubi/tag.ts +1 -0
- package/lib/routes/china/finance/finance.ts +4 -4
- package/lib/routes/china/news/highlights/news.ts +14 -18
- package/lib/routes/china/news/military/news.ts +11 -15
- package/lib/routes/chinacdc/index.ts +503 -0
- package/lib/routes/chinacdc/namespace.ts +9 -0
- package/lib/routes/chinacdc/templates/description.art +7 -0
- package/lib/routes/chinadaily/language.ts +324 -0
- package/lib/routes/chinadaily/namespace.ts +9 -0
- package/lib/routes/chinadaily/templates/description.art +21 -0
- package/lib/routes/chinadegrees/province.ts +33 -35
- package/lib/routes/chinaisa/index.ts +134 -134
- package/lib/routes/chinamoney/notice.ts +17 -17
- package/lib/routes/chinanews/index.ts +2 -2
- package/lib/routes/chinania/index.ts +33 -33
- package/lib/routes/chinaratings/credit-research.ts +149 -0
- package/lib/routes/chinaratings/namespace.ts +8 -0
- package/lib/routes/chinathinktanks/viewpoint.ts +46 -46
- package/lib/routes/chinaventure/index.ts +5 -7
- package/lib/routes/{trending → chiphell}/namespace.ts +2 -2
- package/lib/routes/chiphell/portal.ts +82 -0
- package/lib/routes/chnmuseum/namespace.ts +10 -0
- package/lib/routes/chnmuseum/xingnew.ts +73 -0
- package/lib/routes/chnmuseum/xwzt.ts +67 -0
- package/lib/routes/chocolatey/namespace.ts +9 -0
- package/lib/routes/chocolatey/packages.ts +122 -0
- package/lib/routes/chongbuluo/index.ts +86 -0
- package/lib/routes/chongbuluo/namespace.ts +7 -0
- package/lib/routes/chongdiantou/index.ts +57 -0
- package/lib/routes/chongdiantou/namespace.ts +9 -0
- package/lib/routes/chsi/kyzx.ts +6 -6
- package/lib/routes/chuanliu/nice.ts +0 -2
- package/lib/routes/chuapp/chuapp.ts +147 -0
- package/lib/routes/chuapp/namespace.ts +7 -0
- package/lib/routes/chub/characters.ts +3 -5
- package/lib/routes/cib/whpj.ts +5 -5
- package/lib/routes/cih-index/namespace.ts +7 -0
- package/lib/routes/cih-index/report.ts +74 -0
- package/lib/routes/ciidbnu/index.ts +5 -5
- package/lib/routes/cisia/index.ts +33 -33
- package/lib/routes/civitai/discussions.ts +1 -1
- package/lib/routes/civitai/user.ts +90 -0
- package/lib/routes/ciweimao/chapter.ts +1 -1
- package/lib/routes/cjlu/yjsy/index.ts +2 -2
- package/lib/routes/clickme/index.ts +1 -1
- package/lib/routes/cline/blog.ts +80 -0
- package/lib/routes/cline/namespace.ts +13 -0
- package/lib/routes/cls/depth.ts +2 -4
- package/lib/routes/cls/hot.ts +0 -2
- package/lib/routes/cls/subject.ts +2 -4
- package/lib/routes/cls/telegraph.ts +2 -4
- package/lib/routes/cma/channel.ts +23 -25
- package/lib/routes/cmde/index.ts +1 -1
- package/lib/routes/cmu/andypavlo/blog.ts +55 -0
- package/lib/routes/cmu/namespace.ts +7 -0
- package/lib/routes/cna/index.ts +4 -26
- package/lib/routes/cna/utils.ts +23 -0
- package/lib/routes/cna/web/index.ts +2 -22
- package/lib/routes/cnbeta/category.ts +2 -2
- package/lib/routes/cnblogs/common.ts +0 -1
- package/lib/routes/cncf/index.ts +5 -5
- package/lib/routes/cncf/reports.ts +3 -3
- package/lib/routes/cneb/yjxw.ts +2 -2
- package/lib/routes/cngal/entry.ts +2 -4
- package/lib/routes/cngal/weekly.ts +4 -7
- package/lib/routes/cngold/index.ts +24 -24
- package/lib/routes/cnjxol/index.ts +0 -2
- package/lib/routes/cnki/author.ts +122 -50
- package/lib/routes/cnki/debut.ts +7 -9
- package/lib/routes/cnki/journals.ts +11 -13
- package/lib/routes/cnki/utils.ts +4 -7
- package/lib/routes/cntheory/paper.ts +0 -2
- package/lib/routes/cntv/column.ts +5 -7
- package/lib/routes/cockroachlabs/blog.ts +113 -0
- package/lib/routes/cockroachlabs/namespace.ts +7 -0
- package/lib/routes/codeforces/contests.ts +4 -6
- package/lib/routes/coindesk/{index.ts → consensus-magazine.ts} +17 -21
- package/lib/routes/coindesk/namespace.ts +2 -1
- package/lib/routes/coindesk/news.ts +47 -0
- package/lib/routes/coindesk/utils.ts +26 -0
- package/lib/routes/cointelegraph/index.ts +106 -0
- package/lib/routes/cointelegraph/namespace.ts +7 -0
- package/lib/routes/colamanga/manga.ts +4 -4
- package/lib/routes/collabo-cafe/category.ts +37 -0
- package/lib/routes/collabo-cafe/index.ts +35 -0
- package/lib/routes/collabo-cafe/namespace.ts +9 -0
- package/lib/routes/collabo-cafe/parser.ts +29 -0
- package/lib/routes/collabo-cafe/tag.ts +37 -0
- package/lib/routes/comicskingdom/index.ts +1 -3
- package/lib/routes/consumer/index.ts +6 -6
- package/lib/routes/consumer/shopping-guide.ts +2 -2
- package/lib/routes/cool18/index.ts +73 -42
- package/lib/routes/coolapk/dyh.ts +2 -2
- package/lib/routes/coolapk/hot.ts +7 -7
- package/lib/routes/coolapk/namespace.ts +1 -1
- package/lib/routes/coolapk/toutiao.ts +2 -2
- package/lib/routes/coolapk/tuwen.ts +2 -2
- package/lib/routes/{copernicium → coolpc}/namespace.ts +2 -2
- package/lib/routes/coolpc/news.ts +53 -0
- package/lib/routes/coomer/index.ts +161 -0
- package/lib/routes/coomer/namespace.ts +1 -1
- package/lib/routes/coomer/templates/source.art +24 -0
- package/lib/routes/copymanga/comic.ts +12 -24
- package/lib/routes/cosplaytele/article.ts +21 -0
- package/lib/routes/cosplaytele/category.ts +53 -0
- package/lib/routes/cosplaytele/const.ts +4 -0
- package/lib/routes/cosplaytele/latest.ts +50 -0
- package/lib/routes/cosplaytele/namespace.ts +8 -0
- package/lib/routes/cosplaytele/popular.ts +73 -0
- package/lib/routes/cosplaytele/tag.ts +53 -0
- package/lib/routes/cosplaytele/types.ts +12 -0
- package/lib/routes/counter-strike/news.ts +5 -5
- package/lib/routes/cpcaauto/index.ts +47 -47
- package/lib/routes/cpcey/index.ts +5 -5
- package/lib/routes/cpta/handler.ts +132 -0
- package/lib/routes/cpta/namespace.ts +6 -0
- package/lib/routes/cqwu/index.ts +2 -2
- package/lib/routes/crac/exam.ts +60 -0
- package/lib/routes/crac/index.ts +11 -6
- package/lib/routes/crac/namespace.ts +1 -0
- package/lib/routes/crac/templates/exam.art +54 -0
- package/lib/routes/creative-comic/book.ts +0 -2
- package/lib/routes/creative-comic/utils.ts +2 -2
- package/lib/routes/cryptoslate/index.ts +98 -0
- package/lib/routes/cryptoslate/namespace.ts +7 -0
- package/lib/routes/cs/index.ts +30 -30
- package/lib/routes/cs/video.ts +1 -1
- package/lib/routes/cs/zzkx.ts +1 -1
- package/lib/routes/csdn/blog.ts +17 -13
- package/lib/routes/css-tricks/articles.ts +48 -0
- package/lib/routes/css-tricks/collections.ts +62 -0
- package/lib/routes/css-tricks/namespace.ts +8 -0
- package/lib/routes/css-tricks/popular.ts +39 -0
- package/lib/routes/css-tricks/utils.ts +103 -0
- package/lib/routes/cssn/iolaw.ts +3 -3
- package/lib/routes/cste/index.ts +2 -2
- package/lib/routes/csu/cse.ts +3 -3
- package/lib/routes/csu/mail.ts +2 -2
- package/lib/routes/csu/utils.ts +1 -1
- package/lib/routes/ctbu/namespace.ts +7 -0
- package/lib/routes/ctbu/xxgg.ts +50 -0
- package/lib/routes/cts/news.ts +25 -24
- package/lib/routes/cuilingmag/index.ts +12 -14
- package/lib/routes/cupl/jwc.ts +69 -0
- package/lib/routes/cupl/namespace.ts +20 -0
- package/lib/routes/curius/links.ts +0 -2
- package/lib/routes/cursor/changelog.ts +116 -0
- package/lib/routes/cursor/namespace.ts +8 -0
- package/lib/routes/cw/master.ts +14 -14
- package/lib/routes/cw/utils.ts +7 -12
- package/lib/routes/cybersecurityventures/namespace.ts +7 -0
- package/lib/routes/cybersecurityventures/news.ts +121 -0
- package/lib/routes/cybersecurityventures/types.ts +17 -0
- package/lib/routes/cyzone/index.ts +8 -8
- package/lib/routes/cyzone/util.ts +8 -10
- package/lib/routes/cztv/daily.ts +0 -2
- package/lib/routes/cztv/zjxwlb.ts +0 -2
- package/lib/routes/dahecube/index.ts +2 -2
- package/lib/routes/daily/discussed.ts +40 -6
- package/lib/routes/daily/popular.ts +182 -0
- package/lib/routes/daily/source.ts +14 -5
- package/lib/routes/daily/squads.ts +266 -0
- package/lib/routes/daily/upvoted.ts +127 -30
- package/lib/routes/daily/user.ts +15 -5
- package/lib/routes/daily/utils.ts +36 -22
- package/lib/routes/damai/activity.ts +0 -2
- package/lib/routes/dangdang/notice.ts +4 -4
- package/lib/routes/daoxuan/namespace.ts +7 -0
- package/lib/routes/daoxuan/rss.ts +43 -0
- package/lib/routes/dapenti/utils.ts +1 -1
- package/lib/routes/dataguidance/index.ts +19 -30
- package/lib/routes/daum/potplayer.ts +257 -0
- package/lib/routes/dayanzai/index.ts +21 -23
- package/lib/routes/dbaplus/rss.ts +3 -4
- package/lib/routes/dcard/namespace.ts +1 -1
- package/lib/routes/dcard/utils.ts +38 -37
- package/lib/routes/dcfever/news.ts +2 -2
- package/lib/routes/dcfever/reviews.ts +2 -2
- package/lib/routes/dcfever/trading.ts +3 -3
- package/lib/routes/dcfever/utils.ts +0 -3
- package/lib/routes/ddosi/category.ts +3 -3
- package/lib/routes/ddosi/index.ts +3 -3
- package/lib/routes/deadline/posts.ts +0 -2
- package/lib/routes/decrypt/index.ts +115 -0
- package/lib/routes/decrypt/namespace.ts +7 -0
- package/lib/routes/dedao/index.ts +8 -2
- package/lib/routes/dedao/knowledge.ts +0 -2
- package/lib/routes/dedao/user.ts +2 -4
- package/lib/routes/deepl/blog.ts +422 -0
- package/lib/routes/deepl/namespace.ts +9 -0
- package/lib/routes/deepl/templates/description.art +21 -0
- package/lib/routes/deeplearning/namespace.ts +3 -1
- package/lib/routes/deeplearning/templates/description.art +21 -0
- package/lib/routes/deeplearning/the-batch.ts +294 -0
- package/lib/routes/deepseek/namespace.ts +8 -0
- package/lib/routes/deepseek/news.ts +88 -0
- package/lib/routes/dehenglaw/index.ts +5 -7
- package/lib/routes/dev.to/guides.ts +100 -0
- package/lib/routes/dev.to/namespace.ts +8 -0
- package/lib/routes/dev.to/top.ts +105 -0
- package/lib/routes/dewu/declaration.ts +5 -5
- package/lib/routes/dgut/jwb.ts +73 -0
- package/lib/routes/dgut/namespace.ts +9 -0
- package/lib/routes/dhu/jiaowu/news.ts +2 -2
- package/lib/routes/dhu/yjs/news.ts +2 -2
- package/lib/routes/dhu/yjs/zs.ts +2 -2
- package/lib/routes/diandong/news.ts +3 -3
- package/lib/routes/diariofruticola/filtro.ts +130 -0
- package/lib/routes/diariofruticola/namespace.ts +9 -0
- package/lib/routes/diershoubing/news.ts +0 -2
- package/lib/routes/digitalpolicyalert/activity-tracker.ts +135 -0
- package/lib/routes/digitalpolicyalert/namespace.ts +9 -0
- package/lib/routes/dingshao/namespace.ts +7 -0
- package/lib/routes/dingshao/share.ts +53 -0
- package/lib/routes/dingshao/types.ts +64 -0
- package/lib/routes/discord/channel.ts +0 -2
- package/lib/routes/discord/discord-api.ts +44 -2
- package/lib/routes/discord/search.ts +103 -0
- package/lib/routes/discourse/namespace.ts +1 -1
- package/lib/routes/discourse/notifications.ts +1 -1
- package/lib/routes/discuz/discuz.ts +7 -9
- package/lib/routes/disinfo/publications.ts +3 -3
- package/lib/routes/dlnews/category.ts +5 -9
- package/lib/routes/dlsite/campaign.ts +1 -1
- package/lib/routes/dlsite/ci-en/article.ts +1 -1
- package/lib/routes/dlsite/new.ts +3 -3
- package/lib/routes/dlsite/utils.ts +0 -3
- package/lib/routes/dmzj/news.ts +7 -7
- package/lib/routes/dn/news.ts +10 -12
- package/lib/routes/dnaindia/common.ts +26 -8
- package/lib/routes/dnaindia/topic.ts +1 -1
- package/lib/routes/dockerhub/build.ts +1 -1
- package/lib/routes/dockerhub/repositories.ts +42 -0
- package/lib/routes/dockerhub/tag.ts +19 -13
- package/lib/routes/docschina/weekly.ts +2 -2
- package/lib/routes/domp4/detail.ts +9 -7
- package/lib/routes/domp4/latest-movie-bt.ts +10 -10
- package/lib/routes/domp4/latest.ts +8 -8
- package/lib/routes/domp4/namespace.ts +3 -9
- package/lib/routes/domp4/utils.ts +5 -5
- package/lib/routes/dongqiudi/daily.ts +2 -2
- package/lib/routes/dongqiudi/namespace.ts +1 -1
- package/lib/routes/dongqiudi/special.ts +2 -2
- package/lib/routes/dongqiudi/top-news.ts +2 -2
- package/lib/routes/dora-world/article.ts +1 -1
- package/lib/routes/douban/book/latest.ts +2 -2
- package/lib/routes/douban/book/rank.ts +2 -2
- package/lib/routes/douban/channel/subject.ts +2 -2
- package/lib/routes/douban/channel/topic.ts +2 -2
- package/lib/routes/douban/commercialpress/latest.ts +3 -3
- package/lib/routes/douban/movie/coming.ts +0 -3
- package/lib/routes/douban/other/celebrity.ts +9 -13
- package/lib/routes/douban/other/doulist.ts +16 -16
- package/lib/routes/douban/other/explore-column.ts +6 -6
- package/lib/routes/douban/other/explore.ts +23 -29
- package/lib/routes/douban/other/group.ts +2 -2
- package/lib/routes/douban/other/jobs.ts +7 -9
- package/lib/routes/douban/other/later.ts +3 -3
- package/lib/routes/douban/other/latest-music.ts +3 -3
- package/lib/routes/douban/other/list.ts +26 -28
- package/lib/routes/douban/other/playing.ts +1 -1
- package/lib/routes/douban/other/recommended.ts +5 -7
- package/lib/routes/douban/other/replied.ts +3 -3
- package/lib/routes/douban/other/replies.ts +3 -3
- package/lib/routes/douban/other/topic.ts +1 -1
- package/lib/routes/douban/other/weekly-best.ts +2 -4
- package/lib/routes/douban/people/status.ts +17 -17
- package/lib/routes/douban/people/wish.ts +5 -5
- package/lib/routes/douyin/hashtag.ts +1 -1
- package/lib/routes/douyin/live.ts +2 -2
- package/lib/routes/douyin/namespace.ts +1 -1
- package/lib/routes/douyin/types.ts +1 -5
- package/lib/routes/douyin/user.ts +1 -1
- package/lib/routes/douyin/utils.ts +0 -3
- package/lib/routes/douyu/group.ts +2 -4
- package/lib/routes/douyu/post.ts +0 -2
- package/lib/routes/dribbble/utils.ts +0 -3
- package/lib/routes/dtcj/datahero.ts +2 -2
- package/lib/routes/dtcj/datainsight.ts +5 -5
- package/lib/routes/duckdb/news.ts +3 -4
- package/lib/routes/duozhuayu/search.ts +0 -2
- package/lib/routes/dushu/fuzhou/index.ts +0 -2
- package/lib/routes/dw/namespace.ts +6 -0
- package/lib/routes/dw/news.ts +89 -0
- package/lib/routes/dw/rss.ts +62 -0
- package/lib/routes/dw/templates/description.art +23 -0
- package/lib/routes/dw/templates/liveblog.art +13 -0
- package/lib/routes/dw/templates/video.art +14 -0
- package/lib/routes/dw/utils.ts +170 -0
- package/lib/routes/dx2025/index.ts +20 -20
- package/lib/routes/dytt/index.ts +319 -0
- package/lib/routes/dytt/namespace.ts +7 -0
- package/lib/routes/e-hentai/index.ts +3 -2
- package/lib/routes/ea/apex-news.ts +104 -0
- package/lib/routes/ea/namespace.ts +6 -0
- package/lib/routes/eagle/blog.ts +3 -3
- package/lib/routes/eagle/changelog.ts +28 -32
- package/lib/routes/earthquake/ceic.ts +8 -8
- package/lib/routes/eastday/24.ts +5 -5
- package/lib/routes/eastmoney/report/index.ts +3 -6
- package/lib/routes/eastmoney/search/index.ts +1 -1
- package/lib/routes/eastmoney/ttjj/user.ts +1 -1
- package/lib/routes/ebc/namespace.ts +6 -0
- package/lib/routes/ebc/realtime.ts +94 -0
- package/lib/routes/ecnu/contest.ts +0 -2
- package/lib/routes/ecnu/jwc.ts +8 -4
- package/lib/routes/economist/espresso.ts +1 -1
- package/lib/routes/economist/full.ts +1 -1
- package/lib/routes/ecust/jwc/notice.ts +2 -2
- package/lib/routes/egsea/flash.ts +2 -2
- package/lib/routes/ehentai/ehapi.ts +1 -1
- package/lib/routes/ehentai/favorites.ts +7 -2
- package/lib/routes/ehentai/search.ts +2 -2
- package/lib/routes/ehentai/tag.ts +3 -2
- package/lib/routes/ekantipur/issue.ts +3 -3
- package/lib/routes/eleduck/posts.ts +17 -17
- package/lib/routes/elsevier/issue.ts +3 -5
- package/lib/routes/elsevier/journal.ts +3 -5
- package/lib/routes/embassy/supported-list.ts +1 -1
- package/lib/routes/englishhome/index.ts +55 -0
- package/lib/routes/englishhome/namespace.ts +6 -0
- package/lib/routes/epicgames/index.ts +1 -3
- package/lib/routes/eprice/rss.ts +3 -5
- package/lib/routes/eshukan/academic.ts +2 -4
- package/lib/routes/espn/news.ts +1 -4
- package/lib/routes/esquirehk/tag.ts +1 -4
- package/lib/routes/eventernote/actors.ts +1 -1
- package/lib/routes/everia/article.ts +21 -0
- package/lib/routes/everia/category.ts +54 -0
- package/lib/routes/everia/const.ts +4 -0
- package/lib/routes/everia/latest.ts +49 -0
- package/lib/routes/everia/namespace.ts +6 -0
- package/lib/routes/everia/search.ts +45 -0
- package/lib/routes/everia/tag.ts +54 -0
- package/lib/routes/expats/czech-news.ts +272 -0
- package/lib/routes/expats/namespace.ts +9 -0
- package/lib/routes/famitsu/category.ts +3 -5
- package/lib/routes/fanbox/index.ts +1 -0
- package/lib/routes/fanbox/types.ts +0 -4
- package/lib/routes/fanbox/utils.ts +1 -4
- package/lib/routes/fangchan/list.ts +222 -0
- package/lib/routes/fangchan/namespace.ts +9 -0
- package/lib/routes/fangchan/templates/description.art +7 -0
- package/lib/routes/fansly/tag.ts +1 -0
- package/lib/routes/fansly/utils.ts +0 -3
- package/lib/routes/fantia/search.ts +36 -36
- package/lib/routes/fantia/user.ts +1 -1
- package/lib/routes/fantube/creator.ts +69 -0
- package/lib/routes/fantube/namespace.ts +7 -0
- package/lib/routes/fantube/templates/post.art +17 -0
- package/lib/routes/fantube/types.ts +100 -0
- package/lib/routes/fantube/utils.ts +268 -0
- package/lib/routes/farcaster/namespace.ts +7 -0
- package/lib/routes/farcaster/user.ts +46 -0
- package/lib/routes/farmatters/index.ts +0 -2
- package/lib/routes/fashionnetwork/index.ts +13 -15
- package/lib/routes/fastbull/express-news.ts +5 -5
- package/lib/routes/fastbull/namespace.ts +3 -3
- package/lib/routes/fastbull/news.ts +7 -9
- package/lib/routes/fediverse/timeline.ts +1 -1
- package/lib/routes/feng/forum.ts +2 -4
- package/lib/routes/ff14/ff14-global.ts +6 -8
- package/lib/routes/ff14/ff14-zh.ts +2 -4
- package/lib/routes/fffdm/manhua/manhua.ts +1 -3
- package/lib/routes/finology/bullets.ts +24 -14
- package/lib/routes/finology/category.ts +34 -33
- package/lib/routes/finology/most-viewed.ts +9 -32
- package/lib/routes/finology/tag.ts +37 -31
- package/lib/routes/finology/utils.ts +36 -31
- package/lib/routes/finviz/news.ts +3 -3
- package/lib/routes/finviz/quote.ts +14 -16
- package/lib/routes/fisher-spb/news.ts +3 -5
- package/lib/routes/fishshell/index.ts +3 -3
- package/lib/routes/fjksbm/index.ts +3 -3
- package/lib/routes/flyert/creditcard.ts +24 -24
- package/lib/routes/flyert/forum.ts +2 -2
- package/lib/routes/flyert/namespace.ts +1 -1
- package/lib/routes/flyert/preferential.ts +3 -3
- package/lib/routes/flyert/util.ts +0 -3
- package/lib/routes/flyert/utils.ts +17 -11
- package/lib/routes/focustaiwan/index.ts +5 -7
- package/lib/routes/follow/profile.ts +4 -2
- package/lib/routes/followin/index.ts +7 -7
- package/lib/routes/followin/news.ts +1 -1
- package/lib/routes/followin/utils.ts +0 -3
- package/lib/routes/foodtalks/index.ts +75 -0
- package/lib/routes/foodtalks/namespace.ts +9 -0
- package/lib/routes/foreignaffairs/namespace.ts +7 -0
- package/lib/routes/foreignaffairs/rss.ts +55 -0
- package/lib/routes/foresightnews/index.ts +3 -1
- package/lib/routes/foresightnews/util.ts +9 -14
- package/lib/routes/forklog/index.ts +72 -0
- package/lib/routes/forklog/namespace.ts +7 -0
- package/lib/routes/fortnite/news.ts +4 -4
- package/lib/routes/fortunechina/index.ts +2 -2
- package/lib/routes/fosshub/index.ts +0 -2
- package/lib/routes/freebuf/index.ts +2 -2
- package/lib/routes/freecomputerbooks/index.ts +0 -12
- package/lib/routes/freewechat/profile.ts +7 -1
- package/lib/routes/freexcomic/book.ts +4 -1
- package/lib/routes/ft/myft.ts +6 -6
- package/lib/routes/ftchinese/channel.ts +2 -2
- package/lib/routes/furaffinity/art.ts +85 -0
- package/lib/routes/furaffinity/browse.ts +58 -0
- package/lib/routes/furaffinity/commissions.ts +55 -0
- package/lib/routes/furaffinity/home.ts +80 -0
- package/lib/routes/furaffinity/journal-comments.ts +64 -0
- package/lib/routes/furaffinity/journals.ts +56 -0
- package/lib/routes/furaffinity/namespace.ts +7 -0
- package/lib/routes/furaffinity/search.ts +72 -0
- package/lib/routes/furaffinity/shouts.ts +56 -0
- package/lib/routes/furaffinity/status.ts +58 -0
- package/lib/routes/furaffinity/submission-comments.ts +64 -0
- package/lib/{routes-deprecated/furaffinity/user.js → routes/furaffinity/user.ts} +53 -41
- package/lib/routes/furaffinity/watchers.ts +62 -0
- package/lib/routes/furaffinity/watching.ts +62 -0
- package/lib/routes/furstar/artists.ts +2 -2
- package/lib/routes/furstar/utils.ts +14 -19
- package/lib/routes/futunn/main.ts +0 -2
- package/lib/routes/fx-markets/channel.ts +14 -16
- package/lib/routes/fx678/kx.ts +3 -3
- package/lib/routes/fxiaoke/crm.ts +2 -2
- package/lib/routes/fzmtr/announcements.ts +3 -3
- package/lib/routes/gameapps/index.ts +4 -4
- package/lib/routes/gamebase/news.ts +144 -64
- package/lib/routes/gamebase/templates/description.art +21 -0
- package/lib/routes/gamekee/namespace.ts +6 -0
- package/lib/routes/gamekee/news.ts +64 -0
- package/lib/routes/gamer/ani/anime.ts +1 -1
- package/lib/routes/gamer/ani/new-anime.ts +1 -1
- package/lib/routes/gamer/gnn-index.ts +4 -4
- package/lib/routes/gamer/hot.ts +9 -9
- package/lib/routes/gamer520/index.ts +3 -3
- package/lib/routes/gamersecret/index.ts +14 -14
- package/lib/routes/gamersky/utils.ts +1 -1
- package/lib/routes/gaoyu/blog.ts +145 -0
- package/lib/routes/gaoyu/namespace.ts +9 -0
- package/lib/routes/gaoyu/templates/description.art +7 -0
- package/lib/routes/gcores/articles.ts +50 -0
- package/lib/routes/gcores/categories.ts +126 -0
- package/lib/routes/gcores/collections.ts +126 -0
- package/lib/routes/gcores/namespace.ts +1 -0
- package/lib/routes/gcores/news.ts +50 -0
- package/lib/routes/gcores/parser.ts +281 -0
- package/lib/routes/gcores/program-previews.ts +47 -0
- package/lib/routes/gcores/radio.ts +5 -7
- package/lib/routes/gcores/tags.ts +126 -0
- package/lib/routes/gcores/templates/description.art +67 -0
- package/lib/routes/gcores/topics.ts +60 -0
- package/lib/routes/gcores/util.ts +173 -0
- package/lib/routes/gcores/videos.ts +49 -0
- package/lib/routes/gdsrx/index.ts +8 -8
- package/lib/routes/gdufs/namespace.ts +7 -0
- package/lib/routes/gdufs/news.ts +94 -0
- package/lib/routes/gdufs/xwxy/xwxy-news.ts +90 -0
- package/lib/routes/gdut/oa-news.ts +85 -84
- package/lib/routes/geekpark/index.ts +13 -15
- package/lib/routes/gelbooru/namespace.ts +7 -0
- package/lib/routes/gelbooru/post.ts +113 -0
- package/lib/routes/gelbooru/templates/description.art +19 -0
- package/lib/routes/gelbooru/utils.ts +40 -0
- package/lib/routes/gelonghui/home.ts +3 -3
- package/lib/routes/gelonghui/hot-article.ts +1 -1
- package/lib/routes/gelonghui/keyword.ts +1 -1
- package/lib/routes/gelonghui/live.ts +1 -3
- package/lib/routes/gelonghui/subject.ts +1 -1
- package/lib/routes/gelonghui/user.ts +1 -1
- package/lib/routes/genossenschaften/index.ts +123 -0
- package/lib/routes/genossenschaften/namespace.ts +8 -0
- package/lib/routes/geocaching/blogs.ts +84 -22
- package/lib/routes/gettr/user.ts +1 -3
- package/lib/routes/gf-cn/news.ts +2 -2
- package/lib/routes/gihyo/group.ts +17 -19
- package/lib/routes/gitcode/namespace.ts +7 -0
- package/lib/routes/gitcode/repos/commits.ts +67 -0
- package/lib/routes/github/activity.ts +2 -1
- package/lib/routes/github/comments.ts +2 -2
- package/lib/routes/github/contributors.ts +1 -1
- package/lib/routes/github/issue.ts +1 -1
- package/lib/routes/github/namespace.ts +2 -2
- package/lib/routes/github/private-feed.ts +229 -0
- package/lib/routes/github/pulse.ts +0 -2
- package/lib/routes/github/repos.ts +55 -18
- package/lib/routes/github/search.ts +5 -5
- package/lib/routes/github/star.ts +2 -2
- package/lib/routes/github/topic.ts +4 -4
- package/lib/routes/github/trending.ts +1 -3
- package/lib/routes/gitpod/blog.ts +0 -2
- package/lib/routes/gmu/namespace.ts +7 -0
- package/lib/routes/gmu/news.ts +136 -0
- package/lib/routes/gmu/yjs.ts +173 -0
- package/lib/routes/go/jihs/idwr.ts +137 -0
- package/lib/routes/go/mhlw/pdf.ts +2 -2
- package/lib/routes/gofans/index.ts +0 -2
- package/lib/routes/google/citations.ts +2 -2
- package/lib/routes/google/developers.ts +71 -0
- package/lib/routes/google/doodles.ts +1 -1
- package/lib/routes/google/extension.ts +9 -10
- package/lib/routes/google/fonts.ts +4 -6
- package/lib/routes/google/news.ts +0 -2
- package/lib/routes/google/research.ts +14 -2
- package/lib/routes/google/scholar.ts +4 -4
- package/lib/routes/google/search.ts +18 -32
- package/lib/routes/gov/ah/kjt.ts +20 -20
- package/lib/routes/gov/beijing/bjedu/gh.ts +2 -2
- package/lib/routes/gov/caac/cjwt.ts +1 -3
- package/lib/routes/gov/cbirc/index.ts +91 -90
- package/lib/routes/gov/chinatax/latest.ts +3 -3
- package/lib/routes/gov/chongqing/gzw.ts +2 -2
- package/lib/routes/gov/chongqing/sydwgkzp.ts +22 -6
- package/lib/routes/gov/cmse/fxrw.ts +0 -2
- package/lib/routes/gov/cmse/index.ts +0 -2
- package/lib/routes/gov/csrc/csrc.ts +103 -103
- package/lib/routes/gov/csrc/news.ts +1 -3
- package/lib/routes/gov/customs/list.ts +10 -5
- package/lib/routes/gov/forestry/gjlckjdjt.ts +7 -9
- package/lib/routes/gov/general/general.ts +1 -4
- package/lib/routes/gov/guangdong/tqyb/sncsyjxh.ts +0 -2
- package/lib/routes/gov/guangdong/tqyb/tfxtq.ts +0 -2
- package/lib/routes/gov/hainan/iitb/tzgg.ts +77 -0
- package/lib/routes/gov/hainan/namespace.ts +8 -0
- package/lib/routes/gov/hangzhou/namespace.ts +9 -0
- package/lib/routes/gov/hangzhou/templates/jbxx.art +173 -0
- package/lib/routes/gov/hangzhou/zjzwfw.ts +89 -0
- package/lib/routes/gov/hangzhou/zwfw.ts +110 -0
- package/lib/routes/gov/hebei/czt.ts +2 -2
- package/lib/routes/gov/huizhou/zwgk/index.ts +3 -3
- package/lib/routes/gov/hunan/changsha/major-email.ts +3 -3
- package/lib/routes/gov/jgjcndrc/index.ts +2 -2
- package/lib/routes/gov/jiangsu/wlt/index.ts +2 -5
- package/lib/routes/gov/jinan/healthcommission/medical-exam-notice.ts +16 -18
- package/lib/routes/gov/lswz/index.ts +34 -34
- package/lib/routes/gov/maonan/maonan.ts +2 -2
- package/lib/routes/gov/mee/ywdt.ts +3 -3
- package/lib/routes/gov/mem/sgcc.ts +2 -2
- package/lib/routes/gov/mfa/wjdt.ts +10 -10
- package/lib/routes/gov/miit/wjfb.ts +6 -6
- package/lib/routes/gov/miit/yjzj.ts +6 -6
- package/lib/routes/gov/miit/zcwj.ts +1 -1
- package/lib/routes/gov/moa/gjs.ts +211 -0
- package/lib/routes/gov/moa/moa.ts +3 -3
- package/lib/routes/gov/moa/zdscxx.ts +17 -15
- package/lib/routes/gov/moe/moe.ts +37 -39
- package/lib/routes/gov/mof/bond.ts +3 -3
- package/lib/routes/gov/mof/gss.ts +82 -0
- package/lib/routes/gov/moj/aac/news.ts +2 -2
- package/lib/routes/gov/nea/ghs.ts +70 -37
- package/lib/routes/gov/npc/index.ts +2 -2
- package/lib/routes/gov/nrta/dsj.ts +15 -16
- package/lib/routes/gov/nrta/news.ts +5 -5
- package/lib/routes/gov/pbc/goutongjiaoliu.ts +5 -5
- package/lib/routes/gov/pbc/gzlw.ts +3 -3
- package/lib/routes/gov/pbc/namespace.ts +28 -28
- package/lib/routes/gov/pbc/trade-announcement.ts +4 -4
- package/lib/routes/gov/pbc/zcyj.ts +3 -3
- package/lib/routes/gov/safe/util.ts +0 -3
- package/lib/routes/gov/samr/xgzlyhd.ts +91 -93
- package/lib/routes/gov/sh/fgw/index.ts +5 -7
- package/lib/routes/gov/sh/rsj/ksxm.ts +3 -5
- package/lib/routes/gov/sh/wgj/wgj.ts +3 -5
- package/lib/routes/gov/sh/wsjkw/yqtb/index.ts +14 -18
- package/lib/routes/gov/shaanxi/kjt.ts +2 -2
- package/lib/routes/gov/shenzhen/hrss/szksy/index.ts +5 -5
- package/lib/routes/gov/shenzhen/szlh/index.ts +77 -0
- package/lib/routes/gov/shenzhen/szlh/namespace.ts +8 -0
- package/lib/routes/gov/shenzhen/xxgk/zfxxgj.ts +2 -2
- package/lib/routes/gov/shenzhen/zjj/index.ts +2 -2
- package/lib/routes/gov/shenzhen/zzb/index.ts +5 -5
- package/lib/routes/gov/sichuan/deyang/govpublicinfo.ts +11 -14
- package/lib/routes/gov/sichuan/deyang/mztoday.ts +2 -4
- package/lib/routes/gov/stats/index.ts +4 -10
- package/lib/routes/gov/suzhou/news.ts +17 -17
- package/lib/routes/gov/taiyuan/rsj.ts +5 -5
- package/lib/routes/gov/tianjin/tjftz.ts +53 -0
- package/lib/routes/gov/tianjin/tjrcgzw.ts +51 -0
- package/lib/routes/gov/xuzhou/hrss.ts +2 -2
- package/lib/routes/gov/zhejiang/gwy.ts +22 -22
- package/lib/routes/gov/zhengce/govall.ts +9 -9
- package/lib/routes/gq/news.ts +1 -1
- package/lib/routes/grainoil/category.ts +208 -0
- package/lib/routes/grainoil/namespace.ts +9 -0
- package/lib/routes/greasyfork/feedback.ts +1 -1
- package/lib/routes/greasyfork/versions.ts +1 -1
- package/lib/routes/grist/index.ts +4 -1
- package/lib/routes/grist/topic.ts +43 -43
- package/lib/routes/grist/utils.ts +5 -4
- package/lib/routes/guancha/index.ts +4 -4
- package/lib/routes/guancha/member.ts +3 -3
- package/lib/routes/guangdiu/cheaps.ts +3 -3
- package/lib/routes/guangdiu/index.ts +5 -5
- package/lib/routes/guangdiu/rank.ts +3 -3
- package/lib/routes/guangdiu/search.ts +3 -3
- package/lib/routes/guangzhoumetro/news.ts +3 -3
- package/lib/routes/guduodata/daily.ts +5 -7
- package/lib/routes/gumroad/index.ts +0 -2
- package/lib/routes/guokr/channel.ts +2 -2
- package/lib/routes/guozaoke/index.ts +34 -35
- package/lib/routes/gzdaily/app.ts +9 -11
- package/lib/routes/hackernews/index.ts +6 -6
- package/lib/routes/hacking8/index.ts +2 -2
- package/lib/routes/hackyournews/index.ts +5 -5
- package/lib/routes/hafu/news.ts +2 -2
- package/lib/routes/hafu/utils.ts +90 -99
- package/lib/routes/hakkatv/type.ts +2 -2
- package/lib/routes/hanime1/namespace.ts +7 -0
- package/lib/routes/hanime1/previews.ts +97 -0
- package/lib/routes/hanime1/search.ts +97 -0
- package/lib/routes/hashnode/blog.ts +2 -4
- package/lib/routes/hbr/topic.ts +29 -24
- package/lib/routes/hdu/auto/notice.ts +68 -0
- package/lib/routes/hdu/auto/utils.ts +51 -0
- package/lib/routes/hdu/cs/notice.ts +10 -15
- package/lib/routes/hdu/cs/pg.ts +10 -15
- package/lib/routes/hdu/namespace.ts +1 -1
- package/lib/routes/hebtv/nong-bo-shi-zai-xing-dong.ts +0 -2
- package/lib/routes/hedwig/namespace.ts +7 -0
- package/lib/routes/hedwig/posts.ts +60 -0
- package/lib/routes/hellobtc/information.ts +3 -3
- package/lib/routes/hellobtc/kepu.ts +5 -5
- package/lib/routes/hellobtc/news.ts +3 -3
- package/lib/routes/hellogithub/article.ts +62 -0
- package/lib/routes/hellogithub/index.ts +5 -5
- package/lib/routes/hellogithub/report.ts +3 -5
- package/lib/routes/hellogithub/volume.ts +4 -3
- package/lib/routes/hexun/index.ts +74 -0
- package/lib/routes/hexun/namespace.ts +8 -0
- package/lib/routes/hfut/hf/notice.ts +2 -2
- package/lib/routes/hfut/xc/notice.ts +2 -2
- package/lib/routes/hicairo/rss.ts +3 -3
- package/lib/routes/hinatazaka46/blog.ts +35 -35
- package/lib/routes/hiring.cafe/jobs.ts +149 -0
- package/lib/routes/hiring.cafe/namespace.ts +10 -0
- package/lib/routes/hiring.cafe/templates/jobs.art +18 -0
- package/lib/routes/hit/hitgs.ts +240 -54
- package/lib/routes/hit/namespace.ts +1 -1
- package/lib/routes/hit/templates/description.art +7 -0
- package/lib/routes/hit/today.ts +4 -4
- package/lib/routes/hitcon/zeroday.ts +3 -6
- package/lib/routes/hitsz/article.ts +2 -2
- package/lib/routes/hitwh/today.ts +3 -3
- package/lib/routes/hizu/index.ts +25 -25
- package/lib/routes/hk01/utils.ts +0 -3
- package/lib/routes/hkej/index.ts +13 -17
- package/lib/routes/hkepc/index.ts +3 -3
- package/lib/routes/hket/index.ts +18 -8
- package/lib/routes/hkjunkcall/index.ts +3 -3
- package/lib/routes/hkushop/namespace.ts +9 -0
- package/lib/routes/hkushop/vinyl-or-picture-lp.ts +87 -0
- package/lib/routes/hlju/namespace.ts +8 -0
- package/lib/routes/hlju/news.ts +141 -0
- package/lib/routes/hljucm/yjsy.ts +2 -2
- package/lib/routes/hnrb/index.ts +11 -11
- package/lib/routes/home-assistant/hacs.ts +50 -0
- package/lib/routes/home-assistant/namespace.ts +7 -0
- package/lib/routes/hongkong/dh.ts +3 -3
- package/lib/routes/hostmonit/cloudflareyes.ts +2 -4
- package/lib/routes/hostmonit/cloudflareyesv6.ts +1 -1
- package/lib/routes/hottoys/index.ts +2 -2
- package/lib/routes/hotukdeals/index.ts +3 -3
- package/lib/routes/houxu/events.ts +0 -2
- package/lib/routes/houxu/index.ts +0 -2
- package/lib/routes/houxu/memory.ts +0 -2
- package/lib/routes/howtoforge/rss.ts +3 -3
- package/lib/routes/hoyolab/news.ts +21 -23
- package/lib/routes/hpoi/all.ts +1 -1
- package/lib/routes/hpoi/banner-item.ts +3 -3
- package/lib/routes/hpoi/character.ts +1 -1
- package/lib/routes/hpoi/info.ts +68 -23
- package/lib/routes/hpoi/user.ts +3 -3
- package/lib/routes/hpoi/utils.ts +3 -3
- package/lib/routes/hpoi/work.ts +1 -1
- package/lib/routes/hrbeu/cec/list.ts +82 -0
- package/lib/routes/hrbeu/gx/card.ts +3 -3
- package/lib/routes/hrbeu/gx/list.ts +3 -3
- package/lib/routes/hrbeu/job/bigemploy.ts +3 -3
- package/lib/routes/hrbeu/job/calendar.ts +5 -5
- package/lib/routes/hrbeu/job/list.ts +5 -5
- package/lib/routes/hrbeu/sec/list.ts +80 -0
- package/lib/routes/hrbeu/uae/news.ts +5 -5
- package/lib/routes/hrbeu/ugs/news.ts +21 -21
- package/lib/routes/hrbeu/yjsy/list.ts +5 -5
- package/lib/routes/hrbust/cs.ts +100 -0
- package/lib/routes/hrbust/gzc.ts +97 -0
- package/lib/routes/hrbust/jwzx.ts +74 -37
- package/lib/routes/hrbust/lib.ts +97 -0
- package/lib/routes/hrbust/namespace.ts +2 -1
- package/lib/routes/hrbust/news.ts +104 -0
- package/lib/routes/hrbust/nic.ts +97 -0
- package/lib/routes/huanqiu/index.ts +2 -2
- package/lib/routes/huawei/developer/harmonyos/samplecode.ts +69 -0
- package/lib/routes/huawei/namespace.ts +7 -0
- package/lib/routes/hubu/index.ts +5 -5
- package/lib/routes/hubu/zhxy.ts +21 -21
- package/lib/routes/huggingface/blog-community.ts +126 -0
- package/lib/routes/huggingface/blog.ts +87 -0
- package/lib/routes/hunau/gfxy/index.ts +3 -3
- package/lib/routes/hunau/ied.ts +4 -4
- package/lib/routes/hunau/jwc.ts +3 -3
- package/lib/routes/hunau/xky/index.ts +3 -3
- package/lib/routes/hupu/all.ts +2 -4
- package/lib/routes/hupu/bbs.ts +2 -4
- package/lib/routes/hupu/index.ts +4 -4
- package/lib/routes/hupu/templates/description.art +1 -1
- package/lib/routes/hust/aia/notice.ts +2 -2
- package/lib/routes/hust/gs.ts +37 -36
- package/lib/routes/hust/mse.ts +68 -68
- package/lib/routes/huxiu/channel.ts +8 -8
- package/lib/routes/huxiu/club.ts +4 -1
- package/lib/routes/huxiu/member.ts +7 -4
- package/lib/routes/huxiu/util.ts +11 -12
- package/lib/routes/hyperdash/namespace.ts +7 -0
- package/lib/routes/hyperdash/templates/description.art +34 -0
- package/lib/routes/hyperdash/top-traders.ts +84 -0
- package/lib/routes/hyperdash/utils.ts +49 -0
- package/lib/routes/hypergryph/arknights/announce.ts +6 -6
- package/lib/routes/hypergryph/arknights/news.ts +3 -3
- package/lib/routes/i-cable/news.ts +1 -4
- package/lib/routes/ianspriggs/index.ts +2 -4
- package/lib/routes/icac/news.ts +3 -3
- package/lib/routes/icbc/whpj.ts +2 -2
- package/lib/routes/idaily/index.ts +3 -5
- package/lib/routes/idolmaster/namespace.ts +7 -0
- package/lib/routes/idolmaster/news.ts +112 -0
- package/lib/routes/idolypride/news.ts +1 -1
- package/lib/routes/ieee/author.ts +93 -0
- package/lib/routes/ieee/journal.ts +0 -2
- package/lib/routes/iehou/index.ts +5 -5
- package/lib/routes/ielts/index.ts +3 -3
- package/lib/routes/ifanr/category.ts +76 -0
- package/lib/routes/ifanr/digest.ts +104 -0
- package/lib/routes/ifanr/index.ts +70 -0
- package/lib/routes/ifanr/namespace.ts +8 -0
- package/lib/routes/ifeng/feng.ts +2 -2
- package/lib/routes/ifeng/news.ts +0 -2
- package/lib/routes/ifeng/utils.ts +0 -3
- package/lib/routes/ifi-audio/download.ts +1 -1
- package/lib/routes/ifun/n/category.ts +102 -0
- package/lib/routes/ifun/n/search.ts +73 -0
- package/lib/routes/ifun/n/tag.ts +76 -0
- package/lib/routes/ifun/n/util.ts +34 -0
- package/lib/routes/ifun/namespace.ts +9 -0
- package/lib/routes/iguoguo/index.ts +57 -55
- package/lib/routes/iheima/index.ts +44 -0
- package/lib/routes/iheima/namespace.ts +8 -0
- package/lib/routes/ikea/cn/low-price.ts +2 -1
- package/lib/routes/ikea/cn/utils.ts +0 -3
- package/lib/routes/ikea/gb/new.ts +0 -2
- package/lib/routes/ikea/gb/offer.ts +0 -2
- package/lib/routes/iknowwhatyoudownload/daily.ts +109 -0
- package/lib/routes/iknowwhatyoudownload/namespace.ts +8 -0
- package/lib/routes/iknowwhatyoudownload/templates/daily.art +34 -0
- package/lib/routes/imdb/chart.ts +4 -6
- package/lib/routes/imhcg/blog.ts +6 -6
- package/lib/routes/imiker/jinghua.ts +0 -2
- package/lib/routes/indienova/column.ts +20 -20
- package/lib/routes/inewsweek/index.ts +3 -3
- package/lib/routes/infoq/presentations.ts +2 -4
- package/lib/routes/infoq/topic.ts +16 -13
- package/lib/routes/informedainews/namespace.ts +1 -1
- package/lib/routes/informs/index.ts +3 -6
- package/lib/routes/infzm/index.ts +3 -3
- package/lib/routes/inoreader/index.ts +18 -20
- package/lib/routes/inoreader/rss.ts +1 -1
- package/lib/routes/inspirehep/author.ts +9 -1
- package/lib/routes/instagram/common-utils.ts +0 -3
- package/lib/routes/instagram/namespace.ts +1 -1
- package/lib/routes/instagram/private-api/index.ts +1 -1
- package/lib/routes/instagram/web-api/index.ts +18 -14
- package/lib/routes/instagram/web-api/utils.ts +46 -66
- package/lib/routes/instructables/projects.ts +22 -17
- package/lib/routes/investor/index.ts +18 -18
- package/lib/routes/iplaysoft/category.ts +49 -0
- package/lib/routes/iplaysoft/index.ts +48 -41
- package/lib/routes/iplaysoft/namespace.ts +1 -0
- package/lib/routes/iplaysoft/tag.ts +49 -0
- package/lib/routes/iplaysoft/utils.ts +34 -0
- package/lib/routes/ipsw/index.ts +10 -11
- package/lib/routes/ipsw.dev/index.ts +3 -5
- package/lib/routes/iqilu/program.ts +0 -2
- package/lib/routes/iqiyi/album.ts +2 -4
- package/lib/routes/iqiyi/video.ts +7 -11
- package/lib/routes/iresearch/chart.ts +372 -0
- package/lib/routes/iresearch/report.ts +1 -3
- package/lib/routes/iresearch/templates/chart.art +13 -0
- package/lib/routes/iresearch/weekly.ts +1 -3
- package/lib/routes/isct/namespace.ts +15 -0
- package/lib/routes/isct/news.ts +81 -0
- package/lib/routes/itch/devlog.ts +0 -2
- package/lib/routes/itch/index.ts +0 -2
- package/lib/routes/ithome/index.ts +5 -5
- package/lib/routes/ithome/ranking.ts +7 -7
- package/lib/routes/ithome/tag.ts +3 -3
- package/lib/routes/ithome/tw/feeds.ts +3 -3
- package/lib/routes/ithome/zt.ts +2 -4
- package/lib/routes/iwara/subscriptions.ts +2 -4
- package/lib/routes/ixigua/user-video.ts +0 -2
- package/lib/routes/jamesclear/book-summaries.ts +40 -0
- package/lib/routes/jamesclear/great-speeches.ts +40 -0
- package/lib/routes/{watasuke → jamesclear}/namespace.ts +3 -3
- package/lib/routes/jamesclear/quotes.ts +40 -0
- package/lib/routes/jamesclear/three-two-one.ts +41 -0
- package/lib/routes/jamesclear/utils.ts +22 -0
- package/lib/routes/jandan/index.ts +36 -12
- package/lib/routes/jandan/section.ts +102 -44
- package/lib/routes/jandan/utils.ts +248 -0
- package/lib/routes/japanpost/track.ts +46 -53
- package/lib/routes/japanpost/utils.ts +4 -4
- package/lib/routes/javbus/index.ts +4 -3
- package/lib/routes/javbus/namespace.ts +3 -3
- package/lib/routes/javdb/actors.ts +2 -2
- package/lib/routes/javdb/index.ts +9 -9
- package/lib/routes/javdb/makers.ts +2 -2
- package/lib/routes/javdb/namespace.ts +2 -2
- package/lib/routes/javdb/rankings.ts +6 -6
- package/lib/routes/javdb/search.ts +6 -6
- package/lib/routes/javdb/series.ts +2 -2
- package/lib/routes/javdb/tags.ts +6 -5
- package/lib/routes/javdb/videocodes.ts +2 -2
- package/lib/routes/javlibrary/bestrated.ts +2 -2
- package/lib/routes/javlibrary/bestreviews.ts +2 -2
- package/lib/routes/javlibrary/genre.ts +4 -4
- package/lib/routes/javlibrary/maker.ts +2 -2
- package/lib/routes/javlibrary/mostwanted.ts +2 -2
- package/lib/routes/javlibrary/newrelease.ts +2 -2
- package/lib/routes/javlibrary/star.ts +5 -4
- package/lib/routes/javlibrary/user.ts +2 -2
- package/lib/routes/javlibrary/utils.ts +0 -3
- package/lib/routes/javtiful/actress.ts +3 -0
- package/lib/routes/javtiful/channel.ts +3 -0
- package/lib/routes/javtiful/utils.ts +0 -3
- package/lib/routes/javtrailers/casts.ts +44 -0
- package/lib/routes/javtrailers/categories.ts +40 -0
- package/lib/routes/javtrailers/namespace.ts +7 -0
- package/lib/routes/javtrailers/studios.ts +39 -0
- package/lib/routes/javtrailers/templates/description.art +31 -0
- package/lib/routes/javtrailers/types.ts +59 -0
- package/lib/routes/javtrailers/utils.ts +46 -0
- package/lib/routes/jd/price.ts +2 -4
- package/lib/routes/jetbrains/comments.ts +99 -0
- package/lib/routes/jetbrains/namespace.ts +8 -0
- package/lib/routes/jewishmuseum/exhibitions.ts +2 -2
- package/lib/routes/jianshu/collection.ts +2 -2
- package/lib/routes/jianshu/home.ts +2 -2
- package/lib/routes/jianshu/user.ts +2 -2
- package/lib/routes/jiemian/account.ts +16 -0
- package/lib/routes/jiemian/common.ts +101 -0
- package/lib/routes/jiemian/lists.ts +93 -106
- package/lib/routes/jiemian/special.ts +12 -0
- package/lib/routes/jiemian/video.ts +19 -0
- package/lib/routes/jiemian/vip.ts +20 -0
- package/lib/routes/jike/topic.ts +1 -1
- package/lib/routes/jike/user.ts +1 -1
- package/lib/routes/jike/utils.ts +0 -1
- package/lib/routes/jimmyspa/books.ts +110 -0
- package/lib/routes/jimmyspa/namespace.ts +7 -0
- package/lib/routes/jimmyspa/news.ts +122 -0
- package/lib/routes/jimmyspa/templates/description.art +17 -0
- package/lib/routes/jin10/category.ts +221 -0
- package/lib/routes/jin10/index.ts +1 -3
- package/lib/routes/jin10/topic.ts +1 -1
- package/lib/routes/jingzhengu/utils.ts +3 -3
- package/lib/routes/jinritemai/docs.ts +6 -6
- package/lib/routes/jinse/catalogue.ts +5 -7
- package/lib/routes/jinse/lives.ts +3 -5
- package/lib/routes/jinse/timeline.ts +4 -6
- package/lib/routes/jisilu/category.ts +115 -0
- package/lib/routes/jisilu/explore.ts +79 -0
- package/lib/routes/jisilu/namespace.ts +1 -0
- package/lib/routes/jisilu/people.ts +95 -0
- package/lib/routes/jisilu/topic.ts +76 -0
- package/lib/routes/jisilu/util.ts +112 -0
- package/lib/routes/jiuyangongshe/community.ts +2 -5
- package/lib/routes/jjwxc/author.ts +0 -2
- package/lib/routes/jjwxc/book.ts +1 -3
- package/lib/routes/joins/chinese.ts +31 -33
- package/lib/routes/joneslanglasalle/index.ts +309 -0
- package/lib/routes/joneslanglasalle/namespace.ts +13 -0
- package/lib/routes/joneslanglasalle/templates/description.art +21 -0
- package/lib/routes/jornada/index.ts +13 -13
- package/lib/routes/joshwcomeau/latest.ts +59 -0
- package/lib/routes/joshwcomeau/namespace.ts +8 -0
- package/lib/routes/joshwcomeau/popular.ts +38 -0
- package/lib/routes/joshwcomeau/utils.ts +61 -0
- package/lib/routes/jpmorganchase/namespace.ts +9 -0
- package/lib/routes/jpmorganchase/research.ts +107 -0
- package/lib/routes/jpxgmn/search.ts +2 -2
- package/lib/routes/jpxgmn/tab.ts +6 -3
- package/lib/routes/jpxgmn/utils.ts +11 -6
- package/lib/routes/jpxgmn/weekly.ts +3 -3
- package/lib/routes/jrj/index.ts +127 -0
- package/lib/routes/jrj/namespace.ts +8 -0
- package/lib/routes/jsu/jwc.ts +2 -2
- package/lib/routes/juejin/books.ts +5 -7
- package/lib/routes/juejin/category.ts +19 -19
- package/lib/routes/juejin/collection.ts +6 -14
- package/lib/routes/juejin/{favorites.ts → collections.ts} +17 -25
- package/lib/routes/juejin/column.ts +13 -18
- package/lib/routes/juejin/dynamic.ts +19 -9
- package/lib/routes/juejin/pins.ts +11 -14
- package/lib/routes/juejin/posts.ts +19 -12
- package/lib/routes/juejin/tag.ts +11 -21
- package/lib/routes/juejin/trending.ts +28 -32
- package/lib/routes/juejin/types.ts +232 -0
- package/lib/routes/juejin/utils.ts +144 -45
- package/lib/routes/jumeili/home.ts +98 -0
- package/lib/routes/jumeili/namespace.ts +7 -0
- package/lib/routes/jump/discount.ts +14 -16
- package/lib/routes/kadokawa/blog.ts +0 -2
- package/lib/routes/kakuyomu/works.ts +3 -0
- package/lib/routes/kamen-rider-official/news.ts +31 -33
- package/lib/routes/kantarworldpanel/index.ts +0 -2
- package/lib/routes/kanxue/topic.ts +26 -26
- package/lib/routes/kaopu/news.ts +3 -3
- package/lib/routes/kbs/news.ts +5 -5
- package/lib/routes/kbs/today.ts +5 -5
- package/lib/routes/kcna/news.ts +53 -53
- package/lib/routes/keep/templates/user.art +10 -8
- package/lib/routes/keep/user.ts +30 -38
- package/lib/routes/kemono/const.ts +9 -0
- package/lib/routes/kemono/index.ts +288 -147
- package/lib/routes/kemono/namespace.ts +1 -1
- package/lib/routes/kemono/types.ts +31 -0
- package/lib/routes/kepu/live.ts +0 -2
- package/lib/routes/keylol/index.ts +2 -2
- package/lib/routes/kiro/blog.ts +131 -0
- package/lib/routes/kiro/changelog.ts +128 -0
- package/lib/routes/kiro/namespace.ts +9 -0
- package/lib/routes/komiic/comic.ts +88 -0
- package/lib/routes/komiic/namespace.ts +7 -0
- package/lib/routes/konachan/post.ts +32 -21
- package/lib/routes/koreaherald/index.ts +70 -0
- package/lib/routes/koreaherald/namespace.ts +6 -0
- package/lib/routes/kovidgoyal/kitty/changelog.ts +83 -0
- package/lib/routes/kovidgoyal/namespace.ts +7 -0
- package/lib/routes/kpmg/insights.ts +0 -2
- package/lib/routes/kpopping/kpics.ts +215 -0
- package/lib/routes/kpopping/namespace.ts +9 -0
- package/lib/routes/kpopping/news.ts +195 -0
- package/lib/routes/kpopping/templates/description.art +17 -0
- package/lib/routes/kuaidi100/index.ts +2 -2
- package/lib/routes/kuaidi100/utils.ts +1 -1
- package/lib/routes/kuaishou/namespace.ts +8 -0
- package/lib/routes/kuaishou/profile.ts +92 -0
- package/lib/routes/kunchengblog/essay.ts +1 -1
- package/lib/routes/kurogames/namespace.ts +1 -1
- package/lib/routes/kurogames/wutheringwaves/constants.ts +34 -0
- package/lib/routes/kurogames/wutheringwaves/news.ts +63 -33
- package/lib/routes/kurogames/wutheringwaves/utils.ts +79 -0
- package/lib/routes/kyodonews/index.ts +8 -10
- package/lib/routes/lala/rss.ts +3 -3
- package/lib/routes/landiannews/category.ts +48 -0
- package/lib/routes/landiannews/index.ts +44 -0
- package/lib/routes/landiannews/namespace.ts +9 -0
- package/lib/routes/landiannews/tag.ts +48 -0
- package/lib/routes/landiannews/utils.ts +34 -0
- package/lib/routes/lang/room.ts +0 -2
- package/lib/routes/lanqiao/utils.ts +0 -3
- package/lib/routes/laohu8/personal.ts +1 -1
- package/lib/routes/last-origin/namespace.ts +7 -0
- package/lib/routes/last-origin/news.ts +65 -0
- package/lib/routes/latepost/index.ts +4 -4
- package/lib/routes/leagueoflegends/namespace.ts +8 -0
- package/lib/routes/leagueoflegends/patch-notes.ts +76 -0
- package/lib/routes/learnblockchain/posts.ts +28 -32
- package/lib/routes/learnku/topic.ts +1 -3
- package/lib/routes/leetcode/articles.ts +8 -8
- package/lib/routes/leetcode/dailyquestion-cn.ts +0 -2
- package/lib/routes/leetcode/dailyquestion-en.ts +0 -2
- package/lib/routes/leiphone/index.ts +1 -1
- package/lib/routes/lemmy/index.ts +1 -1
- package/lib/routes/lenovo/drive.ts +65 -0
- package/lib/routes/lenovo/namespace.ts +7 -0
- package/lib/routes/lenovo/templates/drive.art +9 -0
- package/lib/routes/lens/namespace.ts +7 -0
- package/lib/routes/lens/profile.ts +80 -0
- package/lib/routes/lfsyd/utils.ts +0 -3
- package/lib/routes/lhratings/namespace.ts +9 -0
- package/lib/routes/lhratings/research.ts +146 -0
- package/lib/routes/likeshop/index.ts +43 -0
- package/lib/routes/likeshop/namespace.ts +7 -0
- package/lib/routes/line/today.ts +3 -3
- package/lib/routes/line/utils.ts +1 -1
- package/lib/routes/lineageos/changes.ts +79 -0
- package/lib/routes/lineageos/namespace.ts +9 -0
- package/lib/routes/linkedin/cn/index.ts +7 -7
- package/lib/routes/linkedin/cn/renderer.ts +2 -2
- package/lib/routes/linkedin/cn/utils.ts +1 -4
- package/lib/routes/linkedin/jobs.ts +15 -15
- package/lib/routes/linkedin/posts.ts +65 -0
- package/lib/routes/linkedin/utils.ts +75 -1
- package/lib/routes/linkresearcher/index.ts +106 -46
- package/lib/routes/linkresearcher/namespace.ts +8 -2
- package/lib/routes/linkresearcher/templates/bilingual.art +7 -0
- package/lib/routes/linkresearcher/types.ts +103 -0
- package/lib/routes/linovelib/novel.ts +4 -4
- package/lib/routes/liquipedia/cs-matches.ts +51 -25
- package/lib/routes/literotica/category.ts +3 -3
- package/lib/routes/literotica/new.ts +4 -3
- package/lib/routes/liulinblog/itnews.ts +1 -1
- package/lib/routes/lkong/forum.ts +0 -2
- package/lib/routes/lkong/thread.ts +0 -2
- package/lib/routes/lmu/jobs.ts +0 -2
- package/lib/routes/lmu/namespace.ts +1 -1
- package/lib/routes/lofter/tag.ts +29 -5
- package/lib/routes/lofter/user.ts +1 -1
- package/lib/routes/logclub/index.ts +0 -2
- package/lib/routes/logclub/report.ts +2 -4
- package/lib/routes/logonews/index.ts +0 -2
- package/lib/routes/logrocket/index.ts +64 -0
- package/lib/routes/logrocket/namespace.ts +7 -0
- package/lib/routes/loltw/news.ts +2 -4
- package/lib/routes/loongarch/post.ts +1 -0
- package/lib/routes/lorientlejour/index.ts +3 -5
- package/lib/routes/lovelive-anime/news.ts +5 -7
- package/lib/routes/lovelive-anime/schedules.ts +2 -4
- package/lib/routes/lovelive-anime/topics.ts +5 -7
- package/lib/routes/lrepacks/index.ts +13 -15
- package/lib/routes/lsnu/jiaowc/tzgg.ts +3 -3
- package/lib/routes/ltaaa/article.ts +178 -0
- package/lib/routes/ltaaa/namespace.ts +9 -0
- package/lib/routes/ltaaa/templates/description.art +7 -0
- package/lib/routes/luogu/contest.ts +25 -25
- package/lib/routes/luogu/daily.ts +1 -1
- package/lib/routes/luogu/user-article.ts +75 -0
- package/lib/routes/luogu/user-blog.ts +4 -1
- package/lib/routes/luogu/user-feed.ts +9 -10
- package/lib/routes/luogu/utils.ts +17 -0
- package/lib/routes/luolei/index.ts +0 -2
- package/lib/routes/lvv2/news.ts +8 -10
- package/lib/routes/lvv2/top.ts +8 -10
- package/lib/routes/lxixsxa/discography.ts +0 -2
- package/lib/routes/lxixsxa/information.ts +0 -2
- package/lib/routes/m-78/namespace.ts +7 -0
- package/lib/routes/m-78/news.ts +115 -0
- package/lib/routes/m-78/types.ts +13 -0
- package/lib/routes/m4/index.ts +0 -2
- package/lib/routes/maccms/index.ts +2 -3
- package/lib/routes/maccms/namespace.ts +1 -1
- package/lib/routes/magazinelib/latest-magazine.ts +0 -2
- package/lib/routes/magnumphotos/magazine.ts +1 -1
- package/lib/routes/makerworld/contest.ts +51 -0
- package/lib/routes/makerworld/namespace.ts +7 -0
- package/lib/routes/makerworld/trending.ts +45 -0
- package/lib/routes/makerworld/user-upload.ts +54 -0
- package/lib/routes/makerworld/utils.ts +18 -0
- package/lib/routes/malaysiakini/index.ts +8 -8
- package/lib/routes/malaysiakini/namespace.ts +1 -1
- package/lib/routes/mangadex/_access.ts +111 -0
- package/lib/routes/mangadex/_constants.ts +75 -0
- package/lib/routes/mangadex/_feed.ts +184 -0
- package/lib/routes/mangadex/_profile.ts +47 -0
- package/lib/routes/mangadex/_utils.ts +49 -0
- package/lib/routes/mangadex/index.ts +16 -67
- package/lib/routes/mangadex/mdlist/feed.ts +156 -0
- package/lib/routes/mangadex/namespace.ts +2 -0
- package/lib/routes/mangadex/user/feed.ts +126 -0
- package/lib/routes/mangadex/user/follows.ts +149 -0
- package/lib/routes/manhuagui/comic.ts +30 -31
- package/lib/routes/manhuagui/subscribe.ts +10 -12
- package/lib/routes/manus/blog.ts +77 -0
- package/lib/routes/manus/namespace.ts +7 -0
- package/lib/routes/manyvids/video.ts +1 -4
- package/lib/routes/mashiro/index.ts +62 -0
- package/lib/routes/mashiro/namespace.ts +11 -0
- package/lib/routes/mastodon/account-id.ts +2 -2
- package/lib/routes/mastodon/acct.ts +2 -2
- package/lib/routes/mastodon/namespace.ts +1 -1
- package/lib/routes/mastodon/tag.ts +48 -0
- package/lib/routes/mastodon/timeline-local.ts +4 -4
- package/lib/routes/mastodon/timeline-remote.ts +4 -4
- package/lib/routes/mastodon/utils.ts +1 -1
- package/lib/routes/mathpix/blog.ts +155 -0
- package/lib/routes/mathpix/namespace.ts +9 -0
- package/lib/routes/mathpix/templates/description.art +21 -0
- package/lib/routes/matters/latest.ts +2 -2
- package/lib/routes/mckinsey/cn/category-map.ts +9 -15
- package/lib/routes/mckinsey/cn/index.ts +78 -41
- package/lib/routes/mcmod/index.ts +2 -3
- package/lib/routes/mdpi/journal.ts +3 -5
- package/lib/routes/medium/feed.ts +54 -0
- package/lib/routes/medium/following.ts +2 -2
- package/lib/routes/medium/for-you.ts +2 -2
- package/lib/routes/medium/list.ts +2 -2
- package/lib/routes/medium/tag.ts +2 -2
- package/lib/routes/medsci/index.ts +29 -29
- package/lib/routes/meishichina/index.ts +193 -193
- package/lib/routes/meituan/tech.ts +31 -37
- package/lib/routes/melonbooks/namespace.ts +9 -0
- package/lib/routes/melonbooks/parser.ts +39 -0
- package/lib/routes/melonbooks/search.ts +45 -0
- package/lib/routes/mercari/keyword.ts +67 -0
- package/lib/routes/mercari/namespace.ts +9 -0
- package/lib/routes/mercari/templates/item.art +46 -0
- package/lib/routes/mercari/templates/shopItem.art +46 -0
- package/lib/routes/mercari/types.ts +278 -0
- package/lib/routes/mercari/util.ts +306 -0
- package/lib/routes/meta/ai-blog.ts +121 -0
- package/lib/routes/meta/namespace.ts +6 -0
- package/lib/routes/metacritic/index.ts +3 -5
- package/lib/routes/metacritic/release.ts +1 -1
- package/lib/routes/meteoblue/namespace.ts +8 -0
- package/lib/routes/meteoblue/weathernews.ts +75 -0
- package/lib/routes/meteor/utils.ts +0 -3
- package/lib/routes/mi/utils.ts +4 -7
- package/lib/routes/microsoft/addon.ts +7 -9
- package/lib/routes/microsoft/mcr.ts +2 -2
- package/lib/routes/mihoyo/bbs/follow-list.ts +0 -2
- package/lib/routes/mihoyo/bbs/img-ranking.ts +20 -20
- package/lib/routes/mihoyo/bbs/official.ts +6 -8
- package/lib/routes/mihoyo/bbs/timeline.ts +3 -3
- package/lib/routes/mihoyo/bbs/utils.ts +0 -3
- package/lib/routes/mihoyo/sr/news.ts +3 -3
- package/lib/routes/mihoyo/ys/news.ts +22 -78
- package/lib/routes/mihoyo/zzz/news.ts +106 -0
- package/lib/routes/mindmeister/example.ts +27 -29
- package/lib/routes/minecraft/version.ts +6 -6
- package/lib/routes/mingpao/index.ts +1 -3
- package/lib/routes/miniflux/entry.ts +5 -5
- package/lib/routes/miniflux/subscription.ts +2 -2
- package/lib/routes/missav/namespace.ts +2 -2
- package/lib/routes/missav/new.ts +39 -15
- package/lib/routes/misskey/featured-notes.ts +1 -1
- package/lib/routes/misskey/home-timeline.ts +99 -0
- package/lib/routes/misskey/types.ts +1 -1
- package/lib/routes/misskey/user-timeline.ts +15 -12
- package/lib/routes/misskey/utils.ts +35 -17
- package/lib/routes/mit/hanlab.ts +61 -0
- package/lib/routes/mit/namespace.ts +6 -0
- package/lib/routes/mittrchina/index.ts +9 -9
- package/lib/routes/miui/firmware/index.ts +6 -6
- package/lib/routes/mixcloud/config.ts +129 -0
- package/lib/routes/mixcloud/index.ts +165 -109
- package/lib/routes/mixcloud/user-playlist.ts +31 -0
- package/lib/routes/mixi2/community.ts +72 -0
- package/lib/routes/mixi2/discovery.ts +52 -0
- package/lib/routes/mixi2/home.ts +51 -0
- package/lib/routes/mixi2/namespace.ts +8 -0
- package/lib/routes/mixi2/user.ts +77 -0
- package/lib/routes/mixi2/utils.ts +56 -0
- package/lib/routes/modelscope/community.ts +0 -2
- package/lib/routes/modelscope/datasets.ts +0 -2
- package/lib/routes/modelscope/learn.ts +94 -0
- package/lib/routes/modelscope/studios.ts +0 -2
- package/lib/routes/modian/zhongchou.ts +21 -21
- package/lib/routes/modrinth/versions.ts +0 -3
- package/lib/routes/moodysmismicrosite/namespace.ts +7 -0
- package/lib/routes/moodysmismicrosite/report.ts +90 -0
- package/lib/routes/mox/index.ts +4 -4
- package/lib/routes/mpaypass/main.ts +7 -7
- package/lib/routes/mpaypass/news.ts +2 -2
- package/lib/routes/mrdx/daily.ts +1 -1
- package/lib/routes/mrm/index.ts +2 -2
- package/lib/routes/msn/index.ts +86 -0
- package/lib/routes/msn/namespace.ts +10 -0
- package/lib/routes/musify/index.ts +130 -0
- package/lib/routes/musify/namespace.ts +9 -0
- package/lib/routes/musikguru/namespace.ts +9 -0
- package/lib/routes/musikguru/news.ts +146 -0
- package/lib/routes/musikguru/templates/description.art +21 -0
- package/lib/routes/{mvm → mwm}/index.ts +3 -3
- package/lib/routes/mycard520/namespace.ts +9 -0
- package/lib/routes/mycard520/news.ts +244 -0
- package/lib/routes/mydrivers/cid.ts +192 -6
- package/lib/routes/mydrivers/index.ts +41 -13
- package/lib/routes/mydrivers/rank.ts +4 -5
- package/lib/routes/mydrivers/util.ts +10 -13
- package/lib/routes/myfans/post.ts +2 -4
- package/lib/routes/myfigurecollection/activity.ts +19 -21
- package/lib/routes/myfigurecollection/index.ts +2 -4
- package/lib/routes/mygopen/index.ts +1 -1
- package/lib/routes/mymusicsheet/usersheets.ts +1 -3
- package/lib/routes/mysql/release.ts +1 -1
- package/lib/routes/nankai/cc-notice.ts +114 -0
- package/lib/routes/nankai/jwc.ts +131 -0
- package/lib/routes/nankai/namespace.ts +7 -0
- package/lib/routes/nankai/notice.ts +84 -0
- package/lib/routes/nankai/yzb.ts +97 -0
- package/lib/routes/nasa/apod-cn.ts +2 -2
- package/lib/routes/nasa/apod-ncku.ts +3 -3
- package/lib/routes/nasa/apod.ts +4 -4
- package/lib/routes/natgeo/dailyphoto.ts +0 -2
- package/lib/routes/natgeo/natgeo.ts +25 -24
- package/lib/routes/nationalgeographic/latest-stories.ts +0 -2
- package/lib/routes/nature/highlight.ts +2 -2
- package/lib/routes/nature/namespace.ts +1 -1
- package/lib/routes/nature/research.ts +10 -10
- package/lib/routes/nautil/topics.ts +0 -2
- package/lib/routes/nautiljon/manga-releases.ts +72 -0
- package/lib/routes/nautiljon/namespace.ts +7 -0
- package/lib/routes/nbd/daily.ts +1 -1
- package/lib/routes/nbd/index.ts +2 -2
- package/lib/routes/nber/common.ts +0 -3
- package/lib/routes/ncc-cma/cmdp.ts +29 -31
- package/lib/routes/ncepu/master/masterinfo.ts +5 -5
- package/lib/routes/neea/index.ts +1 -1
- package/lib/routes/neea/jlpt.ts +92 -53
- package/lib/routes/neea/namespace.ts +1 -1
- package/lib/routes/netflav/index.ts +0 -2
- package/lib/routes/neu/bmie.ts +17 -17
- package/lib/routes/neu/news.ts +16 -16
- package/lib/routes/neu/yz.ts +172 -0
- package/lib/routes/newrank/douyin.ts +1 -1
- package/lib/routes/newrank/namespace.ts +1 -1
- package/lib/routes/newrank/utils.ts +11 -1
- package/lib/routes/newrank/wechat.ts +6 -1
- package/lib/routes/news/xhsxw.ts +0 -2
- package/lib/routes/newseed/index.ts +73 -0
- package/lib/routes/newseed/namespace.ts +8 -0
- package/lib/routes/newslaundry/explainer.ts +30 -0
- package/lib/routes/newslaundry/namespace.ts +8 -0
- package/lib/routes/newslaundry/nl-cheatsheet.ts +30 -0
- package/lib/routes/newslaundry/nl-collaborations.ts +30 -0
- package/lib/routes/newslaundry/podcast.ts +61 -0
- package/lib/routes/newslaundry/reports.ts +30 -0
- package/lib/routes/newslaundry/shot.ts +30 -0
- package/lib/routes/newslaundry/subscriber-only.ts +30 -0
- package/lib/routes/newslaundry/templates/description.art +28 -0
- package/lib/routes/newslaundry/utils.ts +108 -0
- package/lib/routes/newsmarket/index.ts +8 -8
- package/lib/routes/newswav/latest.ts +100 -0
- package/lib/routes/newswav/namespace.ts +7 -0
- package/lib/routes/newyorker/news.ts +1 -1
- package/lib/routes/newzmz/index.ts +3 -3
- package/lib/routes/newzmz/util.ts +0 -3
- package/lib/routes/nextapple/realtime.ts +33 -32
- package/lib/routes/nga/forum.ts +1 -1
- package/lib/routes/nga/post.ts +3 -2
- package/lib/routes/ngocn2/index.ts +5 -5
- package/lib/routes/nhentai/index.ts +1 -0
- package/lib/routes/nhentai/util.ts +7 -5
- package/lib/routes/nhk/news-web-easy.ts +15 -22
- package/lib/routes/nhk/news.ts +3 -5
- package/lib/routes/nicovideo/utils.ts +1 -4
- package/lib/routes/nifd/research.ts +19 -3
- package/lib/routes/nikkei/asia/index.ts +27 -27
- package/lib/routes/nikkei/cn/index.ts +8 -1
- package/lib/routes/nikkei/news.ts +2 -4
- package/lib/routes/nintendo/direct.ts +0 -2
- package/lib/routes/nintendo/eshop-hk.ts +0 -2
- package/lib/routes/nintendo/eshop-jp.ts +0 -2
- package/lib/routes/nintendo/eshop-us.ts +0 -2
- package/lib/routes/nintendo/system-update.ts +2 -4
- package/lib/routes/nintendo/utils.ts +2 -5
- package/lib/routes/nio/namespace.ts +9 -0
- package/lib/routes/nio/nioradio.ts +75 -0
- package/lib/routes/nippon/index.ts +2 -2
- package/lib/routes/njit/jwc.ts +5 -6
- package/lib/routes/njit/tzgg.ts +6 -6
- package/lib/routes/njnu/ceai/ceai.ts +3 -3
- package/lib/routes/njnu/jwc/jwc.ts +5 -5
- package/lib/routes/nju/exchangesys.ts +2 -2
- package/lib/routes/nju/gra.ts +2 -2
- package/lib/routes/nju/jw.ts +2 -2
- package/lib/routes/nju/rczp.ts +2 -2
- package/lib/routes/nju/scit.ts +10 -12
- package/lib/routes/nju/zbb.ts +21 -25
- package/lib/routes/njupt/jwc.ts +8 -8
- package/lib/routes/njust/cs.ts +58 -0
- package/lib/routes/njust/cwc.ts +7 -11
- package/lib/routes/njust/dgxg.ts +7 -11
- package/lib/routes/njust/eo.ts +11 -15
- package/lib/routes/njust/eoe.ts +7 -11
- package/lib/routes/njust/gs.ts +2 -2
- package/lib/routes/njust/jwc.ts +7 -11
- package/lib/routes/njust/utils.ts +2 -2
- package/lib/routes/nlc/read.ts +3 -3
- package/lib/routes/nltimes/news.ts +7 -7
- package/lib/routes/nmtv/column.ts +2 -4
- package/lib/routes/nodejs/blog.ts +12 -12
- package/lib/routes/nogizaka46/blog.ts +42 -42
- package/lib/routes/nosec/index.ts +8 -8
- package/lib/routes/notateslaapp/update.ts +9 -13
- package/lib/routes/notefolio/search.ts +15 -17
- package/lib/routes/now/news.ts +104 -44
- package/lib/routes/nowcoder/discuss.ts +7 -7
- package/lib/routes/nowcoder/jobcenter.ts +9 -9
- package/lib/routes/npm/package.ts +0 -2
- package/lib/routes/ntdm/video.ts +5 -5
- package/lib/routes/ntdtv/channel.ts +2 -2
- package/lib/routes/nua/dc.ts +7 -7
- package/lib/routes/nua/gra.ts +4 -4
- package/lib/routes/nua/index.ts +3 -3
- package/lib/routes/nua/lib.ts +5 -5
- package/lib/routes/nua/sxw.ts +6 -6
- package/lib/routes/nuaa/college/cae.ts +6 -6
- package/lib/routes/nuaa/college/cs.ts +8 -8
- package/lib/routes/nuaa/jwc/jwc.ts +8 -8
- package/lib/routes/nuaa/utils/pypasswaf.ts +1 -1
- package/lib/routes/nuaa/yjsy/yjsy.ts +8 -8
- package/lib/routes/nudt/yjszs.ts +2 -2
- package/lib/routes/nuist/bulletin.ts +27 -29
- package/lib/routes/nuist/cas.ts +2 -2
- package/lib/routes/nuist/jwc.ts +2 -2
- package/lib/routes/nuist/namespace.ts +1 -1
- package/lib/routes/nuist/scs.ts +2 -2
- package/lib/routes/nuist/sese.ts +2 -2
- package/lib/routes/nwafu/all.ts +6 -6
- package/lib/routes/nwnu/namespace.ts +7 -0
- package/lib/routes/nwnu/routes/college/csse.ts +133 -0
- package/lib/routes/nwnu/routes/department/academic-affairs.ts +115 -0
- package/lib/routes/nwnu/routes/department/postgraduate.ts +139 -0
- package/lib/routes/nwnu/routes/lib/embed-resource.ts +14 -0
- package/lib/routes/nyaa/namespace.ts +1 -1
- package/lib/routes/nytimes/book.ts +4 -4
- package/lib/routes/nytimes/daily-briefing-chinese.ts +1 -3
- package/lib/routes/nytimes/index.ts +2 -2
- package/lib/routes/nytimes/rss.ts +6 -2
- package/lib/routes/obsidian/plugins.ts +41 -0
- package/lib/routes/oceanengine/arithmetic-index.ts +2 -4
- package/lib/routes/odaily/post.ts +2 -2
- package/lib/routes/oeeee/app/channel.ts +0 -2
- package/lib/routes/oeeee/app/reporter.ts +0 -2
- package/lib/routes/oeeee/web.ts +0 -2
- package/lib/routes/oilchem/index.ts +3 -3
- package/lib/routes/okx/index.ts +125 -0
- package/lib/routes/okx/namespace.ts +7 -0
- package/lib/routes/oncc/index.ts +3 -5
- package/lib/routes/oncc/money18.ts +2 -4
- package/lib/routes/onet/news.ts +0 -2
- package/lib/routes/onet/utils.ts +0 -3
- package/lib/routes/oo-software/changelog.ts +5 -5
- package/lib/routes/openai/chatgpt.ts +2 -2
- package/lib/routes/openai/common.ts +69 -3
- package/lib/routes/openai/cookbook.ts +1 -1
- package/lib/routes/openai/news.ts +32 -0
- package/lib/routes/openrice/chart.ts +6 -8
- package/lib/routes/openrice/offers.ts +3 -5
- package/lib/routes/openrice/promos.ts +3 -5
- package/lib/routes/openrice/voting.ts +84 -0
- package/lib/routes/orcid/index.ts +0 -2
- package/lib/routes/oreno3d/main.ts +42 -46
- package/lib/routes/oreno3d/namespace.ts +1 -1
- package/lib/routes/oschina/column.ts +244 -0
- package/lib/routes/oschina/event.ts +241 -0
- package/lib/routes/oschina/namespace.ts +1 -0
- package/lib/routes/oschina/news.ts +28 -9
- package/lib/routes/oschina/templates/description.art +21 -0
- package/lib/routes/oschina/user.ts +1 -1
- package/lib/routes/oshwhub/explore.ts +0 -2
- package/lib/routes/osu/beatmaps/latest-ranked.ts +311 -0
- package/lib/routes/osu/beatmaps/templates/beatmapset.art +37 -0
- package/lib/routes/otobanana/utils.ts +0 -3
- package/lib/routes/ouc/it-tx.ts +2 -2
- package/lib/routes/ouc/it.ts +2 -2
- package/lib/routes/ouc/jwgl.ts +2 -2
- package/lib/routes/oup/index.ts +0 -2
- package/lib/routes/p-articles/contributors.ts +5 -5
- package/lib/routes/p-articles/namespace.ts +1 -1
- package/lib/routes/p-articles/section.ts +5 -5
- package/lib/routes/pacilution/latest.ts +102 -0
- package/lib/routes/pacilution/namespace.ts +6 -0
- package/lib/routes/panewslab/profundity.ts +1 -1
- package/lib/routes/papers/category.ts +1220 -0
- package/lib/routes/papers/{index.ts → query.ts} +21 -45
- package/lib/routes/papers/templates/description.art +11 -4
- package/lib/routes/parliament/section77.ts +3 -3
- package/lib/routes/parliament.uk/commonslibrary.ts +1 -1
- package/lib/routes/parliament.uk/lordslibrary.ts +1 -1
- package/lib/routes/parliament.uk/namespace.ts +2 -0
- package/lib/routes/parliament.uk/petitions.ts +188 -0
- package/lib/routes/parliament.uk/templates/description.art +7 -0
- package/lib/routes/patagonia/new-arrivals.ts +11 -18
- package/lib/routes/patreon/feed.ts +123 -0
- package/lib/routes/patreon/namespace.ts +7 -0
- package/lib/routes/patreon/templates/description.art +41 -0
- package/lib/routes/patreon/types.ts +383 -0
- package/lib/routes/paulgraham/article.ts +2 -2
- package/lib/routes/pconline/namespace.ts +1 -1
- package/lib/routes/pencilnews/index.ts +70 -0
- package/lib/routes/pencilnews/namespace.ts +9 -0
- package/lib/routes/penguin-random-house/articles.ts +5 -7
- package/lib/routes/penguin-random-house/thereaddown.ts +5 -7
- package/lib/routes/penguin-random-house/utils.ts +1 -4
- package/lib/routes/people/index.ts +15 -15
- package/lib/routes/people/liuyan.ts +2 -2
- package/lib/routes/people/xjpjh.ts +5 -5
- package/lib/routes/peopo/topic.ts +18 -18
- package/lib/routes/phoronix/index.ts +2 -2
- package/lib/routes/pianyuan/app.ts +1 -1
- package/lib/routes/pianyuan/search.ts +2 -2
- package/lib/routes/picnob/user.ts +71 -91
- package/lib/routes/picnob/utils.ts +14 -12
- package/lib/routes/picuki/namespace.ts +1 -7
- package/lib/routes/picuki/profile.ts +114 -172
- package/lib/routes/picuki/utils.ts +5 -10
- package/lib/routes/pikabu/utils.ts +0 -3
- package/lib/routes/pincong/hot.ts +6 -8
- package/lib/routes/pincong/index.ts +5 -7
- package/lib/routes/pincong/topic.ts +5 -7
- package/lib/routes/pincong/utils.ts +1 -1
- package/lib/routes/pingwest/tag.ts +5 -5
- package/lib/routes/pingwest/user.ts +3 -3
- package/lib/routes/pinterest/namespace.ts +7 -0
- package/lib/routes/pinterest/types.ts +330 -0
- package/lib/routes/pinterest/user.ts +113 -0
- package/lib/routes/pixabay/search.ts +1 -3
- package/lib/routes/pixiv/api/get-ranking.ts +2 -2
- package/lib/routes/pixiv/bookmarks.ts +1 -1
- package/lib/routes/pixiv/illustfollow.ts +2 -2
- package/lib/routes/pixiv/novel-api/content/nsfw.ts +73 -0
- package/lib/routes/pixiv/novel-api/content/sfw.ts +63 -0
- package/lib/routes/pixiv/novel-api/content/types.ts +254 -0
- package/lib/routes/pixiv/novel-api/content/utils.ts +134 -0
- package/lib/routes/pixiv/novel-api/series/nsfw.ts +84 -0
- package/lib/routes/pixiv/novel-api/series/sfw.ts +70 -0
- package/lib/routes/pixiv/novel-api/series/types.ts +94 -0
- package/lib/routes/pixiv/novel-api/user-novels/nsfw.ts +82 -0
- package/lib/routes/pixiv/novel-api/user-novels/sfw.ts +74 -0
- package/lib/routes/pixiv/novel-api/user-novels/types.ts +133 -0
- package/lib/routes/pixiv/novel-series.ts +52 -0
- package/lib/routes/pixiv/novels.ts +16 -11
- package/lib/routes/pixiv/pixiv-got.ts +1 -1
- package/lib/routes/pixiv/ranking.ts +1 -1
- package/lib/routes/pixiv/search.ts +1 -1
- package/lib/routes/pixiv/user.ts +3 -3
- package/lib/routes/pixiv/utils.ts +0 -116
- package/lib/routes/pixivision/index.ts +3 -3
- package/lib/routes/piyao/jrpy.ts +3 -3
- package/lib/routes/pku/bbs/hot.ts +7 -9
- package/lib/routes/pku/cls/lecture.ts +3 -3
- package/lib/routes/pku/hr.ts +5 -5
- package/lib/routes/pku/nsd.ts +3 -3
- package/lib/routes/pku/pkuyjs.ts +9 -13
- package/lib/routes/pku/rccp/mzyt.ts +3 -3
- package/lib/routes/pku/scc/recruit.ts +5 -5
- package/lib/routes/playno1/av.ts +5 -4
- package/lib/routes/playno1/st.ts +2 -2
- package/lib/routes/playpcesor/rss.ts +3 -3
- package/lib/routes/plurk/top.ts +6 -6
- package/lib/routes/plurk/topic.ts +1 -1
- package/lib/routes/plurk/user.ts +1 -1
- package/lib/routes/pnas/index.ts +2 -4
- package/lib/routes/podwise/collections.ts +1 -1
- package/lib/routes/podwise/episodes.ts +1 -1
- package/lib/routes/pornhub/category.ts +3 -3
- package/lib/routes/pornhub/model.ts +4 -8
- package/lib/routes/pornhub/pornstar.ts +3 -8
- package/lib/routes/pornhub/search.ts +1 -1
- package/lib/routes/pornhub/users.ts +2 -7
- package/lib/routes/pornhub/utils.ts +12 -4
- package/lib/routes/priconne-redive/news.ts +4 -4
- package/lib/routes/producthunt/templates/description.art +19 -0
- package/lib/routes/producthunt/today.ts +49 -24
- package/lib/routes/ps/monthly-games.ts +1 -3
- package/lib/routes/ps/trophy.ts +35 -43
- package/lib/routes/psnine/game.ts +42 -0
- package/lib/routes/psnine/index.ts +58 -0
- package/lib/routes/psnine/namespace.ts +8 -0
- package/lib/routes/psnine/node.ts +80 -0
- package/lib/routes/psnine/shuzhe.ts +43 -0
- package/lib/routes/psnine/trade.ts +58 -0
- package/lib/routes/psyche/utils.ts +0 -3
- package/lib/routes/pts/curations.ts +0 -2
- package/lib/routes/pts/index.ts +0 -2
- package/lib/routes/pts/live.ts +0 -2
- package/lib/routes/pts/projects.ts +0 -2
- package/lib/routes/publico/ciencias.ts +55 -0
- package/lib/routes/publico/culturas.ts +55 -0
- package/lib/routes/publico/economia.ts +55 -0
- package/lib/routes/publico/internacional.ts +55 -0
- package/lib/routes/publico/items-processor.ts +20 -0
- package/lib/routes/publico/mujer.ts +55 -0
- package/lib/routes/publico/namespace.ts +6 -0
- package/lib/routes/publico/opinion.ts +55 -0
- package/lib/routes/publico/politica.ts +56 -0
- package/lib/routes/publico/public.ts +48 -0
- package/lib/routes/publico/sociedad.ts +55 -0
- package/lib/routes/publico/tremending.ts +48 -0
- package/lib/routes/pubmed/trending.ts +0 -2
- package/lib/routes/python/namespace.ts +9 -0
- package/lib/routes/python/release.ts +120 -0
- package/lib/routes/qbitai/category.ts +25 -11
- package/lib/routes/qianzhan/column.ts +2 -2
- package/lib/routes/qianzhan/rank.ts +2 -2
- package/lib/routes/qiche365/recall.ts +2 -2
- package/lib/routes/qidian/author.ts +0 -2
- package/lib/routes/qidian/chapter.ts +1 -1
- package/lib/routes/qidian/free-next.ts +11 -13
- package/lib/routes/qidian/free.ts +13 -15
- package/lib/routes/qingting/channel.ts +9 -9
- package/lib/routes/qingting/podcast.ts +15 -24
- package/lib/routes/qipamaijia/index.ts +4 -3
- package/lib/routes/qm120/news.ts +8 -8
- package/lib/routes/qoo-app/apps/comment.ts +2 -4
- package/lib/routes/qoo-app/news.ts +3 -3
- package/lib/routes/qoo-app/notes/note.ts +0 -2
- package/lib/routes/qoo-app/user/app-comment.ts +0 -2
- package/lib/routes/qq/ac/rank.ts +4 -4
- package/lib/routes/qq/ac/utils.ts +0 -3
- package/lib/routes/qq/cfhd/index.ts +10 -10
- package/lib/routes/qq/fact/index.ts +0 -2
- package/lib/routes/qq/lol/news.ts +206 -0
- package/lib/routes/qq88/index.ts +5 -5
- package/lib/routes/qqorw/index.ts +2 -2
- package/lib/routes/qstheory/index.ts +121 -0
- package/lib/routes/qstheory/magazine.ts +64 -0
- package/lib/routes/qstheory/namespace.ts +7 -0
- package/lib/routes/qstheory/utils.ts +25 -0
- package/lib/routes/questmobile/report.ts +76 -78
- package/lib/routes/questn/events.ts +1 -1
- package/lib/routes/quicker/qa.ts +12 -12
- package/lib/routes/quicker/share.ts +5 -5
- package/lib/routes/quicker/user.ts +2 -2
- package/lib/routes/qust/jw.ts +3 -3
- package/lib/routes/qweather/3days.ts +4 -5
- package/lib/routes/qweather/now.ts +12 -11
- package/lib/routes/radio/album.ts +42 -53
- package/lib/routes/radio/index.ts +2 -4
- package/lib/routes/radio/templates/description.art +2 -2
- package/lib/routes/radio/zhibo.ts +2 -4
- package/lib/routes/radio-canada/latest.ts +2 -2
- package/lib/routes/railway/index.ts +73 -0
- package/lib/routes/railway/namespace.ts +8 -0
- package/lib/routes/raspberrypi/magazine.ts +172 -0
- package/lib/routes/raspberrypi/namespace.ts +9 -0
- package/lib/routes/raspberrypi/templates/description.art +21 -0
- package/lib/routes/rattibha/templates/description.art +12 -0
- package/lib/routes/rattibha/user.ts +33 -24
- package/lib/routes/rawkuma/manga.ts +0 -2
- package/lib/routes/readhub/daily.ts +2 -2
- package/lib/routes/readhub/index.ts +2 -4
- package/lib/routes/readhub/util.ts +0 -3
- package/lib/routes/resonac/products.ts +1 -1
- package/lib/routes/reuters/common.ts +15 -5
- package/lib/routes/reuters/investigates.ts +4 -4
- package/lib/routes/reuters/namespace.ts +1 -1
- package/lib/routes/rfi/namespace.ts +4 -1
- package/lib/routes/rfi/news.ts +15 -4
- package/lib/routes/rockthejvm/articles.ts +167 -0
- package/lib/routes/rockthejvm/namespace.ts +9 -0
- package/lib/routes/rockthejvm/templates/description.art +7 -0
- package/lib/routes/rodong/news.ts +2 -2
- package/lib/routes/routledge/book-series.ts +0 -2
- package/lib/routes/rsc/journal.ts +5 -7
- package/lib/routes/rsshub/routes.ts +2 -2
- package/lib/routes/rsshub/transform/html.ts +7 -7
- package/lib/routes/rsshub/transform/json.ts +11 -11
- package/lib/routes/ruankao/namespace.ts +6 -0
- package/lib/routes/ruankao/news.ts +106 -0
- package/lib/routes/ruc/ai.ts +4 -4
- package/lib/routes/ruc/hr.ts +2 -2
- package/lib/routes/rustcc/jobs.ts +1 -1
- package/lib/routes/rustcc/news.ts +1 -1
- package/lib/routes/sakurazaka46/blog.ts +36 -36
- package/lib/routes/samrdprc/namespace.ts +7 -0
- package/lib/routes/samrdprc/news.ts +79 -0
- package/lib/routes/sankei/namespace.ts +7 -0
- package/lib/routes/sankei/news.ts +68 -0
- package/lib/routes/sankei/topics.ts +71 -0
- package/lib/routes/sara/index.ts +3 -3
- package/lib/routes/saraba1st/digest.ts +7 -7
- package/lib/routes/saraba1st/namespace.ts +1 -1
- package/lib/routes/saraba1st/templates/digest.art +1 -1
- package/lib/routes/saraba1st/thread.ts +10 -6
- package/lib/routes/sass/gs/index.ts +2 -2
- package/lib/routes/science/blogs.ts +2 -2
- package/lib/routes/science/cover.ts +0 -2
- package/lib/routes/science/current.ts +7 -7
- package/lib/routes/science/utils.ts +0 -3
- package/lib/routes/sciencedirect/call-for-paper.ts +78 -0
- package/lib/routes/sciencedirect/current-issue.ts +93 -0
- package/lib/routes/sciencedirect/templates/description.art +5 -0
- package/lib/routes/sciencenet/blog.ts +9 -9
- package/lib/routes/sciencenet/user.ts +1 -1
- package/lib/routes/scientificamerican/namespace.ts +9 -0
- package/lib/routes/scientificamerican/podcast.ts +267 -0
- package/lib/routes/scientificamerican/templates/description.art +31 -0
- package/lib/routes/scmp/coronavirus.ts +1 -1
- package/lib/routes/scmp/index.ts +15 -10
- package/lib/routes/scoop/apps.ts +188 -0
- package/lib/routes/scoop/namespace.ts +9 -0
- package/lib/routes/scoop/templates/description.art +56 -0
- package/lib/routes/scpta/namespace.ts +8 -0
- package/lib/routes/scpta/news.ts +101 -0
- package/lib/routes/sctv/programme.ts +50 -52
- package/lib/routes/scu/jwc/tzgg.ts +75 -0
- package/lib/routes/scu/namespace.ts +7 -0
- package/lib/routes/scu/scupi/_utils.ts +62 -0
- package/lib/routes/scu/scupi/notice.ts +41 -0
- package/lib/routes/scut/gzic/media.ts +1 -1
- package/lib/routes/scut/gzic/news.ts +1 -1
- package/lib/routes/scut/gzic/notice.ts +3 -3
- package/lib/routes/scut/jwc/news.ts +1 -1
- package/lib/routes/scut/jwc/notice.ts +3 -3
- package/lib/routes/scut/jwc/school.ts +3 -3
- package/lib/routes/scut/seie/news-ccenter.ts +1 -1
- package/lib/routes/scut/smae/notice.ts +2 -2
- package/lib/routes/sdu/cmse.ts +5 -5
- package/lib/routes/sdu/cs/index.ts +4 -4
- package/lib/routes/sdu/epe.ts +5 -5
- package/lib/routes/sdu/gjsw.ts +2 -2
- package/lib/routes/sdu/mech.ts +5 -6
- package/lib/routes/sdu/qd/xszxqd.ts +2 -2
- package/lib/routes/sdu/qd/xyb.ts +2 -2
- package/lib/routes/sdu/sc.ts +5 -5
- package/lib/routes/sdu/wh/jwc.ts +2 -2
- package/lib/routes/sdu/wh/news.ts +2 -2
- package/lib/routes/sdu/ygb.ts +2 -2
- package/lib/routes/sdust/yjsy/zhaosheng.ts +6 -6
- package/lib/routes/sdzk/index.ts +2 -2
- package/lib/routes/seekingalpha/index.ts +2 -4
- package/lib/routes/sehuatang/index.ts +36 -38
- package/lib/routes/sensortower/blog.ts +2 -4
- package/lib/routes/setn/index.ts +18 -9
- package/lib/routes/seu/cse/index.ts +2 -2
- package/lib/routes/seu/cyber/index.ts +78 -0
- package/lib/routes/seu/yzb/index.ts +2 -2
- package/lib/routes/shcstheatre/programs.ts +0 -2
- package/lib/routes/shiep/index.ts +16 -18
- package/lib/routes/shisu/news.ts +2 -2
- package/lib/routes/shmeea/index.ts +4 -4
- package/lib/routes/shmeea/self-study.ts +1 -1
- package/lib/routes/shmtu/portal.ts +0 -2
- package/lib/routes/shoac/recent-show.ts +0 -2
- package/lib/routes/shopback/store.ts +3 -3
- package/lib/routes/shopify/apps/[handle].reviews.ts +2 -2
- package/lib/routes/shopify/apps/search.ts +6 -3
- package/lib/routes/shoppingdesign/posts.ts +26 -25
- package/lib/routes/showstart/artist.ts +1 -1
- package/lib/routes/showstart/brand.ts +1 -1
- package/lib/routes/showstart/event.ts +1 -1
- package/lib/routes/showstart/site.ts +1 -1
- package/lib/routes/shu/global.ts +95 -0
- package/lib/routes/shu/gs.ts +107 -0
- package/lib/routes/shu/index.ts +59 -41
- package/lib/routes/shu/jwb.ts +10 -9
- package/lib/routes/shu/namespace.ts +2 -1
- package/lib/routes/shu/society.ts +62 -0
- package/lib/routes/shu/xykd.ts +99 -0
- package/lib/routes/shuiguopai/index.ts +0 -2
- package/lib/routes/sicau/dky.ts +5 -5
- package/lib/routes/sicau/jiaowu.ts +42 -34
- package/lib/routes/sicau/jk.ts +2 -2
- package/lib/routes/sicau/yan.ts +5 -5
- package/lib/routes/sicau/zsjy.ts +5 -5
- package/lib/routes/simpleinfo/index.ts +11 -13
- package/lib/routes/sina/discovery.ts +2 -2
- package/lib/routes/sina/finance/china.ts +2 -2
- package/lib/routes/sina/finance/stock/usstock.ts +2 -2
- package/lib/routes/sina/rollnews.ts +2 -2
- package/lib/routes/sina/sports.ts +4 -1
- package/lib/routes/sina/utils.ts +0 -3
- package/lib/routes/sinchew/index.ts +0 -2
- package/lib/routes/sis001/forum.ts +1 -0
- package/lib/routes/sjtu/gs.ts +11 -11
- package/lib/routes/sjtu/jwc.ts +19 -15
- package/lib/routes/sjtu/seiee/icisee.ts +67 -0
- package/lib/routes/sjtu/tongqu/activity.ts +2 -4
- package/lib/routes/sjtu/yzb/zkxx.ts +2 -2
- package/lib/routes/skeb/utils.ts +0 -3
- package/lib/routes/slowmist/slowmist.ts +2 -2
- package/lib/routes/smartlink/index.ts +84 -0
- package/lib/routes/smartlink/namespace.ts +7 -0
- package/lib/routes/smashingmagazine/category.ts +34 -34
- package/lib/routes/smzdm/article.ts +19 -3
- package/lib/routes/smzdm/baoliao.ts +19 -3
- package/lib/routes/smzdm/haowen-fenlei.ts +21 -5
- package/lib/routes/smzdm/haowen.ts +52 -20
- package/lib/routes/smzdm/keyword.ts +15 -2
- package/lib/routes/smzdm/namespace.ts +1 -1
- package/lib/routes/smzdm/product.ts +19 -3
- package/lib/routes/smzdm/ranking.ts +172 -156
- package/lib/routes/smzdm/utils.ts +7 -0
- package/lib/routes/snowpeak/us-new-arrivals.ts +4 -6
- package/lib/routes/sobooks/index.ts +9 -9
- package/lib/routes/sobooks/tag.ts +7 -7
- package/lib/routes/sobooks/utils.ts +3 -3
- package/lib/routes/sogou/search.ts +0 -2
- package/lib/routes/sohu/mobile.ts +149 -0
- package/lib/routes/sohu/mp.ts +37 -10
- package/lib/routes/solidot/main.ts +1 -1
- package/lib/routes/solidot/namespace.ts +1 -1
- package/lib/routes/sony/downloads.ts +2 -2
- package/lib/routes/sotwe/namespace.ts +1 -0
- package/lib/routes/sotwe/user.ts +98 -0
- package/lib/routes/soundofhope/channel.ts +3 -3
- package/lib/routes/southcn/nfapp/column.ts +2 -4
- package/lib/routes/southcn/nfapp/reporter.ts +0 -2
- package/lib/routes/spankbang/new-videos.ts +2 -3
- package/lib/routes/spglobal/namespace.ts +7 -0
- package/lib/routes/spglobal/ratings.ts +64 -0
- package/lib/routes/spotify/artist.ts +1 -1
- package/lib/routes/spotify/playlist.ts +4 -1
- package/lib/routes/spotify/saved.ts +1 -1
- package/lib/routes/spotify/show.ts +5 -4
- package/lib/routes/springer/journal.ts +5 -7
- package/lib/routes/sputniknews/index.ts +38 -38
- package/lib/routes/sqmc/www.ts +3 -3
- package/lib/routes/sse/convert.ts +11 -5
- package/lib/routes/sse/disclosure.ts +9 -5
- package/lib/routes/sse/inquire.ts +0 -2
- package/lib/routes/sse/renewal.ts +2 -4
- package/lib/routes/sse/sselawsrules.ts +29 -29
- package/lib/routes/ssm/news.ts +14 -18
- package/lib/routes/sspai/index.ts +1 -1
- package/lib/routes/sspai/series.ts +21 -23
- package/lib/routes/stanford/blog.ts +77 -0
- package/lib/routes/stanford/namespace.ts +7 -0
- package/lib/routes/startuplatte/index.ts +5 -5
- package/lib/routes/stbu/jsjxy.ts +5 -2
- package/lib/routes/stcn/index.ts +242 -136
- package/lib/routes/stcn/kx.ts +144 -0
- package/lib/routes/stcn/rank.ts +249 -0
- package/lib/routes/stdaily/digitalpaper.ts +9 -11
- package/lib/routes/steam/appcommunityfeed.ts +1 -3
- package/lib/routes/steam/curator.ts +90 -0
- package/lib/routes/steam/news.ts +281 -0
- package/lib/routes/steam/search.ts +6 -0
- package/lib/routes/steam/templates/curator-description.art +4 -0
- package/lib/routes/steam/workshop-search.ts +0 -2
- package/lib/routes/stheadline/std/realtime.ts +24 -16
- package/lib/routes/stockedge/daily-news.ts +4 -1
- package/lib/routes/stockedge/utils.ts +10 -5
- package/lib/routes/storm/channel.ts +80 -0
- package/lib/routes/storm/index.ts +7 -7
- package/lib/routes/storyfm/episodes.ts +0 -2
- package/lib/routes/storyfm/index.ts +3 -3
- package/lib/routes/straitstimes/index.ts +0 -2
- package/lib/routes/substack/namespace.ts +7 -0
- package/lib/routes/substack/subscribe.ts +48 -0
- package/lib/routes/surfshark/blog.ts +0 -2
- package/lib/routes/swjtu/namespace.ts +1 -1
- package/lib/routes/swjtu/scai.ts +117 -0
- package/lib/routes/swjtu/{scai/bks.ts → sports.ts} +16 -15
- package/lib/routes/swjtu/utils.ts +0 -3
- package/lib/routes/swjtu/xg.ts +3 -3
- package/lib/routes/swpu/bgw.ts +2 -2
- package/lib/routes/swpu/cjxy.ts +3 -3
- package/lib/routes/swpu/dean.ts +3 -3
- package/lib/routes/swpu/dxy.ts +3 -3
- package/lib/routes/swpu/is.ts +3 -3
- package/lib/routes/swpu/scs.ts +2 -2
- package/lib/routes/sycl/feeds.ts +1 -1
- package/lib/routes/syosetu/dev.ts +67 -0
- package/lib/routes/syosetu/index.ts +85 -0
- package/lib/routes/syosetu/namespace.ts +2 -2
- package/lib/routes/syosetu/ranking-isekai.ts +90 -0
- package/lib/routes/syosetu/ranking-r18.ts +189 -0
- package/lib/routes/syosetu/ranking.ts +282 -0
- package/lib/routes/syosetu/search.ts +158 -0
- package/lib/routes/syosetu/templates/description.art +73 -0
- package/lib/routes/syosetu/types/ranking-r18.ts +60 -0
- package/lib/routes/syosetu/types/ranking.ts +67 -0
- package/lib/routes/syosetu/types/search.ts +138 -0
- package/lib/routes/syosetu/utils.ts +50 -0
- package/lib/routes/sysu/ygafz.ts +10 -36
- package/lib/routes/szftedu/gonggao.ts +1 -1
- package/lib/routes/szse/disclosure/listed-notice.ts +111 -0
- package/lib/routes/szse/inquire.ts +5 -7
- package/lib/routes/szse/projectdynamic.ts +21 -23
- package/lib/routes/szse/rule.ts +73 -73
- package/lib/routes/szse/templates/inquire.art +1 -1
- package/lib/routes/szu/yz/index.ts +2 -2
- package/lib/routes/t66y/index.ts +13 -12
- package/lib/routes/t66y/post.ts +2 -2
- package/lib/routes/tailwindcss/blog.ts +26 -0
- package/lib/routes/tailwindcss/constants.ts +2 -0
- package/lib/routes/tailwindcss/namespace.ts +7 -0
- package/lib/routes/tailwindcss/utils.ts +68 -0
- package/lib/routes/taiwanmobile/namespace.ts +7 -0
- package/lib/routes/taiwanmobile/rate-plans.ts +64 -0
- package/lib/routes/tangshufang/index.ts +8 -8
- package/lib/routes/taobao/mysql.ts +157 -0
- package/lib/routes/taobao/namespace.ts +2 -2
- package/lib/routes/taobao/zhongchou.ts +2 -4
- package/lib/routes/taoguba/blog.ts +5 -48
- package/lib/routes/taoguba/index.ts +13 -54
- package/lib/routes/taoguba/namespace.ts +1 -1
- package/lib/routes/taoguba/util.ts +48 -0
- package/lib/routes/taptap/changelog-cn.ts +29 -0
- package/lib/routes/taptap/changelog-intl.ts +34 -0
- package/lib/routes/taptap/common/changelog.ts +40 -0
- package/lib/routes/taptap/common/review.ts +126 -0
- package/lib/routes/taptap/namespace.ts +3 -3
- package/lib/routes/taptap/review-cn.ts +33 -0
- package/lib/routes/taptap/review-intl.ts +41 -0
- package/lib/routes/taptap/templates/videoPost.art +0 -1
- package/lib/routes/taptap/topic.ts +34 -30
- package/lib/routes/taptap/types.ts +363 -0
- package/lib/routes/taptap/utils.ts +20 -23
- package/lib/routes/tass/news.ts +2 -2
- package/lib/routes/techcrunch/category.ts +48 -0
- package/lib/routes/techcrunch/news.ts +0 -2
- package/lib/routes/techflowpost/express.ts +1 -1
- package/lib/routes/techflowpost/index.ts +1 -1
- package/lib/routes/techsir/index.ts +67 -0
- package/lib/routes/techsir/namespace.ts +8 -0
- package/lib/routes/telecompaper/news.ts +8 -8
- package/lib/routes/telecompaper/search.ts +9 -9
- package/lib/routes/telegram/blog.ts +2 -2
- package/lib/routes/telegram/channel.ts +486 -491
- package/lib/routes/telegram/scripts/get-telegram-session.mjs +16 -9
- package/lib/routes/telegram/stickerpack.ts +20 -11
- package/lib/routes/telegram/tglib/channel.ts +16 -13
- package/lib/routes/telegram/tglib/client.ts +22 -22
- package/lib/routes/tencent/news/author.ts +40 -39
- package/lib/routes/tencent/news/coronavirus/data.ts +0 -2
- package/lib/routes/tencent/news/coronavirus/total.ts +0 -2
- package/lib/routes/tencent/pvp/newsindex.ts +2 -2
- package/lib/routes/tesla/cx.ts +48 -50
- package/lib/routes/test/api-index.ts +13 -0
- package/lib/routes/test/index.ts +4 -0
- package/lib/routes/tfc-taiwan/category.ts +53 -0
- package/lib/routes/tfc-taiwan/index.ts +26 -10
- package/lib/routes/tfc-taiwan/namespace.ts +4 -1
- package/lib/routes/tfc-taiwan/utils.ts +24 -52
- package/lib/routes/tgbus/list.ts +2 -2
- package/lib/routes/the/index.ts +16 -18
- package/lib/routes/theatlantic/news.ts +6 -9
- package/lib/routes/theatlantic/utils.ts +10 -11
- package/lib/routes/theblock/index.ts +142 -0
- package/lib/routes/theblock/namespace.ts +7 -0
- package/lib/routes/theblockbeats/index.ts +8 -11
- package/lib/routes/thecover/channel.ts +8 -10
- package/lib/routes/theinitium/app.ts +85 -56
- package/lib/routes/theinitium/channel.ts +3 -3
- package/lib/routes/theinitium/namespace.ts +1 -1
- package/lib/routes/theinitium/templates/description.art +0 -3
- package/lib/routes/themoviedb/episodes.ts +1 -1
- package/lib/routes/themoviedb/namespace.ts +1 -1
- package/lib/routes/themoviedb/seasons.ts +1 -1
- package/lib/routes/themoviedb/sheet.ts +6 -6
- package/lib/routes/themoviedb/utils.ts +0 -3
- package/lib/routes/thenewslens/index.ts +0 -2
- package/lib/routes/thepaper/839studio/category.ts +9 -13
- package/lib/routes/thepaper/839studio/studio.ts +9 -13
- package/lib/routes/thepaper/channel.ts +15 -15
- package/lib/routes/thepaper/factpaper.ts +1 -3
- package/lib/routes/thepaper/featured.ts +1 -1
- package/lib/routes/thepaper/list.ts +99 -99
- package/lib/routes/thepaper/sidebar.ts +4 -1
- package/lib/routes/thepaper/user.ts +174 -0
- package/lib/routes/thepaper/utils.ts +8 -6
- package/lib/routes/thepetcity/index.ts +6 -6
- package/lib/routes/thepetcity/namespace.ts +2 -2
- package/lib/routes/theverge/index.ts +83 -75
- package/lib/routes/theverge/templates/header.art +19 -0
- package/lib/routes/thewirehindi/category.ts +78 -0
- package/lib/routes/thewirehindi/index.ts +43 -0
- package/lib/routes/thewirehindi/namespace.ts +7 -0
- package/lib/routes/thewirehindi/templates/description.art +9 -0
- package/lib/routes/thewirehindi/utils.ts +33 -0
- package/lib/routes/thoughtco/index.ts +293 -295
- package/lib/routes/threads/index.ts +74 -55
- package/lib/routes/threads/utils.ts +62 -80
- package/lib/routes/thzt/index.ts +72 -0
- package/lib/routes/thzt/namespace.ts +8 -0
- package/lib/routes/tidb/blog.ts +314 -0
- package/lib/routes/tidb/namespace.ts +9 -0
- package/lib/routes/tiddlywiki/namespace.ts +8 -0
- package/lib/routes/tiddlywiki/releases.ts +84 -0
- package/lib/routes/tiktok/user.ts +1 -3
- package/lib/routes/timednews/news.ts +6 -6
- package/lib/routes/tingshuitz/changsha.ts +7 -7
- package/lib/routes/tingshuitz/dongguan.ts +9 -13
- package/lib/routes/tingshuitz/hangzhou.ts +9 -13
- package/lib/routes/tingshuitz/nanjing.ts +13 -15
- package/lib/routes/tingshuitz/shenzhen.ts +0 -2
- package/lib/routes/tingshuitz/xian.ts +9 -11
- package/lib/routes/tingshuitz/xiaoshan.ts +9 -13
- package/lib/routes/tingshuitz/yangjiang.ts +10 -12
- package/lib/routes/tingtingfm/program.ts +1 -3
- package/lib/routes/tisi/index.ts +3 -3
- package/lib/routes/tju/cic/index.ts +5 -5
- package/lib/routes/tju/news/index.ts +3 -3
- package/lib/routes/tju/oaa/index.ts +5 -5
- package/lib/routes/tju/yzb/index.ts +7 -7
- package/lib/routes/tkww/index.ts +1 -1
- package/lib/routes/tmtpost/column.ts +298 -0
- package/lib/routes/tmtpost/namespace.ts +9 -0
- package/lib/routes/tmtpost/new.ts +42 -0
- package/lib/routes/tmtpost/nictation.ts +59 -0
- package/lib/routes/tmtpost/templates/description.art +7 -0
- package/lib/routes/tmtpost/util.ts +204 -0
- package/lib/routes/tokeninsight/namespace.ts +1 -1
- package/lib/routes/tokeninsight/report.ts +3 -3
- package/lib/routes/tongji/gs.ts +66 -0
- package/lib/routes/tongji/sem/_utils.ts +65 -0
- package/lib/routes/tongji/sem/notice.ts +58 -0
- package/lib/routes/tongji/sse/notice.ts +2 -2
- package/lib/routes/tongji/yjs.ts +34 -20
- package/lib/routes/tophub/list.ts +1 -3
- package/lib/routes/tophub/namespace.ts +1 -1
- package/lib/routes/topys/index.ts +1 -1
- package/lib/routes/toranoana/namespace.ts +7 -0
- package/lib/routes/toranoana/news.ts +110 -0
- package/lib/routes/toutiao/a-bogus.ts +540 -0
- package/lib/routes/toutiao/namespace.ts +7 -0
- package/lib/routes/toutiao/templates/video.art +7 -0
- package/lib/routes/toutiao/types.ts +443 -0
- package/lib/routes/toutiao/user.ts +124 -0
- package/lib/routes/tradingview/blog.ts +42 -44
- package/lib/routes/transcriptforest/index.ts +0 -2
- package/lib/routes/transformer-circuits/index.ts +119 -0
- package/lib/routes/transformer-circuits/namespace.ts +7 -0
- package/lib/routes/transformer-circuits/templates/article.art +62 -0
- package/lib/routes/tribalfootball/latest.ts +3 -5
- package/lib/routes/trow/portal.ts +11 -15
- package/lib/routes/tsinghua/lib/tzgg.ts +73 -0
- package/lib/routes/tsinghua/lib/zydt.ts +5 -5
- package/lib/routes/tumblr/namespace.ts +17 -0
- package/lib/routes/tumblr/posts.ts +74 -0
- package/lib/routes/tumblr/utils.ts +110 -0
- package/lib/routes/tvb/news.ts +6 -8
- package/lib/routes/tver/namespace.ts +7 -0
- package/lib/routes/tver/series.ts +98 -0
- package/lib/routes/tvtropes/featured.ts +2 -4
- package/lib/routes/twitch/live.ts +1 -1
- package/lib/routes/twitch/video.ts +1 -1
- package/lib/routes/twitter/api/developer-api/user.ts +2 -2
- package/lib/routes/twitter/api/index.ts +4 -1
- package/lib/routes/twitter/api/mobile-api/api.ts +8 -0
- package/lib/routes/twitter/api/mobile-api/login.ts +1 -1
- package/lib/routes/twitter/api/web-api/api.ts +27 -26
- package/lib/routes/twitter/api/web-api/constants.ts +3 -1
- package/lib/routes/twitter/api/web-api/login.ts +1 -3
- package/lib/routes/twitter/api/web-api/utils.ts +71 -23
- package/lib/routes/twitter/keyword.ts +6 -2
- package/lib/routes/twitter/list.ts +5 -1
- package/lib/routes/twitter/media.ts +1 -1
- package/lib/routes/twitter/namespace.ts +3 -1
- package/lib/routes/twitter/user.ts +10 -6
- package/lib/routes/twitter/utils.ts +46 -30
- package/lib/routes/twreporter/fetch-article.ts +0 -3
- package/lib/routes/txks/namespace.ts +7 -0
- package/lib/routes/txks/news.ts +107 -0
- package/lib/routes/txrjy/fornumtopic.ts +7 -9
- package/lib/routes/uber/blog.ts +1 -1
- package/lib/routes/ucas/index.ts +3 -3
- package/lib/routes/uchicago/current.ts +3 -3
- package/lib/routes/udn/breaking-news.ts +6 -8
- package/lib/routes/udn/global/index.ts +2 -2
- package/lib/routes/udn/global/tag.ts +1 -1
- package/lib/routes/uestc/auto.ts +4 -4
- package/lib/routes/uestc/bbs.ts +1 -1
- package/lib/routes/uestc/cqe.ts +6 -6
- package/lib/routes/uestc/gr.ts +3 -3
- package/lib/routes/uestc/jwc.ts +3 -3
- package/lib/routes/uestc/news.ts +5 -5
- package/lib/routes/uestc/scse.ts +4 -4
- package/lib/routes/uestc/sice.ts +4 -4
- package/lib/routes/uestc/sise.ts +6 -6
- package/lib/routes/uibe/hr.ts +2 -2
- package/lib/routes/ulapia/index.ts +6 -6
- package/lib/routes/ulapia/research.ts +3 -3
- package/lib/routes/unipd/ilbolive/news.ts +104 -0
- package/lib/routes/unipd/namespace.ts +7 -0
- package/lib/routes/unusualwhales/news.ts +10 -8
- package/lib/routes/upc/jsj.ts +2 -2
- package/lib/routes/upc/jwc.ts +34 -48
- package/lib/routes/upc/main.ts +2 -2
- package/lib/routes/ups/namespace.ts +12 -0
- package/lib/routes/ups/track.ts +114 -0
- package/lib/routes/uptimerobot/rss.ts +3 -5
- package/lib/routes/uraaka-joshi/uraaka-joshi-user.ts +2 -2
- package/lib/routes/uraaka-joshi/uraaka-joshi.ts +42 -46
- package/lib/routes/urbandictionary/random.ts +0 -2
- package/lib/routes/usepanda/index.ts +2 -2
- package/lib/routes/ustb/tj/news.ts +3 -3
- package/lib/routes/ustb/yjsy/news.ts +42 -46
- package/lib/routes/ustc/eeis.ts +2 -2
- package/lib/routes/ustc/gs.ts +2 -2
- package/lib/routes/ustc/index.ts +6 -6
- package/lib/routes/ustc/job.ts +2 -2
- package/lib/routes/ustc/jwc.ts +7 -7
- package/lib/routes/ustc/math.ts +2 -2
- package/lib/routes/ustc/scms.ts +2 -2
- package/lib/routes/ustc/sist.ts +2 -2
- package/lib/routes/usts/jwch.ts +5 -5
- package/lib/routes/utgd/category.ts +2 -2
- package/lib/routes/utgd/topic.ts +1 -1
- package/lib/routes/utgd/utils.ts +1 -4
- package/lib/routes/uw/gix/news.ts +5 -5
- package/lib/routes/v2ex/tab.ts +1 -1
- package/lib/routes/v2ex/topics.ts +1 -1
- package/lib/routes/vcb-s/category.ts +2 -4
- package/lib/routes/vcb-s/index.ts +0 -2
- package/lib/routes/verfghbw/press.ts +3 -3
- package/lib/routes/vertikal/latest.ts +73 -0
- package/lib/routes/vertikal/namespace.ts +7 -0
- package/lib/routes/vice/topic.ts +1 -3
- package/lib/routes/vimeo/category.ts +1 -3
- package/lib/routes/vimeo/channel.ts +16 -20
- package/lib/routes/vimeo/usr-videos.ts +3 -5
- package/lib/routes/visionias/daily-news-summary.ts +65 -0
- package/lib/routes/visionias/monthly-magazine.ts +68 -0
- package/lib/routes/visionias/namespace.ts +8 -0
- package/lib/routes/visionias/news-today.ts +90 -0
- package/lib/routes/visionias/templates/description-sub.art +6 -0
- package/lib/routes/visionias/templates/description.art +12 -0
- package/lib/routes/visionias/utils.ts +106 -0
- package/lib/routes/visionias/weekly-focus.ts +56 -0
- package/lib/routes/visualstudio/code-blog.ts +67 -0
- package/lib/routes/visualstudio/namespace.ts +7 -0
- package/lib/routes/vom/featured.ts +2 -2
- package/lib/routes/voronoiapp/common.ts +1 -1
- package/lib/routes/wabei/index.ts +75 -0
- package/lib/routes/wabei/namespace.ts +8 -0
- package/lib/routes/wainao/namespace.ts +8 -0
- package/lib/routes/wainao/templates/description.art +9 -0
- package/lib/routes/wainao/topics.ts +211 -0
- package/lib/routes/wainao/wainao-reads.ts +49 -0
- package/lib/routes/wallhaven/index.ts +5 -5
- package/lib/routes/wallhaven/namespace.ts +1 -1
- package/lib/routes/wallpaperhub/index.ts +0 -2
- package/lib/routes/wallstreetcn/calendar.ts +90 -0
- package/lib/routes/wallstreetcn/hot.ts +2 -2
- package/lib/routes/wallstreetcn/live.ts +3 -5
- package/lib/routes/wallstreetcn/news.ts +27 -16
- package/lib/routes/warhammer-community/namespace.ts +7 -0
- package/lib/routes/warhammer-community/news.ts +73 -0
- package/lib/routes/warp/blog.ts +77 -0
- package/lib/routes/warp/namespace.ts +7 -0
- package/lib/routes/warthunder/news.ts +0 -2
- package/lib/routes/washingtonpost/app.ts +4 -6
- package/lib/routes/wdfxw/bookfree.ts +528 -0
- package/lib/routes/wdfxw/namespace.ts +8 -0
- package/lib/routes/wdfxw/templates/description.art +13 -0
- package/lib/routes/web/series.ts +1 -1
- package/lib/routes/webcatalog/changelog.ts +59 -0
- package/lib/routes/webcatalog/namespace.ts +7 -0
- package/lib/routes/wechat/data258.ts +4 -4
- package/lib/routes/wechat/msgalbum.ts +1 -1
- package/lib/routes/wechat/namespace.ts +1 -1
- package/lib/routes/wechat/sogou.ts +171 -50
- package/lib/routes/wechat/tgchannel.ts +121 -123
- package/lib/routes/weibo/friends.ts +4 -4
- package/lib/routes/weibo/group.ts +4 -4
- package/lib/routes/weibo/keyword.ts +2 -2
- package/lib/routes/weibo/namespace.ts +2 -1
- package/lib/routes/weibo/search/hot.ts +2 -4
- package/lib/routes/weibo/timeline.ts +9 -6
- package/lib/routes/weibo/user-bookmarks.ts +4 -4
- package/lib/routes/weibo/user.ts +23 -14
- package/lib/routes/weibo/utils.ts +15 -7
- package/lib/routes/wellcee/rent.ts +1 -3
- package/lib/routes/wenku8/index.ts +3 -3
- package/lib/routes/wfu/jwc.ts +18 -20
- package/lib/routes/wfu/news.ts +22 -24
- package/lib/routes/whitehouse/news.ts +82 -0
- package/lib/routes/who/news-room.ts +14 -16
- package/lib/routes/who/news.ts +3 -3
- package/lib/routes/who/speeches.ts +3 -3
- package/lib/routes/whu/cs.ts +2 -2
- package/lib/routes/whu/gs/index.ts +4 -4
- package/lib/routes/whu/news.ts +0 -2
- package/lib/routes/whu/swrh.ts +115 -0
- package/lib/routes/whu/util.ts +0 -3
- package/lib/routes/windsurf/blog.ts +118 -0
- package/lib/routes/windsurf/changelog.ts +100 -0
- package/lib/routes/windsurf/namespace.ts +9 -0
- package/lib/routes/windsurf/templates/description.art +21 -0
- package/lib/routes/winstall/update.ts +0 -2
- package/lib/routes/wise/pair.ts +1 -3
- package/lib/routes/wizfile/index.ts +3 -3
- package/lib/routes/wmc-bj/publish.ts +0 -2
- package/lib/routes/wmpvp/index.ts +2 -2
- package/lib/routes/wnacg/common.ts +0 -3
- package/lib/routes/wohnnet/index.ts +129 -0
- package/lib/routes/wohnnet/namespace.ts +8 -0
- package/lib/routes/wordpress/index.ts +2 -2
- package/lib/routes/wordpress/util.ts +1 -1
- package/lib/routes/woshipm/popular.ts +5 -4
- package/lib/routes/wsj/news.ts +9 -8
- package/lib/routes/wsj/utils.ts +1 -12
- package/lib/routes/wsyu/news.ts +8 -8
- package/lib/routes/wtu/index.ts +2 -2
- package/lib/routes/wtu/job.ts +5 -5
- package/lib/routes/wufazhuce/namespace.ts +7 -0
- package/lib/routes/wufazhuce/one.ts +90 -0
- package/lib/routes/wyzxwk/article.ts +21 -21
- package/lib/routes/wzu/news.ts +13 -17
- package/lib/routes/x-mol/news.ts +0 -2
- package/lib/routes/x-mol/paper.ts +17 -22
- package/lib/routes/x6d/index.ts +18 -18
- package/lib/routes/xaufe/jiaowu.ts +2 -2
- package/lib/routes/xaut/index.ts +6 -6
- package/lib/routes/xaut/jwc.ts +8 -8
- package/lib/routes/xaut/rsc.ts +8 -8
- package/lib/routes/xbmu/academic.ts +91 -0
- package/lib/routes/xbmu/announcement.ts +91 -0
- package/lib/routes/xbmu/namespace.ts +6 -0
- package/lib/routes/xbookcn/blog.ts +1 -0
- package/lib/routes/xiaoheihe/discount.ts +74 -30
- package/lib/routes/xiaoheihe/util.ts +1 -1
- package/lib/routes/xiaohongshu/check-cookie.ts +16 -0
- package/lib/routes/xiaohongshu/user.ts +53 -8
- package/lib/routes/xiaohongshu/util.ts +188 -109
- package/lib/routes/xiaomiyoupin/crowdfunding.ts +0 -2
- package/lib/routes/xiaomiyoupin/utils.ts +0 -3
- package/lib/routes/xiaoyuzhou/podcast.ts +45 -32
- package/lib/routes/xidian/jwc.ts +2 -2
- package/lib/routes/ximalaya/album.ts +34 -72
- package/lib/routes/ximalaya/types.ts +48 -0
- package/lib/routes/ximalaya/utils.ts +11 -9
- package/lib/routes/xinpianchang/index.ts +2 -2
- package/lib/routes/xinpianchang/rank.ts +7 -7
- package/lib/routes/xinpianchang/util.ts +0 -3
- package/lib/routes/xjtu/2yuan/news.ts +11 -11
- package/lib/routes/xjtu/dean.ts +3 -7
- package/lib/routes/xjtu/ee-jzxx.ts +110 -0
- package/lib/routes/xjtu/ee.ts +3 -3
- package/lib/routes/xjtu/gs/tzgg.ts +3 -3
- package/lib/routes/xjtu/job.ts +3 -5
- package/lib/routes/xjtu/std.ts +2 -4
- package/lib/routes/xjtu/yz.ts +74 -0
- package/lib/routes/xjtu/zs.ts +171 -0
- package/lib/routes/xkb/index.ts +8 -10
- package/lib/routes/xmanhua/index.ts +14 -15
- package/lib/routes/xmnn/epaper.ts +2 -2
- package/lib/routes/xmu/kydt.ts +68 -0
- package/lib/routes/xmu/namespace.ts +9 -0
- package/lib/routes/xmut/jwc/bkjw.ts +3 -3
- package/lib/routes/xsijishe/forum.ts +2 -2
- package/lib/routes/xsijishe/rank.ts +82 -24
- package/lib/routes/xsijishe/utils.ts +25 -0
- package/lib/routes/xueqiu/column.ts +11 -2
- package/lib/routes/xueqiu/cookies.ts +13 -18
- package/lib/routes/xueqiu/stock-comments.ts +0 -2
- package/lib/routes/xueqiu/stock-info.ts +2 -2
- package/lib/routes/xueqiu/timeline.ts +5 -5
- package/lib/routes/xueqiu/user-stock.ts +1 -1
- package/lib/routes/xueqiu/user.ts +117 -54
- package/lib/routes/xwenming/index.ts +184 -0
- package/lib/routes/xwenming/namespace.ts +9 -0
- package/lib/routes/xys/new.ts +0 -2
- package/lib/routes/xyzrank/index.ts +0 -2
- package/lib/routes/xyzrank/namespace.ts +1 -1
- package/lib/routes/yahoo/news/listid.ts +5 -2
- package/lib/routes/yahoo/news/provider-helper.ts +4 -1
- package/lib/routes/yahoo/news/provider.ts +4 -1
- package/lib/routes/yahoo/news/utils.ts +1 -4
- package/lib/routes/yamibo/bbs/forum.ts +6 -5
- package/lib/routes/yamibo/bbs/thread.ts +1 -1
- package/lib/routes/yamibo/utils.ts +0 -9
- package/lib/routes/yande/post.ts +6 -3
- package/lib/routes/ycwb/index.ts +6 -8
- package/lib/routes/yenpress/series.ts +1 -4
- package/lib/routes/ygkkk/rss.ts +3 -3
- package/lib/routes/yicai/dt.ts +39 -41
- package/lib/routes/yicai/feed.ts +2 -2
- package/lib/routes/yicai/news.ts +26 -26
- package/lib/routes/yicai/utils.ts +0 -3
- package/lib/routes/yicai/video.ts +36 -36
- package/lib/routes/yilinzazhi/index.ts +1 -1
- package/lib/routes/yilinzazhi/latest.ts +2 -2
- package/lib/routes/ymgal/article.ts +2 -2
- package/lib/routes/ymgal/game.ts +2 -3
- package/lib/routes/yna/index.ts +92 -0
- package/lib/routes/yna/namespace.ts +10 -0
- package/lib/routes/yoasobi-music/info.ts +0 -2
- package/lib/routes/yoasobi-music/live.ts +0 -2
- package/lib/routes/yoasobi-music/media.ts +3 -8
- package/lib/routes/yomiuri/news.ts +18 -18
- package/lib/routes/yomujp/level.ts +2 -2
- package/lib/routes/youku/channel.ts +24 -28
- package/lib/routes/youmemark/index.ts +88 -0
- package/lib/routes/youmemark/namespace.ts +7 -0
- package/lib/routes/youtube/api/google.ts +216 -0
- package/lib/routes/youtube/api/youtubei.ts +148 -0
- package/lib/routes/youtube/channel.ts +45 -46
- package/lib/routes/youtube/charts.ts +30 -30
- package/lib/routes/youtube/community.ts +6 -6
- package/lib/routes/youtube/playlist.ts +11 -30
- package/lib/routes/youtube/subscriptions.ts +3 -11
- package/lib/routes/youtube/user.ts +35 -59
- package/lib/routes/youtube/utils.ts +48 -56
- package/lib/routes/youzhiyouxing/materials.ts +3 -3
- package/lib/routes/yuanliao/index.ts +218 -0
- package/lib/routes/yuanliao/namespace.ts +9 -0
- package/lib/routes/yuque/book.ts +2 -2
- package/lib/routes/yuque/utils.ts +1 -0
- package/lib/routes/yxdown/news.ts +5 -5
- package/lib/routes/yxdown/recommend.ts +3 -3
- package/lib/routes/yxdzqb/index.ts +19 -23
- package/lib/routes/yxrb/home.ts +2 -2
- package/lib/routes/yyets/article.ts +3 -3
- package/lib/routes/yyets/today.ts +9 -13
- package/lib/routes/yystv/category.ts +49 -51
- package/lib/routes/yystv/docs.ts +7 -9
- package/lib/routes/yystv/fetcher.ts +10 -0
- package/lib/routes/zagg/new-arrivals.ts +7 -9
- package/lib/routes/zaimanhua/comic.ts +88 -0
- package/lib/routes/zaimanhua/namespace.ts +7 -0
- package/lib/routes/zaimanhua/template/comic.art +3 -0
- package/lib/routes/zaimanhua/update.ts +86 -0
- package/lib/routes/zaker/channel.ts +41 -0
- package/lib/routes/zaker/focus.ts +36 -0
- package/lib/routes/zaker/utils.ts +186 -0
- package/lib/routes/zaobao/namespace.ts +1 -1
- package/lib/routes/zaobao/realtime.ts +2 -2
- package/lib/routes/zaobao/util.ts +31 -16
- package/lib/routes/zaobao/znews.ts +2 -2
- package/lib/routes/zaozao/article.ts +2 -2
- package/lib/routes/zcmu/jwc/index.ts +5 -5
- package/lib/routes/zcmu/yxy/index.ts +5 -5
- package/lib/routes/zcool/discover.ts +53 -55
- package/lib/routes/zcool/top.ts +1 -1
- package/lib/routes/zcool/user.ts +2 -2
- package/lib/routes/zcool/utils.ts +0 -3
- package/lib/routes/zed/blog.ts +75 -0
- package/lib/routes/zed/namespace.ts +7 -0
- package/lib/routes/zhibo8/luxiang.ts +1 -1
- package/lib/routes/zhihu/activities.ts +4 -1
- package/lib/routes/zhihu/all-collections.ts +118 -0
- package/lib/routes/zhihu/answers.ts +26 -54
- package/lib/routes/zhihu/check-cookie.ts +31 -0
- package/lib/routes/zhihu/collection.ts +9 -1
- package/lib/routes/zhihu/execlib/x-zse-96-v3.ts +5 -5
- package/lib/routes/zhihu/hot.ts +32 -79
- package/lib/routes/zhihu/namespace.ts +1 -1
- package/lib/routes/zhihu/pin/utils.ts +5 -5
- package/lib/routes/zhihu/timeline.ts +3 -4
- package/lib/routes/zhihu/topic.ts +11 -5
- package/lib/routes/zhihu/types.ts +26 -0
- package/lib/routes/zhihu/utils.ts +13 -16
- package/lib/routes/zhihu/weekly.ts +7 -7
- package/lib/routes/zhihu/xhu/activities.ts +2 -2
- package/lib/routes/zhihu/zhuanlan.ts +8 -4
- package/lib/routes/zhitongcaijing/index.ts +16 -18
- package/lib/routes/zhiy/post.ts +0 -2
- package/lib/routes/zhizhuan100/namespace.ts +7 -0
- package/lib/routes/zhizhuan100/report.ts +79 -0
- package/lib/routes/zhonglun/index.ts +8 -11
- package/lib/routes/zhubai/index.ts +2 -2
- package/lib/routes/zhubai/top20.ts +0 -2
- package/lib/routes/zhujiceping/rss.ts +3 -3
- package/lib/routes/zimuxia/index.ts +2 -2
- package/lib/routes/zimuxia/portfolio.ts +3 -3
- package/lib/routes/zjol/paper.ts +2 -2
- package/lib/routes/zju/career/index.ts +12 -16
- package/lib/routes/zju/cst/custom.ts +13 -18
- package/lib/routes/zju/cst/index.ts +10 -15
- package/lib/routes/zju/grs/index.ts +11 -15
- package/lib/routes/zju/list.ts +6 -6
- package/lib/routes/zju/physics/index.ts +5 -5
- package/lib/routes/zju/sis/index.ts +161 -0
- package/lib/routes/zjut/cs/index.ts +1 -1
- package/lib/routes/zjut/da/index.ts +3 -3
- package/lib/routes/zjut/news.ts +3 -3
- package/lib/routes/zodgame/forum.ts +0 -2
- package/lib/routes/zongheng/detail.ts +77 -0
- package/lib/routes/zongheng/namespace.ts +7 -0
- package/lib/routes/zotero/versions.ts +13 -17
- package/lib/routes/zrblog/rss.ts +3 -3
- package/lib/routes/zsxq/group.ts +2 -2
- package/lib/routes/zsxq/utils.ts +3 -1
- package/lib/routes/zuvio/utils.ts +0 -3
- package/lib/routes/zxcs/namespace.ts +7 -0
- package/lib/routes/zxcs/novel.ts +95 -0
- package/lib/routes/zyshow/index.ts +0 -2
- package/lib/routes/zyw/hot.ts +4 -4
- package/lib/server.ts +5 -0
- package/lib/setup.test.ts +2 -0
- package/lib/types.ts +174 -12
- package/lib/utils/cache/index.ts +2 -2
- package/lib/utils/camelcase-keys.spec.ts +3 -3
- package/lib/utils/camelcase-keys.ts +4 -3
- package/lib/utils/common-config.test.ts +3 -2
- package/lib/utils/common-config.ts +17 -13
- package/lib/utils/common-utils.ts +1 -1
- package/lib/utils/git-hash.ts +1 -1
- package/lib/utils/helpers.test.ts +8 -1
- package/lib/utils/helpers.ts +20 -1
- package/lib/utils/logger.ts +1 -1
- package/lib/utils/md5.ts +1 -1
- package/lib/utils/ofetch.ts +1 -1
- package/lib/utils/otel/metric.ts +3 -3
- package/lib/utils/otel/trace.ts +16 -16
- package/lib/utils/parse-date.ts +4 -4
- package/lib/utils/proxy/index.ts +102 -18
- package/lib/utils/proxy/multi-proxy.ts +139 -0
- package/lib/utils/proxy/unify-proxy.ts +3 -1
- package/lib/utils/puppeteer-utils.test.ts +3 -3
- package/lib/utils/puppeteer.test.ts +138 -29
- package/lib/utils/puppeteer.ts +154 -30
- package/lib/utils/rand-user-agent.test.ts +2 -2
- package/lib/utils/readable-social.test.ts +65 -0
- package/lib/utils/readable-social.ts +15 -1
- package/lib/utils/request-rewriter/fetch.test.ts +1 -0
- package/lib/utils/request-rewriter/fetch.ts +44 -6
- package/lib/utils/timezone.ts +2 -2
- package/lib/utils/wechat-mp.ts +18 -15
- package/lib/views/error.tsx +1 -1
- package/lib/views/index.tsx +1 -1
- package/lib/views/json.ts +13 -11
- package/lib/views/rss3.test.ts +4 -3
- package/lib/views/rss3.ts +3 -2
- package/package.json +110 -107
- package/lib/routes/78dm/templates/image.art +0 -1
- package/lib/routes/apnews/api.ts +0 -77
- package/lib/routes/coomer/artist.ts +0 -33
- package/lib/routes/coomer/posts.ts +0 -32
- package/lib/routes/coomer/utils.ts +0 -57
- package/lib/routes/copernicium/index.ts +0 -67
- package/lib/routes/daily/index.ts +0 -101
- package/lib/routes/deeplearning/thebatch.ts +0 -74
- package/lib/routes/dnaindia/category.ts +0 -0
- package/lib/routes/gcores/category.ts +0 -171
- package/lib/routes/gcores/collection.ts +0 -161
- package/lib/routes/gcores/tag.ts +0 -158
- package/lib/routes/geocaching/templates/blogs.art +0 -6
- package/lib/routes/go/niid/idwr-dl.ts +0 -104
- package/lib/routes/google/templates/description.art +0 -6
- package/lib/routes/hrbust/templates/description.art +0 -1
- package/lib/routes/hrbust/utils.ts +0 -65
- package/lib/routes/jiemian/list.ts +0 -14
- package/lib/routes/jisilu/index.ts +0 -133
- package/lib/routes/mihoyo/templates/ys.art +0 -4
- package/lib/routes/mixcloud/queries.ts +0 -2274
- package/lib/routes/openai/blog.ts +0 -66
- package/lib/routes/picnob/templates/desc.art +0 -13
- package/lib/routes/pixiv/api/get-novels-nsfw.ts +0 -247
- package/lib/routes/pixiv/api/get-novels-sfw.ts +0 -201
- package/lib/routes/producthunt/templates/descImg.art +0 -5
- package/lib/routes/rsshub/referer-map.ts +0 -14
- package/lib/routes/syosetu/chapter.ts +0 -87
- package/lib/routes/taptap/changelog.ts +0 -71
- package/lib/routes/taptap/review.ts +0 -166
- package/lib/routes/tfc-taiwan/common.ts +0 -38
- package/lib/routes/tfc-taiwan/topic.ts +0 -17
- package/lib/routes/trending/all-trending.ts +0 -228
- package/lib/routes/trending/templates/content.art +0 -25
- package/lib/routes/watasuke/blog.ts +0 -42
- package/lib/routes/whitehouse/briefing-room.ts +0 -79
- package/lib/routes/whitehouse/ostp.ts +0 -76
- package/lib/routes/xiaohongshu/notes.ts +0 -39
- package/lib/routes/zaker/index.ts +0 -80
- package/lib/routes-deprecated/21caijing/channel.js +0 -76
- package/lib/routes-deprecated/blogs/hedwig.js +0 -42
- package/lib/routes-deprecated/chiphell/forum.js +0 -67
- package/lib/routes-deprecated/chuapp/index.js +0 -54
- package/lib/routes-deprecated/dev.to/top.js +0 -40
- package/lib/routes-deprecated/dytt/index.js +0 -60
- package/lib/routes-deprecated/furaffinity/browse.js +0 -44
- package/lib/routes-deprecated/furaffinity/commissions.js +0 -39
- package/lib/routes-deprecated/furaffinity/favorites.js +0 -56
- package/lib/routes-deprecated/furaffinity/gallery.js +0 -56
- package/lib/routes-deprecated/furaffinity/home.js +0 -72
- package/lib/routes-deprecated/furaffinity/journal-comments.js +0 -50
- package/lib/routes-deprecated/furaffinity/journals.js +0 -49
- package/lib/routes-deprecated/furaffinity/scraps.js +0 -56
- package/lib/routes-deprecated/furaffinity/search.js +0 -56
- package/lib/routes-deprecated/furaffinity/shouts.js +0 -40
- package/lib/routes-deprecated/furaffinity/status.js +0 -38
- package/lib/routes-deprecated/furaffinity/submission-comments.js +0 -50
- package/lib/routes-deprecated/furaffinity/watchers.js +0 -47
- package/lib/routes-deprecated/furaffinity/watching.js +0 -47
- package/lib/routes-deprecated/ieee/author.js +0 -30
- package/lib/routes-deprecated/ifanr/index.js +0 -71
- package/lib/routes-deprecated/jpmorganchase/research.js +0 -52
- package/lib/routes-deprecated/lol/newsindex.js +0 -87
- package/lib/routes-deprecated/ltaaa/index.js +0 -69
- package/lib/routes-deprecated/psnine/game.js +0 -32
- package/lib/routes-deprecated/psnine/index.js +0 -33
- package/lib/routes-deprecated/psnine/news.js +0 -53
- package/lib/routes-deprecated/psnine/node.js +0 -54
- package/lib/routes-deprecated/psnine/shuzhe.js +0 -33
- package/lib/routes-deprecated/psnine/trade.js +0 -39
- package/lib/routes-deprecated/qstheory/index.js +0 -122
- /package/lib/routes/{mvm → mwm}/namespace.ts +0 -0
|
@@ -2,14 +2,36 @@ import { config } from '@/config';
|
|
|
2
2
|
import logger from '@/utils/logger';
|
|
3
3
|
import { parseDate } from '@/utils/parse-date';
|
|
4
4
|
import puppeteer from '@/utils/puppeteer';
|
|
5
|
+
import ofetch from '@/utils/ofetch';
|
|
6
|
+
import { load } from 'cheerio';
|
|
7
|
+
import cache from '@/utils/cache';
|
|
8
|
+
|
|
9
|
+
// Common headers for requests
|
|
10
|
+
const getHeaders = (cookie?: string) => ({
|
|
11
|
+
Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
|
|
12
|
+
'Accept-Encoding': 'gzip, deflate, br',
|
|
13
|
+
'Accept-Language': 'en-US,en;q=0.9',
|
|
14
|
+
'Cache-Control': 'no-cache',
|
|
15
|
+
Connection: 'keep-alive',
|
|
16
|
+
Host: 'www.xiaohongshu.com',
|
|
17
|
+
Pragma: 'no-cache',
|
|
18
|
+
'Sec-Ch-Ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
|
|
19
|
+
'Sec-Ch-Ua-Mobile': '?0',
|
|
20
|
+
'Sec-Ch-Ua-Platform': '"Windows"',
|
|
21
|
+
'Sec-Fetch-Dest': 'document',
|
|
22
|
+
'Sec-Fetch-Mode': 'navigate',
|
|
23
|
+
'Sec-Fetch-Site': 'none',
|
|
24
|
+
'Sec-Fetch-User': '?1',
|
|
25
|
+
'Upgrade-Insecure-Requests': '1',
|
|
26
|
+
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36',
|
|
27
|
+
...(cookie ? { Cookie: cookie } : {}),
|
|
28
|
+
});
|
|
5
29
|
|
|
6
30
|
const getUser = (url, cache) =>
|
|
7
31
|
cache.tryGet(
|
|
8
32
|
url,
|
|
9
33
|
async () => {
|
|
10
|
-
const browser = await puppeteer(
|
|
11
|
-
stealth: true,
|
|
12
|
-
});
|
|
34
|
+
const browser = await puppeteer();
|
|
13
35
|
try {
|
|
14
36
|
const page = await browser.newPage();
|
|
15
37
|
await page.setRequestInterception(true);
|
|
@@ -23,7 +45,7 @@ const getUser = (url, cache) =>
|
|
|
23
45
|
});
|
|
24
46
|
await page.waitForSelector('div.reds-tab-item:nth-child(2)');
|
|
25
47
|
|
|
26
|
-
const initialState = await page.evaluate(() => window.__INITIAL_STATE__);
|
|
48
|
+
const initialState = await page.evaluate(() => (window as any).__INITIAL_STATE__);
|
|
27
49
|
|
|
28
50
|
if (!(await page.$('.lock-icon'))) {
|
|
29
51
|
await page.click('div.reds-tab-item:nth-child(2)');
|
|
@@ -47,7 +69,7 @@ const getUser = (url, cache) =>
|
|
|
47
69
|
|
|
48
70
|
return { userPageData, notes, collect };
|
|
49
71
|
} finally {
|
|
50
|
-
browser.close();
|
|
72
|
+
await browser.close();
|
|
51
73
|
}
|
|
52
74
|
},
|
|
53
75
|
config.cache.routeExpire,
|
|
@@ -68,113 +90,11 @@ const getBoard = (url, cache) =>
|
|
|
68
90
|
logger.http(`Requesting ${url}`);
|
|
69
91
|
await page.goto(url);
|
|
70
92
|
await page.waitForSelector('.pc-container');
|
|
71
|
-
const initialSsrState = await page.evaluate(() => window.__INITIAL_SSR_STATE__);
|
|
93
|
+
const initialSsrState = await page.evaluate(() => (window as any).__INITIAL_SSR_STATE__);
|
|
72
94
|
return initialSsrState.Main;
|
|
73
|
-
} finally {
|
|
74
|
-
browser.close();
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
config.cache.routeExpire,
|
|
78
|
-
false
|
|
79
|
-
);
|
|
80
|
-
|
|
81
|
-
const setPageFilter = async (page) => {
|
|
82
|
-
await page.setRequestInterception(true);
|
|
83
|
-
page.on('request', (req) => {
|
|
84
|
-
req.resourceType() === 'document' || req.resourceType() === 'script' || req.resourceType() === 'xhr' || req.resourceType() === 'other' ? req.continue() : req.abort();
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
const getNotes = (url, cache) =>
|
|
89
|
-
cache.tryGet(
|
|
90
|
-
url + '/notes', // To avoid mixing with the cache for `user.js`
|
|
91
|
-
async () => {
|
|
92
|
-
let user = '';
|
|
93
|
-
let notes = [];
|
|
94
|
-
|
|
95
|
-
const browser = await puppeteer({ stealth: true });
|
|
96
|
-
try {
|
|
97
|
-
const page = await browser.newPage();
|
|
98
|
-
await setPageFilter(page);
|
|
99
|
-
|
|
100
|
-
logger.http(`Requesting ${url}`);
|
|
101
|
-
await page.goto(url);
|
|
102
|
-
|
|
103
|
-
let otherInfo = {};
|
|
104
|
-
let userPosted = {};
|
|
105
|
-
try {
|
|
106
|
-
[otherInfo, userPosted] = await Promise.all(
|
|
107
|
-
['/api/sns/web/v1/user/otherinfo', '/api/sns/web/v1/user_posted'].map((p) =>
|
|
108
|
-
page
|
|
109
|
-
.waitForResponse((res) => {
|
|
110
|
-
const req = res.request();
|
|
111
|
-
return req.url().includes(p) && req.method() === 'GET';
|
|
112
|
-
})
|
|
113
|
-
.then((r) => r.json())
|
|
114
|
-
)
|
|
115
|
-
);
|
|
116
|
-
} catch (error) {
|
|
117
|
-
throw new Error(`Could not get user information and note list\n${error}`);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
await page.close();
|
|
121
|
-
|
|
122
|
-
// Get full text for each note
|
|
123
|
-
const notesPromise = userPosted.data.notes.map((n) => {
|
|
124
|
-
const noteUrl = url + '/' + n.note_id;
|
|
125
|
-
|
|
126
|
-
return cache.tryGet(noteUrl, async () => {
|
|
127
|
-
const notePage = await browser.newPage();
|
|
128
|
-
await setPageFilter(notePage);
|
|
129
|
-
|
|
130
|
-
logger.http(`Requesting ${noteUrl}`);
|
|
131
|
-
await notePage.goto(noteUrl);
|
|
132
|
-
|
|
133
|
-
let feed = {};
|
|
134
|
-
try {
|
|
135
|
-
feed = await notePage.evaluate(() => window.__INITIAL_STATE__);
|
|
136
|
-
|
|
137
|
-
// Sometimes the page is not server-side rendered
|
|
138
|
-
if (feed?.note?.note === undefined || JSON.stringify(feed?.note?.note) === '{}') {
|
|
139
|
-
const res = await notePage.waitForResponse((res) => {
|
|
140
|
-
const req = res.request();
|
|
141
|
-
return req.url().includes('/api/sns/web/v1/feed') && req.method() === 'POST';
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
const json = await res.json();
|
|
145
|
-
const note_card = json.data.items[0].note_card;
|
|
146
|
-
feed.note.note = {
|
|
147
|
-
title: note_card.title,
|
|
148
|
-
noteId: note_card.id,
|
|
149
|
-
desc: note_card.desc,
|
|
150
|
-
tagList: note_card.tag_list,
|
|
151
|
-
imageList: note_card.image_list,
|
|
152
|
-
user: note_card.user,
|
|
153
|
-
time: note_card.time,
|
|
154
|
-
lastUpdateTime: note_card.last_update_time,
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
} catch (error) {
|
|
158
|
-
throw new Error(`Could not get note ${n.note_id}\n${error}`);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
await notePage.close();
|
|
162
|
-
|
|
163
|
-
if (feed?.note?.note !== undefined && JSON.stringify(feed?.note?.note) !== '{}') {
|
|
164
|
-
return feed.note.note;
|
|
165
|
-
} else {
|
|
166
|
-
throw new Error(`Could not get note ${n.note_id}`);
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
});
|
|
170
|
-
|
|
171
|
-
user = otherInfo.data.basic_info;
|
|
172
|
-
notes = await Promise.all(notesPromise);
|
|
173
95
|
} finally {
|
|
174
96
|
await browser.close();
|
|
175
97
|
}
|
|
176
|
-
|
|
177
|
-
return { user, notes };
|
|
178
98
|
},
|
|
179
99
|
config.cache.routeExpire,
|
|
180
100
|
false
|
|
@@ -196,4 +116,163 @@ const formatNote = (url, note) => ({
|
|
|
196
116
|
updated: parseDate(note.lastUpdateTime, 'x'),
|
|
197
117
|
});
|
|
198
118
|
|
|
199
|
-
|
|
119
|
+
async function renderNotesFulltext(notes, urlPrex, displayLivePhoto) {
|
|
120
|
+
const data: Array<{
|
|
121
|
+
title: string;
|
|
122
|
+
link: string;
|
|
123
|
+
description: string;
|
|
124
|
+
author: string;
|
|
125
|
+
guid: string;
|
|
126
|
+
pubDate: Date;
|
|
127
|
+
updated: Date;
|
|
128
|
+
}> = [];
|
|
129
|
+
const promises = notes.flatMap((note) =>
|
|
130
|
+
note.map(async ({ noteCard, id }) => {
|
|
131
|
+
const link = `${urlPrex}/${id}`;
|
|
132
|
+
const guid = `${urlPrex}/${noteCard.noteId}`;
|
|
133
|
+
const { title, description, pubDate, updated } = await getFullNote(link, displayLivePhoto);
|
|
134
|
+
return {
|
|
135
|
+
title,
|
|
136
|
+
link,
|
|
137
|
+
description,
|
|
138
|
+
author: noteCard.user.nickName,
|
|
139
|
+
guid,
|
|
140
|
+
pubDate,
|
|
141
|
+
updated,
|
|
142
|
+
};
|
|
143
|
+
})
|
|
144
|
+
);
|
|
145
|
+
data.push(...(await Promise.all(promises)));
|
|
146
|
+
return data;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
async function getFullNote(link, displayLivePhoto) {
|
|
150
|
+
const data = (await cache.tryGet(link, async () => {
|
|
151
|
+
const res = await ofetch(link, {
|
|
152
|
+
headers: getHeaders(config.xiaohongshu.cookie),
|
|
153
|
+
});
|
|
154
|
+
const $ = load(res);
|
|
155
|
+
const script = extractInitialState($);
|
|
156
|
+
const state = JSON.parse(script);
|
|
157
|
+
const note = state.note.noteDetailMap[state.note.firstNoteId].note;
|
|
158
|
+
const title = note.title;
|
|
159
|
+
let desc = note.desc;
|
|
160
|
+
desc = desc.replaceAll(/\[.*?\]/g, '');
|
|
161
|
+
desc = desc.replaceAll(/#(.*?)#/g, '#$1');
|
|
162
|
+
desc = desc.replaceAll('\n', '<br>');
|
|
163
|
+
const pubDate = parseDate(note.time, 'x');
|
|
164
|
+
const updated = parseDate(note.lastUpdateTime, 'x');
|
|
165
|
+
|
|
166
|
+
let mediaContent = '';
|
|
167
|
+
if (note.type === 'video') {
|
|
168
|
+
const originVideoKey = note.video?.consumer?.originVideoKey;
|
|
169
|
+
const videoUrls: string[] = [];
|
|
170
|
+
|
|
171
|
+
if (originVideoKey) {
|
|
172
|
+
videoUrls.push(`http://sns-video-al.xhscdn.com/${originVideoKey}`);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
const streamTypes = ['av1', 'h264', 'h265', 'h266'];
|
|
176
|
+
for (const type of streamTypes) {
|
|
177
|
+
const streams = note.video?.media?.stream?.[type];
|
|
178
|
+
if (streams?.length > 0) {
|
|
179
|
+
const stream = streams[0];
|
|
180
|
+
if (stream.masterUrl) {
|
|
181
|
+
videoUrls.push(stream.masterUrl);
|
|
182
|
+
}
|
|
183
|
+
if (stream.backupUrls?.length) {
|
|
184
|
+
videoUrls.push(...stream.backupUrls);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
const posterUrl = note.imageList?.[0]?.urlDefault;
|
|
190
|
+
|
|
191
|
+
if (videoUrls.length > 0) {
|
|
192
|
+
mediaContent = `<video controls ${posterUrl ? `poster="${posterUrl}"` : ''}>
|
|
193
|
+
${videoUrls.map((url) => `<source src="${url}" type="video/mp4">`).join('\n')}
|
|
194
|
+
</video><br>`;
|
|
195
|
+
}
|
|
196
|
+
} else {
|
|
197
|
+
mediaContent = note.imageList
|
|
198
|
+
.map((image) => {
|
|
199
|
+
if (image.livePhoto && displayLivePhoto) {
|
|
200
|
+
const videoUrls: string[] = [];
|
|
201
|
+
|
|
202
|
+
const streamTypes = ['av1', 'h264', 'h265', 'h266'];
|
|
203
|
+
for (const type of streamTypes) {
|
|
204
|
+
const streams = image.stream?.[type];
|
|
205
|
+
if (streams?.length > 0) {
|
|
206
|
+
if (streams[0].masterUrl) {
|
|
207
|
+
videoUrls.push(streams[0].masterUrl);
|
|
208
|
+
}
|
|
209
|
+
if (streams[0].backupUrls?.length) {
|
|
210
|
+
videoUrls.push(...streams[0].backupUrls);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
if (videoUrls.length > 0) {
|
|
216
|
+
return `<video controls poster="${image.urlDefault}">
|
|
217
|
+
${videoUrls.map((url) => `<source src="${url}" type="video/mp4">`).join('\n')}
|
|
218
|
+
</video>`;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return `<img src="${image.urlDefault}">`;
|
|
222
|
+
})
|
|
223
|
+
.join('<br>');
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
const description = `${mediaContent}<br>${desc}`;
|
|
227
|
+
return {
|
|
228
|
+
title: title || note.desc,
|
|
229
|
+
description,
|
|
230
|
+
pubDate,
|
|
231
|
+
updated,
|
|
232
|
+
};
|
|
233
|
+
})) as Promise<{ title: string; description: string; pubDate: Date; updated: Date }>;
|
|
234
|
+
return data;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
async function getUserWithCookie(url: string) {
|
|
238
|
+
const cookie = config.xiaohongshu.cookie;
|
|
239
|
+
const res = await ofetch(url, {
|
|
240
|
+
headers: getHeaders(cookie),
|
|
241
|
+
});
|
|
242
|
+
const $ = load(res);
|
|
243
|
+
const paths = $('#userPostedFeeds > section > div > a.cover.ld.mask').map((i, item) => item.attributes[3].value);
|
|
244
|
+
const script = extractInitialState($);
|
|
245
|
+
const state = JSON.parse(script);
|
|
246
|
+
let index = 0;
|
|
247
|
+
for (const item of state.user.notes.flat()) {
|
|
248
|
+
const path = paths[index];
|
|
249
|
+
if (path && path.includes('?')) {
|
|
250
|
+
item.id = item.id + path?.slice(path.indexOf('?'));
|
|
251
|
+
}
|
|
252
|
+
index = index + 1;
|
|
253
|
+
}
|
|
254
|
+
return state.user;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
// Add helper function to extract initial state
|
|
258
|
+
function extractInitialState($) {
|
|
259
|
+
let script = $('script')
|
|
260
|
+
.filter((i, script) => {
|
|
261
|
+
const text = script.children[0]?.data;
|
|
262
|
+
return text?.startsWith('window.__INITIAL_STATE__=');
|
|
263
|
+
})
|
|
264
|
+
.text();
|
|
265
|
+
script = script.slice('window.__INITIAL_STATE__='.length);
|
|
266
|
+
script = script.replaceAll('undefined', 'null');
|
|
267
|
+
return script;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
async function checkCookie() {
|
|
271
|
+
const cookie = config.xiaohongshu.cookie;
|
|
272
|
+
const res = await ofetch('https://edith.xiaohongshu.com/api/sns/web/v2/user/me', {
|
|
273
|
+
headers: getHeaders(cookie),
|
|
274
|
+
});
|
|
275
|
+
return res.code === 0 && !!res.data.user_id;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
export { getUser, getBoard, formatText, formatNote, renderNotesFulltext, getFullNote, getUserWithCookie, checkCookie };
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { Route, ViewType } from '@/types';
|
|
2
|
-
import
|
|
1
|
+
import { DataItem, Route, ViewType } from '@/types';
|
|
2
|
+
import ofetch from '@/utils/ofetch';
|
|
3
3
|
import { load } from 'cheerio';
|
|
4
4
|
import { parseDate } from '@/utils/parse-date';
|
|
5
|
+
import cache from '@/utils/cache';
|
|
5
6
|
|
|
6
7
|
export const route: Route = {
|
|
7
8
|
path: '/podcast/:id',
|
|
8
|
-
categories: ['multimedia'
|
|
9
|
+
categories: ['multimedia'],
|
|
9
10
|
view: ViewType.Audios,
|
|
10
11
|
example: '/xiaoyuzhou/podcast/6021f949a789fca4eff4492c',
|
|
11
12
|
parameters: { id: '播客 id 或单集 id,可以在小宇宙播客的 URL 中找到' },
|
|
@@ -23,61 +24,73 @@ export const route: Route = {
|
|
|
23
24
|
},
|
|
24
25
|
],
|
|
25
26
|
name: '播客',
|
|
26
|
-
maintainers: ['hondajojo', 'jtsang4', 'pseudoyu'],
|
|
27
|
+
maintainers: ['hondajojo', 'jtsang4', 'pseudoyu', 'cscnk52'],
|
|
27
28
|
handler,
|
|
28
29
|
url: 'xiaoyuzhoufm.com/',
|
|
29
30
|
};
|
|
30
31
|
|
|
31
32
|
async function handler(ctx) {
|
|
32
33
|
const id = ctx.req.param('id');
|
|
33
|
-
let link
|
|
34
|
-
let response
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
});
|
|
34
|
+
let link;
|
|
35
|
+
let response;
|
|
36
|
+
let $;
|
|
37
|
+
let page_data;
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
// First try podcast URL, if that fails try episode URL
|
|
40
|
+
try {
|
|
41
|
+
link = `https://www.xiaoyuzhoufm.com/podcast/${id}`;
|
|
42
|
+
response = await ofetch(link);
|
|
41
43
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
$ = load(response);
|
|
45
|
+
const nextDataElement = $('#__NEXT_DATA__').get(0);
|
|
46
|
+
page_data = JSON.parse(nextDataElement.children[0].data);
|
|
47
|
+
|
|
48
|
+
// If no episodes found, we should try episode URL
|
|
49
|
+
if (!page_data.props.pageProps.podcast?.episodes) {
|
|
50
|
+
throw new Error('No episodes found in podcast data');
|
|
51
|
+
}
|
|
52
|
+
} catch {
|
|
53
|
+
// Try as episode instead
|
|
45
54
|
link = `https://www.xiaoyuzhoufm.com/episode/${id}`;
|
|
46
|
-
response = await
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
55
|
+
response = await ofetch(link);
|
|
56
|
+
|
|
57
|
+
$ = load(response);
|
|
58
|
+
const podcastLink = $('a[href^="/podcast/"].name').attr('href');
|
|
50
59
|
|
|
51
|
-
$ = load(response.data);
|
|
52
|
-
const podcastLink = $('.jsx-605929003.podcast-title .jsx-605929003.name').attr('href');
|
|
53
60
|
if (podcastLink) {
|
|
54
61
|
const podcastId = podcastLink.split('/').pop();
|
|
55
62
|
link = `https://www.xiaoyuzhoufm.com/podcast/${podcastId}`;
|
|
56
|
-
response = await
|
|
57
|
-
method: 'get',
|
|
58
|
-
url: link,
|
|
59
|
-
});
|
|
63
|
+
response = await ofetch(link);
|
|
60
64
|
|
|
61
|
-
$ = load(response
|
|
62
|
-
|
|
65
|
+
$ = load(response);
|
|
66
|
+
const nextDataElement = $('#__NEXT_DATA__').get(0);
|
|
67
|
+
page_data = JSON.parse(nextDataElement.children[0].data);
|
|
63
68
|
}
|
|
64
69
|
}
|
|
65
70
|
|
|
66
|
-
|
|
67
|
-
throw new Error('Failed to fetch podcast episodes');
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
const episodes = page_data.props.pageProps.podcast.episodes.map((item) => ({
|
|
71
|
+
let episodes = page_data.props.pageProps.podcast.episodes.map((item) => ({
|
|
71
72
|
title: item.title,
|
|
72
73
|
enclosure_url: item.enclosure.url,
|
|
73
74
|
itunes_duration: item.duration,
|
|
74
75
|
enclosure_type: 'audio/mpeg',
|
|
75
76
|
link: `https://www.xiaoyuzhoufm.com/episode/${item.eid}`,
|
|
77
|
+
eid: item.eid,
|
|
76
78
|
pubDate: parseDate(item.pubDate),
|
|
77
|
-
description: item.shownotes,
|
|
78
79
|
itunes_item_image: (item.image || item.podcast?.image)?.smallPicUrl,
|
|
79
80
|
}));
|
|
80
81
|
|
|
82
|
+
episodes = await Promise.all(
|
|
83
|
+
episodes.map((item) =>
|
|
84
|
+
cache.tryGet(item.link, async () => {
|
|
85
|
+
const episodeLink = `https://www.xiaoyuzhoufm.com/_next/data/${page_data.buildId}/episode/${item.eid}.json`;
|
|
86
|
+
const response = await ofetch(episodeLink);
|
|
87
|
+
const episodeItem = response.pageProps.episode;
|
|
88
|
+
item.description = episodeItem.shownotes || episodeItem.description || episodeItem.title || '';
|
|
89
|
+
return item as DataItem;
|
|
90
|
+
})
|
|
91
|
+
)
|
|
92
|
+
);
|
|
93
|
+
|
|
81
94
|
return {
|
|
82
95
|
title: page_data.props.pageProps.podcast.title,
|
|
83
96
|
link: `https://www.xiaoyuzhoufm.com/podcast/${page_data.props.pageProps.podcast.pid}`,
|
package/lib/routes/xidian/jwc.ts
CHANGED
|
@@ -23,8 +23,8 @@ export const route: Route = {
|
|
|
23
23
|
maintainers: ['ShadowySpirits'],
|
|
24
24
|
handler,
|
|
25
25
|
description: `| 教学信息 | 教学研究 | 实践教学 | 质量监控 | 通知公告 |
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
| :------: | :------: | :------: | :------: | :------: |
|
|
27
|
+
| jxxx | jxyj | sjjx | zljk | tzgg |`,
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
async function handler(ctx) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Route } from '@/types';
|
|
2
2
|
import cache from '@/utils/cache';
|
|
3
3
|
import ofetch from '@/utils/ofetch';
|
|
4
|
-
import { load } from 'cheerio';
|
|
5
4
|
import { getRandom16, decryptUrl } from './utils';
|
|
6
5
|
const baseUrl = 'https://www.ximalaya.com';
|
|
7
6
|
import { config } from '@/config';
|
|
8
7
|
import { parseDate } from '@/utils/parse-date';
|
|
9
|
-
import { RichIntro, TrackInfoResponse } from './types';
|
|
8
|
+
import { Album, RichIntro, TrackInfoResponse } from './types';
|
|
9
|
+
import sanitizeHtml from 'sanitize-html';
|
|
10
10
|
|
|
11
11
|
// Find category from: https://help.apple.com/itc/podcasts_connect/?lang=en#/itc9267a2f12
|
|
12
12
|
const categoryDict = {
|
|
@@ -18,51 +18,16 @@ const categoryDict = {
|
|
|
18
18
|
IT科技: 'Technology',
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
function parseStateSafe(stateString) {
|
|
32
|
-
const prefix = 'window.__INITIAL_STATE__ = ';
|
|
33
|
-
const suffix = ';';
|
|
34
|
-
stateString = stateString.slice(prefix.length, stateString.length - suffix.length);
|
|
35
|
-
try {
|
|
36
|
-
return JSON.parse(stateString);
|
|
37
|
-
} catch {
|
|
38
|
-
return {};
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function getTextFromElement(element) {
|
|
43
|
-
if (element.children && element.children.length > 0) {
|
|
44
|
-
return element.children[0].data.trim();
|
|
45
|
-
}
|
|
46
|
-
return '';
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
async function parseAlbumData(category, album_id) {
|
|
50
|
-
// 解析网页版的 HTML 获取该专辑的信息
|
|
51
|
-
// 这里的 {category} 并不重要,系统会准确的返回该 id 对应专辑的信息
|
|
52
|
-
// 现在 {category} 必须要精确到大的类别
|
|
53
|
-
// https://www.ximalaya.com/{category}/{album_id}
|
|
54
|
-
const response = await ofetch(`${baseUrl}/${category}/${album_id}`);
|
|
55
|
-
const $ = load(response);
|
|
56
|
-
const stateElement = $('script')
|
|
57
|
-
.toArray()
|
|
58
|
-
.filter((element) => getTextFromElement(element).startsWith('window.__INITIAL_STATE__'));
|
|
59
|
-
if (stateElement.length > 0) {
|
|
60
|
-
const stateString = getTextFromElement(stateElement[0]);
|
|
61
|
-
if (stateString) {
|
|
62
|
-
return parseStateSafe(stateString);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return {};
|
|
21
|
+
function getAlbumData(albumId) {
|
|
22
|
+
return cache.tryGet(`ximalaya:albumInfo:${albumId}`, async () => {
|
|
23
|
+
const response = await ofetch(`${baseUrl}/revision/album/v1/simple`, {
|
|
24
|
+
query: {
|
|
25
|
+
albumId,
|
|
26
|
+
},
|
|
27
|
+
parseResponse: JSON.parse,
|
|
28
|
+
});
|
|
29
|
+
return response.data.albumPageMainInfo as Album;
|
|
30
|
+
});
|
|
66
31
|
}
|
|
67
32
|
|
|
68
33
|
function judgeTrue(str, ...validStrings) {
|
|
@@ -85,7 +50,11 @@ export const route: Route = {
|
|
|
85
50
|
path: ['/:type/:id/:all/:shownote?'],
|
|
86
51
|
categories: ['multimedia'],
|
|
87
52
|
example: '/ximalaya/album/299146',
|
|
88
|
-
parameters: {
|
|
53
|
+
parameters: {
|
|
54
|
+
type: '专辑类型, 通常可以使用 `album`,可在对应专辑页面的 URL 中找到',
|
|
55
|
+
id: '专辑 id, 可在对应专辑页面的 URL 中找到',
|
|
56
|
+
all: '是否需要获取全部节目,填入 `1`、`true`、`all` 视为获取所有节目,填入其他则不获取。',
|
|
57
|
+
},
|
|
89
58
|
features: {
|
|
90
59
|
requireConfig: [
|
|
91
60
|
{
|
|
@@ -104,11 +73,11 @@ export const route: Route = {
|
|
|
104
73
|
handler,
|
|
105
74
|
description: `目前喜马拉雅的 API 只能一集一集的获取各节目上的 ShowNote,会极大的占用系统资源,所以默认为不获取节目的 ShowNote。
|
|
106
75
|
|
|
107
|
-
|
|
76
|
+
::: warning
|
|
108
77
|
专辑类型即 url 中的分类拼音,使用通用分类 \`album\` 通常是可行的,专辑 id 是跟在**分类拼音**后的那个 id, 不要输成某集的 id 了
|
|
109
78
|
|
|
110
79
|
**付费内容需要配置好已购买账户的 token 才能收听,详情见部署页面的配置模块**
|
|
111
|
-
|
|
80
|
+
:::`,
|
|
112
81
|
};
|
|
113
82
|
|
|
114
83
|
async function handler(ctx) {
|
|
@@ -118,28 +87,22 @@ async function handler(ctx) {
|
|
|
118
87
|
const shouldShowNote = judgeTrue(ctx.req.param('shownote'), 'shownote');
|
|
119
88
|
const pageSize = shouldAll ? 200 : 30;
|
|
120
89
|
|
|
121
|
-
const albumData = await
|
|
122
|
-
|
|
123
|
-
const { albumPageMainInfo, currentCategory, anchorInfo } = albumData?.store?.AlbumDetailPage || {};
|
|
90
|
+
const albumData = await getAlbumData(id);
|
|
124
91
|
|
|
125
|
-
const isPaid =
|
|
92
|
+
const isPaid = albumData.isPaid;
|
|
126
93
|
|
|
127
|
-
const
|
|
128
|
-
const author = authorInfo.nickName;
|
|
94
|
+
const author = albumData.anchorName;
|
|
129
95
|
|
|
130
|
-
const
|
|
131
|
-
const
|
|
132
|
-
const
|
|
133
|
-
const albumIntro = albumInfo.detailRichIntro; // 专辑介绍
|
|
96
|
+
const albumTitle = albumData.albumTitle; // 专辑标题
|
|
97
|
+
const albumCover = 'https:' + albumData.cover;
|
|
98
|
+
const albumIntro = sanitizeHtml(albumData.detailRichIntro, { allowedTags: [], allowedAttributes: {} }); // 专辑介绍
|
|
134
99
|
|
|
135
|
-
const
|
|
136
|
-
const albumCategory = categoryInfo?.categoryTitle || albumPageMainInfo.categoryTitle; // 专辑分类名字
|
|
137
|
-
const albumUrl = '/' + (categoryInfo?.categoryPinyin || type) + '/' + id + '/'; // 没有 categoryPinyin 这个字段了,用 type 兼容一下
|
|
100
|
+
const albumCategory = albumData.categoryTitle; // 专辑分类名字
|
|
138
101
|
|
|
139
102
|
// sort 为 1 时是降序
|
|
140
103
|
// const isAsc = albumData.store.AlbumDetailTrackList.sort === 0;
|
|
141
104
|
// 喜马拉雅的 API 的 query 参数 isAsc=0 时才是升序,不写就是降序。
|
|
142
|
-
const trackInfoApi = `
|
|
105
|
+
const trackInfoApi = `https://mobile.ximalaya.com/mobile/v1/album/track/?albumId=${id}&pageSize=${pageSize}&pageId=`;
|
|
143
106
|
const trackInfoResponse = await ofetch<TrackInfoResponse>(trackInfoApi + '1', {
|
|
144
107
|
parseResponse: JSON.parse,
|
|
145
108
|
});
|
|
@@ -165,16 +128,15 @@ async function handler(ctx) {
|
|
|
165
128
|
|
|
166
129
|
await Promise.all(
|
|
167
130
|
playList.map(async (item) => {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
let _desc;
|
|
131
|
+
item.desc = await cache.tryGet(`ximalaya:trackRichInfo:${item.trackId}:${shouldShowNote.toString()}`, async () => {
|
|
132
|
+
let _desc: string = '';
|
|
171
133
|
if (shouldShowNote) {
|
|
172
134
|
const trackRichInfoApi = `https://mobile.ximalaya.com/mobile-track/richIntro?trackId=${item.trackId}`;
|
|
173
135
|
const trackRichInfoResponse = await ofetch<RichIntro>(trackRichInfoApi);
|
|
174
136
|
_desc = trackRichInfoResponse.richIntro;
|
|
175
137
|
}
|
|
176
138
|
if (!_desc) {
|
|
177
|
-
_desc =
|
|
139
|
+
_desc = item.intro;
|
|
178
140
|
}
|
|
179
141
|
return _desc;
|
|
180
142
|
});
|
|
@@ -182,8 +144,8 @@ async function handler(ctx) {
|
|
|
182
144
|
);
|
|
183
145
|
|
|
184
146
|
const token = config.ximalaya.token;
|
|
185
|
-
const randomToken = getRandom16(8) + '-' + getRandom16(4) + '-' + getRandom16(4) + '-' + getRandom16(4) + '-' + getRandom16(12);
|
|
186
147
|
if (isPaid && token) {
|
|
148
|
+
const randomToken = getRandom16(8) + '-' + getRandom16(4) + '-' + getRandom16(4) + '-' + getRandom16(4) + '-' + getRandom16(12);
|
|
187
149
|
await Promise.all(
|
|
188
150
|
playList.map(async (item) => {
|
|
189
151
|
const timestamp = Math.floor(Date.now());
|
|
@@ -217,8 +179,8 @@ async function handler(ctx) {
|
|
|
217
179
|
const resultItems = playList.map((item) => {
|
|
218
180
|
const title = item.title;
|
|
219
181
|
const trackId = item.trackId;
|
|
220
|
-
const itunesItemImage = item.coverLarge ?? albumCover;
|
|
221
|
-
const link = baseUrl
|
|
182
|
+
const itunesItemImage = item.coverLarge.split('!')[0] ?? albumCover;
|
|
183
|
+
const link = `${baseUrl}/sound/${trackId}`;
|
|
222
184
|
const pubDate = parseDate(item.createdAt, 'x');
|
|
223
185
|
const duration = item.duration; // 时间长度:单位(秒)
|
|
224
186
|
const enclosureUrl = item.playPathAacv224 || item.playPathAacv164;
|
|
@@ -250,7 +212,7 @@ async function handler(ctx) {
|
|
|
250
212
|
|
|
251
213
|
return {
|
|
252
214
|
title: albumTitle,
|
|
253
|
-
link: baseUrl
|
|
215
|
+
link: `${baseUrl}/${type}/${id}`,
|
|
254
216
|
description: albumIntro,
|
|
255
217
|
image: albumCover,
|
|
256
218
|
itunes_author: author,
|