rsshub 1.0.0-master.f7add90 → 1.0.0-master.f7bfacc
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 +0 -8
- package/lib/app.js +2 -0
- package/lib/config.js +17 -1
- package/lib/middleware/cache/memory.js +2 -2
- package/lib/middleware/template.js +14 -1
- package/lib/radar-rules.js +0 -76
- package/lib/radar.js +22 -3
- package/lib/router.js +27 -30
- package/lib/routes/axis-studios/work.js +0 -0
- package/lib/routes/blow-studio/work.js +0 -0
- package/lib/routes/blur-studio/index.js +0 -0
- package/lib/routes/digic-pictures/index.js +0 -0
- package/lib/routes/gov/hunan/notice.js +1 -1
- package/lib/routes/method-studios/index.js +0 -0
- package/lib/routes/ps/product.js +0 -0
- package/lib/routes/unit-image/films.js +0 -0
- package/lib/static/logo.png +0 -0
- package/lib/utils/puppeteer.js +2 -2
- package/lib/utils/request-wrapper.js +2 -2
- package/lib/v2/141jav/index.js +71 -0
- package/lib/v2/141jav/maintainer.js +3 -0
- package/lib/v2/141jav/radar.js +40 -0
- package/lib/v2/141jav/router.js +3 -0
- package/lib/v2/141jav/templates/description.art +47 -0
- package/lib/v2/141ppv/index.js +71 -0
- package/lib/v2/141ppv/maintainer.js +3 -0
- package/lib/v2/141ppv/radar.js +40 -0
- package/lib/v2/141ppv/router.js +3 -0
- package/lib/v2/141ppv/templates/description.art +47 -0
- package/lib/v2/3dmgame/game.js +39 -0
- package/lib/v2/3dmgame/maintainer.js +4 -0
- package/lib/v2/3dmgame/news_center.js +42 -0
- package/lib/v2/3dmgame/radar.js +19 -0
- package/lib/v2/3dmgame/router.js +4 -0
- package/lib/v2/3dmgame/utils.js +30 -0
- package/lib/v2/4ksj/forum.js +128 -0
- package/lib/v2/4ksj/maintainer.js +3 -0
- package/lib/v2/4ksj/radar.js +13 -0
- package/lib/v2/4ksj/router.js +3 -0
- package/lib/v2/4ksj/templates/description.art +56 -0
- package/lib/v2/5eplay/index.js +100 -0
- package/lib/v2/5eplay/maintainer.js +3 -0
- package/lib/v2/5eplay/radar.js +13 -0
- package/lib/v2/5eplay/router.js +3 -0
- package/lib/v2/5eplay/utils.js +35 -0
- package/lib/v2/aeon/category.js +27 -0
- package/lib/v2/aeon/maintainer.js +4 -0
- package/lib/v2/aeon/radar.js +19 -0
- package/lib/v2/aeon/router.js +4 -0
- package/lib/v2/aeon/templates/essay.art +3 -0
- package/lib/v2/aeon/templates/video.art +10 -0
- package/lib/v2/aeon/type.js +29 -0
- package/lib/v2/aeon/utils.js +50 -0
- package/lib/v2/aisixiang/column.js +36 -0
- package/lib/v2/aisixiang/maintainer.js +6 -0
- package/lib/v2/aisixiang/radar.js +29 -0
- package/lib/v2/aisixiang/router.js +6 -0
- package/lib/v2/aisixiang/thinktank.js +49 -0
- package/lib/v2/aisixiang/toplist.js +37 -0
- package/lib/v2/aisixiang/utils.js +37 -0
- package/lib/v2/aliresearch/information.js +57 -0
- package/lib/v2/aliresearch/maintainer.js +3 -0
- package/lib/v2/aliresearch/radar.js +13 -0
- package/lib/v2/aliresearch/router.js +3 -0
- package/lib/v2/amazon/kindle-software-updates.js +1 -0
- package/lib/v2/atcoder/radar.js +1 -1
- package/lib/v2/bad/index.js +58 -0
- package/lib/v2/bad/maintainer.js +3 -0
- package/lib/v2/bad/radar.js +13 -0
- package/lib/v2/bad/router.js +3 -0
- package/lib/v2/baozimh/index.js +1 -1
- package/lib/v2/bilibili/cache.js +17 -5
- package/lib/v2/bilibili/hotSearch.js +5 -1
- package/lib/v2/bilibili/userChannel.js +2 -1
- package/lib/v2/bilibili/userCollection.js +3 -1
- package/lib/v2/bilibili/utils.js +3 -3
- package/lib/v2/bilibili/video-all.js +7 -2
- package/lib/v2/bilibili/video.js +1 -1
- package/lib/v2/bilibili/vsearch.js +1 -1
- package/lib/v2/bjsk/keti.js +54 -0
- package/lib/v2/bjsk/maintainer.js +1 -0
- package/lib/v2/bjsk/radar.js +8 -0
- package/lib/v2/bjsk/router.js +1 -0
- package/lib/v2/bmkg/earthquake.js +29 -0
- package/lib/v2/bmkg/maintainer.js +4 -0
- package/lib/v2/bmkg/news.js +42 -0
- package/lib/v2/bmkg/radar.js +19 -0
- package/lib/v2/bmkg/router.js +4 -0
- package/lib/v2/chinathinktanks/radar.js +1 -1
- package/lib/v2/cls/depth.js +34 -32
- package/lib/v2/cls/hot.js +38 -29
- package/lib/v2/cls/maintainer.js +1 -1
- package/lib/v2/cls/radar.js +1 -1
- package/lib/v2/cls/telegraph.js +25 -23
- package/lib/v2/cls/templates/depth.art +3 -3
- package/lib/v2/cls/templates/telegraph.art +5 -5
- package/lib/v2/cls/utils.js +12 -6
- package/lib/v2/cneb/maintainer.js +4 -0
- package/lib/v2/cneb/radar.js +19 -0
- package/lib/v2/cneb/router.js +5 -0
- package/lib/v2/cneb/yjxw.js +72 -0
- package/lib/v2/cneb/yjxx.js +50 -0
- package/lib/v2/cnki/author.js +38 -26
- package/lib/v2/cnki/maintainer.js +1 -1
- package/lib/v2/comicat/maintainer.js +3 -0
- package/lib/v2/comicat/radar.js +11 -0
- package/lib/v2/comicat/router.js +3 -0
- package/lib/v2/comicat/search.js +42 -0
- package/lib/v2/coomer/utils.js +3 -1
- package/lib/v2/cqgas/maintainer.js +3 -0
- package/lib/v2/cqgas/radar.js +13 -0
- package/lib/v2/cqgas/router.js +3 -0
- package/lib/v2/cqgas/tqtz.js +36 -0
- package/lib/v2/cssn/iolaw.js +38 -0
- package/lib/v2/cssn/maintainer.js +3 -0
- package/lib/v2/cssn/radar.js +11 -0
- package/lib/v2/cssn/router.js +3 -0
- package/lib/v2/daily/discussed.js +73 -0
- package/lib/v2/daily/index.js +83 -0
- package/lib/v2/daily/maintainer.js +5 -0
- package/lib/v2/daily/radar.js +25 -0
- package/lib/v2/daily/router.js +5 -0
- package/lib/v2/daily/upvoted.js +77 -0
- package/lib/v2/daily/utils.js +39 -0
- package/lib/v2/dblp/maintainer.js +3 -0
- package/lib/v2/dblp/publication.js +70 -0
- package/lib/v2/dblp/radar.js +13 -0
- package/lib/v2/dblp/router.js +3 -0
- package/lib/v2/deadline/maintainer.js +4 -0
- package/lib/v2/deadline/posts.js +53 -0
- package/lib/v2/deadline/radar.js +13 -0
- package/lib/v2/deadline/router.js +3 -0
- package/lib/v2/deadline/templates/desc.art +10 -0
- package/lib/v2/devolverdigital/blog.js +50 -0
- package/lib/v2/devolverdigital/maintainer.js +3 -0
- package/lib/v2/devolverdigital/radar.js +13 -0
- package/lib/v2/devolverdigital/router.js +3 -0
- package/lib/v2/dhu/maintainer.js +1 -0
- package/lib/v2/dhu/radar.js +6 -0
- package/lib/v2/dhu/router.js +1 -0
- package/lib/v2/dhu/yjs/zs.js +46 -0
- package/lib/v2/discord/channel.js +8 -8
- package/lib/v2/discord/maintainer.js +1 -1
- package/lib/v2/discord/radar.js +2 -2
- package/lib/v2/discord/router.js +1 -1
- package/lib/v2/domp4/detail.js +26 -0
- package/lib/v2/dorohedoro/maintainer.js +3 -0
- package/lib/v2/dorohedoro/news.js +69 -0
- package/lib/v2/dorohedoro/radar.js +13 -0
- package/lib/v2/dorohedoro/router.js +3 -0
- package/lib/v2/duozhuayu/maintainer.js +3 -0
- package/lib/v2/duozhuayu/radar.js +13 -0
- package/lib/v2/duozhuayu/router.js +3 -0
- package/lib/{routes → v2}/duozhuayu/search.js +23 -32
- package/lib/v2/duozhuayu/templates/book.art +10 -0
- package/lib/v2/dxy/maintainer.js +4 -0
- package/lib/v2/dxy/profile/thread.js +82 -0
- package/lib/v2/dxy/radar.js +21 -0
- package/lib/v2/dxy/router.js +4 -0
- package/lib/v2/dxy/special.js +79 -0
- package/lib/v2/dxy/utils.js +72 -0
- package/lib/v2/eastmoney/maintainer.js +1 -0
- package/lib/v2/eastmoney/radar.js +8 -0
- package/lib/v2/eastmoney/report/index.js +41 -0
- package/lib/v2/eastmoney/router.js +2 -1
- package/lib/v2/embassy/radar.js +1 -1
- package/lib/v2/embassy/supportedList.js +4 -4
- package/lib/v2/firecore/index.js +37 -0
- package/lib/v2/firecore/maintainer.js +3 -0
- package/lib/v2/firecore/radar.js +13 -0
- package/lib/v2/firecore/router.js +3 -0
- package/lib/v2/flyert/creditcard.js +3 -0
- package/lib/v2/flyert/utils.js +14 -8
- package/lib/v2/followin/index.js +35 -0
- package/lib/v2/followin/kol.js +25 -0
- package/lib/v2/followin/maintainer.js +7 -0
- package/lib/v2/followin/news.js +21 -0
- package/lib/v2/followin/radar.js +37 -0
- package/lib/v2/followin/router.js +7 -0
- package/lib/v2/followin/tag.js +44 -0
- package/lib/v2/followin/templates/thread.art +15 -0
- package/lib/v2/followin/topic.js +25 -0
- package/lib/v2/followin/utils.js +84 -0
- package/lib/v2/freebuf/index.js +41 -0
- package/lib/v2/freebuf/maintainer.js +3 -0
- package/lib/v2/freebuf/radar.js +13 -0
- package/lib/v2/freebuf/router.js +3 -0
- package/lib/v2/freecomputerbooks/index.js +41 -13
- package/lib/v2/freecomputerbooks/templates/desc.art +3 -0
- package/lib/v2/futunn/main.js +67 -0
- package/lib/v2/futunn/maintainer.js +3 -0
- package/lib/v2/futunn/radar.js +13 -0
- package/lib/v2/futunn/router.js +5 -0
- package/lib/v2/futunn/templates/description.art +6 -0
- package/lib/v2/fzmtr/announcements.js +38 -0
- package/lib/v2/fzmtr/maintainer.js +3 -0
- package/lib/v2/fzmtr/radar.js +11 -0
- package/lib/v2/fzmtr/router.js +3 -0
- package/lib/v2/github/gist.js +35 -0
- package/lib/v2/github/maintainer.js +1 -0
- package/lib/v2/github/radar.js +8 -0
- package/lib/v2/github/router.js +1 -0
- package/lib/v2/gov/cac/index.js +64 -0
- package/lib/v2/gov/ccdi/index.js +1 -1
- package/lib/v2/gov/ccdi/utils.js +1 -1
- package/lib/v2/gov/chongqing/rsks.js +38 -0
- package/lib/v2/gov/maintainer.js +2 -0
- package/lib/v2/gov/news/index.js +10 -5
- package/lib/v2/gov/radar.js +23 -1
- package/lib/v2/gov/router.js +2 -0
- package/lib/v2/gq/tw/index.js +1 -1
- package/lib/v2/guangzhoumetro/maintainer.js +3 -0
- package/lib/v2/guangzhoumetro/news.js +37 -0
- package/lib/v2/guangzhoumetro/radar.js +11 -0
- package/lib/v2/guangzhoumetro/router.js +3 -0
- package/lib/v2/hnu/careers.js +33 -0
- package/lib/v2/hnu/maintainer.js +3 -0
- package/lib/v2/hnu/radar.js +12 -0
- package/lib/v2/hnu/router.js +3 -0
- package/lib/v2/hust/aia/news.js +0 -0
- package/lib/v2/hust/aia/notice.js +0 -0
- package/lib/v2/i-cable/category.js +74 -0
- package/lib/v2/i-cable/maintainer.js +3 -0
- package/lib/v2/i-cable/radar.js +13 -0
- package/lib/v2/i-cable/router.js +3 -0
- package/lib/v2/i-cable/templates/desc.art +8 -0
- package/lib/v2/ibc/maintainer.js +4 -0
- package/lib/{routes/maitta/index.js → v2/ibc/maitta.js} +11 -8
- package/lib/v2/ibc/radar.js +19 -0
- package/lib/v2/ibc/radio.js +73 -0
- package/lib/v2/ibc/router.js +4 -0
- package/lib/v2/ibc/templates/description.art +6 -0
- package/lib/v2/instructables/projects.js +1 -1
- package/lib/v2/ithome/radar.js +3 -3
- package/lib/v2/iwara/index.js +36 -24
- package/lib/v2/iwara/radar.js +1 -1
- package/lib/v2/iwara/subscriptions.js +131 -32
- package/lib/v2/iwara/templates/subscriptions.art +1 -1
- package/lib/v2/line/publisher.js +1 -1
- package/lib/v2/mdpi/maintainer.js +0 -0
- package/lib/v2/mdpi/radar.js +0 -0
- package/lib/v2/mdpi/router.js +0 -0
- package/lib/v2/mdpi/templates/description.art +0 -0
- package/lib/v2/medium/following.js +31 -0
- package/lib/v2/medium/for-you.js +31 -0
- package/lib/v2/medium/graphql.js +190 -0
- package/lib/v2/medium/list.js +32 -0
- package/lib/v2/medium/maintainer.js +6 -0
- package/lib/v2/medium/parse-article.js +60 -0
- package/lib/v2/medium/radar.js +23 -0
- package/lib/v2/medium/router.js +6 -0
- package/lib/v2/medium/tag.js +32 -0
- package/lib/v2/mihoyo/maintainer.js +1 -0
- package/lib/v2/mihoyo/radar.js +16 -0
- package/lib/v2/mihoyo/router.js +1 -0
- package/lib/v2/mihoyo/sr/news.js +71 -0
- package/lib/v2/mihoyo/templates/ys.art +4 -0
- package/lib/v2/mihoyo/ys/news.js +132 -52
- package/lib/v2/nationalgeographic/latest-stories.js +56 -0
- package/lib/v2/nationalgeographic/maintainer.js +3 -0
- package/lib/v2/nationalgeographic/radar.js +13 -0
- package/lib/v2/nationalgeographic/router.js +3 -0
- package/lib/v2/nationalgeographic/templates/stories.art +44 -0
- package/lib/v2/nenu/maintainer.js +4 -0
- package/lib/v2/nenu/radar.js +21 -0
- package/lib/v2/nenu/router.js +4 -0
- package/lib/v2/nenu/sohac.js +60 -0
- package/lib/v2/nenu/yjsy.js +64 -0
- package/lib/v2/newzmz/index.js +55 -44
- package/lib/v2/newzmz/maintainer.js +1 -1
- package/lib/v2/newzmz/radar.js +1 -1
- package/lib/v2/newzmz/router.js +2 -1
- package/lib/v2/newzmz/templates/description.art +7 -0
- package/lib/v2/newzmz/view.js +32 -17
- package/lib/v2/nhentai/util.js +2 -1
- package/lib/v2/nikkei/cn/index.js +2 -2
- package/lib/v2/nju/zcc.js +7 -13
- package/lib/v2/notateslaapp/maintainer.js +3 -0
- package/lib/v2/notateslaapp/radar.js +13 -0
- package/lib/v2/notateslaapp/router.js +3 -0
- package/lib/{routes/tesla → v2/notateslaapp}/update.js +6 -12
- package/lib/v2/notefolio/maintainer.js +3 -0
- package/lib/v2/notefolio/radar.js +13 -0
- package/lib/v2/notefolio/router.js +3 -0
- package/lib/v2/notefolio/search.js +145 -0
- package/lib/v2/notefolio/templates/search.art +9 -0
- package/lib/v2/notion/database.js +161 -0
- package/lib/v2/notion/maintainer.js +3 -0
- package/lib/v2/notion/radar.js +13 -0
- package/lib/v2/notion/router.js +3 -0
- package/lib/v2/nytimes/author.js +1 -1
- package/lib/v2/oeeee/app/channel.js +36 -0
- package/lib/v2/oeeee/app/reporter.js +30 -0
- package/lib/v2/oeeee/maintainer.js +5 -0
- package/lib/v2/oeeee/radar.js +12 -0
- package/lib/v2/oeeee/router.js +5 -0
- package/lib/v2/oeeee/templates/description.art +7 -0
- package/lib/v2/oeeee/utils.js +41 -0
- package/lib/v2/oeeee/web.js +36 -0
- package/lib/v2/openai/blog.js +3 -56
- package/lib/v2/openai/common.js +72 -0
- package/lib/v2/openai/maintainer.js +1 -0
- package/lib/v2/openai/radar.js +8 -0
- package/lib/v2/openai/research.js +32 -0
- package/lib/v2/openai/router.js +1 -0
- package/lib/v2/pumc/maintainer.js +3 -0
- package/lib/v2/pumc/mdadmission.js +62 -0
- package/lib/v2/pumc/radar.js +13 -0
- package/lib/v2/pumc/router.js +3 -0
- package/lib/v2/rattibha/maintainer.js +3 -0
- package/lib/v2/rattibha/radar.js +13 -0
- package/lib/v2/rattibha/router.js +3 -0
- package/lib/v2/rattibha/user.js +45 -0
- package/lib/v2/readhub/index.js +1 -1
- package/lib/{routes → v2}/right/forum.js +21 -23
- package/lib/v2/right/maintainer.js +3 -0
- package/lib/v2/right/radar.js +13 -0
- package/lib/v2/right/router.js +3 -0
- package/lib/v2/rsshub/radar.js +2 -2
- package/lib/v2/sdust/maintainer.js +3 -0
- package/lib/v2/sdust/radar.js +13 -0
- package/lib/v2/sdust/router.js +3 -0
- package/lib/v2/sdust/yjsy/zhaosheng.js +52 -0
- package/lib/v2/sehuatang/maintainer.js +1 -0
- package/lib/v2/sehuatang/router.js +1 -0
- package/lib/v2/sehuatang/user.js +113 -0
- package/lib/v2/shiep/config.js +64 -0
- package/lib/v2/shiep/index.js +13 -34
- package/lib/v2/shiep/radar.js +303 -15
- package/lib/v2/shuiguopai/index.js +1 -1
- package/lib/v2/sina/chuangshiji.js +17 -0
- package/lib/v2/sina/discovery.js +32 -0
- package/lib/v2/sina/finance/china.js +25 -0
- package/lib/v2/sina/finance/stock/usstock.js +37 -0
- package/lib/v2/sina/maintainer.js +8 -0
- package/lib/v2/sina/radar.js +49 -0
- package/lib/v2/sina/rollnews.js +31 -0
- package/lib/v2/sina/router.js +8 -0
- package/lib/v2/sina/sports.js +43 -0
- package/lib/v2/sina/templates/slide.art +3 -0
- package/lib/v2/sina/templates/video.art +5 -0
- package/lib/v2/sina/utils.js +104 -0
- package/lib/v2/sony/downloads.js +1 -0
- package/lib/v2/springer/maintainer.js +0 -0
- package/lib/v2/springer/radar.js +0 -0
- package/lib/v2/springer/router.js +0 -0
- package/lib/v2/springer/templates/description.art +0 -0
- package/lib/v2/sspai/radar.js +1 -1
- package/lib/v2/stbu/jsjxy.js +51 -0
- package/lib/v2/stbu/maintainer.js +4 -0
- package/lib/v2/stbu/radar.js +21 -0
- package/lib/v2/stbu/router.js +4 -0
- package/lib/v2/stbu/xyxw.js +52 -0
- package/lib/v2/storyfm/episodes.js +63 -0
- package/lib/v2/storyfm/maintainer.js +4 -0
- package/lib/v2/storyfm/radar.js +19 -0
- package/lib/v2/storyfm/router.js +4 -0
- package/lib/v2/storyfm/templates/description.art +6 -0
- package/lib/v2/sysu/maintainer.js +1 -0
- package/lib/v2/sysu/radar.js +8 -0
- package/lib/v2/sysu/router.js +1 -0
- package/lib/v2/sysu/ygafz.js +69 -0
- package/lib/v2/techpowerup/index.js +69 -0
- package/lib/v2/techpowerup/maintainer.js +5 -0
- package/lib/v2/techpowerup/radar.js +19 -0
- package/lib/v2/techpowerup/review.js +69 -0
- package/lib/v2/techpowerup/router.js +4 -0
- package/lib/v2/techpowerup/utils.js +84 -0
- package/lib/v2/telecompaper/maintainer.js +4 -0
- package/lib/{routes → v2}/telecompaper/news.js +1 -0
- package/lib/v2/telecompaper/radar.js +15 -0
- package/lib/v2/telecompaper/router.js +4 -0
- package/lib/v2/tencent/news/author.js +12 -8
- package/lib/v2/tiktok/user.js +5 -5
- package/lib/v2/tingshuitz/maintainer.js +1 -0
- package/lib/v2/tingshuitz/radar.js +11 -0
- package/lib/v2/tingshuitz/router.js +1 -0
- package/lib/v2/tingshuitz/shenzhen.js +29 -0
- package/lib/v2/tingshuitz/templates/shenzhen.art +8 -0
- package/lib/v2/tingtingfm/maintainer.js +3 -0
- package/lib/v2/tingtingfm/program.js +104 -0
- package/lib/v2/tingtingfm/radar.js +13 -0
- package/lib/v2/tingtingfm/router.js +3 -0
- package/lib/v2/tingtingfm/templates/audio.art +5 -0
- package/lib/v2/tingtingfm/utils.js +32 -0
- package/lib/v2/twitter/maintainer.js +1 -0
- package/lib/v2/twitter/radar.js +10 -0
- package/lib/v2/twitter/router.js +1 -0
- package/lib/v2/twitter/tweet.js +5 -0
- package/lib/v2/twitter/web-api/tweet.js +25 -0
- package/lib/v2/twitter/web-api/twitter-api.js +41 -2
- package/lib/v2/ustb/maintainer.js +2 -22
- package/lib/v2/ustb/radar.js +8 -0
- package/lib/v2/ustb/router.js +1 -0
- package/lib/{routes/universities → v2}/ustb/tj/news.js +11 -12
- package/lib/v2/utgd/category.js +68 -0
- package/lib/v2/utgd/maintainer.js +5 -0
- package/lib/v2/utgd/radar.js +25 -0
- package/lib/v2/utgd/router.js +5 -0
- package/lib/v2/utgd/templates/description.art +7 -0
- package/lib/v2/utgd/timeline.js +54 -0
- package/lib/v2/utgd/topic.js +70 -0
- package/lib/v2/v1tx/index.js +41 -22
- package/lib/v2/wechat/feeddd.js +12 -3
- package/lib/v2/wechat/mp.js +0 -0
- package/lib/v2/wechat/radar.js +2 -2
- package/lib/v2/weibo/group.js +93 -0
- package/lib/v2/weibo/keyword.js +1 -10
- package/lib/v2/weibo/maintainer.js +4 -3
- package/lib/v2/weibo/router.js +1 -0
- package/lib/v2/weibo/super_index.js +1 -10
- package/lib/v2/weibo/timeline.js +5 -5
- package/lib/v2/weibo/user.js +2 -8
- package/lib/v2/weibo/utils.js +15 -3
- package/lib/v2/winstall/maintainer.js +3 -0
- package/lib/v2/winstall/radar.js +13 -0
- package/lib/v2/winstall/router.js +3 -0
- package/lib/v2/winstall/templates/desc.art +5 -0
- package/lib/v2/winstall/update.js +43 -0
- package/lib/v2/wnacg/index.js +1 -1
- package/lib/v2/wnacg/templates/manga.art +4 -4
- package/lib/v2/wtu/index.js +37 -0
- package/lib/v2/wtu/job.js +80 -0
- package/lib/v2/wtu/maintainer.js +4 -0
- package/lib/v2/wtu/radar.js +22 -0
- package/lib/v2/wtu/router.js +4 -0
- package/lib/v2/xiaohongshu/maintainer.js +1 -1
- package/lib/v2/xiaohongshu/notes.js +16 -0
- package/lib/v2/xiaohongshu/router.js +1 -0
- package/lib/v2/xiaohongshu/util.js +122 -0
- package/lib/v2/yomiuri/maintainer.js +1 -1
- package/lib/v2/yomiuri/news.js +50 -100
- package/lib/v2/yomiuri/radar.js +3 -3
- package/lib/v2/youtube/user.js +1 -1
- package/lib/v2/zcool/radar.js +6 -6
- package/lib/v2/zhihu/answers.js +13 -9
- package/lib/v2/zhihu/radar.js +2 -2
- package/lib/v2/zhubai/maintainer.js +1 -0
- package/lib/v2/zhubai/radar.js +7 -0
- package/lib/v2/zhubai/router.js +1 -0
- package/lib/v2/zhubai/templates/description.art +31 -0
- package/lib/v2/zhubai/top20.js +57 -0
- package/lib/v2/zju/radar.js +1 -1
- package/lib/v2/zyw/hot.js +63 -0
- package/lib/v2/zyw/maintainer.js +3 -0
- package/lib/v2/zyw/radar.js +16 -0
- package/lib/v2/zyw/router.js +3 -0
- package/lib/views/error.art +7 -3
- package/lib/views/rss.art +1 -1
- package/lib/views/welcome.art +2 -2
- package/package.json +115 -124
- package/lib/routes/141jav/141jav.js +0 -37
- package/lib/routes/141ppv/141ppv.js +0 -37
- package/lib/routes/3dm/game.js +0 -42
- package/lib/routes/3dm/news_center.js +0 -54
- package/lib/routes/aeon/category.js +0 -70
- package/lib/routes/aisixiang/column.js +0 -37
- package/lib/routes/aisixiang/ranking.js +0 -37
- package/lib/routes/aisixiang/thinktank.js +0 -40
- package/lib/routes/aisixiang/utils.js +0 -39
- package/lib/routes/cneb/guoneinews.js +0 -27
- package/lib/routes/cneb/yjxx.js +0 -36
- package/lib/routes/futunn/highlights.js +0 -58
- package/lib/routes/icable/category.js +0 -64
- package/lib/routes/notefolio/index.js +0 -67
- package/lib/routes/rss3/blog.js +0 -46
- package/lib/routes/sina/chuangshiji.js +0 -38
- package/lib/routes/sina/discovery.js +0 -52
- package/lib/routes/sina/finance.js +0 -37
- package/lib/routes/sina/rollnews.js +0 -41
- package/lib/routes/sina/sports.js +0 -54
- package/lib/routes/universities/wtu/index.js +0 -34
- /package/lib/{routes → v2}/storyfm/index.js +0 -0
- /package/lib/{routes → v2}/telecompaper/search.js +0 -0
package/README.md
CHANGED
|
@@ -33,14 +33,6 @@ RSSHub 是一个开源、简单易用、易于扩展的 RSS 生成器,可以
|
|
|
33
33
|
|
|
34
34
|
## Special Thanks
|
|
35
35
|
|
|
36
|
-
### Special Sponsors
|
|
37
|
-
|
|
38
|
-
<p>
|
|
39
|
-
<a href="https://rss3.io/" target="_blank"><img height="50px" src="https://i.imgur.com/vHtI4bz.png"></a>
|
|
40
|
-
</p>
|
|
41
|
-
|
|
42
|
-
[](https://docs.rsshub.app/en/support/)
|
|
43
|
-
|
|
44
36
|
### Contributors
|
|
45
37
|
|
|
46
38
|
[](https://github.com/DIYgod/RSSHub/graphs/contributors)
|
package/lib/app.js
CHANGED
|
@@ -13,6 +13,7 @@ const cache = require('./middleware/cache');
|
|
|
13
13
|
const parameter = require('./middleware/parameter');
|
|
14
14
|
const template = require('./middleware/template');
|
|
15
15
|
const favicon = require('koa-favicon');
|
|
16
|
+
const serve = require('koa-static');
|
|
16
17
|
const debug = require('./middleware/debug');
|
|
17
18
|
const accessControl = require('./middleware/access-control');
|
|
18
19
|
const antiHotlink = require('./middleware/anti-hotlink');
|
|
@@ -37,6 +38,7 @@ app.proxy = true;
|
|
|
37
38
|
|
|
38
39
|
// favicon
|
|
39
40
|
app.use(favicon(__dirname + '/favicon.png'));
|
|
41
|
+
app.use(serve(__dirname + '/static'));
|
|
40
42
|
|
|
41
43
|
// global error handing
|
|
42
44
|
app.use(onerror);
|
package/lib/config.js
CHANGED
|
@@ -9,6 +9,7 @@ const calculateValue = () => {
|
|
|
9
9
|
const twitter_tokens = {};
|
|
10
10
|
const email_config = {};
|
|
11
11
|
const discuz_cookies = {};
|
|
12
|
+
const medium_cookies = {};
|
|
12
13
|
|
|
13
14
|
for (const name in envs) {
|
|
14
15
|
if (name.startsWith('BILIBILI_COOKIE_')) {
|
|
@@ -23,6 +24,9 @@ const calculateValue = () => {
|
|
|
23
24
|
} else if (name.startsWith('DISCUZ_COOKIE_')) {
|
|
24
25
|
const cid = name.slice(14);
|
|
25
26
|
discuz_cookies[cid] = envs[name];
|
|
27
|
+
} else if (name.startsWith('MEDIUM_COOKIE_')) {
|
|
28
|
+
const username = name.slice(14).toLowerCase();
|
|
29
|
+
medium_cookies[username] = envs[name];
|
|
26
30
|
}
|
|
27
31
|
}
|
|
28
32
|
|
|
@@ -194,7 +198,8 @@ const calculateValue = () => {
|
|
|
194
198
|
cookie: envs.IG_COOKIE,
|
|
195
199
|
},
|
|
196
200
|
iwara: {
|
|
197
|
-
|
|
201
|
+
username: envs.IWARA_USERNAME,
|
|
202
|
+
password: envs.IWARA_PASSWORD,
|
|
198
203
|
},
|
|
199
204
|
lastfm: {
|
|
200
205
|
api_key: envs.LASTFM_API_KEY,
|
|
@@ -207,6 +212,10 @@ const calculateValue = () => {
|
|
|
207
212
|
accessToken: envs.MASTODON_API_ACCESS_TOKEN,
|
|
208
213
|
acctDomain: envs.MASTODON_API_ACCT_DOMAIN,
|
|
209
214
|
},
|
|
215
|
+
medium: {
|
|
216
|
+
cookies: medium_cookies,
|
|
217
|
+
articleCookie: envs.MEDIUM_ARTICLE_COOKIE || '',
|
|
218
|
+
},
|
|
210
219
|
miniflux: {
|
|
211
220
|
instance: envs.MINIFLUX_INSTANCE || 'https://reader.miniflux.app',
|
|
212
221
|
token: envs.MINIFLUX_TOKEN || '',
|
|
@@ -225,6 +234,9 @@ const calculateValue = () => {
|
|
|
225
234
|
username: envs.NHENTAI_USERNAME,
|
|
226
235
|
password: envs.NHENTAI_PASSWORD,
|
|
227
236
|
},
|
|
237
|
+
notion: {
|
|
238
|
+
key: envs.NOTION_TOKEN,
|
|
239
|
+
},
|
|
228
240
|
pianyuan: {
|
|
229
241
|
cookie: envs.PIANYUAN_COOKIE,
|
|
230
242
|
},
|
|
@@ -244,6 +256,9 @@ const calculateValue = () => {
|
|
|
244
256
|
saraba1st: {
|
|
245
257
|
cookie: envs.SARABA1ST_COOKIE,
|
|
246
258
|
},
|
|
259
|
+
sehuatang: {
|
|
260
|
+
cookie: envs.SEHUATANG_COOKIE,
|
|
261
|
+
},
|
|
247
262
|
scboy: {
|
|
248
263
|
token: envs.SCBOY_BBS_TOKEN,
|
|
249
264
|
},
|
|
@@ -268,6 +283,7 @@ const calculateValue = () => {
|
|
|
268
283
|
weibo: {
|
|
269
284
|
app_key: envs.WEIBO_APP_KEY,
|
|
270
285
|
app_secret: envs.WEIBO_APP_SECRET,
|
|
286
|
+
cookies: envs.WEIBO_COOKIES,
|
|
271
287
|
redirect_url: envs.WEIBO_REDIRECT_URL,
|
|
272
288
|
},
|
|
273
289
|
wenku8: {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const
|
|
1
|
+
const { LRUCache } = require('lru-cache');
|
|
2
2
|
const config = require('@/config').value;
|
|
3
3
|
|
|
4
4
|
const status = { available: false };
|
|
5
5
|
|
|
6
|
-
const memoryCache = new
|
|
6
|
+
const memoryCache = new LRUCache({
|
|
7
7
|
ttl: config.cache.routeExpire * 1000,
|
|
8
8
|
max: config.memory.max,
|
|
9
9
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const { art, json } = require('@/utils/render');
|
|
2
2
|
const path = require('path');
|
|
3
3
|
const config = require('@/config').value;
|
|
4
|
-
const typeRegex = /\.(atom|rss|debug\.json|json)$/;
|
|
4
|
+
const typeRegex = /\.(atom|rss|debug\.json|json|\d+\.debug\.html)$/;
|
|
5
5
|
const { collapseWhitespace, convertDateToISO8601 } = require('@/utils/common-utils');
|
|
6
6
|
|
|
7
7
|
module.exports = async (ctx, next) => {
|
|
@@ -26,6 +26,19 @@ module.exports = async (ctx, next) => {
|
|
|
26
26
|
ctx.body = JSON.stringify({ message: 'plugin does not set debug json' });
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
+
if (outputType.endsWith('.debug.html') && config.debugInfo) {
|
|
30
|
+
ctx.set({
|
|
31
|
+
'Content-Type': 'text/html; charset=UTF-8',
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
const index = parseInt(outputType.match(/(\d+)\.debug\.html$/)[1]);
|
|
35
|
+
if (!(ctx.state.data && ctx.state.data.item && ctx.state.data.item[index])) {
|
|
36
|
+
ctx.body = `ctx.state.data.item[${index}] not found`;
|
|
37
|
+
} else {
|
|
38
|
+
ctx.body = ctx.state.data.item[index].description;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
29
42
|
if (outputType === 'json') {
|
|
30
43
|
ctx.set({ 'Content-Type': 'application/feed+json; charset=UTF-8' });
|
|
31
44
|
}
|
package/lib/radar-rules.js
CHANGED
|
@@ -789,82 +789,6 @@ module.exports = {
|
|
|
789
789
|
},
|
|
790
790
|
],
|
|
791
791
|
},
|
|
792
|
-
'141jav.com': {
|
|
793
|
-
_name: '141JAV BT',
|
|
794
|
-
'.': [
|
|
795
|
-
{
|
|
796
|
-
title: '今日种子',
|
|
797
|
-
docs: 'https://docs.rsshub.app/multimedia.html#141jav',
|
|
798
|
-
source: '/',
|
|
799
|
-
target: (params, url, document) => {
|
|
800
|
-
const today = document.querySelector('div.card.mb-1.card-overview').getAttribute('data-date').replace(/-/g, '');
|
|
801
|
-
return `/141jav/day/${today}`;
|
|
802
|
-
},
|
|
803
|
-
},
|
|
804
|
-
{
|
|
805
|
-
title: '今日演员',
|
|
806
|
-
docs: 'https://docs.rsshub.app/multimedia.html#141jav',
|
|
807
|
-
source: '/',
|
|
808
|
-
target: (params, url, document) => {
|
|
809
|
-
const star = document.querySelector('div.card-content > div > a').getAttribute('href');
|
|
810
|
-
return `/141jav${star}`;
|
|
811
|
-
},
|
|
812
|
-
},
|
|
813
|
-
{
|
|
814
|
-
title: '页面种子',
|
|
815
|
-
docs: 'https://docs.rsshub.app/multimedia.html#141jav',
|
|
816
|
-
source: ['/:type', '/:type/:key', '/:type/:key/:morekey'],
|
|
817
|
-
target: (params, url, document) => {
|
|
818
|
-
const itype = params.morekey === undefined ? params.type : params.type === 'tag' ? 'tag' : 'day';
|
|
819
|
-
let ikey = `${itype === 'day' ? params.type : ''}${params.key || ''}${itype === 'tag' && params.morekey !== undefined ? '%2F' : ''}${params.morekey || ''}`;
|
|
820
|
-
if (ikey === '' && itype === 'tag') {
|
|
821
|
-
ikey = document.querySelector('div.thumbnail.is-inline > a').getAttribute('href').replace('/tag/', '').replace('/', '%2F');
|
|
822
|
-
} else if (ikey === '' && itype === 'actress') {
|
|
823
|
-
ikey = document.querySelector('div.card > a').getAttribute('href').replace('/actress/', '');
|
|
824
|
-
}
|
|
825
|
-
return `/141jav/${itype}/${ikey}`;
|
|
826
|
-
},
|
|
827
|
-
},
|
|
828
|
-
],
|
|
829
|
-
},
|
|
830
|
-
'141ppv.com': {
|
|
831
|
-
_name: '141ppv BT',
|
|
832
|
-
'.': [
|
|
833
|
-
{
|
|
834
|
-
title: '今日种子',
|
|
835
|
-
docs: 'https://docs.rsshub.app/multimedia.html#141pvp',
|
|
836
|
-
source: '/',
|
|
837
|
-
target: (params, url, document) => {
|
|
838
|
-
const today = document.querySelector('div.card.mb-1.card-overview').getAttribute('data-date').replace(/-/g, '');
|
|
839
|
-
return `/141ppv/day/${today}`;
|
|
840
|
-
},
|
|
841
|
-
},
|
|
842
|
-
{
|
|
843
|
-
title: '今日演员',
|
|
844
|
-
docs: 'https://docs.rsshub.app/multimedia.html#141ppv',
|
|
845
|
-
source: '/',
|
|
846
|
-
target: (params, url, document) => {
|
|
847
|
-
const star = document.querySelector('div.card-content > div > a').getAttribute('href');
|
|
848
|
-
return `/141ppv${star}`;
|
|
849
|
-
},
|
|
850
|
-
},
|
|
851
|
-
{
|
|
852
|
-
title: '页面种子',
|
|
853
|
-
docs: 'https://docs.rsshub.app/multimedia.html#141ppv',
|
|
854
|
-
source: ['/:type', '/:type/:key', '/:type/:key/:morekey'],
|
|
855
|
-
target: (params, url, document) => {
|
|
856
|
-
const itype = params.morekey === undefined ? params.type : params.type === 'tag' ? 'tag' : 'day';
|
|
857
|
-
let ikey = `${itype === 'day' ? params.type : ''}${params.key || ''}${itype === 'tag' && params.morekey !== undefined ? '%2F' : ''}${params.morekey || ''}`;
|
|
858
|
-
if (ikey === '' && itype === 'tag') {
|
|
859
|
-
ikey = document.querySelector('div.thumbnail.is-inline > a').getAttribute('href').replace('/tag/', '').replace('/', '%2F');
|
|
860
|
-
} else if (ikey === '' && itype === 'actress') {
|
|
861
|
-
ikey = document.querySelector('div.card > a').getAttribute('href').replace('/actress/', '');
|
|
862
|
-
}
|
|
863
|
-
return `/141ppv/${itype}/${ikey}`;
|
|
864
|
-
},
|
|
865
|
-
},
|
|
866
|
-
],
|
|
867
|
-
},
|
|
868
792
|
'sexinsex.net': {
|
|
869
793
|
_name: 'sexinsex',
|
|
870
794
|
'.': [
|
package/lib/radar.js
CHANGED
|
@@ -43,9 +43,28 @@ const validateRadarRules = (rule, dir) => {
|
|
|
43
43
|
if (!item.docs.startsWith('https://docs.rsshub.app/')) {
|
|
44
44
|
throw Error(`Radar rules for "${host}" in "${dir}" should start with 'https://docs.rsshub.app/'.`);
|
|
45
45
|
}
|
|
46
|
-
if (
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
if (Array.isArray(item.source)) {
|
|
47
|
+
if (!item.source.length) {
|
|
48
|
+
// check for []
|
|
49
|
+
throw Error(`Radar rule of "${item.title}" for subdomain "${host}" in "${dir}" should not be empty.`);
|
|
50
|
+
}
|
|
51
|
+
if (item.source.some((s) => s.includes('#') || s.includes('='))) {
|
|
52
|
+
// Some will try to match '/some/path?a=1' which is not supported
|
|
53
|
+
throw Error(`Radar rule of "${item.title}" for subdomain "${host}" in "${dir}" cannot match URL hash or URL search parameters.`);
|
|
54
|
+
}
|
|
55
|
+
if (item.source.some((s) => !s.length)) {
|
|
56
|
+
// check for ['/some/thing', ''] and ['']
|
|
57
|
+
throw Error(`Radar rule of "${item.title}" for subdomain "${host}" in "${dir}" should not be empty.`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (typeof item.source === 'string') {
|
|
61
|
+
if (!item.source.length) {
|
|
62
|
+
// check for ''
|
|
63
|
+
throw Error(`Radar rule of "${item.title}" for subdomain "${host}" in "${dir}" should not be empty.`);
|
|
64
|
+
}
|
|
65
|
+
if (item.source.includes('#') || item.source.includes('=')) {
|
|
66
|
+
throw Error(`Radar rule of "${item.title}" for subdomain "${host}" in "${dir}" cannot match URL hash or URL search parameters.`);
|
|
67
|
+
}
|
|
49
68
|
}
|
|
50
69
|
for (const key in item) {
|
|
51
70
|
if (key !== 'title' && key !== 'docs' && key !== 'source' && key !== 'target') {
|
package/lib/router.js
CHANGED
|
@@ -242,8 +242,8 @@ router.get('/yande.re/post/popular_recent/:period', lazyloadRouteHandler('./rout
|
|
|
242
242
|
// router.get('/nytimes/:lang?', lazyloadRouteHandler('./routes/nytimes/index'));
|
|
243
243
|
|
|
244
244
|
// 3dm
|
|
245
|
-
router.get('/3dm/:name/:type', lazyloadRouteHandler('./routes/3dm/game'));
|
|
246
|
-
router.get('/3dm/news', lazyloadRouteHandler('./routes/3dm/news_center'));
|
|
245
|
+
// router.get('/3dm/:name/:type', lazyloadRouteHandler('./routes/3dm/game'));
|
|
246
|
+
// router.get('/3dm/news', lazyloadRouteHandler('./routes/3dm/news_center'));
|
|
247
247
|
|
|
248
248
|
// 喜马拉雅
|
|
249
249
|
router.get('/ximalaya/:type/:id/:all?', lazyloadRouteHandler('./routes/ximalaya/album'));
|
|
@@ -748,7 +748,7 @@ router.get('/shu/:type?', lazyloadRouteHandler('./routes/universities/shu/index'
|
|
|
748
748
|
router.get('/shu/jwc/:type?', lazyloadRouteHandler('./routes/universities/shu/jwc'));
|
|
749
749
|
|
|
750
750
|
// 北京科技大学天津学院
|
|
751
|
-
router.get('/ustb/tj/news/:type?', lazyloadRouteHandler('./routes/universities/ustb/tj/news'));
|
|
751
|
+
// router.get('/ustb/tj/news/:type?', lazyloadRouteHandler('./routes/universities/ustb/tj/news'));
|
|
752
752
|
|
|
753
753
|
// 深圳大学
|
|
754
754
|
// router.get('/szu/yz/:type?', lazyloadRouteHandler('./routes/universities/szu/yz'));
|
|
@@ -1164,7 +1164,7 @@ router.get('/allpoetry/:order?', lazyloadRouteHandler('./routes/allpoetry/order'
|
|
|
1164
1164
|
// router.get('/wallstreetcn/live/:channel?', lazyloadRouteHandler('./routes/wallstreetcn/live'));
|
|
1165
1165
|
|
|
1166
1166
|
// 多抓鱼搜索
|
|
1167
|
-
router.get('/duozhuayu/search/:wd', lazyloadRouteHandler('./routes/duozhuayu/search'));
|
|
1167
|
+
// router.get('/duozhuayu/search/:wd', lazyloadRouteHandler('./routes/duozhuayu/search'));
|
|
1168
1168
|
|
|
1169
1169
|
// 创业邦
|
|
1170
1170
|
router.get('/cyzone/author/:id', lazyloadRouteHandler('./routes/cyzone/author'));
|
|
@@ -1247,19 +1247,19 @@ router.get('/fitchratings/site/:type', lazyloadRouteHandler('./routes/fitchratin
|
|
|
1247
1247
|
// router.get('/mpaypass/main/:type?', lazyloadRouteHandler('./routes/mpaypass/main'));
|
|
1248
1248
|
|
|
1249
1249
|
// 新浪科技探索
|
|
1250
|
-
router.get('/sina/discovery/:type', lazyloadRouteHandler('./routes/sina/discovery'));
|
|
1250
|
+
// router.get('/sina/discovery/:type', lazyloadRouteHandler('./routes/sina/discovery'));
|
|
1251
1251
|
|
|
1252
1252
|
// 新浪科技滚动新闻
|
|
1253
|
-
router.get('/sina/rollnews', lazyloadRouteHandler('./routes/sina/rollnews'));
|
|
1253
|
+
// router.get('/sina/rollnews', lazyloadRouteHandler('./routes/sina/rollnews'));
|
|
1254
1254
|
|
|
1255
1255
|
// 新浪体育
|
|
1256
|
-
router.get('/sina/sports/:type', lazyloadRouteHandler('./routes/sina/sports'));
|
|
1256
|
+
// router.get('/sina/sports/:type', lazyloadRouteHandler('./routes/sina/sports'));
|
|
1257
1257
|
|
|
1258
1258
|
// 新浪专栏创事记
|
|
1259
|
-
router.get('/sina/csj', lazyloadRouteHandler('./routes/sina/chuangshiji'));
|
|
1259
|
+
// router.get('/sina/csj', lazyloadRouteHandler('./routes/sina/chuangshiji'));
|
|
1260
1260
|
|
|
1261
1261
|
// 新浪财经-国內
|
|
1262
|
-
router.get('/sina/finance', lazyloadRouteHandler('./routes/sina/finance'));
|
|
1262
|
+
// router.get('/sina/finance', lazyloadRouteHandler('./routes/sina/finance'));
|
|
1263
1263
|
|
|
1264
1264
|
// Animen
|
|
1265
1265
|
router.get('/animen/news/:type', lazyloadRouteHandler('./routes/animen/news'));
|
|
@@ -1297,9 +1297,9 @@ router.get('/whalegogo/home', lazyloadRouteHandler('./routes/whalegogo/home'));
|
|
|
1297
1297
|
router.get('/whalegogo/portal/:type_id/:tagid?', lazyloadRouteHandler('./routes/whalegogo/portal'));
|
|
1298
1298
|
|
|
1299
1299
|
// 爱思想
|
|
1300
|
-
router.get('/aisixiang/column/:id', lazyloadRouteHandler('./routes/aisixiang/column'));
|
|
1301
|
-
router.get('/aisixiang/ranking/:type?/:range?', lazyloadRouteHandler('./routes/aisixiang/ranking'));
|
|
1302
|
-
router.get('/aisixiang/thinktank/:name/:type?', lazyloadRouteHandler('./routes/aisixiang/thinktank'));
|
|
1300
|
+
// router.get('/aisixiang/column/:id', lazyloadRouteHandler('./routes/aisixiang/column'));
|
|
1301
|
+
// router.get('/aisixiang/ranking/:type?/:range?', lazyloadRouteHandler('./routes/aisixiang/ranking'));
|
|
1302
|
+
// router.get('/aisixiang/thinktank/:name/:type?', lazyloadRouteHandler('./routes/aisixiang/thinktank'));
|
|
1303
1303
|
|
|
1304
1304
|
// Hacker News
|
|
1305
1305
|
// router.get('/hackernews/:section/:type?', lazyloadRouteHandler('./routes/hackernews/story'));
|
|
@@ -1360,7 +1360,7 @@ router.get('/ui-cn/user/:id', lazyloadRouteHandler('./routes/ui-cn/user'));
|
|
|
1360
1360
|
router.get('/juesheng', lazyloadRouteHandler('./routes/juesheng'));
|
|
1361
1361
|
|
|
1362
1362
|
// 播客IBCラジオ イヤーマイッタマイッタ
|
|
1363
|
-
router.get('/maitta', lazyloadRouteHandler('./routes/maitta'));
|
|
1363
|
+
// router.get('/maitta', lazyloadRouteHandler('./routes/maitta'));
|
|
1364
1364
|
|
|
1365
1365
|
// 一些博客
|
|
1366
1366
|
// 敬维-以认真的态度做完美的事情: https://jingwei.link/
|
|
@@ -1664,7 +1664,7 @@ router.get('/ningmeng/song', lazyloadRouteHandler('./routes/ningmeng/song'));
|
|
|
1664
1664
|
router.get('/zzz/:category?/:language?', lazyloadRouteHandler('./routes/zzz'));
|
|
1665
1665
|
|
|
1666
1666
|
// AEON
|
|
1667
|
-
router.get('/aeon/:cid', lazyloadRouteHandler('./routes/aeon/category'));
|
|
1667
|
+
// router.get('/aeon/:cid', lazyloadRouteHandler('./routes/aeon/category'));
|
|
1668
1668
|
|
|
1669
1669
|
// AlgoCasts
|
|
1670
1670
|
router.get('/algocasts', lazyloadRouteHandler('./routes/algocasts/all'));
|
|
@@ -1925,7 +1925,7 @@ router.get('/ctfhub/search/:limit?/:form?/:class?/:title?', lazyloadRouteHandler
|
|
|
1925
1925
|
router.get('/liwushuo/index', lazyloadRouteHandler('./routes/liwushuo/index.js'));
|
|
1926
1926
|
|
|
1927
1927
|
// 故事fm
|
|
1928
|
-
router.get('/storyfm/index', lazyloadRouteHandler('./routes/storyfm/index.js'));
|
|
1928
|
+
// router.get('/storyfm/index', lazyloadRouteHandler('./routes/storyfm/index.js'));
|
|
1929
1929
|
|
|
1930
1930
|
// 中国日报
|
|
1931
1931
|
router.get('/chinadaily/english/:category', lazyloadRouteHandler('./routes/chinadaily/english.js'));
|
|
@@ -2017,8 +2017,8 @@ router.get('/latexstudio/home', lazyloadRouteHandler('./routes/latexstudio/home'
|
|
|
2017
2017
|
router.get('/jskou/:type?', lazyloadRouteHandler('./routes/jskou/index'));
|
|
2018
2018
|
|
|
2019
2019
|
// 国家应急广播
|
|
2020
|
-
router.get('/cneb/yjxx', lazyloadRouteHandler('./routes/cneb/yjxx'));
|
|
2021
|
-
router.get('/cneb/guoneinews', lazyloadRouteHandler('./routes/cneb/guoneinews'));
|
|
2020
|
+
// router.get('/cneb/yjxx', lazyloadRouteHandler('./routes/cneb/yjxx'));
|
|
2021
|
+
// router.get('/cneb/guoneinews', lazyloadRouteHandler('./routes/cneb/guoneinews'));
|
|
2022
2022
|
|
|
2023
2023
|
// 邮箱
|
|
2024
2024
|
router.get('/mail/imap/:email', lazyloadRouteHandler('./routes/mail/imap'));
|
|
@@ -2882,7 +2882,7 @@ router.get('/gov/chinatax/latest', lazyloadRouteHandler('./routes/gov/chinatax/l
|
|
|
2882
2882
|
router.get('/lizhi/user/:id', lazyloadRouteHandler('./routes/lizhi/user'));
|
|
2883
2883
|
|
|
2884
2884
|
// 富途牛牛
|
|
2885
|
-
router.get('/futunn/highlights', lazyloadRouteHandler('./routes/futunn/highlights'));
|
|
2885
|
+
// router.get('/futunn/highlights', lazyloadRouteHandler('./routes/futunn/highlights'));
|
|
2886
2886
|
|
|
2887
2887
|
// 即刻 migrated to v2
|
|
2888
2888
|
// router.get('/jike/topic/:id', lazyloadRouteHandler('./routes/jike/topic'));
|
|
@@ -3037,17 +3037,17 @@ router.get('/hfut/tzgg', lazyloadRouteHandler('./routes/universities/hfut/tzgg')
|
|
|
3037
3037
|
router.get('/onejav/:type/:key?', lazyloadRouteHandler('./routes/onejav/one'));
|
|
3038
3038
|
|
|
3039
3039
|
// 141jav
|
|
3040
|
-
router.get('/141jav/:type/:key?', lazyloadRouteHandler('./routes/141jav/141jav'));
|
|
3040
|
+
// router.get('/141jav/:type/:key?', lazyloadRouteHandler('./routes/141jav/141jav'));
|
|
3041
3041
|
|
|
3042
3042
|
// 141ppv
|
|
3043
|
-
router.get('/141ppv/:type/:key?', lazyloadRouteHandler('./routes/141ppv/141ppv'));
|
|
3043
|
+
// router.get('/141ppv/:type/:key?', lazyloadRouteHandler('./routes/141ppv/141ppv'));
|
|
3044
3044
|
|
|
3045
3045
|
// CuriousCat
|
|
3046
3046
|
router.get('/curiouscat/user/:id', lazyloadRouteHandler('./routes/curiouscat/user'));
|
|
3047
3047
|
|
|
3048
3048
|
// Telecompaper
|
|
3049
|
-
router.get('/telecompaper/news/:caty/:year?/:country?/:type?', lazyloadRouteHandler('./routes/telecompaper/news'));
|
|
3050
|
-
router.get('/telecompaper/search/:keyword?/:company?/:sort?/:period?', lazyloadRouteHandler('./routes/telecompaper/search'));
|
|
3049
|
+
// router.get('/telecompaper/news/:caty/:year?/:country?/:type?', lazyloadRouteHandler('./routes/telecompaper/news'));
|
|
3050
|
+
// router.get('/telecompaper/search/:keyword?/:company?/:sort?/:period?', lazyloadRouteHandler('./routes/telecompaper/search'));
|
|
3051
3051
|
|
|
3052
3052
|
// 水木社区
|
|
3053
3053
|
router.get('/newsmth/account/:id', lazyloadRouteHandler('./routes/newsmth/account'));
|
|
@@ -3232,7 +3232,7 @@ router.get('/mamibuy/:caty?/:age?/:sort?', lazyloadRouteHandler('./routes/mamibu
|
|
|
3232
3232
|
router.get('/mercari/:type/:id', lazyloadRouteHandler('./routes/mercari/index'));
|
|
3233
3233
|
|
|
3234
3234
|
// notefolio
|
|
3235
|
-
router.get('/notefolio/:caty?/:order?/:time?/:query?', lazyloadRouteHandler('./routes/notefolio/index'));
|
|
3235
|
+
// router.get('/notefolio/:caty?/:order?/:time?/:query?', lazyloadRouteHandler('./routes/notefolio/index'));
|
|
3236
3236
|
|
|
3237
3237
|
// JavDB
|
|
3238
3238
|
// router.get('/javdb/home/:category?/:sort?/:filter?', lazyloadRouteHandler('./routes/javdb'));
|
|
@@ -3459,7 +3459,7 @@ router.get('/zhimap/:categoryUuid?/:recommend?', lazyloadRouteHandler('./routes/
|
|
|
3459
3459
|
// router.get('/fantia/user/:id', lazyloadRouteHandler('./routes/fantia/user'));
|
|
3460
3460
|
|
|
3461
3461
|
// i-Cable
|
|
3462
|
-
router.get('/icable/:category/:option?', lazyloadRouteHandler('./routes/icable/category'));
|
|
3462
|
+
// router.get('/icable/:category/:option?', lazyloadRouteHandler('./routes/icable/category'));
|
|
3463
3463
|
|
|
3464
3464
|
// ProcessOn
|
|
3465
3465
|
router.get('/processon/popular/:cate?/:sort?', lazyloadRouteHandler('./routes/processon/popular'));
|
|
@@ -3511,7 +3511,7 @@ router.get('/chuapp/index/:category?', lazyloadRouteHandler('./routes/chuapp/ind
|
|
|
3511
3511
|
router.get('/deloitte/industries/:category?', lazyloadRouteHandler('./routes/deloitte/industries'));
|
|
3512
3512
|
|
|
3513
3513
|
// 特斯拉系统更新
|
|
3514
|
-
router.get('/tesla', lazyloadRouteHandler('./routes/tesla/update'));
|
|
3514
|
+
// router.get('/tesla/ota', lazyloadRouteHandler('./routes/tesla/update'));
|
|
3515
3515
|
|
|
3516
3516
|
// 复旦大学继续教育学院
|
|
3517
3517
|
router.get('/fudan/cce', lazyloadRouteHandler('./routes/universities/fudan/cce'));
|
|
@@ -3719,7 +3719,7 @@ router.get('/thrillist/:tag?', lazyloadRouteHandler('./routes/thrillist/index'))
|
|
|
3719
3719
|
router.get('/dxy/vaccine/:province?/:city?/:location?', lazyloadRouteHandler('./routes/dxy/vaccine'));
|
|
3720
3720
|
|
|
3721
3721
|
// Wtu
|
|
3722
|
-
router.get('/wtu/:type', lazyloadRouteHandler('./routes/universities/wtu'));
|
|
3722
|
+
// router.get('/wtu/:type', lazyloadRouteHandler('./routes/universities/wtu'));
|
|
3723
3723
|
|
|
3724
3724
|
// 中国庭审公开网
|
|
3725
3725
|
router.get('/tingshen', lazyloadRouteHandler('./routes/tingshen/tingshen'));
|
|
@@ -3979,7 +3979,7 @@ router.get('/fnal/news/:category?', lazyloadRouteHandler('./routes/fnal/news'));
|
|
|
3979
3979
|
router.get('/x410/news', lazyloadRouteHandler('./routes/x410/news'));
|
|
3980
3980
|
|
|
3981
3981
|
// 恩山无线论坛
|
|
3982
|
-
router.get('/right/forum/:id?', lazyloadRouteHandler('./routes/right/forum'));
|
|
3982
|
+
// router.get('/right/forum/:id?', lazyloadRouteHandler('./routes/right/forum'));
|
|
3983
3983
|
|
|
3984
3984
|
// 香港經濟日報 migrated to v2
|
|
3985
3985
|
// router.get('/hket/:category?', lazyloadRouteHandler('./routes/hket/index'));
|
|
@@ -4024,9 +4024,6 @@ router.get('/sbs/chinese/:category?/:id?/:dialect?/:language?', lazyloadRouteHan
|
|
|
4024
4024
|
// QuestMobile
|
|
4025
4025
|
router.get('/questmobile/report/:category?/:label?', lazyloadRouteHandler('./routes/questmobile/report'));
|
|
4026
4026
|
|
|
4027
|
-
// RSS3
|
|
4028
|
-
router.get('/rss3/blog', lazyloadRouteHandler('./routes/rss3/blog'));
|
|
4029
|
-
|
|
4030
4027
|
// 星球日报
|
|
4031
4028
|
// router.get('/odaily/activity', lazyloadRouteHandler('./routes/odaily/activity'));
|
|
4032
4029
|
// router.get('/odaily/newsflash', lazyloadRouteHandler('./routes/odaily/newsflash'));
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -3,7 +3,7 @@ const got = require('@/utils/got');
|
|
|
3
3
|
module.exports = async (ctx) => {
|
|
4
4
|
const type = ctx.params.type || 'all';
|
|
5
5
|
const rssData = {
|
|
6
|
-
isType: ctx.params.type
|
|
6
|
+
isType: !!ctx.params.type,
|
|
7
7
|
Title: `湖南省政府采购网`,
|
|
8
8
|
Desc: `湖南省政府采购网`,
|
|
9
9
|
Link: `http://www.ccgp-hunan.gov.cn/page/notice/more.jsp`,
|
|
File without changes
|
package/lib/routes/ps/product.js
CHANGED
|
File without changes
|
|
File without changes
|
|
Binary file
|
package/lib/utils/puppeteer.js
CHANGED
|
@@ -6,7 +6,7 @@ const logger = require('./logger');
|
|
|
6
6
|
|
|
7
7
|
const options = {
|
|
8
8
|
args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-infobars', '--window-position=0,0', '--ignore-certificate-errors', '--ignore-certificate-errors-spki-list', `--user-agent=${config.ua}`],
|
|
9
|
-
headless:
|
|
9
|
+
headless: 'new',
|
|
10
10
|
ignoreHTTPSErrors: true,
|
|
11
11
|
};
|
|
12
12
|
|
|
@@ -20,7 +20,7 @@ module.exports = async (extraOptions = {}) => {
|
|
|
20
20
|
const { addExtra } = require('puppeteer-extra');
|
|
21
21
|
puppeteer = addExtra(puppeteer);
|
|
22
22
|
|
|
23
|
-
// workaround for vercel/nft #54
|
|
23
|
+
// workaround for vercel/nft #54, #283, #304
|
|
24
24
|
require('puppeteer-extra-plugin-stealth/evasions/chrome.app');
|
|
25
25
|
require('puppeteer-extra-plugin-stealth/evasions/chrome.csi');
|
|
26
26
|
require('puppeteer-extra-plugin-stealth/evasions/chrome.loadTimes');
|
|
@@ -7,10 +7,10 @@ const https = require('https');
|
|
|
7
7
|
let agent = null;
|
|
8
8
|
if (proxyUri) {
|
|
9
9
|
if (proxyUri.startsWith('http')) {
|
|
10
|
-
const HttpsProxyAgent = require('https-proxy-agent');
|
|
10
|
+
const { HttpsProxyAgent } = require('https-proxy-agent');
|
|
11
11
|
agent = new HttpsProxyAgent(proxyUri);
|
|
12
12
|
} else if (proxyUri.startsWith('socks')) {
|
|
13
|
-
const SocksProxyAgent = require('socks-proxy-agent')
|
|
13
|
+
const { SocksProxyAgent } = require('socks-proxy-agent');
|
|
14
14
|
agent = new SocksProxyAgent(proxyUri);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
const got = require('@/utils/got');
|
|
2
|
+
const cheerio = require('cheerio');
|
|
3
|
+
const { parseDate } = require('@/utils/parse-date');
|
|
4
|
+
const { art } = require('@/utils/render');
|
|
5
|
+
const path = require('path');
|
|
6
|
+
|
|
7
|
+
module.exports = async (ctx) => {
|
|
8
|
+
const rootUrl = 'https://www.141jav.com';
|
|
9
|
+
const currentUrl = `${rootUrl}${ctx.path}`;
|
|
10
|
+
|
|
11
|
+
const response = await got({
|
|
12
|
+
method: 'get',
|
|
13
|
+
url: currentUrl,
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
const $ = cheerio.load(response.data);
|
|
17
|
+
|
|
18
|
+
if (ctx.path === '/') {
|
|
19
|
+
ctx.redirect(`/141jav${$('.overview').first().attr('href')}`);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const items = $('.columns')
|
|
24
|
+
.toArray()
|
|
25
|
+
.map((item) => {
|
|
26
|
+
item = $(item);
|
|
27
|
+
|
|
28
|
+
const id = item.find('.title a').text();
|
|
29
|
+
const size = item.find('.title span').text();
|
|
30
|
+
const pubDate = item.find('.subtitle a').attr('href').split('/date/').pop();
|
|
31
|
+
const description = item.find('.has-text-grey-dark').text();
|
|
32
|
+
const actresses = item
|
|
33
|
+
.find('.panel-block')
|
|
34
|
+
.toArray()
|
|
35
|
+
.map((a) => $(a).text().trim());
|
|
36
|
+
const tags = item
|
|
37
|
+
.find('.tag')
|
|
38
|
+
.toArray()
|
|
39
|
+
.map((t) => $(t).text().trim());
|
|
40
|
+
const magnet = item.find('a[title="Magnet torrent"]').attr('href');
|
|
41
|
+
const link = item.find('a[title="Download .torrent"]').attr('href');
|
|
42
|
+
const image = item.find('.image').attr('src');
|
|
43
|
+
|
|
44
|
+
return {
|
|
45
|
+
title: `${id} ${size}`,
|
|
46
|
+
pubDate: parseDate(pubDate, 'YYYY/MM/DD'),
|
|
47
|
+
link: new URL(item.find('a').first().attr('href'), rootUrl).href,
|
|
48
|
+
description: art(path.join(__dirname, 'templates/description.art'), {
|
|
49
|
+
image,
|
|
50
|
+
id,
|
|
51
|
+
size,
|
|
52
|
+
pubDate,
|
|
53
|
+
description,
|
|
54
|
+
actresses,
|
|
55
|
+
tags,
|
|
56
|
+
magnet,
|
|
57
|
+
link,
|
|
58
|
+
}),
|
|
59
|
+
author: actresses.join(', '),
|
|
60
|
+
category: [...tags, ...actresses],
|
|
61
|
+
enclosure_type: 'application/x-bittorrent',
|
|
62
|
+
enclosure_url: magnet,
|
|
63
|
+
};
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
ctx.state.data = {
|
|
67
|
+
title: `141JAV - ${$('title').text().split('-')[0].trim()}`,
|
|
68
|
+
link: currentUrl,
|
|
69
|
+
item: items,
|
|
70
|
+
};
|
|
71
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
'141jav.com': {
|
|
3
|
+
_name: '141JAV',
|
|
4
|
+
'.': [
|
|
5
|
+
{
|
|
6
|
+
title: '今日种子',
|
|
7
|
+
docs: 'https://docs.rsshub.app/multimedia.html#_141jav',
|
|
8
|
+
source: '/',
|
|
9
|
+
target: (params, url, document) => {
|
|
10
|
+
const today = document.querySelector('div.card.mb-1.card-overview').getAttribute('data-date').replace(/-/g, '');
|
|
11
|
+
return `/141jav/day/${today}`;
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
title: '今日演员',
|
|
16
|
+
docs: 'https://docs.rsshub.app/multimedia.html#_141jav',
|
|
17
|
+
source: '/',
|
|
18
|
+
target: (params, url, document) => {
|
|
19
|
+
const star = document.querySelector('div.card-content > div > a').getAttribute('href');
|
|
20
|
+
return `/141jav${star}`;
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
title: '页面种子',
|
|
25
|
+
docs: 'https://docs.rsshub.app/multimedia.html#_141jav',
|
|
26
|
+
source: ['/:type', '/:type/:key', '/:type/:key/:morekey'],
|
|
27
|
+
target: (params, url, document) => {
|
|
28
|
+
const itype = params.morekey === undefined ? params.type : params.type === 'tag' ? 'tag' : 'day';
|
|
29
|
+
let ikey = `${itype === 'day' ? params.type : ''}${params.key || ''}${itype === 'tag' && params.morekey !== undefined ? '%2F' : ''}${params.morekey || ''}`;
|
|
30
|
+
if (ikey === '' && itype === 'tag') {
|
|
31
|
+
ikey = document.querySelector('div.thumbnail.is-inline > a').getAttribute('href').replace('/tag/', '').replace(/\//g, '%2F');
|
|
32
|
+
} else if (ikey === '' && itype === 'actress') {
|
|
33
|
+
ikey = document.querySelector('div.card > a').getAttribute('href').replace('/actress/', '');
|
|
34
|
+
}
|
|
35
|
+
return `/141jav/${itype}/${ikey}`;
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
};
|