rsshub 1.0.0-master.fd741f1 → 1.0.0-master.fd8463a
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/index.ts +2 -2
- 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 +47 -1
- package/lib/errors/index.tsx +2 -1
- package/lib/index.ts +48 -15
- 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 +8 -0
- package/lib/middleware/template.tsx +5 -0
- package/lib/registry.ts +83 -6
- package/lib/router.js +0 -18
- package/lib/routes/005/index.ts +0 -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/12306/index.ts +0 -2
- package/lib/routes/141jav/index.ts +0 -2
- package/lib/routes/141ppv/index.ts +0 -2
- package/lib/routes/163/ds.ts +0 -2
- package/lib/routes/163/exclusive.ts +0 -2
- 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 +0 -2
- 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/open/vip.ts +0 -2
- package/lib/routes/163/utils.ts +0 -3
- package/lib/routes/18comic/utils.ts +0 -3
- package/lib/routes/199it/index.ts +332 -0
- package/lib/routes/199it/templates/description.art +20 -0
- package/lib/routes/1point3acres/offer.ts +0 -2
- package/lib/routes/1point3acres/section.ts +2 -2
- package/lib/routes/1point3acres/utils.ts +0 -3
- package/lib/routes/1x/index.ts +1 -3
- package/lib/routes/2048/index.ts +0 -2
- package/lib/routes/2cycd/index.ts +3 -3
- package/lib/routes/36kr/hot-list.ts +10 -2
- package/lib/routes/36kr/index.ts +1 -1
- package/lib/routes/3dmgame/news-center.ts +1 -1
- package/lib/routes/3kns/index.ts +0 -2
- package/lib/routes/423down/index.ts +6 -8
- package/lib/routes/4gamers/utils.ts +0 -3
- package/lib/routes/4khd/article.ts +1 -1
- package/lib/routes/4khd/namespace.ts +1 -1
- package/lib/routes/4ksj/forum.ts +0 -2
- package/lib/routes/500px/tribe-set.ts +1 -3
- package/lib/routes/56kog/util.ts +0 -3
- package/lib/routes/591/list.ts +0 -2
- package/lib/routes/6park/news.ts +1 -1
- package/lib/routes/78dm/index.ts +0 -2
- package/lib/routes/7mmtv/index.ts +0 -2
- package/lib/routes/8264/list.ts +0 -2
- package/lib/routes/91porn/author.ts +0 -2
- package/lib/routes/91porn/index.ts +0 -2
- package/lib/routes/95mm/utils.ts +0 -3
- package/lib/routes/a9vg/index.ts +0 -2
- package/lib/routes/aamacau/index.ts +3 -3
- package/lib/routes/abc/index.ts +1 -3
- package/lib/routes/academia/topics.ts +10 -20
- package/lib/routes/accessbriefing/index.ts +0 -2
- package/lib/routes/acfun/article.ts +1 -1
- package/lib/routes/acfun/bangumi.ts +1 -1
- 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 +0 -2
- package/lib/routes/aeon/category.ts +1 -1
- package/lib/routes/aeon/type.ts +1 -1
- package/lib/routes/aeon/utils.ts +0 -3
- package/lib/routes/aflcio/blog.ts +158 -0
- package/lib/routes/aflcio/namespace.ts +9 -0
- package/lib/routes/agefans/update.ts +20 -20
- package/lib/routes/agirls/topic-list.ts +1 -1
- package/lib/routes/agirls/topic.ts +1 -1
- package/lib/routes/agirls/z-index.ts +1 -1
- package/lib/routes/agri/index.ts +0 -2
- package/lib/routes/ahjzu/news.ts +3 -3
- package/lib/routes/aibase/daily.ts +110 -0
- package/lib/routes/aibase/discover.ts +1 -1
- package/lib/routes/aibase/news.ts +1 -1
- package/lib/routes/aibase/topic.ts +1 -1
- package/lib/routes/aibase/util.ts +3 -3
- package/lib/routes/aicaijing/index.ts +0 -2
- package/lib/routes/ainvest/news.ts +1 -1
- package/lib/routes/ainvest/utils.ts +3 -3
- package/lib/routes/aip/journal.ts +26 -30
- package/lib/routes/aip/utils.ts +0 -3
- package/lib/routes/ajmide/index.ts +1 -1
- package/lib/routes/ali213/news.ts +2 -4
- package/lib/routes/ali213/zl.ts +2 -4
- package/lib/routes/aliresearch/information.ts +1 -1
- package/lib/routes/aliyun/database-month.ts +3 -3
- package/lib/routes/aliyun/developer/group.ts +12 -18
- package/lib/routes/aliyun/notice.ts +3 -3
- package/lib/routes/aljazeera/index.ts +0 -2
- package/lib/routes/ally/rail.ts +22 -16
- 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/android/security-bulletin.ts +61 -0
- package/lib/routes/anquanke/vul.ts +1 -1
- package/lib/routes/anthropic/engineering.ts +72 -0
- package/lib/routes/anthropic/news.ts +6 -4
- 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/apnews/mobile-api.ts +94 -0
- package/lib/routes/apnews/sitemap.ts +3 -2
- package/lib/routes/apnews/topics.ts +5 -3
- package/lib/routes/apnews/utils.ts +3 -11
- package/lib/routes/app-center/release.ts +0 -2
- 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 +1 -1
- package/lib/routes/apple/podcast.ts +2 -1
- 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 +1 -1
- package/lib/routes/appstorrent/programs.ts +0 -2
- package/lib/routes/aqara/post.ts +0 -2
- package/lib/routes/arcteryx/new-arrivals.ts +0 -2
- package/lib/routes/arcteryx/outlet.ts +0 -2
- package/lib/routes/arcteryx/regear-new-arrivals.ts +0 -2
- package/lib/routes/artstation/user.ts +0 -2
- package/lib/routes/asiafruitchina/categories.ts +2 -4
- package/lib/routes/asiafruitchina/news.ts +2 -4
- package/lib/routes/asianfanfics/tag.ts +2 -0
- package/lib/routes/asianfanfics/text-search.ts +2 -0
- package/lib/routes/asiantolick/index.ts +0 -2
- package/lib/routes/asmr-200/index.ts +1 -2
- package/lib/routes/asus/bios.ts +0 -2
- 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/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 +0 -2
- package/lib/routes/baidu/top.ts +0 -2
- 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/user/collections.ts +0 -3
- 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/bast/index.ts +1 -1
- 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 +37 -40
- package/lib/routes/behance/user.ts +2 -4
- 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/bangumi.ts +1 -1
- package/lib/routes/bilibili/cache.ts +19 -20
- package/lib/routes/bilibili/check-cookie.ts +31 -0
- package/lib/routes/bilibili/danmaku.ts +1 -1
- package/lib/routes/bilibili/dynamic.ts +29 -15
- package/lib/routes/bilibili/followings-dynamic.ts +10 -4
- package/lib/routes/bilibili/manga-update.ts +37 -4
- package/lib/routes/bilibili/ranking.ts +3 -1
- package/lib/routes/bilibili/readlist.ts +1 -1
- package/lib/routes/bilibili/utils.ts +5 -4
- package/lib/routes/bilibili/video.ts +77 -27
- package/lib/routes/bilibili/wasm-exec.ts +649 -0
- package/lib/routes/binance/announcement.ts +1 -1
- package/lib/routes/bing/search.ts +2 -2
- package/lib/routes/bitget/announcement.ts +1 -1
- package/lib/routes/bjnews/cat.ts +2 -9
- package/lib/routes/bjp/apod.ts +1 -1
- package/lib/routes/bjwxdxh/index.ts +3 -3
- package/lib/routes/bjx/huanbao.ts +4 -12
- package/lib/routes/bjx/types.ts +9 -13
- package/lib/routes/blogread/index.ts +3 -4
- package/lib/routes/bloomberg/authors.ts +14 -15
- package/lib/routes/bloomberg/index.ts +7 -6
- package/lib/routes/bloomberg/utils.ts +5 -17
- package/lib/routes/bnu/bs.ts +3 -3
- package/lib/routes/bnu/dwxgb.ts +3 -3
- package/lib/routes/bnu/jwb.ts +1 -1
- package/lib/routes/bookfere/category.ts +12 -16
- package/lib/routes/booru/mmda.ts +0 -2
- package/lib/routes/bsky/feeds.ts +1 -3
- package/lib/routes/bsky/keyword.ts +15 -10
- package/lib/routes/bsky/posts.ts +2 -4
- package/lib/routes/btzj/index.ts +0 -2
- package/lib/routes/buaa/lib/space/newbook.ts +0 -2
- 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/caai/utils.ts +0 -3
- package/lib/routes/caareviews/utils.ts +3 -6
- package/lib/routes/cahkms/index.ts +0 -2
- package/lib/routes/caixin/blog.ts +1 -1
- package/lib/routes/caixin/database.ts +0 -2
- package/lib/routes/caixin/latest.ts +1 -1
- package/lib/routes/caixin/utils-fulltext.ts +1 -1
- package/lib/routes/caixin/utils.ts +0 -3
- package/lib/routes/cankaoxiaoxi/index.ts +0 -2
- package/lib/routes/cara/likes.ts +1 -4
- package/lib/routes/cara/portfolio.ts +1 -1
- package/lib/routes/cara/timeline.ts +1 -4
- package/lib/routes/cara/utils.ts +0 -9
- package/lib/routes/cartoonmad/comic.ts +0 -2
- package/lib/routes/cas/cg/index.ts +3 -3
- package/lib/routes/cas/genetics/index.ts +2 -2
- package/lib/routes/cbaigui/index.ts +0 -2
- package/lib/routes/cccmc/index.ts +2 -1
- package/lib/routes/ccf/ccfcv/index.ts +0 -2
- package/lib/routes/ccf/tfbd/utils.ts +0 -3
- package/lib/routes/ccfa/index.ts +0 -2
- package/lib/routes/ccreports/index.ts +3 -3
- package/lib/routes/cctv/jx.ts +3 -3
- 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/xxgk.ts +24 -9
- 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/cebbank/all.ts +6 -8
- package/lib/routes/cebbank/history.ts +3 -5
- 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 +0 -2
- package/lib/routes/chaping/banner.ts +1 -1
- package/lib/routes/chaping/news.ts +1 -1
- package/lib/routes/chaping/newsflash.ts +1 -1
- package/lib/routes/china/finance/finance.ts +2 -2
- package/lib/routes/china/news/highlights/news.ts +11 -15
- package/lib/routes/china/news/military/news.ts +11 -15
- package/lib/routes/chinacdc/index.ts +2 -4
- 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 +0 -2
- package/lib/routes/chinanews/index.ts +2 -2
- package/lib/routes/chinaratings/credit-research.ts +2 -1
- package/lib/routes/chinaventure/index.ts +3 -5
- 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/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 +4 -6
- package/lib/routes/cib/whpj.ts +3 -3
- package/lib/routes/cih-index/namespace.ts +7 -0
- package/lib/routes/cih-index/report.ts +74 -0
- package/lib/routes/ciidbnu/index.ts +3 -3
- package/lib/routes/civitai/user.ts +90 -0
- package/lib/routes/ciweimao/chapter.ts +1 -1
- 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 +0 -2
- package/lib/routes/cls/hot.ts +0 -2
- package/lib/routes/cls/subject.ts +0 -2
- package/lib/routes/cls/telegraph.ts +0 -2
- package/lib/routes/cma/channel.ts +0 -2
- package/lib/routes/cmde/index.ts +1 -1
- package/lib/routes/cna/index.ts +2 -24
- package/lib/routes/cna/utils.ts +23 -0
- package/lib/routes/cna/web/index.ts +2 -22
- package/lib/routes/cnbeta/namespace.ts +1 -1
- package/lib/routes/cncf/index.ts +3 -3
- package/lib/routes/cncf/reports.ts +3 -3
- package/lib/routes/cngal/entry.ts +2 -4
- package/lib/routes/cngal/weekly.ts +3 -5
- package/lib/routes/cnjxol/index.ts +0 -2
- package/lib/routes/cnki/debut.ts +7 -9
- package/lib/routes/cnki/journals.ts +11 -13
- package/lib/routes/cnki/utils.ts +0 -3
- package/lib/routes/cntheory/paper.ts +0 -2
- package/lib/routes/cntv/column.ts +1 -3
- 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/colamanga/manga.ts +3 -3
- package/lib/routes/comicskingdom/index.ts +1 -3
- package/lib/routes/cool18/index.ts +70 -42
- package/lib/routes/{copernicium → coolpc}/namespace.ts +2 -2
- package/lib/routes/coolpc/news.ts +53 -0
- package/lib/routes/coomer/index.ts +1 -3
- package/lib/routes/copymanga/comic.ts +11 -23
- package/lib/routes/cosplaytele/article.ts +14 -6
- package/lib/routes/cosplaytele/category.ts +12 -6
- package/lib/routes/cosplaytele/latest.ts +12 -3
- package/lib/routes/cosplaytele/popular.ts +2 -4
- package/lib/routes/cosplaytele/tag.ts +12 -6
- package/lib/routes/cpcey/index.ts +3 -3
- package/lib/routes/cpta/handler.ts +2 -6
- package/lib/routes/crac/exam.ts +60 -0
- package/lib/routes/crac/index.ts +9 -4
- 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/cssn/iolaw.ts +3 -3
- package/lib/routes/csu/cse.ts +1 -1
- package/lib/routes/csu/utils.ts +1 -1
- package/lib/routes/cts/news.ts +23 -22
- package/lib/routes/cuilingmag/index.ts +1 -3
- 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 +2 -1
- package/lib/routes/cw/utils.ts +2 -0
- package/lib/routes/cyzone/author.ts +1 -1
- package/lib/routes/cyzone/label.ts +1 -1
- 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/daily/utils.ts +0 -2
- package/lib/routes/damai/activity.ts +0 -2
- package/lib/routes/dapenti/utils.ts +1 -1
- package/lib/routes/daum/potplayer.ts +257 -0
- package/lib/routes/dayanzai/index.ts +19 -21
- package/lib/routes/dbaplus/rss.ts +3 -4
- package/lib/routes/dcard/utils.ts +38 -37
- package/lib/routes/dcfever/news.ts +1 -1
- package/lib/routes/dcfever/reviews.ts +1 -1
- package/lib/routes/dcfever/trading-search.ts +1 -1
- package/lib/routes/dcfever/trading.ts +1 -1
- 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/dedao/index.ts +1 -1
- package/lib/routes/dedao/knowledge.ts +1 -3
- package/lib/routes/dedao/list.ts +1 -1
- package/lib/routes/dedao/user.ts +1 -3
- 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/the-batch.ts +0 -2
- package/lib/routes/deepmind/blog.ts +1 -1
- package/lib/routes/dehenglaw/index.ts +0 -2
- package/lib/routes/diandong/news.ts +1 -1
- 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/digitalcameraworld/news.ts +1 -1
- package/lib/routes/discord/channel.ts +0 -2
- package/lib/routes/discord/search.ts +0 -3
- package/lib/routes/disinfo/publications.ts +3 -3
- package/lib/routes/dlnews/category.ts +2 -7
- package/lib/routes/dlsite/campaign.ts +1 -1
- package/lib/routes/dlsite/ci-en/article.ts +1 -1
- package/lib/routes/dlsite/new.ts +1 -1
- package/lib/routes/dlsite/utils.ts +0 -3
- package/lib/routes/dmzj/news.ts +5 -5
- package/lib/routes/dn/news.ts +1 -3
- package/lib/routes/dockerhub/build.ts +1 -1
- package/lib/routes/dockerhub/tag.ts +1 -1
- package/lib/routes/domp4/detail.ts +8 -6
- package/lib/routes/domp4/latest-movie-bt.ts +10 -10
- package/lib/routes/domp4/latest.ts +8 -8
- package/lib/routes/domp4/namespace.ts +2 -8
- package/lib/routes/domp4/utils.ts +5 -5
- package/lib/routes/dongqiudi/daily.ts +1 -1
- package/lib/routes/dongqiudi/player-news.ts +1 -1
- package/lib/routes/dongqiudi/result.ts +1 -1
- package/lib/routes/dongqiudi/special.ts +1 -1
- package/lib/routes/dongqiudi/team-news.ts +1 -1
- package/lib/routes/dongqiudi/top-news.ts +1 -1
- package/lib/routes/dora-world/article.ts +1 -1
- 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 +5 -7
- package/lib/routes/douban/other/later.ts +3 -3
- package/lib/routes/douban/other/latest-music.ts +1 -1
- package/lib/routes/douban/other/list.ts +3 -5
- package/lib/routes/douban/other/playing.ts +1 -1
- package/lib/routes/douban/other/recommended.ts +0 -2
- 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 +0 -2
- package/lib/routes/douban/people/status.ts +2 -2
- package/lib/routes/douban/people/wish.ts +2 -2
- package/lib/routes/douyin/hashtag.ts +1 -1
- package/lib/routes/douyin/live.ts +1 -1
- package/lib/routes/douyin/utils.ts +0 -3
- package/lib/routes/douyu/group.ts +0 -2
- package/lib/routes/douyu/post.ts +0 -2
- package/lib/routes/dribbble/utils.ts +0 -3
- package/lib/routes/dtcj/datainsight.ts +3 -3
- package/lib/routes/duozhuayu/search.ts +0 -2
- package/lib/routes/dushu/fuzhou/index.ts +0 -2
- package/lib/routes/dw/rss.ts +2 -2
- package/lib/routes/dw/utils.ts +0 -2
- package/lib/routes/dx2025/index.ts +4 -4
- package/lib/routes/dytt/index.ts +2 -1
- package/lib/routes/e-hentai/index.ts +0 -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 +25 -29
- package/lib/routes/eastmoney/report/index.ts +1 -4
- package/lib/routes/eastmoney/search/index.ts +1 -1
- package/lib/routes/eastmoney/ttjj/user.ts +1 -1
- package/lib/routes/ecnu/contest.ts +0 -2
- package/lib/routes/ecnu/jwc.ts +3 -3
- package/lib/routes/economist/espresso.ts +1 -1
- package/lib/routes/economist/full.ts +1 -1
- package/lib/routes/ehentai/ehapi.ts +1 -1
- 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/epicgames/index.ts +1 -3
- package/lib/routes/eprice/rss.ts +0 -2
- package/lib/routes/eshukan/academic.ts +0 -2
- 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/famitsu/category.ts +1 -3
- package/lib/routes/fanbox/utils.ts +1 -4
- package/lib/routes/fangchan/list.ts +2 -4
- package/lib/routes/fansly/utils.ts +0 -3
- package/lib/routes/fantia/search.ts +1 -1
- package/lib/routes/fantia/user.ts +1 -1
- 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 +0 -2
- package/lib/routes/fashionnetwork/namespace.ts +1 -1
- package/lib/routes/fastbull/express-news.ts +1 -1
- package/lib/routes/fastbull/news.ts +1 -3
- package/lib/routes/fediverse/timeline.ts +1 -1
- package/lib/routes/feng/forum.ts +0 -2
- package/lib/routes/ff14/ff14-global.ts +1 -3
- package/lib/routes/ff14/ff14-zh.ts +0 -2
- package/lib/routes/fffdm/manhua/manhua.ts +1 -3
- package/lib/routes/finviz/news.ts +1 -1
- 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 +1 -1
- package/lib/routes/flyert/creditcard.ts +4 -4
- 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 +0 -2
- package/lib/routes/followin/index.ts +1 -1
- package/lib/routes/followin/news.ts +1 -1
- package/lib/routes/followin/utils.ts +0 -3
- package/lib/routes/foresightnews/article.ts +1 -1
- package/lib/routes/foresightnews/column.ts +1 -1
- package/lib/routes/foresightnews/index.ts +1 -1
- package/lib/routes/foresightnews/news.ts +1 -1
- package/lib/routes/foresightnews/util.ts +9 -14
- package/lib/routes/fosshub/index.ts +0 -2
- package/lib/routes/freecomputerbooks/index.ts +0 -2
- package/lib/routes/freewechat/profile.ts +7 -1
- package/lib/routes/ft/myft.ts +4 -4
- package/lib/routes/ftm/index.ts +1 -1
- package/lib/routes/furaffinity/browse.ts +1 -1
- package/lib/routes/furaffinity/home.ts +1 -1
- package/lib/routes/furaffinity/journals.ts +1 -1
- package/lib/routes/furaffinity/search.ts +1 -1
- package/lib/routes/furaffinity/shouts.ts +1 -1
- package/lib/routes/furaffinity/status.ts +1 -1
- 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 +12 -14
- package/lib/routes/fx678/kx.ts +3 -3
- package/lib/routes/fzmtr/announcements.ts +3 -3
- package/lib/routes/gameapps/index.ts +1 -3
- package/lib/routes/gamebase/news.ts +0 -3
- 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 +4 -4
- package/lib/routes/gamersky/utils.ts +1 -1
- package/lib/routes/gcores/articles.ts +0 -3
- package/lib/routes/gcores/categories.ts +0 -3
- package/lib/routes/gcores/collections.ts +0 -3
- package/lib/routes/gcores/news.ts +0 -3
- package/lib/routes/gcores/parser.ts +1 -4
- package/lib/routes/gcores/program-previews.ts +47 -0
- package/lib/routes/gcores/radio.ts +6 -8
- package/lib/routes/gcores/tags.ts +0 -3
- package/lib/routes/gcores/topics.ts +0 -3
- package/lib/routes/gcores/util.ts +0 -3
- package/lib/routes/gcores/videos.ts +0 -3
- package/lib/routes/gdut/oa-news.ts +85 -84
- package/lib/routes/geekpark/index.ts +1 -3
- package/lib/routes/gelbooru/utils.ts +0 -3
- package/lib/routes/gelonghui/home.ts +1 -1
- 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/geocaching/blogs.ts +5 -4
- package/lib/routes/gettr/user.ts +1 -3
- 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/pulse.ts +0 -2
- package/lib/routes/github/star.ts +1 -1
- 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/gofans/index.ts +0 -2
- package/lib/routes/google/citations.ts +2 -2
- package/lib/routes/google/doodles.ts +1 -1
- package/lib/routes/google/fonts.ts +0 -2
- package/lib/routes/google/news.ts +1 -3
- package/lib/routes/google/scholar.ts +2 -2
- package/lib/routes/google/search.ts +18 -32
- package/lib/routes/gov/caac/cjwt.ts +0 -2
- package/lib/routes/gov/cbirc/index.ts +14 -13
- package/lib/routes/gov/chinatax/latest.ts +3 -3
- 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/news.ts +1 -3
- package/lib/routes/gov/customs/list.ts +8 -3
- package/lib/routes/gov/forestry/gjlckjdjt.ts +0 -2
- 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/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/huizhou/zwgk/index.ts +3 -3
- package/lib/routes/gov/hunan/changsha/major-email.ts +3 -3
- 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/mee/ywdt.ts +3 -3
- 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 +2 -1
- package/lib/routes/gov/moa/moa.ts +3 -3
- package/lib/routes/gov/moa/zdscxx.ts +13 -11
- package/lib/routes/gov/moe/moe.ts +35 -37
- package/lib/routes/gov/mof/gss.ts +82 -0
- package/lib/routes/gov/nea/ghs.ts +70 -37
- package/lib/routes/gov/nrta/dsj.ts +13 -14
- package/lib/routes/gov/nrta/news.ts +3 -3
- package/lib/routes/gov/pbc/goutongjiaoliu.ts +4 -4
- package/lib/routes/gov/pbc/gzlw.ts +3 -3
- package/lib/routes/gov/pbc/trade-announcement.ts +3 -3
- 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 +0 -2
- package/lib/routes/gov/sh/fgw/index.ts +0 -2
- 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/shenzhen/hrss/szksy/index.ts +3 -3
- package/lib/routes/gov/shenzhen/zzb/index.ts +3 -3
- package/lib/routes/gov/sichuan/deyang/govpublicinfo.ts +9 -12
- package/lib/routes/gov/sichuan/deyang/mztoday.ts +0 -2
- package/lib/routes/gov/stats/index.ts +4 -10
- package/lib/routes/gov/taiyuan/rsj.ts +3 -3
- package/lib/routes/gq/news.ts +1 -1
- package/lib/routes/grainoil/category.ts +2 -1
- package/lib/routes/greasyfork/feedback.ts +1 -1
- package/lib/routes/greasyfork/versions.ts +1 -1
- package/lib/routes/grist/featured.ts +1 -1
- package/lib/routes/grist/index.ts +1 -1
- package/lib/routes/grist/series.ts +1 -1
- package/lib/routes/grist/topic.ts +1 -1
- package/lib/routes/guancha/member.ts +1 -1
- package/lib/routes/guangdiu/cheaps.ts +3 -3
- package/lib/routes/guangdiu/index.ts +3 -3
- 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 +0 -2
- package/lib/routes/gumroad/index.ts +0 -2
- package/lib/routes/guokr/channel.ts +1 -1
- package/lib/routes/guokr/scientific.ts +1 -1
- package/lib/routes/guozaoke/index.ts +34 -35
- package/lib/routes/gzdaily/app.ts +0 -2
- package/lib/routes/hackernews/index.ts +6 -6
- package/lib/routes/hackyournews/index.ts +5 -5
- package/lib/routes/hafu/utils.ts +90 -99
- package/lib/routes/hanime1/namespace.ts +7 -0
- package/lib/routes/hanime1/previews.ts +97 -0
- package/lib/routes/hanime1/search.ts +95 -0
- package/lib/routes/harvard/health/blog.ts +1 -1
- package/lib/routes/hashnode/blog.ts +0 -2
- package/lib/routes/hbr/topic.ts +4 -4
- package/lib/routes/hdu/cs/notice.ts +10 -15
- package/lib/routes/hdu/cs/pg.ts +10 -15
- 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 +4 -4
- package/lib/routes/hellobtc/kepu.ts +4 -4
- package/lib/routes/hellobtc/news.ts +4 -4
- package/lib/routes/hellogithub/index.ts +1 -1
- package/lib/routes/hellogithub/report.ts +0 -2
- package/lib/routes/hellogithub/volume.ts +0 -2
- package/lib/routes/hicairo/rss.ts +3 -3
- package/lib/routes/hiring.cafe/jobs.ts +0 -3
- package/lib/routes/hit/hitgs.ts +3 -3
- package/lib/routes/hitcon/zeroday.ts +0 -3
- package/lib/routes/hitwh/today.ts +3 -3
- package/lib/routes/hk01/utils.ts +0 -3
- package/lib/routes/hkej/index.ts +11 -15
- package/lib/routes/hkepc/index.ts +2 -2
- package/lib/routes/hket/index.ts +1 -3
- package/lib/routes/hkjunkcall/index.ts +3 -3
- package/lib/routes/hostmonit/cloudflareyes.ts +0 -2
- package/lib/routes/hotukdeals/index.ts +2 -2
- 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 +0 -2
- 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 +3 -3
- package/lib/routes/hrbeu/job/list.ts +3 -3
- package/lib/routes/hrbeu/uae/news.ts +3 -3
- package/lib/routes/hrbeu/yjsy/list.ts +3 -3
- package/lib/routes/huawei/developer/harmonyos/samplecode.ts +69 -0
- package/lib/routes/huawei/namespace.ts +7 -0
- package/lib/routes/huggingface/blog-community.ts +126 -0
- package/lib/routes/hupu/all.ts +0 -2
- package/lib/routes/hupu/bbs.ts +0 -2
- package/lib/routes/hupu/templates/description.art +1 -1
- package/lib/routes/huxiu/brief-column.ts +1 -1
- package/lib/routes/huxiu/channel.ts +1 -1
- package/lib/routes/huxiu/club.ts +1 -1
- package/lib/routes/huxiu/collection.ts +1 -1
- package/lib/routes/huxiu/member.ts +1 -1
- package/lib/routes/huxiu/moment.ts +1 -1
- package/lib/routes/huxiu/search.ts +1 -1
- package/lib/routes/huxiu/tag.ts +1 -1
- package/lib/routes/huxiu/util.ts +0 -3
- 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/i-cable/news.ts +0 -3
- package/lib/routes/ianspriggs/index.ts +0 -2
- package/lib/routes/icac/news.ts +3 -3
- package/lib/routes/idaily/index.ts +1 -3
- package/lib/routes/idolmaster/news.ts +1 -1
- package/lib/routes/idolypride/news.ts +1 -1
- package/lib/routes/ieee/author.ts +0 -2
- package/lib/routes/ieee/journal.ts +0 -2
- package/lib/routes/ielts/index.ts +2 -2
- package/lib/routes/ifanr/category.ts +1 -1
- package/lib/routes/ifanr/digest.ts +1 -1
- package/lib/routes/ifanr/index.ts +1 -1
- package/lib/routes/ifeng/news.ts +0 -2
- package/lib/routes/ifeng/utils.ts +0 -3
- package/lib/routes/iguoguo/index.ts +57 -55
- 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 +1 -4
- package/lib/routes/imdb/chart.ts +2 -4
- package/lib/routes/imhcg/blog.ts +6 -6
- package/lib/routes/imiker/jinghua.ts +0 -2
- package/lib/routes/infoq/presentations.ts +1 -3
- package/lib/routes/infoq/recommend.ts +1 -1
- package/lib/routes/infoq/topic.ts +17 -14
- package/lib/routes/informedainews/docs.ts +1 -1
- package/lib/routes/informs/index.ts +3 -6
- package/lib/routes/inoreader/index.ts +18 -20
- package/lib/routes/inoreader/rss.ts +1 -1
- package/lib/routes/instagram/common-utils.ts +0 -3
- package/lib/routes/instagram/private-api/index.ts +1 -1
- package/lib/routes/instagram/web-api/index.ts +17 -13
- package/lib/routes/instagram/web-api/utils.ts +46 -66
- package/lib/routes/iplaysoft/index.ts +39 -9
- 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 +0 -2
- package/lib/routes/iqiyi/video.ts +6 -10
- package/lib/routes/iresearch/chart.ts +0 -3
- package/lib/routes/iresearch/report.ts +1 -3
- package/lib/routes/iresearch/weekly.ts +0 -2
- package/lib/routes/itch/devlog.ts +0 -2
- package/lib/routes/itch/index.ts +0 -2
- package/lib/routes/ithome/index.ts +3 -3
- package/lib/routes/ithome/ranking.ts +5 -5
- package/lib/routes/ithome/tag.ts +3 -3
- package/lib/routes/ithome/tw/feeds.ts +1 -1
- package/lib/routes/ithome/zt.ts +0 -2
- package/lib/routes/iwara/subscriptions.ts +0 -2
- package/lib/routes/ixigua/user-video.ts +0 -2
- 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 +1 -3
- package/lib/routes/javlibrary/utils.ts +0 -3
- package/lib/routes/javtiful/utils.ts +0 -3
- package/lib/routes/javtrailers/utils.ts +0 -2
- package/lib/routes/jd/price.ts +0 -2
- 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 +0 -2
- package/lib/routes/jimmyspa/news.ts +0 -2
- 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/jinse/catalogue.ts +0 -2
- package/lib/routes/jinse/lives.ts +1 -3
- package/lib/routes/jinse/timeline.ts +1 -3
- package/lib/routes/jisilu/util.ts +2 -1
- 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 +0 -2
- package/lib/routes/joneslanglasalle/index.ts +2 -4
- 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 +3 -3
- package/lib/routes/jpxgmn/utils.ts +11 -6
- package/lib/routes/jpxgmn/weekly.ts +3 -3
- package/lib/routes/juejin/pins.ts +4 -6
- package/lib/routes/jumeili/home.ts +98 -0
- package/lib/routes/jumeili/namespace.ts +7 -0
- package/lib/routes/jump/discount.ts +0 -2
- package/lib/routes/kadokawa/blog.ts +0 -2
- package/lib/routes/kamen-rider-official/news.ts +0 -2
- package/lib/routes/kantarworldpanel/index.ts +0 -2
- package/lib/routes/kanxue/topic.ts +5 -5
- package/lib/routes/kbs/news.ts +3 -3
- package/lib/routes/kbs/today.ts +3 -3
- package/lib/routes/kcna/news.ts +35 -37
- package/lib/routes/keep/templates/user.art +10 -8
- package/lib/routes/keep/user.ts +31 -39
- package/lib/routes/kemono/const.ts +9 -0
- package/lib/routes/kemono/index.ts +282 -143
- package/lib/routes/kemono/types.ts +31 -0
- package/lib/routes/kepu/live.ts +0 -2
- package/lib/routes/konachan/post.ts +27 -19
- package/lib/routes/kpmg/insights.ts +0 -2
- package/lib/routes/kpopping/kpics.ts +215 -0
- package/lib/routes/kpopping/news.ts +2 -4
- package/lib/routes/kuaidi100/utils.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/lang/room.ts +0 -2
- package/lib/routes/lanqiao/utils.ts +0 -3
- package/lib/routes/laohu8/personal.ts +1 -1
- package/lib/routes/learnblockchain/posts.ts +11 -15
- 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/research.ts +2 -1
- package/lib/routes/line/publisher.ts +1 -1
- package/lib/routes/line/today.ts +1 -1
- package/lib/routes/lineageos/changes.ts +79 -0
- package/lib/routes/lineageos/namespace.ts +9 -0
- package/lib/routes/linkedin/cn/renderer.ts +2 -2
- package/lib/routes/linkedin/cn/utils.ts +1 -4
- package/lib/routes/linkedin/jobs.ts +1 -1
- package/lib/routes/linkedin/posts.ts +65 -0
- package/lib/routes/linkedin/utils.ts +75 -1
- package/lib/routes/linkresearcher/index.ts +1 -3
- 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 +3 -3
- package/lib/routes/liveuamap/index.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/lofter/collection.ts +1 -1
- package/lib/routes/lofter/tag.ts +1 -1
- package/lib/routes/lofter/user.ts +1 -1
- package/lib/routes/logclub/index.ts +0 -2
- package/lib/routes/logclub/report.ts +0 -2
- package/lib/routes/logonews/index.ts +0 -2
- package/lib/routes/logrocket/index.ts +1 -8
- package/lib/routes/loltw/news.ts +0 -2
- package/lib/routes/lorientlejour/index.ts +1 -3
- package/lib/routes/lovelive-anime/news.ts +0 -2
- package/lib/routes/lovelive-anime/schedules.ts +2 -4
- package/lib/routes/lovelive-anime/topics.ts +0 -2
- package/lib/routes/lrepacks/index.ts +0 -2
- package/lib/routes/lsnu/jiaowc/tzgg.ts +1 -1
- package/lib/routes/ltaaa/article.ts +2 -4
- package/lib/routes/luogu/contest.ts +25 -25
- package/lib/routes/luolei/index.ts +0 -2
- package/lib/routes/lvv2/news.ts +3 -5
- package/lib/routes/lvv2/top.ts +3 -5
- package/lib/routes/lxixsxa/discography.ts +0 -2
- package/lib/routes/lxixsxa/information.ts +0 -2
- package/lib/routes/m4/index.ts +0 -2
- package/lib/routes/maccms/index.ts +1 -2
- package/lib/routes/macfilos/blog.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/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 +8 -10
- package/lib/routes/manyvids/video.ts +1 -4
- package/lib/routes/mastodon/account-id.ts +1 -1
- package/lib/routes/mastodon/acct.ts +1 -1
- package/lib/routes/mastodon/tag.ts +48 -0
- package/lib/routes/mastodon/timeline-local.ts +1 -1
- package/lib/routes/mastodon/timeline-remote.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/namespace.ts +1 -1
- package/lib/routes/mckinsey/cn/index.ts +2 -2
- package/lib/routes/mcmod/index.ts +2 -3
- package/lib/routes/mdpi/journal.ts +3 -5
- package/lib/routes/medsci/index.ts +1 -1
- package/lib/routes/melonbooks/namespace.ts +9 -0
- package/lib/routes/melonbooks/parser.ts +39 -0
- package/lib/routes/melonbooks/search.ts +44 -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 +2 -4
- package/lib/routes/metacritic/release.ts +1 -1
- package/lib/routes/meteor/utils.ts +0 -3
- package/lib/routes/mi/utils.ts +4 -7
- package/lib/routes/mihoyo/bbs/follow-list.ts +0 -2
- package/lib/routes/mihoyo/bbs/official.ts +0 -2
- package/lib/routes/mihoyo/bbs/utils.ts +0 -3
- package/lib/routes/mihoyo/ys/news.ts +19 -75
- package/lib/routes/mindmeister/example.ts +0 -2
- 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/mirror/index.ts +1 -1
- package/lib/routes/missav/new.ts +27 -11
- package/lib/routes/misskey/featured-notes.ts +1 -1
- package/lib/routes/misskey/home-timeline.ts +1 -1
- package/lib/routes/misskey/user-timeline.ts +2 -2
- package/lib/routes/misskey/utils.ts +0 -3
- package/lib/routes/mittrchina/index.ts +1 -3
- package/lib/routes/mixcloud/config.ts +129 -0
- package/lib/routes/mixcloud/index.ts +163 -107
- 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/studios.ts +0 -2
- package/lib/routes/modian/zhongchou.ts +3 -3
- package/lib/routes/modrinth/versions.ts +0 -3
- 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/msn/index.ts +2 -2
- package/lib/routes/mycard520/news.ts +3 -11
- package/lib/routes/mydrivers/cid.ts +192 -6
- package/lib/routes/mydrivers/index.ts +41 -13
- package/lib/routes/mydrivers/rank.ts +2 -3
- package/lib/routes/mydrivers/util.ts +10 -13
- package/lib/routes/myfans/post.ts +1 -4
- package/lib/routes/myfigurecollection/activity.ts +0 -2
- package/lib/routes/myfigurecollection/index.ts +0 -2
- package/lib/routes/mygopen/index.ts +1 -1
- package/lib/routes/mymusicsheet/usersheets.ts +1 -3
- 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/nationalgeographic/latest-stories.ts +0 -2
- package/lib/routes/nautil/topics.ts +1 -3
- package/lib/routes/nber/common.ts +0 -3
- package/lib/routes/ncc-cma/cmdp.ts +0 -2
- package/lib/routes/ncepu/master/masterinfo.ts +3 -3
- package/lib/routes/neea/index.ts +1 -1
- package/lib/routes/neea/jlpt.ts +3 -2
- package/lib/routes/netflav/index.ts +0 -2
- package/lib/routes/neu/bmie.ts +1 -1
- package/lib/routes/newrank/utils.ts +11 -1
- package/lib/routes/news/xhsxw.ts +0 -2
- package/lib/routes/newsmarket/index.ts +3 -3
- package/lib/routes/newyorker/news.ts +1 -1
- package/lib/routes/newzmz/index.ts +1 -1
- package/lib/routes/newzmz/util.ts +0 -3
- package/lib/routes/nextapple/realtime.ts +28 -27
- package/lib/routes/nga/forum.ts +1 -1
- package/lib/routes/nga/post.ts +3 -2
- package/lib/routes/ngocn2/index.ts +3 -3
- package/lib/routes/nhentai/util.ts +3 -4
- package/lib/routes/nhk/news-web-easy.ts +15 -22
- package/lib/routes/nhk/news.ts +1 -3
- 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 +0 -2
- 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/njit/jwc.ts +5 -6
- package/lib/routes/njit/tzgg.ts +6 -6
- package/lib/routes/njnu/ceai/ceai.ts +1 -1
- package/lib/routes/njnu/jwc/jwc.ts +3 -3
- package/lib/routes/nju/gra.ts +2 -2
- package/lib/routes/nju/scit.ts +8 -10
- package/lib/routes/nju/zbb.ts +19 -23
- package/lib/routes/njupt/jwc.ts +6 -6
- package/lib/routes/njust/cs.ts +58 -0
- package/lib/routes/njust/cwc.ts +5 -9
- package/lib/routes/njust/dgxg.ts +5 -9
- package/lib/routes/njust/eo.ts +5 -9
- package/lib/routes/njust/eoe.ts +5 -9
- package/lib/routes/njust/jwc.ts +5 -9
- package/lib/routes/njust/utils.ts +1 -1
- package/lib/routes/nltimes/news.ts +5 -5
- package/lib/routes/nmtv/column.ts +0 -2
- package/lib/routes/notateslaapp/update.ts +9 -13
- package/lib/routes/notefolio/search.ts +1 -3
- package/lib/routes/now/news.ts +93 -33
- package/lib/routes/nowcoder/discuss.ts +5 -5
- package/lib/routes/nowcoder/jobcenter.ts +3 -3
- package/lib/routes/npm/package.ts +0 -2
- package/lib/routes/ntdm/video.ts +4 -4
- package/lib/routes/ntdtv/channel.ts +2 -2
- package/lib/routes/nuaa/college/cae.ts +6 -6
- package/lib/routes/nuaa/college/cs.ts +6 -6
- package/lib/routes/nuaa/jwc/jwc.ts +6 -6
- package/lib/routes/nuaa/utils/pypasswaf.ts +1 -1
- package/lib/routes/nuaa/yjsy/yjsy.ts +6 -6
- package/lib/routes/nuist/bulletin.ts +20 -22
- package/lib/routes/nwafu/all.ts +3 -3
- 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/nytimes/book.ts +4 -4
- package/lib/routes/nytimes/daily-briefing-chinese.ts +1 -3
- package/lib/routes/nytimes/index.ts +1 -1
- package/lib/routes/nytimes/rss.ts +6 -2
- package/lib/routes/oceanengine/arithmetic-index.ts +1 -3
- package/lib/routes/odaily/activity.ts +1 -1
- package/lib/routes/odaily/newsflash.ts +1 -1
- package/lib/routes/odaily/post.ts +1 -1
- package/lib/routes/odaily/search-news.ts +1 -1
- package/lib/routes/odaily/user.ts +1 -1
- 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/oncc/index.ts +3 -5
- package/lib/routes/oncc/money18.ts +0 -2
- package/lib/routes/onet/news.ts +0 -2
- package/lib/routes/onet/utils.ts +0 -3
- package/lib/routes/openai/chatgpt.ts +2 -2
- package/lib/routes/openai/common.ts +69 -3
- package/lib/routes/openai/news.ts +32 -0
- package/lib/routes/openrice/chart.ts +0 -2
- package/lib/routes/openrice/offers.ts +0 -2
- package/lib/routes/openrice/promos.ts +0 -2
- package/lib/routes/orcid/index.ts +0 -2
- package/lib/routes/oreno3d/main.ts +40 -44
- package/lib/routes/oschina/column.ts +2 -4
- package/lib/routes/oschina/event.ts +2 -4
- package/lib/routes/oshwhub/explore.ts +0 -2
- package/lib/routes/osu/beatmaps/latest-ranked.ts +2 -4
- package/lib/routes/otobanana/utils.ts +0 -3
- package/lib/routes/oup/index.ts +0 -2
- package/lib/routes/p-articles/contributors.ts +5 -5
- package/lib/routes/p-articles/section.ts +5 -5
- package/lib/routes/panewslab/author.ts +1 -1
- package/lib/routes/panewslab/news.ts +1 -1
- package/lib/routes/panewslab/profundity.ts +1 -1
- package/lib/routes/panewslab/topic.ts +1 -1
- package/lib/routes/papers/category.ts +2 -4
- package/lib/routes/papers/query.ts +0 -2
- package/lib/routes/parliament.uk/petitions.ts +0 -3
- package/lib/routes/patagonia/new-arrivals.ts +9 -16
- package/lib/routes/patreon/feed.ts +0 -3
- package/lib/routes/paulgraham/article.ts +2 -2
- package/lib/routes/pconline/focus.ts +1 -1
- 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 +13 -13
- package/lib/routes/people/xjpjh.ts +5 -5
- package/lib/routes/phoronix/index.ts +3 -3
- package/lib/routes/pianyuan/app.ts +1 -1
- package/lib/routes/pianyuan/search.ts +2 -2
- package/lib/routes/picnob/user.ts +68 -152
- package/lib/routes/picnob/utils.ts +14 -12
- package/lib/routes/picuki/namespace.ts +1 -7
- package/lib/routes/picuki/profile.ts +111 -173
- 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/pingwest/status.ts +1 -1
- package/lib/routes/pingwest/tag.ts +1 -1
- package/lib/routes/pingwest/user.ts +1 -1
- package/lib/routes/pixabay/search.ts +1 -3
- package/lib/routes/pixiv/api/get-ranking.ts +1 -1
- 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 +1 -1
- package/lib/routes/pixivision/index.ts +1 -1
- package/lib/routes/piyao/jrpy.ts +3 -3
- package/lib/routes/pku/bbs/hot.ts +5 -7
- package/lib/routes/pku/cls/lecture.ts +3 -3
- package/lib/routes/pku/hr.ts +3 -3
- 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 +3 -3
- package/lib/routes/playpcesor/rss.ts +3 -3
- package/lib/routes/plurk/anonymous.ts +1 -1
- package/lib/routes/plurk/hotlinks.ts +1 -1
- package/lib/routes/plurk/news.ts +1 -1
- package/lib/routes/plurk/search.ts +1 -1
- package/lib/routes/plurk/top.ts +1 -1
- package/lib/routes/plurk/topic.ts +1 -1
- package/lib/routes/plurk/user.ts +1 -1
- package/lib/routes/pnas/index.ts +1 -3
- 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 +1 -1
- package/lib/routes/pornhub/pornstar.ts +1 -1
- package/lib/routes/pornhub/search.ts +1 -1
- package/lib/routes/pornhub/utils.ts +0 -3
- package/lib/routes/priconne-redive/news.ts +1 -1
- package/lib/routes/producthunt/today.ts +0 -2
- 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/topic.ts +1 -1
- 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/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 +1 -1
- package/lib/routes/qbitai/tag.ts +1 -1
- 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/podcast.ts +1 -1
- package/lib/routes/qipamaijia/index.ts +3 -3
- package/lib/routes/qoo-app/apps/comment.ts +0 -2
- package/lib/routes/qoo-app/news.ts +1 -1
- 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/utils.ts +0 -3
- package/lib/routes/qq/fact/index.ts +0 -2
- package/lib/routes/qq88/index.ts +3 -3
- package/lib/routes/questmobile/report.ts +1 -3
- package/lib/routes/qust/jw.ts +3 -3
- package/lib/routes/qweather/3days.ts +0 -2
- package/lib/routes/qweather/now.ts +0 -2
- package/lib/routes/radio/album.ts +40 -51
- package/lib/routes/radio/index.ts +0 -2
- package/lib/routes/radio/templates/description.art +2 -2
- package/lib/routes/radio/zhibo.ts +0 -2
- 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 +3 -3
- package/lib/routes/readhub/index.ts +1 -3
- package/lib/routes/readhub/util.ts +0 -3
- package/lib/routes/rebase/geekdaily.ts +1 -1
- package/lib/routes/resonac/products.ts +1 -1
- package/lib/routes/reuters/common.ts +18 -5
- package/lib/routes/reuters/investigates.ts +4 -4
- package/lib/routes/rfi/namespace.ts +4 -1
- package/lib/routes/rfi/news.ts +15 -4
- package/lib/routes/routledge/book-series.ts +0 -2
- package/lib/routes/rsc/journal.ts +0 -2
- package/lib/routes/rsshub/routes.ts +2 -2
- package/lib/routes/ruankao/news.ts +1 -1
- package/lib/routes/ruc/ai.ts +2 -2
- package/lib/routes/rustcc/jobs.ts +1 -1
- package/lib/routes/rustcc/news.ts +1 -1
- 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 +1 -1
- 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/science/cover.ts +0 -2
- package/lib/routes/science/utils.ts +0 -3
- package/lib/routes/sciencedirect/call-for-paper.ts +0 -2
- package/lib/routes/sciencedirect/current-issue.ts +93 -0
- package/lib/routes/scientificamerican/podcast.ts +0 -3
- 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/sctv/programme.ts +0 -2
- package/lib/routes/scut/jwc/news.ts +1 -1
- package/lib/routes/scut/jwc/notice.ts +1 -1
- package/lib/routes/scut/jwc/school.ts +1 -1
- package/lib/routes/sdu/cmse.ts +3 -3
- package/lib/routes/sdu/cs/index.ts +4 -4
- package/lib/routes/sdu/epe.ts +3 -3
- package/lib/routes/sdu/mech.ts +3 -4
- package/lib/routes/sdu/sc.ts +3 -3
- package/lib/routes/seekingalpha/index.ts +0 -2
- package/lib/routes/sehuatang/index.ts +1 -1
- package/lib/routes/sensortower/blog.ts +0 -2
- package/lib/routes/seu/cyber/index.ts +78 -0
- package/lib/routes/shcstheatre/programs.ts +0 -2
- package/lib/routes/shiep/index.ts +0 -2
- 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 +1 -1
- package/lib/routes/shoppingdesign/posts.ts +26 -25
- package/lib/routes/shuiguopai/index.ts +0 -2
- package/lib/routes/sicau/dky.ts +3 -3
- package/lib/routes/sicau/jiaowu.ts +1 -1
- package/lib/routes/sicau/yan.ts +3 -3
- package/lib/routes/sicau/zsjy.ts +3 -3
- package/lib/routes/simpleinfo/index.ts +4 -6
- package/lib/routes/sina/utils.ts +0 -3
- package/lib/routes/sinchew/index.ts +0 -2
- package/lib/routes/sjtu/gs.ts +3 -3
- package/lib/routes/sjtu/seiee/icisee.ts +67 -0
- package/lib/routes/sjtu/tongqu/activity.ts +0 -2
- package/lib/routes/skeb/utils.ts +0 -3
- package/lib/routes/slowmist/slowmist.ts +1 -1
- package/lib/routes/smartlink/index.ts +84 -0
- package/lib/routes/smartlink/namespace.ts +7 -0
- package/lib/routes/smzdm/article.ts +19 -3
- package/lib/routes/smzdm/baoliao.ts +19 -3
- package/lib/routes/smzdm/haowen-fenlei.ts +19 -3
- package/lib/routes/smzdm/haowen.ts +19 -3
- package/lib/routes/smzdm/keyword.ts +15 -2
- 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/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 +1 -3
- package/lib/routes/solidot/main.ts +1 -1
- package/lib/routes/soundofhope/channel.ts +3 -3
- package/lib/routes/southcn/nfapp/column.ts +0 -2
- package/lib/routes/southcn/nfapp/reporter.ts +0 -2
- package/lib/routes/spankbang/new-videos.ts +0 -2
- 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 +1 -1
- package/lib/routes/springer/journal.ts +5 -7
- package/lib/routes/sqmc/www.ts +1 -1
- 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/ssm/news.ts +14 -18
- package/lib/routes/sspai/activity.ts +1 -1
- package/lib/routes/sspai/author.ts +1 -1
- package/lib/routes/sspai/bookmarks.ts +1 -1
- package/lib/routes/sspai/column.ts +1 -1
- package/lib/routes/sspai/index.ts +1 -1
- package/lib/routes/sspai/matrix.ts +1 -1
- package/lib/routes/sspai/series-update.ts +1 -1
- package/lib/routes/sspai/series.ts +22 -24
- package/lib/routes/sspai/shortcuts-gallery.ts +1 -1
- package/lib/routes/sspai/tag.ts +1 -1
- package/lib/routes/sspai/topic.ts +1 -1
- package/lib/routes/sspai/topics.ts +1 -1
- package/lib/routes/startuplatte/index.ts +4 -4
- package/lib/routes/stcn/index.ts +2 -1
- package/lib/routes/stcn/rank.ts +249 -0
- package/lib/routes/stdaily/digitalpaper.ts +9 -11
- package/lib/routes/steam/appcommunityfeed.ts +0 -2
- package/lib/routes/steam/curator.ts +0 -3
- package/lib/routes/steam/news.ts +281 -0
- package/lib/routes/steam/search.ts +1 -2
- 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 +1 -1
- package/lib/routes/storm/channel.ts +80 -0
- package/lib/routes/storm/index.ts +3 -3
- 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/surfshark/blog.ts +0 -2
- package/lib/routes/swjtu/scai.ts +19 -4
- package/lib/routes/swjtu/utils.ts +0 -3
- package/lib/routes/swpu/cjxy.ts +1 -1
- package/lib/routes/swpu/dean.ts +1 -1
- package/lib/routes/swpu/dxy.ts +1 -1
- package/lib/routes/swpu/is.ts +1 -1
- package/lib/routes/syosetu/ranking-isekai.ts +1 -4
- package/lib/routes/syosetu/ranking-r18.ts +1 -4
- package/lib/routes/syosetu/ranking.ts +1 -4
- package/lib/routes/syosetu/search.ts +1 -4
- package/lib/routes/sysu/ygafz.ts +5 -31
- package/lib/routes/szftedu/gonggao.ts +1 -1
- package/lib/routes/szse/inquire.ts +0 -2
- package/lib/routes/szse/projectdynamic.ts +0 -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/taobao/zhongchou.ts +0 -2
- package/lib/routes/taptap/utils.ts +0 -3
- 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/telecompaper/news.ts +3 -3
- package/lib/routes/telecompaper/search.ts +3 -3
- package/lib/routes/telegram/blog.ts +2 -2
- package/lib/routes/telegram/channel.ts +483 -488
- package/lib/routes/telegram/scripts/get-telegram-session.mjs +1 -1
- package/lib/routes/telegram/stickerpack.ts +19 -10
- package/lib/routes/telegram/tglib/channel.ts +4 -4
- package/lib/routes/telegram/tglib/client.ts +2 -2
- package/lib/routes/tencent/news/author.ts +0 -2
- package/lib/routes/tencent/news/coronavirus/data.ts +0 -2
- package/lib/routes/tencent/news/coronavirus/total.ts +0 -2
- package/lib/routes/tesla/cx.ts +0 -2
- package/lib/routes/test/api-index.ts +13 -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/the/index.ts +0 -2
- package/lib/routes/theatlantic/utils.ts +0 -3
- package/lib/routes/theblockbeats/index.ts +3 -6
- package/lib/routes/thecover/channel.ts +6 -8
- package/lib/routes/theinitium/app.ts +7 -7
- package/lib/routes/theinitium/author.ts +1 -1
- package/lib/routes/theinitium/channel.ts +1 -1
- package/lib/routes/theinitium/tags.ts +1 -1
- package/lib/routes/theinitium/templates/description.art +0 -3
- package/lib/routes/themoviedb/seasons.ts +1 -1
- package/lib/routes/themoviedb/utils.ts +0 -3
- package/lib/routes/thenewslens/index.ts +0 -2
- package/lib/routes/thepaper/839studio/category.ts +8 -12
- package/lib/routes/thepaper/839studio/studio.ts +8 -12
- package/lib/routes/thepaper/channel.ts +1 -1
- package/lib/routes/thepaper/factpaper.ts +1 -3
- package/lib/routes/thepaper/featured.ts +1 -1
- package/lib/routes/thepaper/list.ts +1 -1
- package/lib/routes/thepaper/sidebar.ts +1 -1
- package/lib/routes/thepaper/user.ts +1 -1
- package/lib/routes/thepaper/utils.ts +8 -6
- package/lib/routes/thepetcity/index.ts +1 -1
- package/lib/routes/theverge/index.ts +1 -4
- package/lib/routes/thoughtco/index.ts +0 -2
- package/lib/routes/threads/index.ts +1 -1
- package/lib/routes/thzt/index.ts +72 -0
- package/lib/routes/thzt/namespace.ts +8 -0
- package/lib/routes/tiktok/user.ts +0 -2
- package/lib/routes/timednews/news.ts +4 -4
- package/lib/routes/tingshuitz/changsha.ts +3 -3
- 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 +3 -3
- package/lib/routes/tju/news/index.ts +1 -1
- package/lib/routes/tju/oaa/index.ts +3 -3
- package/lib/routes/tju/yzb/index.ts +5 -5
- package/lib/routes/tmtpost/util.ts +0 -3
- package/lib/routes/tophub/index.ts +1 -1
- package/lib/routes/tophub/list.ts +1 -3
- package/lib/routes/toutiao/user.ts +1 -4
- 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/tvb/news.ts +0 -2
- package/lib/routes/tver/namespace.ts +7 -0
- package/lib/routes/tver/series.ts +98 -0
- package/lib/routes/tvtropes/featured.ts +0 -2
- package/lib/routes/twitch/live.ts +1 -1
- package/lib/routes/twitch/video.ts +1 -1
- package/lib/routes/twitter/api/mobile-api/login.ts +1 -1
- package/lib/routes/twitter/api/web-api/login.ts +1 -3
- package/lib/routes/twitter/api/web-api/utils.ts +24 -2
- package/lib/routes/twitter/keyword.ts +1 -1
- package/lib/routes/twitter/list.ts +1 -1
- package/lib/routes/twitter/media.ts +1 -1
- package/lib/routes/twitter/namespace.ts +1 -0
- package/lib/routes/twitter/user.ts +1 -1
- package/lib/routes/twitter/utils.ts +33 -24
- package/lib/routes/twreporter/category.ts +1 -1
- package/lib/routes/twreporter/fetch-article.ts +0 -3
- package/lib/routes/twreporter/newest.ts +1 -1
- package/lib/routes/txks/news.ts +1 -1
- package/lib/routes/txrjy/fornumtopic.ts +5 -7
- package/lib/routes/uber/blog.ts +1 -1
- package/lib/routes/ucas/index.ts +1 -1
- package/lib/routes/udn/breaking-news.ts +3 -5
- package/lib/routes/uestc/auto.ts +4 -4
- package/lib/routes/uestc/cqe.ts +4 -4
- package/lib/routes/uestc/news.ts +3 -3
- package/lib/routes/uestc/scse.ts +4 -4
- package/lib/routes/uestc/sice.ts +4 -4
- package/lib/routes/uestc/sise.ts +4 -4
- package/lib/routes/ulapia/index.ts +4 -4
- 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/uptimerobot/rss.ts +0 -2
- package/lib/routes/urbandictionary/random.ts +0 -2
- package/lib/routes/ustb/tj/news.ts +1 -1
- package/lib/routes/ustb/yjsy/news.ts +40 -44
- package/lib/routes/ustc/index.ts +4 -4
- package/lib/routes/ustc/jwc.ts +5 -5
- package/lib/routes/usts/jwch.ts +3 -3
- package/lib/routes/utgd/category.ts +1 -1
- package/lib/routes/utgd/timeline.ts +1 -1
- package/lib/routes/utgd/topic.ts +1 -1
- package/lib/routes/utgd/utils.ts +0 -3
- package/lib/routes/uw/gix/news.ts +3 -3
- package/lib/routes/v2ex/tab.ts +1 -1
- package/lib/routes/v2ex/topics.ts +1 -1
- package/lib/routes/vcb-s/category.ts +0 -2
- package/lib/routes/vcb-s/index.ts +0 -2
- package/lib/routes/verfghbw/press.ts +3 -3
- package/lib/routes/vertikal/latest.ts +1 -1
- 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 +1 -3
- package/lib/routes/visionias/utils.ts +0 -3
- package/lib/routes/visualstudio/code-blog.ts +67 -0
- package/lib/routes/visualstudio/namespace.ts +7 -0
- package/lib/routes/vocus/publication.ts +1 -1
- package/lib/routes/vocus/user.ts +1 -1
- package/lib/routes/voronoiapp/common.ts +1 -1
- package/lib/routes/wainao/topics.ts +0 -3
- package/lib/routes/wallhaven/index.ts +3 -3
- package/lib/routes/wallpaperhub/index.ts +0 -2
- package/lib/routes/wallstreetcn/live.ts +0 -2
- 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 +3 -5
- package/lib/routes/wechat/data258.ts +4 -4
- package/lib/routes/wechat/msgalbum.ts +1 -1
- package/lib/routes/wechat/sogou.ts +171 -50
- package/lib/routes/wechat/tgchannel.ts +113 -115
- package/lib/routes/weibo/friends.ts +1 -1
- package/lib/routes/weibo/group.ts +1 -1
- package/lib/routes/weibo/keyword.ts +2 -2
- package/lib/routes/weibo/search/hot.ts +2 -4
- package/lib/routes/weibo/timeline.ts +1 -1
- package/lib/routes/weibo/user-bookmarks.ts +1 -1
- package/lib/routes/weibo/user.ts +18 -11
- package/lib/routes/weibo/utils.ts +1 -1
- 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 +18 -20
- package/lib/routes/who/news-room.ts +8 -10
- package/lib/routes/whu/gs/index.ts +2 -2
- package/lib/routes/whu/news.ts +0 -2
- 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/wnacg/common.ts +0 -3
- package/lib/routes/wordpress/util.ts +1 -1
- package/lib/routes/woshipm/popular.ts +3 -2
- package/lib/routes/wsj/news.ts +3 -2
- package/lib/routes/wsj/utils.ts +1 -12
- package/lib/routes/wsyu/news.ts +6 -6
- package/lib/routes/wtu/job.ts +3 -3
- 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/xaut/index.ts +4 -4
- package/lib/routes/xaut/jwc.ts +3 -3
- package/lib/routes/xaut/rsc.ts +3 -3
- package/lib/routes/xiaohongshu/check-cookie.ts +16 -0
- package/lib/routes/xiaohongshu/user.ts +4 -4
- package/lib/routes/xiaohongshu/util.ts +25 -13
- package/lib/routes/xiaomiyoupin/crowdfunding.ts +0 -2
- package/lib/routes/xiaomiyoupin/utils.ts +0 -3
- package/lib/routes/xiaoyuzhou/podcast.ts +18 -5
- package/lib/routes/ximalaya/utils.ts +2 -2
- package/lib/routes/xinpianchang/util.ts +0 -3
- 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 +0 -2
- package/lib/routes/xjtu/std.ts +0 -2
- package/lib/routes/xjtu/zs.ts +171 -0
- package/lib/routes/xkb/index.ts +0 -2
- package/lib/routes/xmanhua/index.ts +13 -15
- package/lib/routes/xmut/jwc/bkjw.ts +3 -3
- package/lib/routes/xsijishe/rank.ts +2 -2
- package/lib/routes/xueqiu/cookies.ts +1 -1
- package/lib/routes/xueqiu/stock-comments.ts +0 -2
- package/lib/routes/xueqiu/user.ts +115 -52
- package/lib/routes/xys/new.ts +0 -2
- package/lib/routes/xyzrank/index.ts +0 -2
- package/lib/routes/yahoo/news/index.ts +1 -1
- package/lib/routes/yahoo/news/listid.ts +2 -2
- package/lib/routes/yahoo/news/provider-helper.ts +1 -1
- package/lib/routes/yahoo/news/provider.ts +1 -1
- package/lib/routes/yahoo/news/utils.ts +0 -3
- package/lib/routes/yamibo/bbs/forum.ts +5 -4
- package/lib/routes/yamibo/utils.ts +0 -9
- package/lib/routes/yande/post.ts +1 -1
- package/lib/routes/ycwb/index.ts +0 -2
- package/lib/routes/yenpress/series.ts +1 -4
- package/lib/routes/ygkkk/rss.ts +3 -3
- package/lib/routes/yicai/dt.ts +0 -2
- package/lib/routes/yicai/utils.ts +0 -3
- package/lib/routes/yilinzazhi/index.ts +1 -1
- package/lib/routes/yilinzazhi/latest.ts +2 -2
- package/lib/routes/ymgal/game.ts +1 -3
- 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/yomujp/level.ts +2 -2
- package/lib/routes/youku/channel.ts +24 -28
- package/lib/routes/youtube/api/google.ts +216 -0
- package/lib/routes/youtube/api/youtubei.ts +98 -0
- package/lib/routes/youtube/channel.ts +45 -46
- package/lib/routes/youtube/community.ts +5 -5
- package/lib/routes/youtube/playlist.ts +11 -30
- package/lib/routes/youtube/subscriptions.ts +3 -11
- package/lib/routes/youtube/user.ts +32 -83
- package/lib/routes/youtube/utils.ts +44 -55
- package/lib/routes/youzhiyouxing/materials.ts +1 -1
- package/lib/routes/yuanliao/index.ts +218 -0
- package/lib/routes/yuanliao/namespace.ts +9 -0
- package/lib/routes/yxdown/news.ts +3 -3
- package/lib/routes/yxdown/recommend.ts +3 -3
- package/lib/routes/yxdzqb/index.ts +17 -21
- package/lib/routes/yyets/article.ts +1 -1
- 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 +2 -5
- package/lib/routes/zaker/focus.ts +2 -5
- package/lib/routes/zaobao/util.ts +2 -5
- package/lib/routes/zcmu/jwc/index.ts +3 -3
- package/lib/routes/zcmu/yxy/index.ts +3 -3
- package/lib/routes/zcool/discover.ts +0 -2
- 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 +1 -1
- package/lib/routes/zhihu/all-collections.ts +10 -1
- 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/pin/utils.ts +5 -5
- package/lib/routes/zhihu/topic.ts +11 -5
- package/lib/routes/zhihu/utils.ts +5 -5
- package/lib/routes/zhihu/weekly.ts +7 -7
- package/lib/routes/zhihu/zhuanlan.ts +8 -4
- package/lib/routes/zhitongcaijing/index.ts +1 -3
- package/lib/routes/zhiy/post.ts +0 -2
- package/lib/routes/zhonglun/index.ts +0 -2
- package/lib/routes/zhubai/top20.ts +0 -2
- package/lib/routes/zhujiceping/rss.ts +3 -3
- package/lib/routes/zimuxia/portfolio.ts +1 -1
- package/lib/routes/zju/career/index.ts +10 -14
- package/lib/routes/zju/cst/custom.ts +11 -16
- package/lib/routes/zju/cst/index.ts +8 -13
- package/lib/routes/zju/grs/index.ts +9 -13
- package/lib/routes/zju/list.ts +6 -6
- package/lib/routes/zju/physics/index.ts +3 -3
- 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/utils.ts +1 -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/setup.test.ts +2 -0
- package/lib/types.ts +48 -3
- 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/md5.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 +1 -1
- package/lib/utils/puppeteer.test.ts +136 -27
- package/lib/utils/puppeteer.ts +152 -28
- 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.ts +42 -4
- package/lib/utils/timezone.ts +1 -1
- package/lib/utils/wechat-mp.ts +3 -2
- package/package.json +77 -77
- package/lib/routes/apnews/api.ts +0 -77
- package/lib/routes/copernicium/index.ts +0 -75
- package/lib/routes/dnaindia/category.ts +0 -0
- package/lib/routes/go/niid/idwr-dl.ts +0 -104
- package/lib/routes/google/templates/description.art +0 -6
- package/lib/routes/jiemian/list.ts +0 -14
- 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 -20
- package/lib/routes/rsshub/referer-map.ts +0 -14
- 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-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/jpmorganchase/research.js +0 -52
- 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/utils/puppeteer.ts
CHANGED
|
@@ -1,45 +1,42 @@
|
|
|
1
1
|
import { config } from '@/config';
|
|
2
|
-
import puppeteer from 'puppeteer';
|
|
2
|
+
import puppeteer, { Browser, Page } from 'rebrowser-puppeteer';
|
|
3
3
|
import logger from './logger';
|
|
4
4
|
import proxy from './proxy';
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
import { type PuppeteerExtra, addExtra } from 'puppeteer-extra';
|
|
8
|
-
import StealthPlugin from 'puppeteer-extra-plugin-stealth';
|
|
9
|
-
|
|
10
|
-
const options = {
|
|
11
|
-
args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-infobars', '--window-position=0,0', '--ignore-certificate-errors', '--ignore-certificate-errors-spki-list', `--user-agent=${config.ua}`],
|
|
12
|
-
headless: true,
|
|
13
|
-
ignoreHTTPSErrors: true,
|
|
14
|
-
};
|
|
5
|
+
import { anonymizeProxy } from 'proxy-chain';
|
|
15
6
|
|
|
16
7
|
/**
|
|
17
|
-
* @
|
|
18
|
-
* @param {boolean} extraOptions.stealth - Use puppeteer-extra-plugin-stealth
|
|
8
|
+
* @deprecated use getPage instead
|
|
19
9
|
* @returns Puppeteer browser
|
|
20
10
|
*/
|
|
21
|
-
const outPuppeteer = async (
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
11
|
+
const outPuppeteer = async () => {
|
|
12
|
+
const options = {
|
|
13
|
+
args: [
|
|
14
|
+
'--no-sandbox',
|
|
15
|
+
'--disable-setuid-sandbox',
|
|
16
|
+
'--disable-blink-features=AutomationControlled',
|
|
17
|
+
'--window-position=0,0',
|
|
18
|
+
'--ignore-certificate-errors',
|
|
19
|
+
'--ignore-certificate-errors-spki-list',
|
|
20
|
+
`--user-agent=${config.ua}`,
|
|
21
|
+
],
|
|
22
|
+
headless: true,
|
|
23
|
+
ignoreHTTPSErrors: true,
|
|
24
|
+
};
|
|
31
25
|
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
const insidePuppeteer: typeof puppeteer = puppeteer;
|
|
27
|
+
|
|
28
|
+
const currentProxy = proxy.getCurrentProxy();
|
|
29
|
+
if (currentProxy && proxy.proxyObj.url_regex === '.*') {
|
|
30
|
+
if (currentProxy.urlHandler?.username || currentProxy.urlHandler?.password) {
|
|
34
31
|
// only proxies with authentication need to be anonymized
|
|
35
|
-
if (
|
|
36
|
-
options.args.push(`--proxy-server=${await
|
|
32
|
+
if (currentProxy.urlHandler.protocol === 'http:') {
|
|
33
|
+
options.args.push(`--proxy-server=${await anonymizeProxy(currentProxy.uri)}`);
|
|
37
34
|
} else {
|
|
38
35
|
logger.warn('SOCKS/HTTPS proxy with authentication is not supported by puppeteer, continue without proxy');
|
|
39
36
|
}
|
|
40
37
|
} else {
|
|
41
38
|
// Chromium cannot recognize socks5h and socks4a, so we need to trim their postfixes
|
|
42
|
-
options.args.push(`--proxy-server=${
|
|
39
|
+
options.args.push(`--proxy-server=${currentProxy.uri.replace('socks5h://', 'socks5://').replace('socks4a://', 'socks4://')}`);
|
|
43
40
|
}
|
|
44
41
|
}
|
|
45
42
|
const browser = await (config.puppeteerWSEndpoint
|
|
@@ -62,3 +59,130 @@ const outPuppeteer = async (
|
|
|
62
59
|
};
|
|
63
60
|
|
|
64
61
|
export default outPuppeteer;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @returns Puppeteer page
|
|
65
|
+
*/
|
|
66
|
+
export const getPuppeteerPage = async (
|
|
67
|
+
url: string,
|
|
68
|
+
instanceOptions: {
|
|
69
|
+
onBeforeLoad?: (page: Page, browser?: Browser) => Promise<void> | void;
|
|
70
|
+
gotoConfig?: {
|
|
71
|
+
waitUntil?: 'load' | 'domcontentloaded' | 'networkidle0' | 'networkidle2';
|
|
72
|
+
};
|
|
73
|
+
noGoto?: boolean;
|
|
74
|
+
} = {}
|
|
75
|
+
) => {
|
|
76
|
+
const options = {
|
|
77
|
+
args: [
|
|
78
|
+
'--no-sandbox',
|
|
79
|
+
'--disable-setuid-sandbox',
|
|
80
|
+
'--disable-blink-features=AutomationControlled',
|
|
81
|
+
'--window-position=0,0',
|
|
82
|
+
'--ignore-certificate-errors',
|
|
83
|
+
'--ignore-certificate-errors-spki-list',
|
|
84
|
+
`--user-agent=${config.ua}`,
|
|
85
|
+
],
|
|
86
|
+
headless: true,
|
|
87
|
+
ignoreHTTPSErrors: true,
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
const insidePuppeteer: typeof puppeteer = puppeteer;
|
|
91
|
+
|
|
92
|
+
let allowProxy = false;
|
|
93
|
+
const proxyRegex = new RegExp(proxy.proxyObj.url_regex);
|
|
94
|
+
let urlHandler;
|
|
95
|
+
try {
|
|
96
|
+
urlHandler = new URL(url);
|
|
97
|
+
} catch {
|
|
98
|
+
// ignore
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (proxyRegex.test(url) && url.startsWith('http') && !(urlHandler && urlHandler.host === proxy.proxyUrlHandler?.host)) {
|
|
102
|
+
allowProxy = true;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
let hasProxy = false;
|
|
106
|
+
let currentProxyState: any = null;
|
|
107
|
+
const currentProxy = proxy.getCurrentProxy();
|
|
108
|
+
if (currentProxy && allowProxy) {
|
|
109
|
+
currentProxyState = currentProxy;
|
|
110
|
+
if (currentProxy.urlHandler?.username || currentProxy.urlHandler?.password) {
|
|
111
|
+
// only proxies with authentication need to be anonymized
|
|
112
|
+
if (currentProxy.urlHandler.protocol === 'http:') {
|
|
113
|
+
const urlObj = new URL(currentProxy.uri);
|
|
114
|
+
urlObj.username = '';
|
|
115
|
+
urlObj.password = '';
|
|
116
|
+
options.args.push(`--proxy-server=${urlObj.toString().replace(/\/$/, '')}`);
|
|
117
|
+
hasProxy = true;
|
|
118
|
+
} else {
|
|
119
|
+
logger.warn('SOCKS/HTTPS proxy with authentication is not supported by puppeteer, continue without proxy');
|
|
120
|
+
}
|
|
121
|
+
} else {
|
|
122
|
+
// Chromium cannot recognize socks5h and socks4a, so we need to trim their postfixes
|
|
123
|
+
options.args.push(`--proxy-server=${currentProxy.uri.replace('socks5h://', 'socks5://').replace('socks4a://', 'socks4://')}`);
|
|
124
|
+
hasProxy = true;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
let browser: Browser;
|
|
128
|
+
if (config.puppeteerWSEndpoint) {
|
|
129
|
+
const endpointURL = new URL(config.puppeteerWSEndpoint);
|
|
130
|
+
endpointURL.searchParams.set('launch', JSON.stringify(options));
|
|
131
|
+
endpointURL.searchParams.set('stealth', 'true');
|
|
132
|
+
const endpoint = endpointURL.toString();
|
|
133
|
+
browser = await insidePuppeteer.connect({
|
|
134
|
+
browserWSEndpoint: endpoint,
|
|
135
|
+
});
|
|
136
|
+
} else {
|
|
137
|
+
browser = await insidePuppeteer.launch(
|
|
138
|
+
config.chromiumExecutablePath
|
|
139
|
+
? {
|
|
140
|
+
executablePath: config.chromiumExecutablePath,
|
|
141
|
+
...options,
|
|
142
|
+
}
|
|
143
|
+
: options
|
|
144
|
+
);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
setTimeout(async () => {
|
|
148
|
+
await browser.close();
|
|
149
|
+
}, 30000);
|
|
150
|
+
|
|
151
|
+
const page = await browser.newPage();
|
|
152
|
+
|
|
153
|
+
if (hasProxy && currentProxyState) {
|
|
154
|
+
logger.debug(`Proxying request in puppeteer via ${currentProxyState.uri}: ${url}`);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
if (hasProxy && currentProxyState && (currentProxyState.urlHandler?.username || currentProxyState.urlHandler?.password)) {
|
|
158
|
+
await page.authenticate({
|
|
159
|
+
username: currentProxyState.urlHandler?.username,
|
|
160
|
+
password: currentProxyState.urlHandler?.password,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
if (instanceOptions.onBeforeLoad) {
|
|
165
|
+
await instanceOptions.onBeforeLoad(page, browser);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
if (!instanceOptions.noGoto) {
|
|
169
|
+
try {
|
|
170
|
+
await page.goto(url, instanceOptions.gotoConfig || { waitUntil: 'domcontentloaded' });
|
|
171
|
+
} catch (error) {
|
|
172
|
+
if (hasProxy && currentProxyState && proxy.multiProxy) {
|
|
173
|
+
logger.warn(`Puppeteer navigation failed with proxy ${currentProxyState.uri}, marking as failed: ${error}`);
|
|
174
|
+
proxy.markProxyFailed(currentProxyState.uri);
|
|
175
|
+
throw error;
|
|
176
|
+
}
|
|
177
|
+
throw error;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
return {
|
|
182
|
+
page,
|
|
183
|
+
destory: async () => {
|
|
184
|
+
await browser.close();
|
|
185
|
+
},
|
|
186
|
+
browser,
|
|
187
|
+
};
|
|
188
|
+
};
|
|
@@ -7,14 +7,14 @@ const mobileUa = randUserAgent({ browser: 'mobile safari', os: 'ios', device: 'm
|
|
|
7
7
|
|
|
8
8
|
describe('rand-user-agent', () => {
|
|
9
9
|
it('chrome should not include headlesschrome', () => {
|
|
10
|
-
const uaArr = Array(100)
|
|
10
|
+
const uaArr = Array.from({ length: 100 })
|
|
11
11
|
.fill(null)
|
|
12
12
|
.map(() => randUserAgent({ browser: 'chrome', os: 'windows' }));
|
|
13
13
|
const match = uaArr.find((e) => !!(e.includes('Chrome-Lighthouse') || e.includes('HeadlessChrome')));
|
|
14
14
|
expect(match).toBeFalsy();
|
|
15
15
|
});
|
|
16
16
|
it('chrome should not include electron', () => {
|
|
17
|
-
const uaArr = Array(100)
|
|
17
|
+
const uaArr = Array.from({ length: 100 })
|
|
18
18
|
.fill(null)
|
|
19
19
|
.map(() => randUserAgent({ browser: 'chrome', os: 'windows' }));
|
|
20
20
|
const match = uaArr.find((e) => !!e.includes('Electron'));
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { describe, expect, test } from 'vitest';
|
|
2
|
+
import { fallback, queryToBoolean, queryToInteger, queryToFloat } from './readable-social';
|
|
3
|
+
|
|
4
|
+
describe('fallback', () => {
|
|
5
|
+
test('应该返回第一个存在的参数', () => {
|
|
6
|
+
expect(fallback('primary', 'secondary', 'default')).toBe('primary');
|
|
7
|
+
expect(fallback(undefined, 42, 0)).toBe(42);
|
|
8
|
+
expect(fallback(null, '', 'default')).toBe('');
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
test('应该返回默认值', () => {
|
|
12
|
+
expect(fallback(undefined, null, 'default')).toBe('default');
|
|
13
|
+
expect(fallback(null, undefined, 3.14)).toBe(3.14);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
describe('queryToBoolean', () => {
|
|
18
|
+
test('should handle truthy values', () => {
|
|
19
|
+
expect(queryToBoolean('1')).toBe(true);
|
|
20
|
+
expect(queryToBoolean('true')).toBe(true);
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
test('should handle falsy values', () => {
|
|
24
|
+
expect(queryToBoolean('0')).toBe(false);
|
|
25
|
+
expect(queryToBoolean('false')).toBe(false);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
describe('queryToInteger', () => {
|
|
30
|
+
test('should parse valid integers', () => {
|
|
31
|
+
expect(queryToInteger('42')).toBe(42);
|
|
32
|
+
expect(queryToInteger('-3')).toBe(-3);
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
test('should handle invalid inputs', () => {
|
|
36
|
+
expect(queryToInteger(null)).toBeNull();
|
|
37
|
+
expect(queryToInteger('abc')).toBeNaN();
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
describe('queryToFloat', () => {
|
|
42
|
+
test('should handle undefined', () => {
|
|
43
|
+
expect(queryToFloat(undefined)).toBeUndefined();
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
test('should handle null', () => {
|
|
47
|
+
expect(queryToFloat(null)).toBeNull();
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
test('should return undefined for invalid input', () => {
|
|
51
|
+
expect(queryToFloat('invalid')).toBeNaN();
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
test('should process array input', () => {
|
|
55
|
+
expect(queryToFloat(['3.14'])).toBe(3.14);
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
test('should convert numeric string', () => {
|
|
59
|
+
expect(queryToFloat('9.8')).toBe(9.8);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
test('should handle edge cases', () => {
|
|
63
|
+
expect(queryToFloat('3.1415926')).toBeCloseTo(3.141_592_6);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
@@ -39,4 +39,18 @@ const queryToInteger = (s) => {
|
|
|
39
39
|
return Number.parseInt(s);
|
|
40
40
|
};
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
const queryToFloat = (s) => {
|
|
43
|
+
if (s === undefined || s === null) {
|
|
44
|
+
return s;
|
|
45
|
+
}
|
|
46
|
+
if (Array.isArray(s)) {
|
|
47
|
+
if (s.length === 0) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
s = s[0];
|
|
51
|
+
}
|
|
52
|
+
s = s.toString();
|
|
53
|
+
return Number.parseFloat(s);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export { fallback, queryToBoolean, queryToInteger, queryToFloat };
|
|
@@ -60,7 +60,7 @@ const wrappedFetch: typeof undici.fetch = async (input: RequestInfo, init?: Requ
|
|
|
60
60
|
config.enableRemoteDebugging && useCustomHeader(request.headers);
|
|
61
61
|
|
|
62
62
|
// proxy
|
|
63
|
-
if (!init?.dispatcher &&
|
|
63
|
+
if (!init?.dispatcher && (proxy.proxyObj.strategy !== 'on_retry' || isRetry)) {
|
|
64
64
|
const proxyRegex = new RegExp(proxy.proxyObj.url_regex);
|
|
65
65
|
let urlHandler;
|
|
66
66
|
try {
|
|
@@ -70,13 +70,51 @@ const wrappedFetch: typeof undici.fetch = async (input: RequestInfo, init?: Requ
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
if (proxyRegex.test(request.url) && request.url.startsWith('http') && !(urlHandler && urlHandler.host === proxy.proxyUrlHandler?.host)) {
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
const currentProxy = proxy.getCurrentProxy();
|
|
74
|
+
if (currentProxy) {
|
|
75
|
+
const dispatcher = proxy.getDispatcherForProxy(currentProxy);
|
|
76
|
+
if (dispatcher) {
|
|
77
|
+
options.dispatcher = dispatcher;
|
|
78
|
+
logger.debug(`Proxying request via ${currentProxy.uri}: ${request.url}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
75
81
|
}
|
|
76
82
|
}
|
|
77
83
|
|
|
78
84
|
await limiterQueue.removeTokens(1);
|
|
79
|
-
|
|
85
|
+
|
|
86
|
+
const maxRetries = proxy.multiProxy?.allProxies.length || 1;
|
|
87
|
+
|
|
88
|
+
const attemptRequest = async (attempt: number): Promise<Response> => {
|
|
89
|
+
try {
|
|
90
|
+
return await undici.fetch(request, options);
|
|
91
|
+
} catch (error) {
|
|
92
|
+
if (options.dispatcher && proxy.multiProxy && attempt < maxRetries - 1) {
|
|
93
|
+
const currentProxy = proxy.getCurrentProxy();
|
|
94
|
+
if (currentProxy) {
|
|
95
|
+
logger.warn(`Request failed with proxy ${currentProxy.uri}, trying next proxy: ${error}`);
|
|
96
|
+
proxy.markProxyFailed(currentProxy.uri);
|
|
97
|
+
|
|
98
|
+
const nextProxy = proxy.getCurrentProxy();
|
|
99
|
+
if (nextProxy && nextProxy.uri !== currentProxy.uri) {
|
|
100
|
+
const nextDispatcher = proxy.getDispatcherForProxy(nextProxy);
|
|
101
|
+
if (nextDispatcher) {
|
|
102
|
+
options.dispatcher = nextDispatcher;
|
|
103
|
+
}
|
|
104
|
+
logger.debug(`Retrying request with proxy ${nextProxy.uri}: ${request.url}`);
|
|
105
|
+
return attemptRequest(attempt + 1);
|
|
106
|
+
} else {
|
|
107
|
+
logger.warn('No more proxies available, trying without proxy');
|
|
108
|
+
delete options.dispatcher;
|
|
109
|
+
return attemptRequest(attempt + 1);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
throw error;
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
return attemptRequest(0);
|
|
80
118
|
};
|
|
81
119
|
|
|
82
120
|
export default wrappedFetch;
|
package/lib/utils/timezone.ts
CHANGED
package/lib/utils/wechat-mp.ts
CHANGED
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
*/
|
|
27
27
|
|
|
28
28
|
import ofetch from '@/utils/ofetch';
|
|
29
|
-
import { type Cheerio, type CheerioAPI,
|
|
29
|
+
import { type Cheerio, type CheerioAPI, load } from 'cheerio';
|
|
30
|
+
import type { Element } from 'domhandler';
|
|
30
31
|
import { parseDate } from '@/utils/parse-date';
|
|
31
32
|
import cache from '@/utils/cache';
|
|
32
33
|
import logger from '@/utils/logger';
|
|
@@ -127,7 +128,7 @@ const showTypeMap = {
|
|
|
127
128
|
const showTypeMapReverse = Object.fromEntries(Object.entries(showTypeMap).map(([k, v]) => [v, k]));
|
|
128
129
|
|
|
129
130
|
class ExtractMetadata {
|
|
130
|
-
private static genAssignmentRegExp = (varName: string, valuePattern: string, assignPattern: string) => RegExp(`\\b${varName}\\s*${assignPattern}\\s*(?<quote>["'])(?<value>${valuePattern})\\k<quote>`, 'mg');
|
|
131
|
+
private static genAssignmentRegExp = (varName: string, valuePattern: string, assignPattern: string) => new RegExp(`\\b${varName}\\s*${assignPattern}\\s*(?<quote>["'])(?<value>${valuePattern})\\k<quote>`, 'mg');
|
|
131
132
|
|
|
132
133
|
private static genExtractFunc = (
|
|
133
134
|
varName: string,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rsshub",
|
|
3
|
-
"version": "1.0.0-master.
|
|
3
|
+
"version": "1.0.0-master.fd8463a",
|
|
4
4
|
"description": "Make RSS Great Again!",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"RSS"
|
|
@@ -33,148 +33,148 @@
|
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@bbob/html": "4.2.0",
|
|
36
|
+
"@bbob/plugin-helper": "4.2.0",
|
|
36
37
|
"@bbob/preset-html5": "4.2.0",
|
|
37
|
-
"@hono/node-server": "1.
|
|
38
|
-
"@hono/zod-openapi": "0.19.
|
|
39
|
-
"@notionhq/client": "
|
|
38
|
+
"@hono/node-server": "1.14.4",
|
|
39
|
+
"@hono/zod-openapi": "0.19.9",
|
|
40
|
+
"@notionhq/client": "3.1.3",
|
|
40
41
|
"@opentelemetry/api": "1.9.0",
|
|
41
|
-
"@opentelemetry/exporter-prometheus": "0.
|
|
42
|
-
"@opentelemetry/exporter-trace-otlp-http": "0.
|
|
43
|
-
"@opentelemetry/resources": "
|
|
44
|
-
"@opentelemetry/sdk-metrics": "
|
|
45
|
-
"@opentelemetry/sdk-trace-base": "
|
|
46
|
-
"@opentelemetry/semantic-conventions": "1.
|
|
42
|
+
"@opentelemetry/exporter-prometheus": "0.202.0",
|
|
43
|
+
"@opentelemetry/exporter-trace-otlp-http": "0.202.0",
|
|
44
|
+
"@opentelemetry/resources": "2.0.1",
|
|
45
|
+
"@opentelemetry/sdk-metrics": "2.0.1",
|
|
46
|
+
"@opentelemetry/sdk-trace-base": "2.0.1",
|
|
47
|
+
"@opentelemetry/semantic-conventions": "1.34.0",
|
|
47
48
|
"@postlight/parser": "2.2.3",
|
|
48
49
|
"@rss3/sdk": "0.0.25",
|
|
49
|
-
"@scalar/hono-api-reference": "0.7
|
|
50
|
-
"@sentry/node": "9.
|
|
50
|
+
"@scalar/hono-api-reference": "0.9.7",
|
|
51
|
+
"@sentry/node": "9.33.0",
|
|
51
52
|
"@tonyrl/rand-user-agent": "2.0.83",
|
|
52
53
|
"aes-js": "3.1.2",
|
|
53
54
|
"art-template": "4.13.2",
|
|
54
|
-
"cheerio": "1.
|
|
55
|
-
"
|
|
56
|
-
"city-timezones": "1.3.0",
|
|
55
|
+
"cheerio": "1.1.0",
|
|
56
|
+
"city-timezones": "1.3.1",
|
|
57
57
|
"cross-env": "7.0.3",
|
|
58
58
|
"crypto-js": "4.2.0",
|
|
59
59
|
"currency-symbol-map": "5.1.0",
|
|
60
60
|
"dayjs": "1.11.8",
|
|
61
|
-
"destr": "2.0.
|
|
61
|
+
"destr": "2.0.5",
|
|
62
62
|
"directory-import": "3.3.2",
|
|
63
|
-
"dotenv": "
|
|
64
|
-
"entities": "6.0.
|
|
63
|
+
"dotenv": "17.0.0",
|
|
64
|
+
"entities": "6.0.1",
|
|
65
65
|
"etag": "1.8.1",
|
|
66
66
|
"fanfou-sdk": "5.0.0",
|
|
67
|
-
"form-data": "4.0.
|
|
68
|
-
"googleapis": "
|
|
69
|
-
"hono": "4.
|
|
67
|
+
"form-data": "4.0.3",
|
|
68
|
+
"googleapis": "150.0.1",
|
|
69
|
+
"hono": "4.8.3",
|
|
70
70
|
"html-to-text": "9.0.5",
|
|
71
71
|
"http-cookie-agent": "6.0.8",
|
|
72
72
|
"https-proxy-agent": "7.0.6",
|
|
73
73
|
"iconv-lite": "0.6.3",
|
|
74
|
-
"imapflow": "1.0.
|
|
74
|
+
"imapflow": "1.0.188",
|
|
75
75
|
"instagram-private-api": "1.46.1",
|
|
76
|
-
"ioredis": "5.6.
|
|
76
|
+
"ioredis": "5.6.1",
|
|
77
77
|
"ip-regex": "5.0.0",
|
|
78
|
-
"jsdom": "26.
|
|
78
|
+
"jsdom": "26.1.0",
|
|
79
79
|
"json-bigint": "1.0.0",
|
|
80
80
|
"jsonpath-plus": "10.3.0",
|
|
81
81
|
"jsrsasign": "10.9.0",
|
|
82
|
-
"lru-cache": "11.0
|
|
82
|
+
"lru-cache": "11.1.0",
|
|
83
83
|
"lz-string": "1.5.0",
|
|
84
|
-
"mailparser": "3.7.
|
|
84
|
+
"mailparser": "3.7.4",
|
|
85
85
|
"markdown-it": "14.1.0",
|
|
86
|
+
"mixi2": "0.2.2",
|
|
86
87
|
"module-alias": "2.2.3",
|
|
87
|
-
"narou": "1.
|
|
88
|
-
"notion-to-md": "3.1.
|
|
88
|
+
"narou": "1.2.0",
|
|
89
|
+
"notion-to-md": "3.1.9",
|
|
89
90
|
"oauth-1.0a": "2.2.6",
|
|
90
91
|
"ofetch": "1.4.1",
|
|
91
92
|
"otplib": "12.0.1",
|
|
93
|
+
"p-map": "7.0.3",
|
|
92
94
|
"pac-proxy-agent": "7.2.0",
|
|
93
|
-
"proxy-chain": "2.5.
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"puppeteer-extra-plugin-stealth": "2.11.2",
|
|
97
|
-
"puppeteer-extra-plugin-user-data-dir": "2.4.1",
|
|
98
|
-
"puppeteer-extra-plugin-user-preferences": "2.4.1",
|
|
99
|
-
"query-string": "9.1.1",
|
|
100
|
-
"rate-limiter-flexible": "6.2.0",
|
|
95
|
+
"proxy-chain": "2.5.9",
|
|
96
|
+
"query-string": "9.2.1",
|
|
97
|
+
"rate-limiter-flexible": "7.1.1",
|
|
101
98
|
"re2js": "1.1.0",
|
|
99
|
+
"rebrowser-puppeteer": "24.8.1",
|
|
102
100
|
"rfc4648": "1.5.4",
|
|
103
101
|
"rss-parser": "3.13.0",
|
|
104
|
-
"sanitize-html": "2.
|
|
102
|
+
"sanitize-html": "2.17.0",
|
|
105
103
|
"simplecc-wasm": "1.1.0",
|
|
106
104
|
"socks-proxy-agent": "8.0.5",
|
|
107
105
|
"source-map": "0.7.4",
|
|
108
106
|
"telegram": "2.26.22",
|
|
109
|
-
"tiny-async-pool": "2.1.0",
|
|
110
107
|
"title": "4.0.1",
|
|
111
|
-
"tldts": "
|
|
108
|
+
"tldts": "7.0.9",
|
|
112
109
|
"tosource": "2.0.0-alpha.3",
|
|
113
110
|
"tough-cookie": "5.1.2",
|
|
114
|
-
"tsx": "4.
|
|
115
|
-
"twitter-api-v2": "1.
|
|
116
|
-
"ufo": "1.
|
|
117
|
-
"undici": "6.21.
|
|
111
|
+
"tsx": "4.20.3",
|
|
112
|
+
"twitter-api-v2": "1.24.0",
|
|
113
|
+
"ufo": "1.6.1",
|
|
114
|
+
"undici": "6.21.3",
|
|
118
115
|
"uuid": "11.1.0",
|
|
119
116
|
"winston": "3.17.0",
|
|
120
117
|
"xxhash-wasm": "1.1.0",
|
|
121
|
-
"
|
|
118
|
+
"youtubei.js": "14.0.0",
|
|
119
|
+
"zod": "3.25.67"
|
|
122
120
|
},
|
|
123
121
|
"devDependencies": {
|
|
124
|
-
"@babel/preset-env": "7.
|
|
125
|
-
"@babel/preset-typescript": "7.
|
|
122
|
+
"@babel/preset-env": "7.27.2",
|
|
123
|
+
"@babel/preset-typescript": "7.27.1",
|
|
126
124
|
"@bbob/types": "4.2.0",
|
|
127
|
-
"@eslint/eslintrc": "3.3.
|
|
128
|
-
"@eslint/js": "9.
|
|
125
|
+
"@eslint/eslintrc": "3.3.1",
|
|
126
|
+
"@eslint/js": "9.30.0",
|
|
129
127
|
"@microsoft/eslint-formatter-sarif": "3.1.0",
|
|
130
|
-
"@stylistic/eslint-plugin": "
|
|
128
|
+
"@stylistic/eslint-plugin": "5.1.0",
|
|
131
129
|
"@types/aes-js": "3.1.4",
|
|
132
130
|
"@types/babel__preset-env": "7.10.0",
|
|
133
131
|
"@types/crypto-js": "4.2.2",
|
|
134
132
|
"@types/eslint": "9.6.1",
|
|
135
|
-
"@types/etag": "1.8.
|
|
133
|
+
"@types/etag": "1.8.4",
|
|
136
134
|
"@types/fs-extra": "11.0.4",
|
|
137
135
|
"@types/html-to-text": "9.0.4",
|
|
138
|
-
"@types/imapflow": "1.0.
|
|
136
|
+
"@types/imapflow": "1.0.22",
|
|
139
137
|
"@types/js-beautify": "1.14.3",
|
|
140
138
|
"@types/jsdom": "21.1.7",
|
|
141
139
|
"@types/json-bigint": "1.0.4",
|
|
142
140
|
"@types/jsrsasign": "10.5.13",
|
|
143
141
|
"@types/lint-staged": "13.3.0",
|
|
144
|
-
"@types/mailparser": "3.4.
|
|
142
|
+
"@types/mailparser": "3.4.6",
|
|
145
143
|
"@types/markdown-it": "14.1.2",
|
|
146
144
|
"@types/module-alias": "2.0.4",
|
|
147
|
-
"@types/node": "
|
|
148
|
-
"@types/sanitize-html": "2.
|
|
149
|
-
"@types/supertest": "6.0.
|
|
150
|
-
"@types/tiny-async-pool": "2.0.3",
|
|
145
|
+
"@types/node": "24.0.8",
|
|
146
|
+
"@types/sanitize-html": "2.16.0",
|
|
147
|
+
"@types/supertest": "6.0.3",
|
|
151
148
|
"@types/title": "3.4.3",
|
|
152
149
|
"@types/uuid": "10.0.0",
|
|
153
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
154
|
-
"@typescript-eslint/parser": "8.
|
|
155
|
-
"@vercel/nft": "0.29.
|
|
150
|
+
"@typescript-eslint/eslint-plugin": "8.35.1",
|
|
151
|
+
"@typescript-eslint/parser": "8.35.1",
|
|
152
|
+
"@vercel/nft": "0.29.4",
|
|
156
153
|
"@vitest/coverage-v8": "2.1.9",
|
|
157
|
-
"discord-api-types": "0.
|
|
158
|
-
"
|
|
159
|
-
"eslint
|
|
154
|
+
"discord-api-types": "0.38.14",
|
|
155
|
+
"domhandler": "5.0.3",
|
|
156
|
+
"eslint": "9.30.0",
|
|
157
|
+
"eslint-config-prettier": "10.1.5",
|
|
160
158
|
"eslint-nibble": "8.1.0",
|
|
161
|
-
"eslint-plugin-n": "17.
|
|
162
|
-
"eslint-plugin-prettier": "5.
|
|
163
|
-
"eslint-plugin-unicorn": "
|
|
164
|
-
"eslint-plugin-yml": "1.
|
|
159
|
+
"eslint-plugin-n": "17.20.0",
|
|
160
|
+
"eslint-plugin-prettier": "5.5.1",
|
|
161
|
+
"eslint-plugin-unicorn": "59.0.1",
|
|
162
|
+
"eslint-plugin-yml": "1.18.0",
|
|
165
163
|
"fs-extra": "11.3.0",
|
|
166
|
-
"globals": "16.
|
|
167
|
-
"got": "14.4.
|
|
164
|
+
"globals": "16.2.0",
|
|
165
|
+
"got": "14.4.7",
|
|
168
166
|
"husky": "9.1.7",
|
|
169
167
|
"js-beautify": "1.15.4",
|
|
170
|
-
"lint-staged": "
|
|
168
|
+
"lint-staged": "16.1.2",
|
|
169
|
+
"magic-string": "0.30.17",
|
|
171
170
|
"mockdate": "3.0.5",
|
|
172
171
|
"msw": "2.4.3",
|
|
173
|
-
"node-network-devtools": "1.0.
|
|
174
|
-
"prettier": "3.
|
|
172
|
+
"node-network-devtools": "1.0.28",
|
|
173
|
+
"prettier": "3.6.2",
|
|
175
174
|
"remark-parse": "11.0.0",
|
|
176
|
-
"supertest": "7.1.
|
|
177
|
-
"
|
|
175
|
+
"supertest": "7.1.1",
|
|
176
|
+
"tsdown": "0.12.9",
|
|
177
|
+
"typescript": "5.8.3",
|
|
178
178
|
"unified": "11.0.5",
|
|
179
179
|
"vite-tsconfig-paths": "5.1.4",
|
|
180
180
|
"vitest": "2.1.9",
|
|
@@ -184,16 +184,16 @@
|
|
|
184
184
|
"node": ">=22"
|
|
185
185
|
},
|
|
186
186
|
"scripts": {
|
|
187
|
-
"build": "tsx scripts/workflow/build-routes.ts",
|
|
187
|
+
"build": "tsx scripts/workflow/build-routes.ts && tsdown",
|
|
188
188
|
"build:docs": "tsx scripts/workflow/build-docs.ts",
|
|
189
189
|
"dev": "cross-env NODE_ENV=dev tsx watch --inspect --clear-screen=false lib/index.ts",
|
|
190
190
|
"dev:cache": "cross-env NODE_ENV=production tsx watch --clear-screen=false lib/index.ts",
|
|
191
|
-
"format": "prettier \"**/*.{ts,tsx,js,json}\" --write && eslint --cache --fix \"**/*.{ts,tsx,js,yml}\"",
|
|
192
|
-
"format:check": "prettier \"**/*.{ts,tsx,js,json}\" --check && eslint --cache \"**/*.{ts,tsx,js,yml}\"",
|
|
191
|
+
"format": "prettier \"**/*.{ts,tsx,js,json}\" --write --experimental-cli && eslint --cache --fix \"**/*.{ts,tsx,js,yml}\"",
|
|
192
|
+
"format:check": "prettier \"**/*.{ts,tsx,js,json}\" --check --experimental-cli && eslint --cache \"**/*.{ts,tsx,js,yml}\"",
|
|
193
193
|
"format:staged": "lint-staged",
|
|
194
194
|
"lint": "eslint --cache .",
|
|
195
195
|
"profiling": "cross-env NODE_ENV=production tsx --prof lib/index.ts",
|
|
196
|
-
"start": "cross-env NODE_ENV=production
|
|
196
|
+
"start": "cross-env NODE_ENV=production node dist/index.js",
|
|
197
197
|
"test": "npm run format:check && npm run vitest:coverage",
|
|
198
198
|
"vitest": "cross-env NODE_ENV=test vitest",
|
|
199
199
|
"vitest:coverage": "cross-env NODE_ENV=test vitest --coverage.enabled --reporter=junit",
|