rsshub 1.0.0-master.f7c0247 → 1.0.0-master.f7c4a93

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.
Files changed (478) hide show
  1. package/lib/config.js +11 -1
  2. package/lib/middleware/anti-hotlink.js +90 -22
  3. package/lib/middleware/cache/redis.js +7 -2
  4. package/lib/middleware/onerror.js +2 -1
  5. package/lib/middleware/parameter.js +76 -35
  6. package/lib/middleware/templates/iframe.art +14 -0
  7. package/lib/radar-rules.js +0 -163
  8. package/lib/router.js +79 -94
  9. package/lib/routes/agefans/update.js +1 -1
  10. package/lib/routes/index.js +1 -1
  11. package/lib/routes/novel/biqugeinfo.js +2 -2
  12. package/lib/routes/universities/uestc/sice.js +12 -33
  13. package/lib/routes/weibo/user.js +20 -28
  14. package/lib/utils/cf-email.js +36 -0
  15. package/lib/utils/parse-date.js +4 -2
  16. package/lib/utils/puppeteer.js +22 -0
  17. package/lib/utils/wechat-mp.js +1 -0
  18. package/lib/v2/19lou/index.js +74 -0
  19. package/lib/v2/19lou/maintainer.js +3 -0
  20. package/lib/v2/19lou/radar.js +29 -0
  21. package/lib/v2/19lou/router.js +3 -0
  22. package/lib/v2/7mmtv/index.js +86 -0
  23. package/lib/v2/7mmtv/maintainer.js +4 -0
  24. package/lib/v2/7mmtv/radar.js +19 -0
  25. package/lib/v2/7mmtv/router.js +3 -0
  26. package/lib/v2/7mmtv/templates/description.art +11 -0
  27. package/lib/v2/91porn/index.js +58 -0
  28. package/lib/v2/91porn/maintainer.js +3 -0
  29. package/lib/v2/91porn/radar.js +13 -0
  30. package/lib/v2/91porn/router.js +3 -0
  31. package/lib/v2/91porn/templates/index.art +1 -0
  32. package/lib/v2/9to5/maintainer.js +3 -0
  33. package/lib/v2/9to5/radar.js +35 -0
  34. package/lib/v2/9to5/router.js +3 -0
  35. package/lib/{routes → v2}/9to5/subsite.js +20 -17
  36. package/lib/{routes → v2}/9to5/utils.js +4 -1
  37. package/lib/{routes → v2}/aliyun/database_month.js +8 -13
  38. package/lib/{routes → v2}/aliyun/developer/group.js +6 -1
  39. package/lib/v2/aliyun/maintainer.js +5 -0
  40. package/lib/{routes → v2}/aliyun/notice.js +13 -21
  41. package/lib/v2/aliyun/radar.js +32 -0
  42. package/lib/v2/aliyun/router.js +5 -0
  43. package/lib/v2/apnews/maintainer.js +3 -0
  44. package/lib/v2/apnews/radar.js +13 -0
  45. package/lib/v2/apnews/router.js +3 -0
  46. package/lib/v2/apnews/templates/description.art +14 -0
  47. package/lib/v2/apnews/topics.js +44 -0
  48. package/lib/{routes → v2}/asiantolick/index.js +20 -17
  49. package/lib/v2/asiantolick/maintainer.js +6 -0
  50. package/lib/v2/asiantolick/radar.js +31 -0
  51. package/lib/v2/asiantolick/router.js +3 -0
  52. package/lib/v2/asiantolick/templates/description.art +3 -0
  53. package/lib/v2/behance/maintainer.js +3 -0
  54. package/lib/v2/behance/radar.js +26 -0
  55. package/lib/v2/behance/router.js +3 -0
  56. package/lib/v2/behance/user.js +67 -0
  57. package/lib/v2/caareviews/book.js +14 -0
  58. package/lib/v2/caareviews/essay.js +14 -0
  59. package/lib/v2/caareviews/exhibition.js +14 -0
  60. package/lib/v2/caareviews/maintainer.js +5 -0
  61. package/lib/v2/caareviews/radar.js +25 -0
  62. package/lib/v2/caareviews/router.js +5 -0
  63. package/lib/v2/caareviews/templates/utils.art +2 -0
  64. package/lib/v2/caareviews/utils.js +49 -0
  65. package/lib/v2/ccac/news.js +12 -3
  66. package/lib/v2/chinanews/index.js +4 -3
  67. package/lib/v2/cn-healthcare/index.js +31 -0
  68. package/lib/v2/cn-healthcare/maintainer.js +3 -0
  69. package/lib/v2/cn-healthcare/radar.js +13 -0
  70. package/lib/v2/cn-healthcare/router.js +3 -0
  71. package/lib/v2/cncf/index.js +43 -0
  72. package/lib/v2/cncf/maintainer.js +3 -0
  73. package/lib/v2/cncf/radar.js +31 -0
  74. package/lib/v2/cncf/reports.js +38 -0
  75. package/lib/v2/cncf/router.js +4 -0
  76. package/lib/v2/cnjxol/index.js +94 -0
  77. package/lib/v2/cnjxol/maintainer.js +4 -0
  78. package/lib/v2/cnjxol/radar.js +19 -0
  79. package/lib/v2/cnjxol/router.js +3 -0
  80. package/lib/v2/cnjxol/templates/description.art +2 -0
  81. package/lib/v2/cntheory/maintainer.js +3 -0
  82. package/lib/v2/cntheory/paper.js +93 -0
  83. package/lib/v2/cntheory/radar.js +13 -0
  84. package/lib/v2/cntheory/router.js +3 -0
  85. package/lib/v2/cntheory/templates/description.art +2 -0
  86. package/lib/v2/cscse/maintainer.js +3 -0
  87. package/lib/v2/cscse/radar.js +13 -0
  88. package/lib/v2/cscse/router.js +3 -0
  89. package/lib/v2/cscse/tzgg.js +54 -0
  90. package/lib/v2/diandong/ddh.js +51 -0
  91. package/lib/v2/diandong/maintainer.js +4 -0
  92. package/lib/v2/diandong/news.js +50 -0
  93. package/lib/v2/diandong/radar.js +19 -0
  94. package/lib/v2/diandong/router.js +4 -0
  95. package/lib/v2/domp4/detail.js +67 -0
  96. package/lib/v2/domp4/latest.js +31 -0
  97. package/lib/v2/domp4/maintainer.js +4 -0
  98. package/lib/v2/domp4/radar.js +25 -0
  99. package/lib/v2/domp4/router.js +4 -0
  100. package/lib/v2/domp4/utils.js +72 -0
  101. package/lib/v2/douyin/hashtag.js +133 -0
  102. package/lib/v2/douyin/radar.js +6 -0
  103. package/lib/v2/douyin/router.js +1 -0
  104. package/lib/v2/douyin/user.js +10 -1
  105. package/lib/{routes → v2}/earthquake/ceic.js +3 -1
  106. package/lib/{routes → v2}/earthquake/index.js +5 -3
  107. package/lib/v2/earthquake/maintainer.js +4 -0
  108. package/lib/v2/earthquake/radar.js +24 -0
  109. package/lib/v2/earthquake/router.js +4 -0
  110. package/lib/{routes/the-economist → v2/economist}/download.js +0 -0
  111. package/lib/v2/economist/espresso.js +50 -0
  112. package/lib/v2/economist/full.js +42 -0
  113. package/lib/v2/economist/gre-vocabulary.js +19 -0
  114. package/lib/v2/economist/maintainer.js +6 -0
  115. package/lib/v2/economist/radar.js +27 -0
  116. package/lib/v2/economist/router.js +6 -0
  117. package/lib/v2/elasticsearch-cn/index.js +57 -0
  118. package/lib/v2/elasticsearch-cn/maintainer.js +3 -0
  119. package/lib/v2/elasticsearch-cn/radar.js +13 -0
  120. package/lib/v2/elasticsearch-cn/router.js +3 -0
  121. package/lib/v2/elsevier/issue.js +62 -0
  122. package/lib/v2/elsevier/journal.js +72 -0
  123. package/lib/v2/elsevier/maintainer.js +2 -2
  124. package/lib/v2/elsevier/radar.js +5 -5
  125. package/lib/v2/elsevier/router.js +4 -2
  126. package/lib/v2/elsevier/templates/description.art +5 -5
  127. package/lib/v2/epicgames/index.js +45 -11
  128. package/lib/v2/feng/forum.js +42 -0
  129. package/lib/v2/feng/radar.js +13 -0
  130. package/lib/v2/feng/router.js +3 -0
  131. package/lib/v2/feng/templates/deleted.art +2 -0
  132. package/lib/v2/feng/templates/img.art +6 -0
  133. package/lib/v2/feng/utils.js +80 -0
  134. package/lib/v2/fx-markets/channel.js +56 -0
  135. package/lib/v2/fx-markets/maintainer.js +3 -0
  136. package/lib/v2/fx-markets/radar.js +31 -0
  137. package/lib/v2/fx-markets/router.js +3 -0
  138. package/lib/v2/gcores/category.js +5 -1
  139. package/lib/v2/gcores/tag.js +5 -1
  140. package/lib/v2/getitfree/index.js +54 -0
  141. package/lib/v2/getitfree/maintainer.js +3 -0
  142. package/lib/v2/getitfree/radar.js +13 -0
  143. package/lib/v2/getitfree/router.js +3 -0
  144. package/lib/v2/gitee/maintainer.js +6 -0
  145. package/lib/v2/gitee/radar.js +31 -0
  146. package/lib/v2/gitee/repos/commits.js +40 -0
  147. package/lib/v2/gitee/repos/events.js +66 -0
  148. package/lib/v2/gitee/repos/releases.js +33 -0
  149. package/lib/v2/gitee/router.js +6 -0
  150. package/lib/v2/gitee/users/events.js +84 -0
  151. package/lib/v2/gov/beijing/jw/tzgg.js +58 -0
  152. package/lib/v2/gov/customs/list.js +80 -0
  153. package/lib/v2/gov/customs/utils.js +21 -0
  154. package/lib/v2/gov/maintainer.js +4 -1
  155. package/lib/v2/gov/miit/wjgs.js +50 -41
  156. package/lib/v2/gov/miit/zcjd.js +50 -41
  157. package/lib/v2/gov/pbc/goutongjiaoliu.js +20 -15
  158. package/lib/v2/gov/pbc/tradeAnnouncement.js +18 -14
  159. package/lib/v2/gov/radar.js +45 -26
  160. package/lib/v2/gov/router.js +2 -0
  161. package/lib/v2/gumroad/index.js +35 -0
  162. package/lib/v2/gumroad/maintainer.js +3 -0
  163. package/lib/v2/gumroad/radar.js +17 -0
  164. package/lib/v2/gumroad/router.js +3 -0
  165. package/lib/v2/gumroad/templates/products.art +7 -0
  166. package/lib/v2/hackertalk/index.js +23 -0
  167. package/lib/v2/hackertalk/maintainer.js +3 -0
  168. package/lib/v2/hackertalk/radar.js +13 -0
  169. package/lib/v2/hackertalk/router.js +3 -0
  170. package/lib/v2/hashnode/blog.js +62 -0
  171. package/lib/v2/hashnode/maintainer.js +3 -0
  172. package/lib/v2/hashnode/radar.js +13 -0
  173. package/lib/v2/hashnode/router.js +3 -0
  174. package/lib/v2/hashnode/templates/description.art +2 -0
  175. package/lib/v2/heu/gx/list.js +2 -2
  176. package/lib/v2/heu/job/list.js +2 -2
  177. package/lib/v2/heu/uae/list.js +2 -2
  178. package/lib/v2/heu/yjsy/list.js +2 -2
  179. package/lib/v2/hk01/channel.js +40 -0
  180. package/lib/{routes → v2}/hk01/hot.js +2 -1
  181. package/lib/v2/hk01/issue.js +41 -0
  182. package/lib/v2/hk01/maintainer.js +7 -0
  183. package/lib/v2/hk01/radar.js +37 -0
  184. package/lib/v2/hk01/router.js +7 -0
  185. package/lib/{routes → v2}/hk01/tag.js +2 -1
  186. package/lib/{routes → v2}/hk01/zone.js +3 -2
  187. package/lib/v2/hotukdeals/index.js +1 -1
  188. package/lib/{routes → v2}/huxiu/article.js +1 -1
  189. package/lib/{routes → v2}/huxiu/author.js +18 -6
  190. package/lib/{routes → v2}/huxiu/collection.js +1 -2
  191. package/lib/v2/huxiu/maintainer.js +7 -0
  192. package/lib/v2/huxiu/radar.js +35 -0
  193. package/lib/v2/huxiu/router.js +7 -0
  194. package/lib/{routes → v2}/huxiu/search.js +0 -0
  195. package/lib/{routes → v2}/huxiu/tag.js +0 -0
  196. package/lib/{routes → v2}/huxiu/utils.js +3 -4
  197. package/lib/v2/ieee/journal.js +78 -0
  198. package/lib/v2/ieee/maintainer.js +2 -2
  199. package/lib/v2/ieee/radar.js +4 -4
  200. package/lib/v2/ieee/{latestdate.js → recent.js} +34 -42
  201. package/lib/v2/ieee/router.js +4 -2
  202. package/lib/v2/ieee/templates/description.art +5 -5
  203. package/lib/v2/ielts/index.js +32 -26
  204. package/lib/v2/itch/devlog.js +62 -0
  205. package/lib/v2/itch/index.js +56 -0
  206. package/lib/v2/itch/maintainer.js +5 -0
  207. package/lib/v2/itch/posts.js +41 -0
  208. package/lib/v2/itch/radar.js +28 -0
  209. package/lib/v2/itch/router.js +5 -0
  210. package/lib/v2/itch/templates/description.art +4 -0
  211. package/lib/v2/jike/utils.js +32 -1
  212. package/lib/{routes → v2}/juejin/books.js +2 -1
  213. package/lib/{routes → v2}/juejin/category.js +1 -1
  214. package/lib/{routes → v2}/juejin/collection.js +0 -0
  215. package/lib/{routes → v2}/juejin/column.js +0 -0
  216. package/lib/{routes → v2}/juejin/favorites.js +0 -0
  217. package/lib/v2/juejin/maintainer.js +13 -0
  218. package/lib/v2/juejin/news.js +25 -0
  219. package/lib/{routes → v2}/juejin/pins.js +3 -2
  220. package/lib/{routes → v2}/juejin/posts.js +0 -0
  221. package/lib/v2/juejin/radar.js +61 -0
  222. package/lib/v2/juejin/router.js +13 -0
  223. package/lib/{routes → v2}/juejin/shares.js +0 -0
  224. package/lib/{routes → v2}/juejin/tag.js +0 -0
  225. package/lib/{routes → v2}/juejin/trending.js +0 -0
  226. package/lib/{routes → v2}/juejin/utils.js +15 -7
  227. package/lib/v2/kcna/maintainer.js +3 -0
  228. package/lib/v2/kcna/news.js +81 -0
  229. package/lib/v2/kcna/radar.js +61 -0
  230. package/lib/v2/kcna/router.js +3 -0
  231. package/lib/v2/kcna/templates/news.art +9 -0
  232. package/lib/v2/kcna/utils.js +64 -0
  233. package/lib/v2/keep/maintainer.js +3 -0
  234. package/lib/v2/keep/radar.js +13 -0
  235. package/lib/v2/keep/router.js +3 -0
  236. package/lib/v2/keep/templates/user.art +16 -0
  237. package/lib/{routes → v2}/keep/user.js +14 -4
  238. package/lib/v2/laohu8/maintainer.js +3 -0
  239. package/lib/v2/laohu8/personal.js +32 -0
  240. package/lib/v2/laohu8/radar.js +13 -0
  241. package/lib/v2/laohu8/router.js +3 -0
  242. package/lib/v2/lever/index.js +28 -0
  243. package/lib/v2/lever/maintainer.js +3 -0
  244. package/lib/v2/lever/radar.js +13 -0
  245. package/lib/v2/lever/router.js +3 -0
  246. package/lib/v2/mdpi/journal.js +65 -0
  247. package/lib/v2/mdpi/maintainer.js +3 -0
  248. package/lib/v2/mdpi/radar.js +13 -0
  249. package/lib/v2/mdpi/router.js +3 -0
  250. package/lib/v2/mdpi/templates/description.art +12 -0
  251. package/lib/v2/mihoyo/bbs.js +1 -0
  252. package/lib/v2/mihoyo/radar.js +2 -2
  253. package/lib/v2/mirror/index.js +34 -0
  254. package/lib/v2/mirror/maintainer.js +3 -0
  255. package/lib/v2/mirror/radar.js +17 -0
  256. package/lib/v2/mirror/router.js +3 -0
  257. package/lib/v2/mobilism/forums.js +75 -0
  258. package/lib/v2/mobilism/maintainer.js +4 -0
  259. package/lib/v2/mobilism/portal.js +54 -0
  260. package/lib/v2/mobilism/radar.js +23 -0
  261. package/lib/v2/mobilism/router.js +4 -0
  262. package/lib/{routes → v2}/mp4er/index.js +1 -1
  263. package/lib/v2/mp4er/maintainer.js +3 -0
  264. package/lib/v2/mp4er/radar.js +13 -0
  265. package/lib/v2/mp4er/router.js +3 -0
  266. package/lib/v2/mysql/maintainer.js +3 -0
  267. package/lib/v2/mysql/radar.js +13 -0
  268. package/lib/v2/mysql/release.js +55 -0
  269. package/lib/v2/mysql/router.js +3 -0
  270. package/lib/v2/nbd/radar.js +2 -2
  271. package/lib/v2/ncwu/maintainer.js +3 -0
  272. package/lib/v2/ncwu/notice.js +27 -0
  273. package/lib/v2/ncwu/radar.js +13 -0
  274. package/lib/v2/ncwu/router.js +3 -0
  275. package/lib/v2/nhk/news.js +41 -0
  276. package/lib/{routes → v2}/nhk/news_web_easy.js +20 -20
  277. package/lib/v2/nhk/radar.js +19 -0
  278. package/lib/v2/nhk/router.js +4 -0
  279. package/lib/v2/nhk/templates/news.art +5 -0
  280. package/lib/v2/nju/rczp.js +34 -24
  281. package/lib/v2/njust/utils.js +4 -0
  282. package/lib/v2/nuaa/utils/pypasswaf.js +4 -5
  283. package/lib/v2/nytimes/daily_briefing_chinese.js +66 -41
  284. package/lib/v2/nytimes/index.js +3 -3
  285. package/lib/v2/nytimes/maintainer.js +1 -1
  286. package/lib/v2/nytimes/templates/image.art +4 -0
  287. package/lib/v2/nytimes/utils.js +7 -1
  288. package/lib/v2/oceanengine/arithmeticIndex.js +145 -0
  289. package/lib/v2/oceanengine/maintainer.js +3 -0
  290. package/lib/v2/oceanengine/radar.js +13 -0
  291. package/lib/v2/oceanengine/router.js +3 -0
  292. package/lib/v2/oceanengine/templates/content.art +14 -0
  293. package/lib/v2/openwrt/maintainer.js +3 -0
  294. package/lib/v2/openwrt/radar.js +13 -0
  295. package/lib/v2/openwrt/releases.js +25 -0
  296. package/lib/v2/openwrt/router.js +3 -0
  297. package/lib/v2/orcid/index.js +1 -1
  298. package/lib/v2/orcid/templates/description.art +2 -2
  299. package/lib/v2/panewslab/{column.js → author.js} +11 -23
  300. package/lib/v2/panewslab/index.js +24 -17
  301. package/lib/v2/panewslab/maintainer.js +3 -1
  302. package/lib/v2/panewslab/news.js +28 -0
  303. package/lib/v2/panewslab/radar.js +2 -2
  304. package/lib/v2/panewslab/router.js +4 -2
  305. package/lib/v2/panewslab/topic.js +7 -14
  306. package/lib/v2/pincong/hot.js +28 -0
  307. package/lib/{routes → v2}/pincong/index.js +6 -12
  308. package/lib/v2/pincong/maintainer.js +5 -0
  309. package/lib/v2/pincong/radar.js +35 -0
  310. package/lib/v2/pincong/router.js +5 -0
  311. package/lib/v2/pincong/topic.js +25 -0
  312. package/lib/v2/pincong/utils.js +22 -0
  313. package/lib/v2/pku/maintainer.js +1 -0
  314. package/lib/v2/pku/nsd.js +69 -0
  315. package/lib/v2/pku/radar.js +8 -0
  316. package/lib/v2/pku/router.js +1 -0
  317. package/lib/v2/playno1/av.js +41 -0
  318. package/lib/v2/playno1/maintainer.js +4 -0
  319. package/lib/v2/playno1/radar.js +21 -0
  320. package/lib/v2/playno1/router.js +4 -0
  321. package/lib/v2/playno1/st.js +36 -0
  322. package/lib/v2/playno1/utils.js +32 -0
  323. package/lib/v2/pmthinking/index.js +61 -0
  324. package/lib/v2/pmthinking/maintainer.js +3 -0
  325. package/lib/v2/pmthinking/radar.js +13 -0
  326. package/lib/v2/pmthinking/router.js +3 -0
  327. package/lib/v2/pmthinking/templates/description.art +4 -0
  328. package/lib/v2/prestige-av/maintainer.js +3 -0
  329. package/lib/v2/prestige-av/radar.js +18 -0
  330. package/lib/v2/prestige-av/router.js +3 -0
  331. package/lib/{routes → v2}/prestige-av/series.js +8 -5
  332. package/lib/v2/qipamaijia/index.js +26 -0
  333. package/lib/v2/qipamaijia/maintainer.js +3 -0
  334. package/lib/v2/qipamaijia/radar.js +13 -0
  335. package/lib/v2/qipamaijia/router.js +3 -0
  336. package/lib/v2/reuters/common.js +54 -0
  337. package/lib/v2/reuters/investigates.js +39 -0
  338. package/lib/v2/reuters/maintainer.js +6 -0
  339. package/lib/v2/reuters/migration_prompt.js +3 -0
  340. package/lib/v2/reuters/radar.js +19 -0
  341. package/lib/v2/reuters/router.js +6 -0
  342. package/lib/v2/sciencedirect/journal.js +8 -1
  343. package/lib/v2/{jasa/latest.js → scitation/journal.js} +24 -27
  344. package/lib/v2/scitation/maintainer.js +4 -0
  345. package/lib/v2/scitation/radar.js +19 -0
  346. package/lib/v2/scitation/router.js +4 -0
  347. package/lib/v2/scitation/section.js +90 -0
  348. package/lib/v2/scitation/templates/description.art +11 -0
  349. package/lib/v2/sis001/forum.js +62 -0
  350. package/lib/v2/sis001/maintainer.js +3 -0
  351. package/lib/v2/sis001/radar.js +13 -0
  352. package/lib/v2/sis001/router.js +3 -0
  353. package/lib/{routes → v2}/sobooks/date.js +1 -1
  354. package/lib/{routes → v2}/sobooks/index.js +1 -1
  355. package/lib/v2/sobooks/maintainer.js +5 -0
  356. package/lib/v2/sobooks/radar.js +25 -0
  357. package/lib/v2/sobooks/router.js +5 -0
  358. package/lib/{routes → v2}/sobooks/tag.js +1 -1
  359. package/lib/{routes → v2}/sobooks/utils.js +3 -2
  360. package/lib/v2/springer/journal.js +72 -0
  361. package/lib/v2/springer/maintainer.js +3 -0
  362. package/lib/v2/springer/radar.js +13 -0
  363. package/lib/v2/springer/router.js +3 -0
  364. package/lib/v2/springer/templates/description.art +12 -0
  365. package/lib/v2/sspai/maintainer.js +1 -0
  366. package/lib/v2/sspai/radar.js +6 -0
  367. package/lib/v2/sspai/router.js +1 -0
  368. package/lib/v2/sspai/seriesUpdate.js +36 -0
  369. package/lib/v2/supchina/index.js +67 -0
  370. package/lib/v2/supchina/maintainer.js +4 -0
  371. package/lib/v2/supchina/podcasts.js +66 -0
  372. package/lib/v2/supchina/radar.js +19 -0
  373. package/lib/v2/supchina/router.js +4 -0
  374. package/lib/v2/techflow520/index.js +34 -0
  375. package/lib/v2/techflow520/maintainer.js +4 -0
  376. package/lib/v2/techflow520/newsflash.js +32 -0
  377. package/lib/v2/techflow520/radar.js +19 -0
  378. package/lib/v2/techflow520/router.js +4 -0
  379. package/lib/v2/tencent/cloud/column.js +51 -0
  380. package/lib/v2/tencent/maintainer.js +1 -0
  381. package/lib/v2/tencent/radar.js +11 -0
  382. package/lib/v2/tencent/router.js +1 -0
  383. package/lib/v2/test/index.js +23 -2
  384. package/lib/v2/tiktok/maintainer.js +3 -0
  385. package/lib/v2/tiktok/radar.js +13 -0
  386. package/lib/v2/tiktok/router.js +3 -0
  387. package/lib/v2/tiktok/templates/user.art +3 -0
  388. package/lib/v2/tiktok/user.js +89 -0
  389. package/lib/v2/tingshuitz/dalian.js +29 -0
  390. package/lib/{routes → v2}/tingshuitz/dongguan.js +2 -1
  391. package/lib/{routes → v2}/tingshuitz/guangzhou.js +0 -0
  392. package/lib/{routes → v2}/tingshuitz/hangzhou.js +0 -0
  393. package/lib/v2/tingshuitz/maintainer.js +11 -0
  394. package/lib/{routes → v2}/tingshuitz/nanjing.js +9 -11
  395. package/lib/v2/tingshuitz/radar.js +68 -0
  396. package/lib/v2/tingshuitz/router.js +11 -0
  397. package/lib/v2/tingshuitz/wuhan.js +32 -0
  398. package/lib/{routes → v2}/tingshuitz/xian.js +1 -1
  399. package/lib/{routes → v2}/tingshuitz/xiaoshan.js +0 -0
  400. package/lib/{routes → v2}/tingshuitz/yangjiang.js +6 -8
  401. package/lib/v2/trending/allTrending.js +169 -0
  402. package/lib/v2/trending/maintainer.js +3 -0
  403. package/lib/v2/trending/radar.js +35 -0
  404. package/lib/v2/trending/router.js +3 -0
  405. package/lib/v2/trending/templates/content.art +24 -0
  406. package/lib/v2/uraaka-joshi/uraaka-joshi-user.js +7 -1
  407. package/lib/v2/uraaka-joshi/uraaka-joshi.js +8 -1
  408. package/lib/v2/usts/jwch.js +56 -0
  409. package/lib/v2/usts/maintainer.js +3 -0
  410. package/lib/v2/usts/radar.js +25 -0
  411. package/lib/v2/usts/router.js +3 -0
  412. package/lib/v2/wallpaperhub/index.js +28 -0
  413. package/lib/v2/wallpaperhub/maintainer.js +3 -0
  414. package/lib/v2/wallpaperhub/radar.js +13 -0
  415. package/lib/v2/wallpaperhub/router.js +3 -0
  416. package/lib/v2/wallpaperhub/templates/description.art +1 -0
  417. package/lib/{routes → v2}/xiaohongshu/board.js +8 -6
  418. package/lib/v2/xiaohongshu/maintainer.js +4 -0
  419. package/lib/v2/xiaohongshu/radar.js +25 -0
  420. package/lib/v2/xiaohongshu/router.js +4 -0
  421. package/lib/{routes → v2}/xiaohongshu/user.js +9 -11
  422. package/lib/v2/xiaohongshu/util.js +32 -0
  423. package/lib/v2/xiaozhuanlan/column.js +52 -0
  424. package/lib/v2/xiaozhuanlan/maintainer.js +3 -0
  425. package/lib/v2/xiaozhuanlan/radar.js +13 -0
  426. package/lib/v2/xiaozhuanlan/router.js +3 -0
  427. package/lib/v2/xidian/jwc.js +54 -0
  428. package/lib/v2/xidian/maintainer.js +3 -0
  429. package/lib/v2/xidian/radar.js +13 -0
  430. package/lib/v2/xidian/router.js +3 -0
  431. package/lib/{routes → v2}/youtube/channel.js +9 -5
  432. package/lib/v2/youtube/maintainer.js +6 -0
  433. package/lib/{routes → v2}/youtube/playlist.js +6 -10
  434. package/lib/v2/youtube/radar.js +31 -0
  435. package/lib/v2/youtube/router.js +6 -0
  436. package/lib/v2/youtube/subscriptions.js +56 -0
  437. package/lib/v2/youtube/templates/description.art +7 -0
  438. package/lib/{routes → v2}/youtube/user.js +4 -5
  439. package/lib/v2/youtube/utils.js +141 -0
  440. package/lib/v2/zhihu/activities.js +36 -0
  441. package/lib/v2/zyshow/index.js +46 -0
  442. package/lib/v2/zyshow/maintainer.js +3 -0
  443. package/lib/v2/zyshow/radar.js +17 -0
  444. package/lib/v2/zyshow/router.js +3 -0
  445. package/lib/v2/zyshow/templates/description.art +16 -0
  446. package/package.json +21 -20
  447. package/lib/routes/apnews/topics.js +0 -43
  448. package/lib/routes/behance/index.js +0 -58
  449. package/lib/routes/gov/customs/list.js +0 -77
  450. package/lib/routes/hk01/channel.js +0 -22
  451. package/lib/routes/hk01/issue.js +0 -22
  452. package/lib/routes/mirror/entries.js +0 -80
  453. package/lib/routes/mobilism/release.js +0 -42
  454. package/lib/routes/pincong/hot.js +0 -33
  455. package/lib/routes/pincong/topic.js +0 -32
  456. package/lib/routes/reuters/channel.js +0 -155
  457. package/lib/routes/reuters/theWire.js +0 -45
  458. package/lib/routes/reuters/utils.js +0 -72
  459. package/lib/routes/the-economist/full.js +0 -48
  460. package/lib/routes/the-economist/gre-vocabulary.js +0 -27
  461. package/lib/routes/tingshuitz/dalian.js +0 -34
  462. package/lib/routes/tingshuitz/wuhan.js +0 -34
  463. package/lib/routes/universities/ncwu/notice.js +0 -42
  464. package/lib/routes/universities/xidian/jwc.js +0 -70
  465. package/lib/routes/waijiedanao/article.js +0 -78
  466. package/lib/routes/wallpaperhub/index.js +0 -22
  467. package/lib/routes/xiaohongshu/util.js +0 -18
  468. package/lib/routes/youtube/utils.js +0 -90
  469. package/lib/routes/zyshow/index.js +0 -42
  470. package/lib/v2/elsevier/latest.js +0 -87
  471. package/lib/v2/elsevier/volume.js +0 -75
  472. package/lib/v2/ieee/latestvol.js +0 -87
  473. package/lib/v2/jasa/maintainer.js +0 -4
  474. package/lib/v2/jasa/radar.js +0 -19
  475. package/lib/v2/jasa/router.js +0 -4
  476. package/lib/v2/jasa/section.js +0 -95
  477. package/lib/v2/jasa/templates/description.art +0 -11
  478. package/lib/v2/panewslab/newsflash.js +0 -35
@@ -1,87 +0,0 @@
1
- const got = require('@/utils/got');
2
- const cheerio = require('cheerio');
3
- const config = require('@/config').value;
4
- const path = require('path');
5
- const { art } = require('@/utils/render');
6
-
7
- module.exports = async (ctx) => {
8
- const host = 'https://www.sciencedirect.com';
9
- const journal = ctx.params.journal;
10
- const hostUrl = host.concat('/journal/', journal);
11
- const resp = await got(host);
12
- const cookie = resp.headers['set-cookie'].join(' ');
13
- const headers = {
14
- Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
15
- 'Accept-Encoding': 'gzip, deflate, br',
16
- 'Accept-Language': 'zh-CN,zh;q=0.9',
17
- Referer: 'https://id.elsevier.com/',
18
- Host: host.replace('https://', ''),
19
- 'User-Agent': config.ua,
20
- cookie,
21
- };
22
-
23
- const preResponse = await got({
24
- method: 'get',
25
- url: hostUrl,
26
- headers,
27
- });
28
- const $1 = cheerio.load(preResponse.data);
29
- const jrnlName = $1('.anchor.js-title-link').text();
30
- const ltstUrl = host.concat($1('.anchor.js-volume').attr('href'));
31
- let volume = '';
32
- if (ltstUrl.match('suppl') !== null) {
33
- volume = 'Volume ' + ltstUrl.match('vol/(.*)/suppl')[1];
34
- } else if (ltstUrl.match('issue') !== null) {
35
- volume = 'Volume ' + ltstUrl.match('vol/(.*)/issue')[1] + ' Issue ' + ltstUrl.match('/issue/(.*)')[1];
36
- }
37
-
38
- const response = await got({
39
- method: 'get',
40
- url: ltstUrl,
41
- headers,
42
- });
43
- const $ = cheerio.load(response.data);
44
- const list = $('.js-article')
45
- .map((_, item) => {
46
- const title = $(item).find('.js-article-title').text();
47
- const authors = $(item).find('.js-article__item__authors').text();
48
- const link = $(item).find('.article-content-title').attr('href');
49
- const id = $(item).find('.article-content-title').attr('id');
50
- return {
51
- title,
52
- link,
53
- id,
54
- authors,
55
- volume,
56
- };
57
- })
58
- .get();
59
-
60
- const renderDesc = (item) =>
61
- art(path.join(__dirname, 'templates/description.art'), {
62
- item,
63
- });
64
- await Promise.all(
65
- list.map((item) =>
66
- ctx.cache.tryGet(item.link, async () => {
67
- const itemResponse = await got({
68
- method: 'get',
69
- url: host.concat('/science/article/pii/', item.id),
70
- headers,
71
- });
72
- const content = cheerio.load(itemResponse.data);
73
- content('.section-title').remove();
74
- const doi = content('.doi').attr('href').replace('https://doi.org/', '');
75
- item.doi = doi;
76
- item.abstract = content('.abstract.author').html();
77
- item.description = renderDesc(item);
78
- return item;
79
- })
80
- )
81
- );
82
- ctx.state.data = {
83
- title: jrnlName.concat(' - Latest'),
84
- link: hostUrl,
85
- item: list,
86
- };
87
- };
@@ -1,75 +0,0 @@
1
- const got = require('@/utils/got');
2
- const cheerio = require('cheerio');
3
- const config = require('@/config').value;
4
- const path = require('path');
5
- const { art } = require('@/utils/render');
6
-
7
- module.exports = async (ctx) => {
8
- const host = 'https://www.sciencedirect.com';
9
- const journal = ctx.params.journal;
10
- const volume = 'Volume ' + ctx.params.id.replace('-', ' Issue ');
11
- const volUrl = 'https://www.sciencedirect.com/journal/' + journal + '/vol/' + ctx.params.id.replace('-', '/issue/');
12
- const resp = await got(host);
13
- const cookie = resp.headers['set-cookie'].join(' ');
14
- const headers = {
15
- Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
16
- 'Accept-Encoding': 'gzip, deflate, br',
17
- 'Accept-Language': 'zh-CN,zh;q=0.9',
18
- Referer: 'https://id.elsevier.com/',
19
- Host: host.replace('https://', ''),
20
- 'User-Agent': config.ua,
21
- cookie,
22
- };
23
-
24
- const response = await got({
25
- method: 'get',
26
- url: volUrl,
27
- headers,
28
- });
29
- const $ = cheerio.load(response.data);
30
- const jrnlName = $('.anchor.js-title-link').text();
31
- const list = $('.js-article')
32
- .map((_, item) => {
33
- const title = $(item).find('.js-article-title').text();
34
- const authors = $(item).find('.js-article__item__authors').text();
35
- const link = $(item).find('.article-content-title').attr('href');
36
- const id = $(item).find('.article-content-title').attr('id');
37
- return {
38
- title,
39
- link,
40
- id,
41
- authors,
42
- volume,
43
- };
44
- })
45
- .get();
46
-
47
- const renderDesc = (item) =>
48
- art(path.join(__dirname, 'templates/description.art'), {
49
- item,
50
- });
51
- await Promise.all(
52
- list.map((item) =>
53
- ctx.cache.tryGet(item.link, async () => {
54
- const itemResponse = await got({
55
- method: 'get',
56
- url: 'https://www.sciencedirect.com/science/article/pii/' + item.id,
57
- headers,
58
- });
59
- const content = cheerio.load(itemResponse.data);
60
- content('.section-title').remove();
61
- const doi = content('.doi').attr('href').replace('https://doi.org/', '');
62
- item.doi = doi;
63
- item.abstract = content('.abstract.author').html();
64
- item.description = renderDesc(item);
65
- return item;
66
- })
67
- )
68
- );
69
-
70
- ctx.state.data = {
71
- title: jrnlName.concat(' - ', volume),
72
- link: volUrl,
73
- item: list,
74
- };
75
- };
@@ -1,87 +0,0 @@
1
- const got = require('@/utils/got');
2
- const config = require('@/config').value;
3
- const path = require('path');
4
- const { art } = require('@/utils/render');
5
-
6
- module.exports = async (ctx) => {
7
- const host = 'https://ieeexplore.ieee.org';
8
- const punumber = ctx.params.journal;
9
- const sortType = ctx.params.sortType ?? 'vol-only-seq';
10
- const hostUrl = host.concat('/xpl/mostRecentIssue.jsp?punumber=', punumber);
11
- const headers = {
12
- Accept: 'application/json, text/plain, */*',
13
- 'Accept-Encoding': 'gzip, deflate, br',
14
- 'Accept-Language': 'zh-CN,zh;q=0.9',
15
- Host: host.replace('https://', ''),
16
- 'User-Agent': config.ua,
17
- Referer: hostUrl,
18
- };
19
-
20
- const resp = await got({
21
- method: 'get',
22
- url: host.concat('/rest/publication/home/metadata?pubid=', punumber),
23
- headers,
24
- }).json();
25
- const volume = resp.currentIssue.volume;
26
- const isnumber = resp.currentIssue.issueNumber;
27
- const jrnlName = resp.displayTitle;
28
-
29
- const response = await got({
30
- method: 'post',
31
- url: host.concat('/rest/search/pub/', punumber, '/issue/', isnumber, '/toc'),
32
- headers,
33
- json: {
34
- punumber,
35
- isnumber,
36
- sortType,
37
- rowsPerPage: '100',
38
- },
39
- }).json();
40
- const list = response.records.map((item) => {
41
- const title = item.articleTitle;
42
- const link = item.htmlLink;
43
- const doi = item.doi;
44
- let authors = 'Do not have author';
45
- if (item.hasOwnProperty('authors')) {
46
- authors = item.authors.map((itemAuth) => itemAuth.preferredName).join('; ');
47
- }
48
- let abstract = '';
49
- item.hasOwnProperty('abstract') ? (abstract = item.abstract) : (abstract = '');
50
- return {
51
- title,
52
- link,
53
- authors,
54
- doi,
55
- volume,
56
- abstract,
57
- };
58
- });
59
-
60
- const renderDesc = (item) =>
61
- art(path.join(__dirname, 'templates/description.art'), {
62
- item,
63
- });
64
- await Promise.all(
65
- list.map((item) =>
66
- ctx.cache.tryGet(item.link, async () => {
67
- if (item.abstract !== '') {
68
- const itemResponse = await got({
69
- method: 'get',
70
- url: host.concat(item.link),
71
- });
72
- const content = itemResponse.body.match(/metadata=(.*);/)[1];
73
- const { abstract } = JSON.parse(content);
74
- item.abstract = abstract;
75
- item.description = renderDesc(item);
76
- }
77
- return item;
78
- })
79
- )
80
- );
81
-
82
- ctx.state.data = {
83
- title: jrnlName.concat(' - Latest'),
84
- link: hostUrl,
85
- item: list,
86
- };
87
- };
@@ -1,4 +0,0 @@
1
- module.exports = {
2
- '/latest': ['Derekmini', 'auto-bot-ty'],
3
- '/section/:id': ['Derekmini'],
4
- };
@@ -1,19 +0,0 @@
1
- module.exports = {
2
- 'scitation.org': {
3
- _name: 'JASA',
4
- asa: [
5
- {
6
- title: 'latest',
7
- docs: 'https://docs.rsshub.app/journal.html#jasa',
8
- source: '/*',
9
- target: '/jasa/latest',
10
- },
11
- {
12
- title: 'section',
13
- docs: 'https://docs.rsshub.app/journal.html#jasa',
14
- source: '/*',
15
- target: (params, url) => `/jasa/section/${new URL(url).searchParams.get('tocSection')}`,
16
- },
17
- ],
18
- },
19
- };
@@ -1,4 +0,0 @@
1
- module.exports = function (router) {
2
- router.get('/latest', require('./latest'));
3
- router.get('/section/:id', require('./section'));
4
- };
@@ -1,95 +0,0 @@
1
- const got = require('@/utils/got');
2
- const cheerio = require('cheerio');
3
- const config = require('@/config').value;
4
- const path = require('path');
5
- const { art } = require('@/utils/render');
6
-
7
- module.exports = async (ctx) => {
8
- const host = 'https://asa.scitation.org';
9
- const hostUrl = host.concat('/toc/jas/current?size=all');
10
- const resp = await got(host);
11
- const cookie = resp.headers['set-cookie'].join(' ');
12
- const headers = {
13
- 'X-Requested-With': 'XMLHttpRequest',
14
- 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
15
- 'Accept-Encoding': 'gzip, deflate, br',
16
- 'User-Agent': config.ua,
17
- cookie,
18
- };
19
-
20
- const curtResponse = await got({
21
- method: 'get',
22
- url: hostUrl,
23
- headers,
24
- });
25
- const $1 = cheerio.load(curtResponse.data);
26
- const baseUrl = $1('.row.js_issue.highlighted').find('a').attr('href');
27
- const heading = $1('.subject-heading')
28
- .map((_, item) => ({
29
- section: $1(item).text(),
30
- }))
31
- .get();
32
-
33
- let list;
34
- let ifContainSection = false;
35
- const id = ctx.params.id.split('+').join(' ');
36
- for (let i = 0, l = heading.length; i < l; i++) {
37
- if (heading[i].section === id) {
38
- ifContainSection = true;
39
- }
40
- }
41
- if (ifContainSection === true) {
42
- const sectUrl = baseUrl.concat('?tocSection=', id);
43
- const response = await got({
44
- method: 'get',
45
- url: sectUrl,
46
- headers,
47
- });
48
- const $ = cheerio.load(response.data);
49
- list = $('.card')
50
- .map((_, item) => {
51
- $(item).find('.access-text').remove();
52
- const title = $(item).find('.hlFld-Title').text();
53
- const authors = $(item).find('.entryAuthor.all').text();
54
- const img = $(item).find('img').attr('src');
55
- const link = $(item).find('.ref.nowrap').attr('href');
56
- const doi = link.replace('/doi/full/', '');
57
- return {
58
- title,
59
- link,
60
- doi,
61
- authors,
62
- img,
63
- };
64
- })
65
- .get();
66
-
67
- const renderDesc = (item) =>
68
- art(path.join(__dirname, 'templates/description.art'), {
69
- item,
70
- });
71
- await Promise.all(
72
- list.map((item) =>
73
- ctx.cache.tryGet(item.link, async () => {
74
- const itemResponse = await got({
75
- method: 'post',
76
- url: host.concat('/action/PB2showAjaxAbstract'),
77
- headers,
78
- body: 'doi=' + item.doi,
79
- });
80
- const content = cheerio.load(itemResponse.data);
81
- item.abstract = content('span').text();
82
- item.description = renderDesc(item);
83
- return item;
84
- })
85
- )
86
- );
87
- }
88
-
89
- ctx.state.data = {
90
- title: 'JASA - '.concat(id),
91
- link: hostUrl,
92
- item: list,
93
- allowEmpty: true,
94
- };
95
- };
@@ -1,11 +0,0 @@
1
- <p>
2
- <span><big>{{ item.title }}</big></span><br />
3
- </p>
4
- <p>
5
- <span><small><i>{{ item.authors }}</i></small></span><br />
6
- <span><small><i>https://doi.org/{{ item.doi }}</i></small></span><br />
7
- <img src={{ item.img }}/>
8
- </p>
9
- <p>
10
- <span>{{ item.abstract }}</span><br />
11
- </p>
@@ -1,35 +0,0 @@
1
- const got = require('@/utils/got');
2
- const { parseDate } = require('@/utils/parse-date');
3
-
4
- module.exports = async (ctx) => {
5
- const language = ctx.params.language ?? 'zh';
6
-
7
- const rootUrl = 'https://panewslab.com';
8
- const apiUrl = `${rootUrl}/api/sqtopic/pageBy`;
9
- const currentUrl = `${rootUrl}/${language}/news/index.html`;
10
-
11
- const response = await got({
12
- method: 'post',
13
- url: apiUrl,
14
- form: {
15
- language,
16
- pageIndex: 1,
17
- pageSize: 50,
18
- topicState: 'PUBLISHED',
19
- },
20
- });
21
-
22
- const items = response.data.data.list[0].data.map((item) => ({
23
- title: item.title,
24
- author: item.nick_name,
25
- pubDate: parseDate(item.create_time),
26
- link: `${rootUrl}/${language}/sqarticledetails/${item.id}.html`,
27
- description: `<p>${item.content.replace(/来源链接$/, '').replace(/原文链接$/, '')}</p>`,
28
- }));
29
-
30
- ctx.state.data = {
31
- title: 'PANews - 快讯',
32
- link: currentUrl,
33
- item: items,
34
- };
35
- };