rsshub 1.0.0-master.f7add90 → 1.0.0-master.f7aecbc

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 (2366) hide show
  1. package/README.md +15 -27
  2. package/lib/app.js +3 -1
  3. package/lib/config.js +59 -13
  4. package/lib/index.js +1 -1
  5. package/lib/maintainer.js +8 -3
  6. package/lib/middleware/access-control.js +5 -5
  7. package/lib/middleware/anti-hotlink.js +2 -2
  8. package/lib/middleware/cache/memory.js +2 -2
  9. package/lib/middleware/parameter.js +109 -50
  10. package/lib/middleware/template.js +77 -70
  11. package/lib/radar-rules.js +133 -241
  12. package/lib/radar.js +24 -4
  13. package/lib/router.js +53 -1430
  14. package/lib/routes/amazon/ku.js +1 -1
  15. package/lib/routes/aom/journal.js +1 -1
  16. package/lib/routes/axis-studios/work.js +0 -0
  17. package/lib/routes/blow-studio/work.js +0 -0
  18. package/lib/routes/blur-studio/index.js +0 -0
  19. package/lib/routes/chinatimes/index.js +1 -1
  20. package/lib/routes/cs/news.js +1 -1
  21. package/lib/routes/digic-pictures/index.js +0 -0
  22. package/lib/routes/gov/beijing/mhc.js +1 -1
  23. package/lib/routes/gov/chongqing/ljxq/zwgk.js +1 -1
  24. package/lib/routes/gov/guangdong/edu.js +1 -1
  25. package/lib/routes/gov/guangdong/eea.js +1 -1
  26. package/lib/routes/gov/hubei/hbsia.js +1 -1
  27. package/lib/routes/gov/hunan/notice.js +1 -1
  28. package/lib/routes/gov/wuhan/kjj.js +1 -1
  29. package/lib/routes/gov/wuhan/wehdz.js +1 -1
  30. package/lib/routes/gov/xinwen/tujie.js +1 -1
  31. package/lib/routes/guanggoo/index.js +1 -1
  32. package/lib/routes/hopper/index.js +2 -2
  33. package/lib/routes/index.js +6 -13
  34. package/lib/routes/meihua/article.js +1 -1
  35. package/lib/routes/meihua/shots.js +1 -1
  36. package/lib/routes/method-studios/index.js +0 -0
  37. package/lib/routes/mihoyo/bh3.js +1 -1
  38. package/lib/routes/miniflux/get_feeds.js +2 -2
  39. package/lib/routes/newsmth/section.js +1 -1
  40. package/lib/routes/ps/product.js +0 -0
  41. package/lib/routes/unit-image/films.js +0 -0
  42. package/lib/routes/universities/ynnu/edu/news.js +3 -3
  43. package/lib/static/logo.png +0 -0
  44. package/lib/utils/got.js +5 -1
  45. package/lib/utils/logger.js +14 -2
  46. package/lib/utils/puppeteer.js +2 -2
  47. package/lib/utils/rand-user-agent.js +3 -2
  48. package/lib/utils/render.js +2 -0
  49. package/lib/utils/request-wrapper.js +55 -15
  50. package/lib/utils/wechat-mp.js +1 -1
  51. package/lib/v2/0818tuan/radar.js +1 -1
  52. package/lib/v2/12306/radar.js +2 -2
  53. package/lib/v2/141jav/index.js +71 -0
  54. package/lib/v2/141jav/maintainer.js +3 -0
  55. package/lib/v2/141jav/radar.js +40 -0
  56. package/lib/v2/141jav/router.js +3 -0
  57. package/lib/v2/141jav/templates/description.art +47 -0
  58. package/lib/v2/141ppv/index.js +74 -0
  59. package/lib/v2/141ppv/maintainer.js +3 -0
  60. package/lib/v2/141ppv/radar.js +40 -0
  61. package/lib/v2/141ppv/router.js +3 -0
  62. package/lib/v2/141ppv/templates/description.art +47 -0
  63. package/lib/v2/163/news/rank.js +2 -2
  64. package/lib/v2/163/news/special.js +1 -1
  65. package/lib/v2/163/radar.js +19 -19
  66. package/lib/v2/18comic/album.js +3 -1
  67. package/lib/v2/18comic/blogs.js +3 -1
  68. package/lib/v2/18comic/index.js +4 -2
  69. package/lib/v2/18comic/radar.js +4 -4
  70. package/lib/v2/18comic/search.js +4 -2
  71. package/lib/v2/18comic/utils.js +15 -4
  72. package/lib/v2/19lou/radar.js +3 -3
  73. package/lib/v2/1point3acres/radar.js +7 -7
  74. package/lib/v2/2047/radar.js +1 -1
  75. package/lib/v2/2048/index.js +33 -18
  76. package/lib/v2/2048/radar.js +1 -1
  77. package/lib/v2/2cycd/radar.js +1 -1
  78. package/lib/v2/35photo/radar.js +6 -6
  79. package/lib/v2/36kr/hot-list.js +59 -0
  80. package/lib/v2/36kr/index.js +3 -30
  81. package/lib/v2/36kr/maintainer.js +1 -0
  82. package/lib/v2/36kr/radar.js +13 -7
  83. package/lib/v2/36kr/router.js +1 -0
  84. package/lib/v2/36kr/utils.js +36 -0
  85. package/lib/v2/3dmgame/game.js +39 -0
  86. package/lib/v2/3dmgame/maintainer.js +4 -0
  87. package/lib/v2/3dmgame/news_center.js +42 -0
  88. package/lib/v2/3dmgame/radar.js +19 -0
  89. package/lib/v2/3dmgame/router.js +4 -0
  90. package/lib/v2/3dmgame/utils.js +30 -0
  91. package/lib/v2/423down/radar.js +19 -19
  92. package/lib/v2/4ksj/forum.js +128 -0
  93. package/lib/v2/4ksj/maintainer.js +3 -0
  94. package/lib/v2/4ksj/radar.js +13 -0
  95. package/lib/v2/4ksj/router.js +3 -0
  96. package/lib/v2/4ksj/templates/description.art +56 -0
  97. package/lib/v2/500px/radar.js +2 -2
  98. package/lib/v2/50forum/radar.js +1 -1
  99. package/lib/v2/52hrtt/radar.js +2 -2
  100. package/lib/v2/591/radar.js +1 -1
  101. package/lib/v2/5eplay/index.js +100 -0
  102. package/lib/v2/5eplay/maintainer.js +3 -0
  103. package/lib/v2/5eplay/radar.js +13 -0
  104. package/lib/v2/5eplay/router.js +3 -0
  105. package/lib/v2/5eplay/utils.js +35 -0
  106. package/lib/v2/6park/radar.js +9 -9
  107. package/lib/v2/6v123/radar.js +2 -2
  108. package/lib/v2/78dm/radar.js +3 -3
  109. package/lib/v2/7mmtv/radar.js +2 -2
  110. package/lib/v2/81/81rc/index.js +62 -0
  111. package/lib/v2/81/maintainer.js +3 -0
  112. package/lib/v2/81/radar.js +18 -0
  113. package/lib/v2/81/router.js +3 -0
  114. package/lib/v2/8264/list.js +92 -0
  115. package/lib/v2/8264/maintainer.js +3 -0
  116. package/lib/v2/8264/radar.js +355 -0
  117. package/lib/v2/8264/router.js +3 -0
  118. package/lib/v2/8264/templates/description.art +5 -0
  119. package/lib/v2/8kcos/radar.js +3 -3
  120. package/lib/v2/8world/radar.js +2 -2
  121. package/lib/v2/91porn/radar.js +2 -2
  122. package/lib/v2/95mm/radar.js +3 -3
  123. package/lib/v2/95mm/utils.js +3 -2
  124. package/lib/v2/9to5/radar.js +3 -3
  125. package/lib/v2/aamacau/radar.js +1 -1
  126. package/lib/v2/abc/index.js +162 -0
  127. package/lib/v2/abc/maintainer.js +3 -0
  128. package/lib/v2/abc/radar.js +13 -0
  129. package/lib/v2/abc/router.js +3 -0
  130. package/lib/v2/abc/templates/description.art +21 -0
  131. package/lib/v2/abmedia/radar.js +2 -2
  132. package/lib/v2/abskoop/index.js +21 -31
  133. package/lib/v2/abskoop/nsfw.js +16 -37
  134. package/lib/v2/abskoop/radar.js +13 -2
  135. package/lib/v2/acfun/radar.js +3 -3
  136. package/lib/v2/acg17/radar.js +1 -1
  137. package/lib/v2/acs/radar.js +1 -1
  138. package/lib/v2/aeaweb/radar.js +1 -1
  139. package/lib/v2/aeon/category.js +27 -0
  140. package/lib/v2/aeon/maintainer.js +4 -0
  141. package/lib/v2/aeon/radar.js +19 -0
  142. package/lib/v2/aeon/router.js +4 -0
  143. package/lib/v2/aeon/templates/essay.art +3 -0
  144. package/lib/v2/aeon/templates/video.art +10 -0
  145. package/lib/v2/aeon/type.js +29 -0
  146. package/lib/v2/aeon/utils.js +50 -0
  147. package/lib/v2/agefans/detail.js +20 -15
  148. package/lib/v2/agefans/radar.js +20 -17
  149. package/lib/v2/agefans/update.js +17 -8
  150. package/lib/v2/agefans/utils.js +5 -0
  151. package/lib/v2/agirls/index.js +14 -42
  152. package/lib/v2/agirls/radar.js +3 -3
  153. package/lib/v2/agirls/topic.js +16 -43
  154. package/lib/v2/agirls/topic_list.js +14 -14
  155. package/lib/v2/agirls/utils.js +37 -0
  156. package/lib/v2/agora0/radar.js +2 -2
  157. package/lib/v2/ahjzu/radar.js +1 -1
  158. package/lib/v2/aicaijing/radar.js +4 -4
  159. package/lib/v2/aiea/radar.js +1 -1
  160. package/lib/v2/aijishu/radar.js +3 -3
  161. package/lib/v2/ainvest/article.js +42 -0
  162. package/lib/v2/ainvest/maintainer.js +4 -0
  163. package/lib/v2/ainvest/news.js +39 -0
  164. package/lib/v2/ainvest/radar.js +19 -0
  165. package/lib/v2/ainvest/router.js +4 -0
  166. package/lib/v2/ainvest/utils.js +73 -0
  167. package/lib/v2/{scitation/journal.js → aip/journal-pupp.js} +2 -2
  168. package/lib/v2/aip/journal.js +55 -0
  169. package/lib/v2/{scitation → aip}/maintainer.js +0 -1
  170. package/lib/v2/aip/radar.js +13 -0
  171. package/lib/v2/aip/router.js +4 -0
  172. package/lib/v2/airchina/radar.js +1 -1
  173. package/lib/v2/aisixiang/column.js +45 -0
  174. package/lib/v2/aisixiang/maintainer.js +7 -0
  175. package/lib/v2/aisixiang/radar.js +35 -0
  176. package/lib/v2/aisixiang/router.js +7 -0
  177. package/lib/v2/aisixiang/thinktank.js +49 -0
  178. package/lib/v2/aisixiang/toplist.js +43 -0
  179. package/lib/v2/aisixiang/utils.js +43 -0
  180. package/lib/v2/aisixiang/zhuanti.js +45 -0
  181. package/lib/v2/ajmide/radar.js +1 -1
  182. package/lib/v2/aliresearch/information.js +57 -0
  183. package/lib/v2/aliresearch/maintainer.js +3 -0
  184. package/lib/v2/aliresearch/radar.js +13 -0
  185. package/lib/v2/aliresearch/router.js +3 -0
  186. package/lib/v2/alistapart/index.js +19 -0
  187. package/lib/v2/alistapart/maintainer.js +4 -0
  188. package/lib/v2/alistapart/radar.js +19 -0
  189. package/lib/v2/alistapart/router.js +4 -0
  190. package/lib/v2/alistapart/topic.js +21 -0
  191. package/lib/v2/alistapart/utils.js +22 -0
  192. package/lib/v2/aliyun/notice.js +1 -1
  193. package/lib/v2/aliyun/radar.js +3 -3
  194. package/lib/v2/aliyundrive/radar.js +1 -1
  195. package/lib/v2/aljazeera/index.js +1 -1
  196. package/lib/v2/aljazeera/radar.js +8 -8
  197. package/lib/v2/allrecode/radar.js +3 -3
  198. package/lib/v2/ally/radar.js +1 -1
  199. package/lib/v2/alternativeto/maintainer.js +4 -0
  200. package/lib/v2/alternativeto/platform.js +32 -0
  201. package/lib/v2/alternativeto/radar.js +19 -0
  202. package/lib/v2/alternativeto/router.js +4 -0
  203. package/lib/v2/alternativeto/software.js +32 -0
  204. package/lib/v2/alternativeto/utils.js +22 -0
  205. package/lib/v2/altervista/radar.js +13 -0
  206. package/lib/v2/amazon/kindle-software-updates.js +1 -0
  207. package/lib/v2/amazon/radar.js +2 -2
  208. package/lib/v2/android/radar.js +1 -1
  209. package/lib/v2/annualreviews/radar.js +1 -1
  210. package/lib/v2/anquanke/radar.js +1 -1
  211. package/lib/v2/apache/radar.js +1 -1
  212. package/lib/v2/apiseven/radar.js +1 -1
  213. package/lib/v2/apkpure/radar.js +1 -1
  214. package/lib/v2/apnews/radar.js +1 -1
  215. package/lib/v2/apnews/topics.js +26 -29
  216. package/lib/v2/app-center/radar.js +1 -1
  217. package/lib/v2/apple/apps.js +107 -0
  218. package/lib/v2/apple/maintainer.js +1 -0
  219. package/lib/v2/apple/radar.js +9 -1
  220. package/lib/v2/apple/router.js +1 -0
  221. package/lib/v2/appledaily/radar.js +15 -15
  222. package/lib/v2/appleinsider/radar.js +1 -1
  223. package/lib/v2/appstore/maintainer.js +0 -1
  224. package/lib/v2/appstore/radar.js +3 -9
  225. package/lib/v2/appstore/router.js +0 -1
  226. package/lib/v2/aqara/maintainer.js +4 -1
  227. package/lib/v2/aqara/news.js +25 -25
  228. package/lib/v2/aqara/post.js +92 -0
  229. package/lib/v2/aqara/radar.js +24 -6
  230. package/lib/v2/aqara/router.js +12 -1
  231. package/lib/v2/aqara/templates/figure.art +3 -0
  232. package/lib/v2/arcteryx/radar.js +3 -3
  233. package/lib/v2/arknights/radar.js +4 -4
  234. package/lib/v2/ash-maurya/radar.js +1 -1
  235. package/lib/v2/asiantolick/index.js +73 -27
  236. package/lib/v2/asiantolick/maintainer.js +5 -3
  237. package/lib/v2/asiantolick/radar.js +34 -12
  238. package/lib/v2/asiantolick/router.js +2 -2
  239. package/lib/v2/asiantolick/templates/description.art +9 -3
  240. package/lib/v2/asus/radar.js +2 -2
  241. package/lib/v2/atcoder/radar.js +3 -3
  242. package/lib/v2/audiobar/radar.js +1 -1
  243. package/lib/v2/baai/radar.js +3 -3
  244. package/lib/v2/bad/index.js +58 -0
  245. package/lib/v2/bad/maintainer.js +3 -0
  246. package/lib/v2/bad/radar.js +13 -0
  247. package/lib/v2/bad/router.js +3 -0
  248. package/lib/v2/baidu/maintainer.js +3 -2
  249. package/lib/v2/baidu/radar.js +21 -7
  250. package/lib/v2/baidu/router.js +3 -2
  251. package/lib/v2/baidu/templates/tieba_search.art +1 -0
  252. package/lib/v2/baidu/tieba/forum.js +4 -3
  253. package/lib/v2/baidu/tieba/search.js +63 -0
  254. package/lib/v2/baijing/radar.js +2 -2
  255. package/lib/v2/bandcamp/radar.js +3 -3
  256. package/lib/v2/bangumi/maintainer.js +3 -0
  257. package/lib/v2/bangumi/radar.js +24 -12
  258. package/lib/v2/bangumi/router.js +3 -2
  259. package/lib/v2/bangumi/tv/other/followrank.js +42 -0
  260. package/lib/v2/bangumi/tv/subject/ep.js +4 -3
  261. package/lib/v2/bangumi/tv/subject/index.js +18 -16
  262. package/lib/v2/bangumi/tv/subject/offcial-subject-api.js +3 -2
  263. package/lib/v2/bangumi/tv/subject/utils.js +5 -0
  264. package/lib/v2/bangumi/tv/user/wish.js +38 -0
  265. package/lib/v2/baozimh/index.js +10 -15
  266. package/lib/v2/baozimh/radar.js +1 -1
  267. package/lib/v2/barronschina/radar.js +1 -1
  268. package/lib/v2/bast/radar.js +1 -1
  269. package/lib/{routes → v2}/bbc/index.js +4 -4
  270. package/lib/v2/bbc/maintainer.js +4 -0
  271. package/lib/v2/bbc/radar.js +11 -0
  272. package/lib/v2/bbc/router.js +3 -0
  273. package/lib/v2/bbcnewslabs/radar.js +1 -1
  274. package/lib/v2/bdys/radar.js +1 -1
  275. package/lib/v2/behance/radar.js +1 -1
  276. package/lib/v2/bellroy/radar.js +1 -1
  277. package/lib/v2/bendibao/radar.js +1 -1
  278. package/lib/v2/bgmlist/radar.js +1 -1
  279. package/lib/v2/bigquant/radar.js +1 -1
  280. package/lib/v2/bilibili/article.js +2 -17
  281. package/lib/v2/bilibili/cache.js +106 -27
  282. package/lib/v2/bilibili/channel.js +31 -0
  283. package/lib/v2/bilibili/danmaku.js +9 -2
  284. package/lib/v2/bilibili/dynamic.js +54 -18
  285. package/lib/v2/bilibili/fav.js +2 -0
  286. package/lib/v2/bilibili/followers.js +12 -1
  287. package/lib/v2/bilibili/followings.js +16 -1
  288. package/lib/v2/bilibili/followings_article.js +1 -10
  289. package/lib/v2/bilibili/followings_dynamic.js +25 -10
  290. package/lib/v2/bilibili/hotSearch.js +5 -1
  291. package/lib/v2/bilibili/liveSearch.js +18 -10
  292. package/lib/v2/bilibili/maintainer.js +7 -4
  293. package/lib/v2/bilibili/platform.js +43 -0
  294. package/lib/v2/bilibili/radar.js +35 -21
  295. package/lib/v2/bilibili/router.js +7 -4
  296. package/lib/v2/bilibili/userChannel.js +2 -1
  297. package/lib/v2/bilibili/userCollection.js +3 -1
  298. package/lib/v2/bilibili/userFav.js +2 -0
  299. package/lib/v2/bilibili/utils.js +69 -5
  300. package/lib/v2/bilibili/video-all.js +4 -3
  301. package/lib/v2/bilibili/video.js +19 -7
  302. package/lib/v2/bilibili/vsearch.js +3 -2
  303. package/lib/v2/bilibili/watchlater.js +44 -0
  304. package/lib/v2/biodiscover/radar.js +1 -1
  305. package/lib/v2/bioone/radar.js +2 -2
  306. package/lib/v2/biquge/radar.js +1 -1
  307. package/lib/v2/bit/radar.js +4 -4
  308. package/lib/v2/bitbucket/radar.js +2 -2
  309. package/lib/v2/bitmovin/radar.js +1 -1
  310. package/lib/v2/bjfu/grs.js +22 -36
  311. package/lib/v2/bjfu/it/index.js +9 -7
  312. package/lib/v2/bjfu/it/utils.js +38 -29
  313. package/lib/v2/bjfu/jwc/index.js +3 -8
  314. package/lib/v2/bjfu/jwc/utils.js +26 -29
  315. package/lib/v2/bjfu/kjc.js +25 -38
  316. package/lib/v2/bjfu/news/index.js +12 -9
  317. package/lib/v2/bjfu/news/utils.js +17 -19
  318. package/lib/v2/bjfu/radar.js +5 -5
  319. package/lib/v2/bjp/radar.js +1 -1
  320. package/lib/v2/bjsk/keti.js +54 -0
  321. package/lib/v2/bjsk/maintainer.js +1 -0
  322. package/lib/v2/bjsk/radar.js +9 -1
  323. package/lib/v2/bjsk/router.js +1 -0
  324. package/lib/v2/bjwxdxh/radar.js +1 -1
  325. package/lib/v2/bjx/radar.js +2 -2
  326. package/lib/v2/blizzard/maintainer.js +3 -0
  327. package/lib/{routes → v2}/blizzard/news.js +14 -15
  328. package/lib/v2/blizzard/radar.js +13 -0
  329. package/lib/v2/blizzard/router.js +3 -0
  330. package/lib/v2/blockbeats/radar.js +2 -2
  331. package/lib/v2/bloomberg/radar.js +2 -2
  332. package/lib/v2/bloomberg/templates/chart_media.art +21 -0
  333. package/lib/v2/bloomberg/templates/image_figure.art +1 -1
  334. package/lib/v2/bloomberg/utils.js +290 -98
  335. package/lib/v2/bluestacks/radar.js +1 -1
  336. package/lib/v2/bmkg/earthquake.js +29 -0
  337. package/lib/v2/bmkg/maintainer.js +4 -0
  338. package/lib/v2/bmkg/news.js +42 -0
  339. package/lib/v2/bmkg/radar.js +19 -0
  340. package/lib/v2/bmkg/router.js +4 -0
  341. package/lib/v2/bnu/dwxgb.js +17 -22
  342. package/lib/v2/bnu/radar.js +4 -4
  343. package/lib/v2/boc/maintainer.js +3 -0
  344. package/lib/v2/boc/radar.js +13 -0
  345. package/lib/v2/boc/router.js +3 -0
  346. package/lib/{routes → v2}/boc/whpj.js +16 -15
  347. package/lib/v2/bookfere/radar.js +1 -1
  348. package/lib/v2/booru/maintainer.js +3 -0
  349. package/lib/v2/booru/mmda.js +47 -0
  350. package/lib/v2/booru/radar.js +12 -0
  351. package/lib/v2/booru/router.js +3 -0
  352. package/lib/v2/bossdesign/index.js +41 -0
  353. package/lib/v2/bossdesign/maintainer.js +3 -0
  354. package/lib/v2/bossdesign/radar.js +13 -0
  355. package/lib/v2/bossdesign/router.js +3 -0
  356. package/lib/v2/brave/latest.js +4 -2
  357. package/lib/v2/brave/radar.js +1 -1
  358. package/lib/v2/brooklynmuseum/radar.js +1 -1
  359. package/lib/v2/bse/radar.js +1 -1
  360. package/lib/v2/bsky/keyword.js +22 -0
  361. package/lib/v2/bsky/maintainer.js +3 -0
  362. package/lib/v2/bsky/radar.js +13 -0
  363. package/lib/v2/bsky/router.js +3 -0
  364. package/lib/v2/btzj/radar.js +1 -1
  365. package/lib/v2/buaa/maintainer.js +4 -0
  366. package/lib/v2/buaa/news/index.js +46 -0
  367. package/lib/v2/buaa/radar.js +21 -0
  368. package/lib/v2/buaa/router.js +4 -0
  369. package/lib/v2/buaa/sme.js +59 -0
  370. package/lib/v2/bupt/radar.js +1 -1
  371. package/lib/v2/byteclicks/radar.js +2 -2
  372. package/lib/v2/bytes/maintainer.js +0 -1
  373. package/lib/v2/bytes/radar.js +1 -1
  374. package/lib/v2/c114/radar.js +1 -1
  375. package/lib/v2/caai/radar.js +1 -1
  376. package/lib/v2/caareviews/radar.js +3 -3
  377. package/lib/v2/cahkms/radar.js +1 -1
  378. package/lib/v2/caijing/radar.js +1 -1
  379. package/lib/v2/caixin/blog.js +68 -45
  380. package/lib/v2/caixin/latest.js +7 -12
  381. package/lib/v2/caixin/maintainer.js +1 -0
  382. package/lib/v2/caixin/radar.js +14 -6
  383. package/lib/v2/caixin/router.js +2 -1
  384. package/lib/v2/caixin/weekly.js +55 -0
  385. package/lib/v2/caixinglobal/latest.js +64 -0
  386. package/lib/v2/caixinglobal/maintainer.js +3 -0
  387. package/lib/v2/caixinglobal/radar.js +13 -0
  388. package/lib/v2/caixinglobal/router.js +3 -0
  389. package/lib/v2/camchina/radar.js +1 -1
  390. package/lib/v2/cankaoxiaoxi/radar.js +1 -1
  391. package/lib/v2/cartoonmad/radar.js +1 -1
  392. package/lib/v2/cas/genetics/xshd.js +29 -0
  393. package/lib/v2/cas/is/index.js +44 -0
  394. package/lib/v2/cas/maintainer.js +2 -0
  395. package/lib/v2/cas/radar.js +32 -12
  396. package/lib/v2/cas/router.js +2 -0
  397. package/lib/v2/cast/radar.js +1 -1
  398. package/lib/v2/cau/radar.js +2 -2
  399. package/lib/{routes → v2}/caus/index.js +7 -6
  400. package/lib/v2/caus/maintainer.js +3 -0
  401. package/lib/v2/caus/radar.js +13 -0
  402. package/lib/v2/caus/router.js +3 -0
  403. package/lib/v2/cbaigui/index.js +100 -0
  404. package/lib/v2/cbaigui/maintainer.js +3 -0
  405. package/lib/v2/cbaigui/radar.js +18 -0
  406. package/lib/v2/cbaigui/router.js +3 -0
  407. package/lib/v2/cbaigui/templates/figure.art +3 -0
  408. package/lib/v2/cbaigui/utils.js +18 -0
  409. package/lib/v2/cbc/maintainer.js +3 -0
  410. package/lib/v2/cbc/radar.js +13 -0
  411. package/lib/v2/cbc/router.js +3 -0
  412. package/lib/{routes → v2}/cbc/topics.js +13 -26
  413. package/lib/v2/cbirc/radar.js +1 -1
  414. package/lib/v2/cbnweek/radar.js +1 -1
  415. package/lib/v2/ccac/radar.js +1 -1
  416. package/lib/v2/ccf/radar.js +5 -5
  417. package/lib/v2/ccnu/radar.js +4 -4
  418. package/lib/v2/ccreports/radar.js +1 -1
  419. package/lib/v2/cctv/radar.js +5 -5
  420. package/lib/v2/cde/radar.js +11 -11
  421. package/lib/v2/cdi/radar.js +1 -1
  422. package/lib/v2/cdzjryb/radar.js +1 -1
  423. package/lib/v2/cebbank/radar.js +2 -2
  424. package/lib/v2/cfachina/analygarden.js +60 -0
  425. package/lib/v2/cfachina/maintainer.js +3 -0
  426. package/lib/v2/cfachina/radar.js +13 -0
  427. package/lib/v2/cfachina/router.js +3 -0
  428. package/lib/v2/cgtn/radar.js +1 -1
  429. package/lib/v2/chaincatcher/radar.js +2 -2
  430. package/lib/v2/changba/radar.js +1 -1
  431. package/lib/v2/chaoxing/radar.js +1 -1
  432. package/lib/v2/chaping/radar.js +3 -3
  433. package/lib/v2/chiculture/radar.js +1 -1
  434. package/lib/v2/china/finance/finance.js +61 -0
  435. package/lib/v2/china/maintainer.js +1 -0
  436. package/lib/v2/china/news/military/news.js +5 -6
  437. package/lib/v2/china/radar.js +11 -2
  438. package/lib/v2/china/router.js +1 -0
  439. package/lib/v2/chinacef/radar.js +3 -3
  440. package/lib/v2/chinadegrees/radar.js +1 -1
  441. package/lib/v2/chinafactcheck/index.js +20 -21
  442. package/lib/v2/chinafactcheck/radar.js +1 -1
  443. package/lib/v2/chinafactcheck/utils.js +16 -16
  444. package/lib/v2/chinaisa/index.js +83 -0
  445. package/lib/v2/chinaisa/maintainer.js +3 -0
  446. package/lib/v2/chinaisa/radar.js +18 -0
  447. package/lib/v2/chinaisa/router.js +3 -0
  448. package/lib/v2/chinanews/radar.js +1 -1
  449. package/lib/v2/chinathinktanks/radar.js +2 -2
  450. package/lib/v2/chinaventure/radar.js +1 -1
  451. package/lib/v2/chinawriter/index.js +88 -0
  452. package/lib/v2/chinawriter/maintainer.js +3 -0
  453. package/lib/v2/chinawriter/radar.js +660 -0
  454. package/lib/v2/chinawriter/router.js +3 -0
  455. package/lib/v2/chsi/radar.js +3 -3
  456. package/lib/v2/ciidbnu/radar.js +1 -1
  457. package/lib/v2/civitai/radar.js +2 -2
  458. package/lib/v2/clash/radar.js +1 -1
  459. package/lib/v2/clickme/radar.js +2 -2
  460. package/lib/v2/cloudnative/radar.js +1 -1
  461. package/lib/v2/cls/depth.js +35 -33
  462. package/lib/v2/cls/hot.js +38 -29
  463. package/lib/v2/cls/maintainer.js +1 -1
  464. package/lib/v2/cls/radar.js +4 -4
  465. package/lib/v2/cls/telegraph.js +25 -23
  466. package/lib/v2/cls/templates/depth.art +3 -3
  467. package/lib/v2/cls/templates/telegraph.art +5 -5
  468. package/lib/v2/cls/utils.js +12 -6
  469. package/lib/v2/cma/channel.js +87 -0
  470. package/lib/v2/cma/maintainer.js +3 -0
  471. package/lib/v2/cma/radar.js +18 -0
  472. package/lib/v2/cma/router.js +3 -0
  473. package/lib/v2/cma/templates/description.art +13 -0
  474. package/lib/v2/cmde/radar.js +1 -1
  475. package/lib/v2/cmpxchg8b/articles.js +43 -0
  476. package/lib/v2/cmpxchg8b/maintainer.js +3 -0
  477. package/lib/v2/cmpxchg8b/radar.js +13 -0
  478. package/lib/v2/cmpxchg8b/router.js +3 -0
  479. package/lib/v2/cn-healthcare/radar.js +1 -1
  480. package/lib/v2/cna/index.js +64 -0
  481. package/lib/v2/cna/maintainer.js +4 -0
  482. package/lib/v2/cna/radar.js +19 -0
  483. package/lib/v2/cna/router.js +4 -0
  484. package/lib/{routes/cna → v2/cna/web}/index.js +18 -10
  485. package/lib/v2/cnbc/radar.js +2 -2
  486. package/lib/v2/cnbeta/radar.js +3 -3
  487. package/lib/v2/cnbeta/type.js +15 -9
  488. package/lib/v2/cnbeta/utils.js +3 -0
  489. package/lib/v2/cnblogs/radar.js +5 -5
  490. package/lib/v2/cncf/radar.js +4 -4
  491. package/lib/v2/cneb/maintainer.js +4 -0
  492. package/lib/v2/cneb/radar.js +19 -0
  493. package/lib/v2/cneb/router.js +5 -0
  494. package/lib/v2/cneb/yjxw.js +72 -0
  495. package/lib/v2/cneb/yjxx.js +50 -0
  496. package/lib/v2/cngal/radar.js +2 -2
  497. package/lib/v2/cnjxol/radar.js +2 -2
  498. package/lib/v2/cnki/author.js +38 -26
  499. package/lib/v2/cnki/journals.js +28 -32
  500. package/lib/v2/cnki/maintainer.js +2 -2
  501. package/lib/v2/cnki/radar.js +3 -3
  502. package/lib/v2/cntheory/radar.js +1 -1
  503. package/lib/v2/cntv/radar.js +1 -1
  504. package/lib/v2/codeforces/radar.js +2 -2
  505. package/lib/v2/coindesk/radar.js +1 -1
  506. package/lib/v2/comicat/maintainer.js +3 -0
  507. package/lib/v2/comicat/radar.js +11 -0
  508. package/lib/v2/comicat/router.js +3 -0
  509. package/lib/v2/comicat/search.js +42 -0
  510. package/lib/v2/comicskingdom/radar.js +1 -1
  511. package/lib/v2/consumer/radar.js +1 -1
  512. package/lib/v2/cool18/radar.js +1 -1
  513. package/lib/v2/coolapk/radar.js +6 -6
  514. package/lib/v2/coolapk/utils.js +3 -4
  515. package/lib/v2/coomer/radar.js +2 -2
  516. package/lib/v2/coomer/utils.js +3 -1
  517. package/lib/v2/copymanga/comic.js +74 -58
  518. package/lib/v2/copymanga/radar.js +1 -1
  519. package/lib/v2/copymanga/templates/comic.art +1 -1
  520. package/lib/v2/cpcey/radar.js +2 -2
  521. package/lib/v2/cpuid/radar.js +1 -1
  522. package/lib/v2/cqgas/maintainer.js +3 -0
  523. package/lib/v2/cqgas/radar.js +13 -0
  524. package/lib/v2/cqgas/router.js +3 -0
  525. package/lib/v2/cqgas/tqtz.js +36 -0
  526. package/lib/v2/cqwu/index.js +11 -8
  527. package/lib/v2/cqwu/radar.js +4 -4
  528. package/lib/v2/crac/radar.js +1 -1
  529. package/lib/v2/creative-comic/book.js +40 -34
  530. package/lib/v2/creative-comic/radar.js +1 -1
  531. package/lib/v2/creative-comic/utils.js +1 -2
  532. package/lib/v2/crossbell/radar.js +2 -2
  533. package/lib/v2/csc/radar.js +4 -4
  534. package/lib/v2/cscse/radar.js +1 -1
  535. package/lib/v2/csdn/radar.js +1 -1
  536. package/lib/v2/cssn/iolaw.js +38 -0
  537. package/lib/v2/cssn/maintainer.js +3 -0
  538. package/lib/v2/cssn/radar.js +11 -0
  539. package/lib/v2/cssn/router.js +3 -0
  540. package/lib/v2/cste/radar.js +1 -1
  541. package/lib/v2/csu/radar.js +3 -3
  542. package/lib/v2/cts/radar.js +1 -1
  543. package/lib/v2/cuc/radar.js +1 -1
  544. package/lib/v2/curiouscat/maintainer.js +3 -0
  545. package/lib/v2/curiouscat/radar.js +13 -0
  546. package/lib/v2/curiouscat/router.js +3 -0
  547. package/lib/{routes → v2}/curiouscat/user.js +4 -4
  548. package/lib/v2/curius/radar.js +1 -1
  549. package/lib/v2/cw/radar.js +4 -4
  550. package/lib/v2/cyzone/author.js +20 -0
  551. package/lib/v2/cyzone/index.js +27 -0
  552. package/lib/v2/cyzone/label.js +20 -0
  553. package/lib/v2/cyzone/maintainer.js +7 -0
  554. package/lib/v2/cyzone/radar.js +25 -0
  555. package/lib/v2/cyzone/router.js +6 -0
  556. package/lib/v2/cyzone/util.js +125 -0
  557. package/lib/v2/cztv/radar.js +2 -2
  558. package/lib/v2/dahecube/radar.js +1 -1
  559. package/lib/v2/daily/discussed.js +73 -0
  560. package/lib/v2/daily/index.js +83 -0
  561. package/lib/v2/daily/maintainer.js +5 -0
  562. package/lib/v2/daily/radar.js +25 -0
  563. package/lib/v2/daily/router.js +5 -0
  564. package/lib/v2/daily/upvoted.js +77 -0
  565. package/lib/v2/daily/utils.js +39 -0
  566. package/lib/v2/dapenti/radar.js +2 -2
  567. package/lib/v2/darwinawards/radar.js +1 -1
  568. package/lib/v2/dayanzai/radar.js +1 -1
  569. package/lib/v2/dblp/maintainer.js +3 -0
  570. package/lib/v2/dblp/publication.js +70 -0
  571. package/lib/v2/dblp/radar.js +13 -0
  572. package/lib/v2/dblp/router.js +3 -0
  573. package/lib/v2/dbmv/radar.js +1 -1
  574. package/lib/v2/dcard/radar.js +4 -4
  575. package/lib/v2/dcfever/radar.js +4 -4
  576. package/lib/v2/ddosi/radar.js +2 -2
  577. package/lib/v2/deadline/maintainer.js +3 -0
  578. package/lib/v2/deadline/posts.js +53 -0
  579. package/lib/v2/deadline/radar.js +13 -0
  580. package/lib/v2/deadline/router.js +3 -0
  581. package/lib/v2/deadline/templates/desc.art +10 -0
  582. package/lib/v2/dedao/radar.js +6 -6
  583. package/lib/v2/deepmind/radar.js +1 -1
  584. package/lib/v2/deltaio/blog.js +33 -0
  585. package/lib/v2/deltaio/maintainer.js +3 -0
  586. package/lib/v2/deltaio/radar.js +13 -0
  587. package/lib/v2/deltaio/router.js +3 -0
  588. package/lib/v2/devolverdigital/blog.js +50 -0
  589. package/lib/v2/devolverdigital/maintainer.js +3 -0
  590. package/lib/v2/devolverdigital/radar.js +13 -0
  591. package/lib/v2/devolverdigital/router.js +3 -0
  592. package/lib/v2/dgjyw/radar.js +1 -1
  593. package/lib/v2/dhu/maintainer.js +3 -0
  594. package/lib/v2/dhu/news/xsxx.js +42 -0
  595. package/lib/v2/dhu/radar.js +22 -2
  596. package/lib/v2/dhu/router.js +3 -0
  597. package/lib/v2/dhu/yjs/news.js +47 -0
  598. package/lib/v2/dhu/yjs/zs.js +46 -0
  599. package/lib/v2/diandong/radar.js +2 -2
  600. package/lib/v2/diershoubing/radar.js +1 -1
  601. package/lib/v2/discord/channel.js +8 -8
  602. package/lib/v2/discord/maintainer.js +1 -1
  603. package/lib/v2/discord/radar.js +3 -3
  604. package/lib/v2/discord/router.js +1 -1
  605. package/lib/v2/discourse/maintainer.js +4 -0
  606. package/lib/v2/discourse/notifications.js +39 -0
  607. package/lib/v2/discourse/posts.js +25 -0
  608. package/lib/v2/discourse/router.js +4 -0
  609. package/lib/v2/discourse/utils.js +12 -0
  610. package/lib/v2/discuz/discuz.js +156 -0
  611. package/lib/v2/discuz/maintainer.js +5 -0
  612. package/lib/v2/discuz/radar.js +0 -0
  613. package/lib/v2/discuz/router.js +5 -0
  614. package/lib/v2/disinfo/radar.js +1 -1
  615. package/lib/v2/disinformationindex/radar.js +2 -2
  616. package/lib/v2/diskanalyzer/radar.js +1 -1
  617. package/lib/v2/distill/radar.js +1 -1
  618. package/lib/v2/dlnews/category.js +81 -0
  619. package/lib/v2/dlnews/maintainer.js +3 -0
  620. package/lib/v2/dlnews/radar.js +19 -0
  621. package/lib/v2/dlnews/router.js +3 -0
  622. package/lib/v2/dlnews/templates/description.art +24 -0
  623. package/lib/v2/dlnews/utils.js +22 -0
  624. package/lib/v2/dlsite/ci-en/article.js +1 -1
  625. package/lib/v2/dlsite/radar.js +4 -4
  626. package/lib/v2/dmzj/radar.js +10 -10
  627. package/lib/v2/dn/maintainer.js +3 -0
  628. package/lib/v2/dn/news.js +90 -0
  629. package/lib/v2/dn/radar.js +55 -0
  630. package/lib/v2/dn/router.js +3 -0
  631. package/lib/v2/dn/templates/description.art +15 -0
  632. package/lib/v2/dnaindia/category.js +66 -0
  633. package/lib/v2/dnaindia/maintainer.js +4 -0
  634. package/lib/v2/dnaindia/radar.js +19 -0
  635. package/lib/v2/dnaindia/router.js +4 -0
  636. package/lib/v2/dockerhub/radar.js +2 -2
  637. package/lib/v2/docschina/radar.js +1 -1
  638. package/lib/v2/domp4/detail.js +30 -2
  639. package/lib/v2/domp4/latest.js +7 -4
  640. package/lib/v2/domp4/radar.js +3 -3
  641. package/lib/v2/domp4/utils.js +15 -2
  642. package/lib/v2/dongqiudi/radar.js +6 -6
  643. package/lib/v2/dongqiudi/special.js +13 -21
  644. package/lib/v2/dongqiudi/utils.js +26 -2
  645. package/lib/v2/dorohedoro/maintainer.js +3 -0
  646. package/lib/v2/dorohedoro/news.js +71 -0
  647. package/lib/v2/dorohedoro/radar.js +13 -0
  648. package/lib/v2/dorohedoro/router.js +3 -0
  649. package/lib/v2/douban/maintainer.js +4 -2
  650. package/lib/v2/douban/other/discussion.js +58 -0
  651. package/lib/v2/douban/other/doulist.js +9 -7
  652. package/lib/v2/douban/other/list.js +28 -19
  653. package/lib/v2/douban/other/recommended.js +68 -0
  654. package/lib/v2/douban/people/status.js +1 -1
  655. package/lib/v2/douban/radar.js +16 -8
  656. package/lib/v2/douban/router.js +3 -1
  657. package/lib/v2/douyin/live.js +45 -15
  658. package/lib/v2/douyin/radar.js +3 -3
  659. package/lib/v2/douyu/radar.js +3 -3
  660. package/lib/v2/dribbble/maintainer.js +5 -0
  661. package/lib/v2/dribbble/radar.js +25 -0
  662. package/lib/v2/dribbble/router.js +5 -0
  663. package/lib/v2/dribbble/templates/description.art +15 -0
  664. package/lib/v2/dribbble/utils.js +156 -0
  665. package/lib/v2/dtcj/radar.js +3 -3
  666. package/lib/v2/duozhuayu/maintainer.js +3 -0
  667. package/lib/v2/duozhuayu/radar.js +13 -0
  668. package/lib/v2/duozhuayu/router.js +3 -0
  669. package/lib/{routes → v2}/duozhuayu/search.js +23 -32
  670. package/lib/v2/duozhuayu/templates/book.art +10 -0
  671. package/lib/v2/dushu/radar.js +2 -2
  672. package/lib/v2/dut/radar.js +13 -13
  673. package/lib/v2/dx2025/radar.js +2 -2
  674. package/lib/v2/dxy/maintainer.js +4 -0
  675. package/lib/v2/dxy/profile/thread.js +82 -0
  676. package/lib/v2/dxy/radar.js +21 -0
  677. package/lib/v2/dxy/router.js +4 -0
  678. package/lib/v2/dxy/special.js +79 -0
  679. package/lib/v2/dxy/utils.js +72 -0
  680. package/lib/v2/e-hentai/radar.js +6 -6
  681. package/lib/v2/eagle/radar.js +15 -15
  682. package/lib/v2/earthquake/radar.js +2 -2
  683. package/lib/v2/eastday/radar.js +4 -4
  684. package/lib/v2/eastmoney/maintainer.js +1 -0
  685. package/lib/v2/eastmoney/radar.js +10 -2
  686. package/lib/v2/eastmoney/report/index.js +59 -0
  687. package/lib/v2/eastmoney/router.js +2 -1
  688. package/lib/v2/ecnu/radar.js +3 -3
  689. package/lib/v2/economist/full.js +4 -2
  690. package/lib/v2/economist/radar.js +4 -4
  691. package/lib/v2/ecust/jwc/notice.js +66 -0
  692. package/lib/v2/ecust/maintainer.js +1 -0
  693. package/lib/v2/ecust/radar.js +10 -2
  694. package/lib/v2/ecust/router.js +1 -0
  695. package/lib/v2/eet-china/maintainer.js +4 -0
  696. package/lib/v2/eet-china/mp/index.js +10 -0
  697. package/lib/v2/eet-china/mp/tags.js +10 -0
  698. package/lib/v2/eet-china/mp/util.js +67 -0
  699. package/lib/v2/eet-china/radar.js +24 -0
  700. package/lib/v2/eet-china/router.js +4 -0
  701. package/lib/v2/egsea/flash.js +30 -0
  702. package/lib/v2/egsea/maintainer.js +3 -0
  703. package/lib/v2/egsea/radar.js +13 -0
  704. package/lib/v2/egsea/router.js +3 -0
  705. package/lib/v2/ehentai/ehapi.js +3 -1
  706. package/lib/v2/elasticsearch-cn/radar.js +1 -1
  707. package/lib/v2/eleduck/radar.js +3 -3
  708. package/lib/v2/elsevier/journal.js +1 -1
  709. package/lib/v2/elsevier/radar.js +2 -2
  710. package/lib/v2/embassy/radar.js +30 -30
  711. package/lib/v2/embassy/supportedList.js +4 -4
  712. package/lib/v2/ems/radar.js +2 -2
  713. package/lib/v2/epicgames/index.js +18 -11
  714. package/lib/v2/epicgames/radar.js +1 -1
  715. package/lib/v2/epicgames/templates/description.art +1 -0
  716. package/lib/v2/eprice/radar.js +2 -2
  717. package/lib/v2/eventernote/radar.js +1 -1
  718. package/lib/v2/ezone/radar.js +1 -1
  719. package/lib/v2/famitsu/radar.js +1 -1
  720. package/lib/v2/fantia/radar.js +1 -1
  721. package/lib/v2/fantia/user.js +16 -0
  722. package/lib/v2/farmatters/index.js +85 -0
  723. package/lib/v2/farmatters/maintainer.js +7 -0
  724. package/lib/v2/farmatters/radar.js +36 -0
  725. package/lib/v2/farmatters/router.js +6 -0
  726. package/lib/v2/farmatters/templates/description.art +9 -0
  727. package/lib/v2/fastbull/radar.js +2 -2
  728. package/lib/v2/fda/radar.js +1 -1
  729. package/lib/v2/feng/radar.js +1 -1
  730. package/lib/v2/ff14/radar.js +2 -2
  731. package/lib/v2/fffdm/radar.js +1 -1
  732. package/lib/v2/filmdeepfocus/radar.js +1 -1
  733. package/lib/v2/finology/bullets.js +35 -0
  734. package/lib/v2/finology/maintainer.js +6 -0
  735. package/lib/v2/finology/mostViewed.js +33 -0
  736. package/lib/v2/finology/radar.js +31 -0
  737. package/lib/v2/finology/router.js +6 -0
  738. package/lib/v2/finology/tag.js +33 -0
  739. package/lib/v2/finology/utils.js +58 -0
  740. package/lib/v2/finviz/news.js +44 -20
  741. package/lib/v2/finviz/radar.js +2 -2
  742. package/lib/v2/firecore/index.js +37 -0
  743. package/lib/v2/firecore/maintainer.js +3 -0
  744. package/lib/v2/firecore/radar.js +13 -0
  745. package/lib/v2/firecore/router.js +3 -0
  746. package/lib/{routes → v2}/firefox/addons.js +3 -1
  747. package/lib/v2/firefox/breaches.js +38 -0
  748. package/lib/v2/firefox/maintainer.js +2 -0
  749. package/lib/v2/firefox/radar.js +18 -1
  750. package/lib/{routes → v2}/firefox/release.js +3 -3
  751. package/lib/v2/firefox/router.js +3 -1
  752. package/lib/v2/fisher-spb/radar.js +1 -1
  753. package/lib/v2/fishshell/radar.js +1 -1
  754. package/lib/v2/fjksbm/radar.js +1 -1
  755. package/lib/v2/flyert/creditcard.js +3 -0
  756. package/lib/v2/flyert/radar.js +2 -2
  757. package/lib/v2/flyert/utils.js +14 -8
  758. package/lib/v2/focustaiwan/radar.js +1 -1
  759. package/lib/v2/followin/index.js +35 -0
  760. package/lib/v2/followin/kol.js +25 -0
  761. package/lib/v2/followin/maintainer.js +7 -0
  762. package/lib/v2/followin/news.js +21 -0
  763. package/lib/v2/followin/radar.js +37 -0
  764. package/lib/v2/followin/router.js +7 -0
  765. package/lib/v2/followin/tag.js +44 -0
  766. package/lib/v2/followin/templates/thread.art +15 -0
  767. package/lib/v2/followin/topic.js +25 -0
  768. package/lib/v2/followin/utils.js +84 -0
  769. package/lib/v2/foresightnews/article.js +22 -0
  770. package/lib/v2/foresightnews/column.js +28 -0
  771. package/lib/v2/foresightnews/index.js +13 -76
  772. package/lib/v2/foresightnews/news.js +23 -0
  773. package/lib/v2/foresightnews/radar.js +6 -6
  774. package/lib/v2/foresightnews/router.js +4 -1
  775. package/lib/v2/foresightnews/templates/description.art +13 -0
  776. package/lib/v2/foresightnews/util.js +96 -0
  777. package/lib/v2/foreverblog/radar.js +1 -1
  778. package/lib/v2/fortnite/radar.js +1 -1
  779. package/lib/v2/fortunechina/radar.js +1 -1
  780. package/lib/v2/fosshub/radar.js +1 -1
  781. package/lib/v2/freebuf/index.js +41 -0
  782. package/lib/v2/freebuf/maintainer.js +3 -0
  783. package/lib/v2/freebuf/radar.js +13 -0
  784. package/lib/v2/freebuf/router.js +3 -0
  785. package/lib/v2/freecomputerbooks/index.js +41 -13
  786. package/lib/v2/freecomputerbooks/radar.js +2 -2
  787. package/lib/v2/freecomputerbooks/templates/desc.art +3 -0
  788. package/lib/v2/freewechat/radar.js +1 -1
  789. package/lib/v2/ft/myft.js +9 -2
  790. package/lib/v2/ft/radar.js +3 -3
  791. package/lib/v2/fuliba/latest.js +25 -0
  792. package/lib/v2/fuliba/maintainer.js +3 -0
  793. package/lib/v2/fuliba/radar.js +15 -0
  794. package/lib/v2/fuliba/router.js +3 -0
  795. package/lib/v2/furstar/radar.js +3 -3
  796. package/lib/v2/futunn/main.js +67 -0
  797. package/lib/v2/futunn/maintainer.js +3 -0
  798. package/lib/v2/futunn/radar.js +13 -0
  799. package/lib/v2/futunn/router.js +5 -0
  800. package/lib/v2/futunn/templates/description.art +6 -0
  801. package/lib/v2/fx-markets/radar.js +4 -4
  802. package/lib/v2/fx678/kx.js +44 -0
  803. package/lib/v2/fx678/maintainer.js +3 -0
  804. package/lib/v2/fx678/radar.js +13 -0
  805. package/lib/v2/fx678/router.js +3 -0
  806. package/lib/v2/fzmtr/announcements.js +38 -0
  807. package/lib/v2/fzmtr/maintainer.js +3 -0
  808. package/lib/v2/fzmtr/radar.js +11 -0
  809. package/lib/v2/fzmtr/router.js +3 -0
  810. package/lib/v2/gameapps/radar.js +1 -1
  811. package/lib/v2/gamebase/radar.js +1 -1
  812. package/lib/v2/gamegene/maintainer.js +3 -0
  813. package/lib/v2/gamegene/news.js +50 -0
  814. package/lib/v2/gamegene/radar.js +13 -0
  815. package/lib/v2/gamegene/router.js +3 -0
  816. package/lib/v2/gamer/radar.js +3 -3
  817. package/lib/v2/gamersecret/radar.js +4 -4
  818. package/lib/v2/gamme/radar.js +4 -4
  819. package/lib/v2/gaze/radar.js +1 -1
  820. package/lib/v2/gcores/category.js +1 -0
  821. package/lib/v2/gcores/collection.js +136 -0
  822. package/lib/v2/gcores/maintainer.js +1 -0
  823. package/lib/v2/gcores/radar.js +10 -4
  824. package/lib/v2/gcores/radio.js +1 -0
  825. package/lib/v2/gcores/router.js +1 -0
  826. package/lib/v2/gdsrx/index.js +72 -0
  827. package/lib/v2/gdsrx/maintainer.js +3 -0
  828. package/lib/v2/gdsrx/radar.js +61 -0
  829. package/lib/v2/gdsrx/router.js +3 -0
  830. package/lib/v2/gdut/radar.js +1 -1
  831. package/lib/v2/gelonghui/radar.js +6 -6
  832. package/lib/v2/geocaching/radar.js +1 -1
  833. package/lib/v2/getdr/radar.js +1 -1
  834. package/lib/v2/getitfree/index.js +42 -34
  835. package/lib/v2/getitfree/maintainer.js +3 -1
  836. package/lib/v2/getitfree/radar.js +20 -3
  837. package/lib/v2/getitfree/router.js +10 -2
  838. package/lib/v2/getitfree/util.js +326 -0
  839. package/lib/v2/gettr/radar.js +1 -1
  840. package/lib/v2/gf-cn/radar.js +1 -1
  841. package/lib/v2/gihyo/radar.js +1 -1
  842. package/lib/v2/gitee/radar.js +4 -4
  843. package/lib/v2/github/comments.js +65 -3
  844. package/lib/v2/github/gist.js +35 -0
  845. package/lib/v2/github/maintainer.js +3 -1
  846. package/lib/v2/github/pulse.js +87 -0
  847. package/lib/v2/github/radar.js +34 -14
  848. package/lib/v2/github/router.js +3 -1
  849. package/lib/v2/github/templates/pulse-description.art +24 -0
  850. package/lib/v2/github/topic.js +26 -10
  851. package/lib/v2/gitpod/radar.js +2 -2
  852. package/lib/v2/globallawreview/index.js +55 -0
  853. package/lib/v2/globallawreview/maintainer.js +3 -0
  854. package/lib/v2/globallawreview/radar.js +13 -0
  855. package/lib/v2/globallawreview/router.js +3 -0
  856. package/lib/v2/gocn/jobs.js +14 -9
  857. package/lib/v2/gocn/maintainer.js +3 -1
  858. package/lib/v2/gocn/news.js +31 -0
  859. package/lib/v2/gocn/radar.js +10 -4
  860. package/lib/v2/gocn/router.js +3 -1
  861. package/lib/v2/gocn/topics.js +15 -7
  862. package/lib/v2/gocn/utils.js +38 -0
  863. package/lib/v2/gogoanimehd/maintainer.js +3 -0
  864. package/lib/v2/gogoanimehd/radar.js +13 -0
  865. package/lib/v2/gogoanimehd/recent-releases.js +37 -0
  866. package/lib/v2/gogoanimehd/router.js +3 -0
  867. package/lib/v2/good/radar.js +1 -1
  868. package/lib/v2/google/alerts.js +33 -0
  869. package/lib/v2/google/maintainer.js +1 -0
  870. package/lib/v2/google/radar.js +8 -8
  871. package/lib/v2/google/router.js +1 -0
  872. package/lib/v2/gov/cac/index.js +64 -0
  873. package/lib/v2/gov/ccdi/index.js +1 -1
  874. package/lib/v2/gov/ccdi/utils.js +1 -1
  875. package/lib/{routes → v2}/gov/chinatax/latest.js +14 -8
  876. package/lib/v2/gov/chongqing/gzw.js +68 -0
  877. package/lib/v2/gov/chongqing/rsks.js +38 -0
  878. package/lib/v2/gov/chongqing/sydwgkzp.js +47 -0
  879. package/lib/v2/gov/forestry/gjlckjdjt.js +96 -0
  880. package/lib/v2/gov/forestry/templates/description.art +15 -0
  881. package/lib/v2/gov/maintainer.js +20 -3
  882. package/lib/v2/gov/mem/sgcc.js +64 -0
  883. package/lib/v2/gov/moa/zdscxx.js +104 -0
  884. package/lib/v2/gov/mot/index.js +66 -0
  885. package/lib/v2/gov/news/index.js +10 -5
  886. package/lib/v2/gov/nifdc/index.js +42 -50
  887. package/lib/v2/gov/nmpa/generic.js +5 -27
  888. package/lib/v2/gov/npc/index.js +47 -0
  889. package/lib/v2/gov/nrta/dsj.js +59 -0
  890. package/lib/v2/gov/nsfc/index.js +47 -45
  891. package/lib/v2/gov/nsfc/shortcuts.js +52 -0
  892. package/lib/v2/gov/radar.js +487 -119
  893. package/lib/v2/gov/router.js +21 -3
  894. package/lib/v2/gov/samr/templates/description.art +26 -0
  895. package/lib/v2/gov/samr/xgzlyhd.js +100 -0
  896. package/lib/v2/gov/shanghai/wgj/templates/wgj.art +15 -0
  897. package/lib/v2/gov/shanghai/wgj/wgj.js +72 -0
  898. package/lib/v2/gov/shenzhen/xxgk/zfxxgj.js +1 -1
  899. package/lib/v2/gov/shenzhen/zjj/index.js +45 -0
  900. package/lib/v2/gov/zhejiang/gwy.js +84 -0
  901. package/lib/v2/gov/zhengce/index.js +99 -0
  902. package/lib/v2/gq/radar.js +1 -1
  903. package/lib/v2/gq/tw/index.js +1 -1
  904. package/lib/v2/greasyfork/maintainer.js +1 -0
  905. package/lib/v2/greasyfork/radar.js +3 -3
  906. package/lib/v2/greasyfork/router.js +1 -0
  907. package/lib/v2/greasyfork/scripts.js +25 -20
  908. package/lib/v2/grist/featured.js +31 -0
  909. package/lib/v2/grist/index.js +19 -0
  910. package/lib/v2/grist/maintainer.js +6 -0
  911. package/lib/v2/grist/radar.js +31 -0
  912. package/lib/v2/grist/router.js +6 -0
  913. package/lib/v2/grist/series.js +21 -0
  914. package/lib/v2/grist/topic.js +21 -0
  915. package/lib/v2/grist/utils.js +24 -0
  916. package/lib/v2/grubstreet/maintainer.js +3 -0
  917. package/lib/v2/grubstreet/radar.js +13 -0
  918. package/lib/v2/grubstreet/router.js +3 -0
  919. package/lib/v2/grubstreet/utils.js +84 -0
  920. package/lib/v2/guancha/radar.js +6 -6
  921. package/lib/v2/guandian/radar.js +1 -1
  922. package/lib/v2/guangdiu/maintainer.js +1 -0
  923. package/lib/v2/guangdiu/radar.js +9 -3
  924. package/lib/v2/guangdiu/router.js +1 -0
  925. package/lib/v2/guangdiu/search.js +40 -0
  926. package/lib/v2/guangzhoumetro/maintainer.js +3 -0
  927. package/lib/v2/guangzhoumetro/news.js +37 -0
  928. package/lib/v2/guangzhoumetro/radar.js +11 -0
  929. package/lib/v2/guangzhoumetro/router.js +3 -0
  930. package/lib/v2/guanhai/maintainer.js +0 -1
  931. package/lib/v2/guanhai/radar.js +1 -1
  932. package/lib/v2/guduodata/radar.js +1 -1
  933. package/lib/v2/guggenheim/radar.js +1 -1
  934. package/lib/v2/gumroad/radar.js +1 -1
  935. package/lib/v2/guokr/radar.js +2 -2
  936. package/lib/v2/gxmzu/lib.js +70 -0
  937. package/lib/v2/gxmzu/maintainer.js +1 -0
  938. package/lib/v2/gxmzu/radar.js +10 -2
  939. package/lib/v2/gxmzu/router.js +1 -0
  940. package/lib/v2/gz-cmc/radar.js +1 -1
  941. package/lib/v2/gzdaily/radar.js +1 -1
  942. package/lib/v2/gzh360/radar.js +2 -2
  943. package/lib/v2/gzhu/radar.js +1 -1
  944. package/lib/v2/hackernews/radar.js +1 -1
  945. package/lib/v2/hackertalk/radar.js +1 -1
  946. package/lib/v2/hacking8/index.js +45 -0
  947. package/lib/v2/hacking8/maintainer.js +4 -0
  948. package/lib/v2/hacking8/radar.js +19 -0
  949. package/lib/v2/hacking8/router.js +4 -0
  950. package/lib/v2/hacking8/search.js +48 -0
  951. package/lib/v2/hackmd/radar.js +1 -1
  952. package/lib/v2/hackyournews/index.js +50 -0
  953. package/lib/v2/hackyournews/maintainer.js +3 -0
  954. package/lib/v2/hackyournews/radar.js +13 -0
  955. package/lib/v2/hackyournews/router.js +3 -0
  956. package/lib/v2/hafu/radar.js +1 -1
  957. package/lib/v2/hakkatv/radar.js +1 -1
  958. package/lib/v2/hameln/radar.js +1 -1
  959. package/lib/{routes/universities → v2}/harvard/health/blog.js +8 -7
  960. package/lib/v2/harvard/maintainer.js +3 -0
  961. package/lib/v2/harvard/radar.js +13 -0
  962. package/lib/v2/harvard/router.js +3 -0
  963. package/lib/v2/hashnode/radar.js +1 -1
  964. package/lib/v2/hbr/radar.js +1 -1
  965. package/lib/v2/hdu/radar.js +2 -2
  966. package/lib/v2/hebtv/maintainer.js +3 -0
  967. package/lib/v2/hebtv/nong-bo-shi-zai-xing-dong.js +109 -0
  968. package/lib/v2/hebtv/radar.js +13 -0
  969. package/lib/v2/hebtv/router.js +3 -0
  970. package/lib/v2/hebtv/templates/description.art +24 -0
  971. package/lib/v2/hellobtc/radar.js +13 -13
  972. package/lib/v2/hellogithub/radar.js +5 -5
  973. package/lib/v2/hex-rays/radar.js +1 -1
  974. package/lib/v2/hinatazaka46/blog.js +40 -0
  975. package/lib/v2/hinatazaka46/maintainer.js +4 -0
  976. package/lib/v2/hinatazaka46/news.js +51 -0
  977. package/lib/v2/hinatazaka46/radar.js +19 -0
  978. package/lib/v2/hinatazaka46/router.js +4 -0
  979. package/lib/v2/hit/radar.js +3 -3
  980. package/lib/v2/hitsz/radar.js +1 -1
  981. package/lib/v2/hitwh/radar.js +1 -1
  982. package/lib/v2/hizu/radar.js +1 -1
  983. package/lib/v2/hjedd/radar.js +8 -8
  984. package/lib/v2/hk01/radar.js +6 -6
  985. package/lib/v2/hkej/radar.js +1 -1
  986. package/lib/v2/hkepc/radar.js +2 -2
  987. package/lib/v2/hket/radar.js +5 -5
  988. package/lib/v2/hkjunkcall/radar.js +1 -1
  989. package/lib/v2/hljucm/radar.js +1 -1
  990. package/lib/v2/hnrb/radar.js +1 -1
  991. package/lib/v2/hnu/careers.js +33 -0
  992. package/lib/v2/hnu/maintainer.js +3 -0
  993. package/lib/v2/hnu/radar.js +12 -0
  994. package/lib/v2/hnu/router.js +3 -0
  995. package/lib/v2/hongkong/radar.js +2 -2
  996. package/lib/v2/hostmonit/cloudflareyes.js +91 -0
  997. package/lib/v2/hostmonit/maintainer.js +3 -0
  998. package/lib/v2/hostmonit/radar.js +17 -0
  999. package/lib/v2/hostmonit/router.js +8 -0
  1000. package/lib/v2/hostmonit/templates/description.art +28 -0
  1001. package/lib/v2/hostmonit/templates/title.art +1 -0
  1002. package/lib/v2/hotchina/radar.js +3 -3
  1003. package/lib/v2/hotukdeals/radar.js +5 -5
  1004. package/lib/v2/houxu/radar.js +4 -4
  1005. package/lib/v2/hrbeu/radar.js +14 -14
  1006. package/lib/v2/hrbeu/router.js +1 -1
  1007. package/lib/v2/hrbeu/uae/news.js +66 -0
  1008. package/lib/v2/hrbust/radar.js +1 -1
  1009. package/lib/v2/huangz/radar.js +1 -1
  1010. package/lib/v2/huanqiu/radar.js +1 -1
  1011. package/lib/v2/huggingface/daily-papers.js +23 -0
  1012. package/lib/v2/huggingface/maintainer.js +3 -0
  1013. package/lib/v2/huggingface/radar.js +13 -0
  1014. package/lib/v2/huggingface/router.js +3 -0
  1015. package/lib/v2/hunanpea/radar.js +1 -1
  1016. package/lib/v2/hunau/gfxy/index.js +11 -0
  1017. package/lib/v2/hunau/ied.js +12 -0
  1018. package/lib/v2/hunau/jwc.js +10 -0
  1019. package/lib/v2/hunau/maintainer.js +6 -0
  1020. package/lib/v2/hunau/radar.js +37 -0
  1021. package/lib/v2/hunau/router.js +6 -0
  1022. package/lib/v2/hunau/utils/categoryTitle.js +31 -0
  1023. package/lib/v2/hunau/utils/common.js +61 -0
  1024. package/lib/v2/hunau/utils/indexPage.js +10 -0
  1025. package/lib/v2/hunau/utils/newsContent.js +47 -0
  1026. package/lib/v2/hunau/xky/index.js +12 -0
  1027. package/lib/v2/huoxian/maintainer.js +3 -0
  1028. package/lib/v2/huoxian/radar.js +11 -0
  1029. package/lib/v2/huoxian/router.js +3 -0
  1030. package/lib/v2/huoxian/zone.js +19 -0
  1031. package/lib/v2/hupu/radar.js +4 -4
  1032. package/lib/v2/hust/aia/news.js +0 -0
  1033. package/lib/v2/hust/aia/notice.js +0 -0
  1034. package/lib/v2/hust/radar.js +3 -3
  1035. package/lib/v2/huxiu/radar.js +7 -7
  1036. package/lib/v2/hyqss/radar.js +2 -2
  1037. package/lib/v2/i-cable/category.js +74 -0
  1038. package/lib/v2/i-cable/maintainer.js +3 -0
  1039. package/lib/v2/i-cable/radar.js +13 -0
  1040. package/lib/v2/i-cable/router.js +3 -0
  1041. package/lib/v2/i-cable/templates/desc.art +8 -0
  1042. package/lib/v2/ianspriggs/index.js +90 -0
  1043. package/lib/v2/ianspriggs/maintainer.js +3 -0
  1044. package/lib/v2/ianspriggs/radar.js +17 -0
  1045. package/lib/v2/ianspriggs/router.js +3 -0
  1046. package/lib/v2/ianspriggs/templates/description.art +13 -0
  1047. package/lib/v2/ibc/maintainer.js +4 -0
  1048. package/lib/{routes/maitta/index.js → v2/ibc/maitta.js} +11 -8
  1049. package/lib/v2/ibc/radar.js +19 -0
  1050. package/lib/v2/ibc/radio.js +73 -0
  1051. package/lib/v2/ibc/router.js +4 -0
  1052. package/lib/v2/ibc/templates/description.art +6 -0
  1053. package/lib/v2/icac/radar.js +1 -1
  1054. package/lib/v2/icbc/maintainer.js +3 -0
  1055. package/lib/v2/icbc/radar.js +13 -0
  1056. package/lib/v2/icbc/router.js +3 -0
  1057. package/lib/v2/icbc/whpj.js +57 -0
  1058. package/lib/v2/idolypride/radar.js +1 -1
  1059. package/lib/v2/ieee/radar.js +3 -3
  1060. package/lib/v2/ieee-security/radar.js +1 -1
  1061. package/lib/v2/ielts/radar.js +1 -1
  1062. package/lib/v2/ifeng/feng.js +40 -42
  1063. package/lib/v2/ifeng/radar.js +13 -3
  1064. package/lib/v2/ifeng/templates/video.art +5 -0
  1065. package/lib/v2/ifeng/utils.js +12 -14
  1066. package/lib/v2/ifi-audio/radar.js +1 -1
  1067. package/lib/v2/iguoguo/radar.js +1 -1
  1068. package/lib/v2/iiilab/radar.js +1 -1
  1069. package/lib/v2/ikea/radar.js +5 -5
  1070. package/lib/v2/imagemagick/radar.js +1 -1
  1071. package/lib/v2/independent/radar.js +1 -1
  1072. package/lib/v2/indiansinkuwait/radar.js +1 -1
  1073. package/lib/v2/inewsweek/radar.js +1 -1
  1074. package/lib/v2/infoq/radar.js +2 -2
  1075. package/lib/v2/informs/radar.js +17 -17
  1076. package/lib/v2/inoreader/radar.js +2 -2
  1077. package/lib/v2/instagram/common-utils.js +7 -4
  1078. package/lib/v2/instagram/radar.js +2 -2
  1079. package/lib/v2/instagram/templates/images.art +9 -2
  1080. package/lib/v2/instagram/templates/video.art +4 -1
  1081. package/lib/v2/instagram/web-api/index.js +30 -9
  1082. package/lib/v2/instagram/web-api/utils.js +149 -25
  1083. package/lib/v2/instructables/projects.js +1 -1
  1084. package/lib/v2/instructables/radar.js +2 -2
  1085. package/lib/v2/iqilu/maintainer.js +3 -0
  1086. package/lib/v2/iqilu/program.js +98 -0
  1087. package/lib/v2/iqilu/radar.js +107 -0
  1088. package/lib/v2/iqilu/router.js +3 -0
  1089. package/lib/v2/iqilu/templates/description.art +24 -0
  1090. package/lib/v2/iqiyi/maintainer.js +1 -1
  1091. package/lib/v2/iqiyi/radar.js +2 -2
  1092. package/lib/v2/iqiyi/video.js +42 -33
  1093. package/lib/v2/iqnew/radar.js +1 -1
  1094. package/lib/v2/iresearch/radar.js +2 -2
  1095. package/lib/v2/islander/radar.js +2 -2
  1096. package/lib/v2/issuehunt/radar.js +1 -1
  1097. package/lib/v2/itch/radar.js +3 -3
  1098. package/lib/v2/ithome/index.js +1 -1
  1099. package/lib/v2/ithome/radar.js +18 -18
  1100. package/lib/v2/ithome/ranking.js +1 -1
  1101. package/lib/v2/ithome/tag.js +14 -3
  1102. package/lib/v2/iwara/index.js +36 -24
  1103. package/lib/v2/iwara/radar.js +4 -4
  1104. package/lib/v2/iwara/subscriptions.js +131 -32
  1105. package/lib/v2/iwara/templates/subscriptions.art +1 -1
  1106. package/lib/v2/ixigua/radar.js +1 -1
  1107. package/lib/v2/jandan/radar.js +6 -4
  1108. package/lib/v2/japanpost/maintainer.js +3 -0
  1109. package/lib/v2/japanpost/radar.js +22 -0
  1110. package/lib/v2/japanpost/router.js +3 -0
  1111. package/lib/v2/japanpost/templates/track_item_desc.art +14 -0
  1112. package/lib/{routes → v2}/japanpost/track.js +32 -29
  1113. package/lib/{routes → v2}/japanpost/utils.js +10 -11
  1114. package/lib/v2/javbus/index.js +6 -0
  1115. package/lib/v2/javbus/radar.js +20 -20
  1116. package/lib/v2/javdb/lists.js +28 -0
  1117. package/lib/v2/javdb/maintainer.js +5 -4
  1118. package/lib/v2/javdb/radar.js +13 -7
  1119. package/lib/v2/javdb/router.js +5 -4
  1120. package/lib/v2/javdb/search.js +9 -2
  1121. package/lib/v2/javdb/utils.js +6 -5
  1122. package/lib/v2/javlibrary/maintainer.js +1 -0
  1123. package/lib/v2/javlibrary/maker.js +10 -0
  1124. package/lib/v2/javlibrary/radar.js +12 -12
  1125. package/lib/v2/javlibrary/router.js +1 -0
  1126. package/lib/v2/javlibrary/utils.js +1 -0
  1127. package/lib/v2/jd/radar.js +1 -1
  1128. package/lib/v2/jewishmuseum/radar.js +1 -1
  1129. package/lib/v2/jiaoliudao/radar.js +1 -1
  1130. package/lib/v2/jiemian/radar.js +2 -2
  1131. package/lib/v2/jike/radar.js +24 -4
  1132. package/lib/v2/jin10/maintainer.js +1 -0
  1133. package/lib/v2/jin10/radar.js +9 -1
  1134. package/lib/v2/jin10/router.js +1 -0
  1135. package/lib/v2/jin10/topic.js +50 -0
  1136. package/lib/v2/jisilu/radar.js +3 -3
  1137. package/lib/v2/jornada/radar.js +1 -1
  1138. package/lib/v2/jou/radar.js +2 -2
  1139. package/lib/v2/jseea/radar.js +1 -1
  1140. package/lib/v2/juejin/radar.js +9 -9
  1141. package/lib/v2/jump/radar.js +1 -1
  1142. package/lib/v2/kakuyomu/radar.js +1 -1
  1143. package/lib/v2/kamen-rider-official/maintainer.js +3 -0
  1144. package/lib/v2/kamen-rider-official/news.js +110 -0
  1145. package/lib/v2/kamen-rider-official/radar.js +18 -0
  1146. package/lib/v2/kamen-rider-official/router.js +3 -0
  1147. package/lib/v2/kamen-rider-official/templates/description.art +10 -0
  1148. package/lib/v2/kantarworldpanel/index.js +96 -0
  1149. package/lib/v2/kantarworldpanel/maintainer.js +3 -0
  1150. package/lib/v2/kantarworldpanel/radar.js +199 -0
  1151. package/lib/v2/kantarworldpanel/router.js +3 -0
  1152. package/lib/v2/kantarworldpanel/templates/description.art +9 -0
  1153. package/lib/v2/kbs/radar.js +2 -2
  1154. package/lib/v2/kcna/radar.js +9 -9
  1155. package/lib/v2/ke/radar.js +1 -1
  1156. package/lib/v2/keep/radar.js +1 -1
  1157. package/lib/v2/kemono/index.js +28 -4
  1158. package/lib/v2/kemono/radar.js +2 -2
  1159. package/lib/v2/keylol/index.js +82 -0
  1160. package/lib/v2/keylol/maintainer.js +3 -0
  1161. package/lib/v2/keylol/radar.js +18 -0
  1162. package/lib/v2/keylol/router.js +3 -0
  1163. package/lib/v2/kimlaw/radar.js +1 -1
  1164. package/lib/v2/knowmedia/radar.js +4 -4
  1165. package/lib/v2/kuaidi100/radar.js +2 -2
  1166. package/lib/v2/kunchengblog/essay.js +35 -19
  1167. package/lib/v2/kunchengblog/radar.js +2 -2
  1168. package/lib/v2/kunchengblog/router.js +1 -1
  1169. package/lib/v2/kuwaitlocal/radar.js +2 -2
  1170. package/lib/v2/kyodonews/radar.js +4 -4
  1171. package/lib/v2/lang/radar.js +1 -1
  1172. package/lib/v2/lanqiao/radar.js +3 -3
  1173. package/lib/v2/laohu8/radar.js +1 -1
  1174. package/lib/v2/latepost/index.js +83 -29
  1175. package/lib/v2/latepost/radar.js +8 -3
  1176. package/lib/v2/latepost/router.js +1 -1
  1177. package/lib/v2/lativ/radar.js +1 -1
  1178. package/lib/v2/layer3/radar.js +1 -1
  1179. package/lib/v2/layoffs/radar.js +1 -1
  1180. package/lib/v2/learnblockchain/radar.js +2 -2
  1181. package/lib/v2/learnku/radar.js +1 -1
  1182. package/lib/v2/leetcode/articles.js +14 -10
  1183. package/lib/v2/leetcode/dailyquestion-solution-cn.js +6 -3
  1184. package/lib/v2/leetcode/dailyquestion-solution-en.js +7 -4
  1185. package/lib/v2/leetcode/radar.js +7 -7
  1186. package/lib/v2/leiphone/radar.js +3 -3
  1187. package/lib/v2/lemmy/index.js +61 -0
  1188. package/lib/v2/lemmy/maintainer.js +3 -0
  1189. package/lib/v2/lemmy/router.js +3 -0
  1190. package/lib/v2/lever/radar.js +1 -1
  1191. package/lib/v2/lfsyd/radar.js +5 -5
  1192. package/lib/v2/lianxh/radar.js +1 -1
  1193. package/lib/v2/line/publisher.js +1 -1
  1194. package/lib/v2/line/radar.js +2 -2
  1195. package/lib/v2/line/utils.js +18 -2
  1196. package/lib/v2/linkedin/radar.js +2 -2
  1197. package/lib/v2/linkresearcher/radar.js +1 -1
  1198. package/lib/v2/linovelib/radar.js +1 -1
  1199. package/lib/v2/liquipedia/cs_matches.js +52 -0
  1200. package/lib/v2/liquipedia/dota2_matches.js +47 -0
  1201. package/lib/v2/liquipedia/maintainer.js +4 -0
  1202. package/lib/v2/liquipedia/radar.js +19 -0
  1203. package/lib/v2/liquipedia/router.js +4 -0
  1204. package/lib/v2/literotica/radar.js +2 -2
  1205. package/lib/v2/liulinblog/index.js +98 -0
  1206. package/lib/v2/liulinblog/maintainer.js +6 -2
  1207. package/lib/v2/liulinblog/radar.js +39 -19
  1208. package/lib/v2/liulinblog/router.js +7 -3
  1209. package/lib/v2/lkong/radar.js +2 -2
  1210. package/lib/v2/lofter/radar.js +2 -2
  1211. package/lib/v2/logclub/index.js +134 -0
  1212. package/lib/v2/logclub/maintainer.js +9 -0
  1213. package/lib/v2/logclub/radar.js +139 -0
  1214. package/lib/v2/logclub/report.js +98 -0
  1215. package/lib/v2/logclub/router.js +5 -0
  1216. package/lib/v2/logclub/templates/description.art +33 -0
  1217. package/lib/v2/logonews/radar.js +6 -6
  1218. package/lib/v2/loltw/radar.js +1 -1
  1219. package/lib/v2/lovelive-anime/radar.js +3 -3
  1220. package/lib/v2/lsnu/jiaowc/tzgg.js +52 -0
  1221. package/lib/v2/lsnu/maintainer.js +3 -0
  1222. package/lib/v2/lsnu/radar.js +13 -0
  1223. package/lib/v2/lsnu/router.js +3 -0
  1224. package/lib/v2/luogu/radar.js +4 -4
  1225. package/lib/v2/luogu/userFeed.js +1 -0
  1226. package/lib/v2/luxiangdong/archive.js +28 -0
  1227. package/lib/v2/luxiangdong/maintainer.js +3 -0
  1228. package/lib/v2/luxiangdong/radar.js +13 -0
  1229. package/lib/v2/luxiangdong/router.js +3 -0
  1230. package/lib/v2/lvv2/radar.js +8 -8
  1231. package/lib/v2/lxixsxa/radar.js +4 -4
  1232. package/lib/v2/macfilos/radar.js +1 -1
  1233. package/lib/v2/macmenubar/radar.js +1 -1
  1234. package/lib/v2/macupdate/app.js +43 -0
  1235. package/lib/v2/macupdate/maintainer.js +3 -0
  1236. package/lib/v2/macupdate/radar.js +13 -0
  1237. package/lib/v2/macupdate/router.js +3 -0
  1238. package/lib/v2/magazinelib/radar.js +1 -1
  1239. package/lib/v2/mail/imap.js +99 -0
  1240. package/lib/v2/mail/maintainer.js +3 -0
  1241. package/lib/v2/mail/router.js +3 -0
  1242. package/lib/v2/mangadex/radar.js +1 -1
  1243. package/lib/v2/manhuagui/radar.js +3 -3
  1244. package/lib/v2/mastodon/maintainer.js +6 -0
  1245. package/lib/v2/mastodon/radar.js +30 -0
  1246. package/lib/v2/mastodon/router.js +6 -0
  1247. package/lib/{routes → v2}/mastodon/timeline_local.js +1 -1
  1248. package/lib/{routes → v2}/mastodon/timeline_remote.js +1 -1
  1249. package/lib/{routes → v2}/mastodon/utils.js +11 -9
  1250. package/lib/v2/mcachicago/radar.js +1 -1
  1251. package/lib/v2/mckinsey/radar.js +1 -1
  1252. package/lib/v2/mclaren/radar.js +3 -3
  1253. package/lib/v2/mdpi/maintainer.js +0 -0
  1254. package/lib/v2/mdpi/radar.js +1 -1
  1255. package/lib/v2/mdpi/router.js +0 -0
  1256. package/lib/v2/mdpi/templates/description.art +0 -0
  1257. package/lib/v2/medium/following.js +31 -0
  1258. package/lib/v2/medium/for-you.js +31 -0
  1259. package/lib/v2/medium/graphql.js +190 -0
  1260. package/lib/v2/medium/list.js +32 -0
  1261. package/lib/v2/medium/maintainer.js +6 -0
  1262. package/lib/v2/medium/parse-article.js +60 -0
  1263. package/lib/v2/medium/radar.js +23 -0
  1264. package/lib/v2/medium/router.js +6 -0
  1265. package/lib/v2/medium/tag.js +32 -0
  1266. package/lib/v2/medsci/radar.js +1 -1
  1267. package/lib/v2/meituclub/radar.js +1 -1
  1268. package/lib/v2/metacritic/index.js +121 -0
  1269. package/lib/v2/metacritic/maintainer.js +5 -0
  1270. package/lib/v2/metacritic/radar.js +43 -0
  1271. package/lib/v2/metacritic/router.js +3 -0
  1272. package/lib/v2/metacritic/templates/description.art +19 -0
  1273. package/lib/v2/metacritic/util.js +42 -0
  1274. package/lib/v2/meteor/radar.js +2 -2
  1275. package/lib/v2/metmuseum/radar.js +1 -1
  1276. package/lib/v2/mihoyo/bbs/img-ranking.js +106 -0
  1277. package/lib/v2/mihoyo/{bbs.js → bbs/official.js} +1 -1
  1278. package/lib/v2/mihoyo/bbs/static-data.js +137 -0
  1279. package/lib/v2/mihoyo/maintainer.js +2 -0
  1280. package/lib/v2/mihoyo/radar.js +25 -3
  1281. package/lib/v2/mihoyo/router.js +3 -1
  1282. package/lib/v2/mihoyo/sr/news.js +71 -0
  1283. package/lib/v2/mihoyo/templates/ys.art +4 -0
  1284. package/lib/v2/mihoyo/ys/news.js +132 -52
  1285. package/lib/v2/mindmeister/radar.js +1 -1
  1286. package/lib/v2/minecraft/radar.js +1 -1
  1287. package/lib/v2/mingpao/index.js +16 -6
  1288. package/lib/v2/mingpao/radar.js +4 -4
  1289. package/lib/v2/miris/radar.js +1 -1
  1290. package/lib/v2/mirror/radar.js +1 -1
  1291. package/lib/v2/misskey/radar.js +3 -3
  1292. package/lib/v2/mittrchina/index.js +104 -0
  1293. package/lib/v2/mittrchina/maintainer.js +3 -0
  1294. package/lib/v2/mittrchina/radar.js +31 -0
  1295. package/lib/v2/mittrchina/router.js +3 -0
  1296. package/lib/v2/mittrchina/templates/movie.art +5 -0
  1297. package/lib/v2/mixcloud/index.js +5 -22
  1298. package/lib/v2/mixcloud/queries.js +187 -179
  1299. package/lib/v2/mixcloud/radar.js +2 -2
  1300. package/lib/v2/mobilism/radar.js +3 -3
  1301. package/lib/v2/modb/maintainer.js +3 -0
  1302. package/lib/v2/modb/radar.js +13 -0
  1303. package/lib/v2/modb/router.js +3 -0
  1304. package/lib/v2/modb/topic.js +59 -0
  1305. package/lib/v2/modelscope/radar.js +4 -4
  1306. package/lib/v2/mohw/radar.js +1 -1
  1307. package/lib/v2/mox/radar.js +1 -1
  1308. package/lib/v2/mpaypass/radar.js +2 -2
  1309. package/lib/v2/mrdx/radar.js +1 -1
  1310. package/lib/v2/mtime/radar.js +1 -1
  1311. package/lib/v2/mvm/radar.js +1 -1
  1312. package/lib/v2/mydrivers/cid.js +38 -0
  1313. package/lib/v2/mydrivers/index.js +40 -89
  1314. package/lib/v2/mydrivers/maintainer.js +5 -1
  1315. package/lib/v2/mydrivers/radar.js +205 -4
  1316. package/lib/v2/mydrivers/rank.js +40 -0
  1317. package/lib/v2/mydrivers/router.js +4 -1
  1318. package/lib/v2/mydrivers/templates/description.art +5 -0
  1319. package/lib/v2/mydrivers/util.js +125 -0
  1320. package/lib/v2/myfigurecollection/radar.js +3 -3
  1321. package/lib/v2/mygopen/radar.js +1 -1
  1322. package/lib/v2/mymusicsheet/maintainer.js +3 -0
  1323. package/lib/v2/mymusicsheet/radar.js +13 -0
  1324. package/lib/v2/mymusicsheet/router.js +3 -0
  1325. package/lib/v2/mymusicsheet/templates/description.art +41 -0
  1326. package/lib/v2/mymusicsheet/usersheets.js +120 -0
  1327. package/lib/v2/mysql/radar.js +1 -1
  1328. package/lib/v2/nasa/apod-cn.js +24 -0
  1329. package/lib/v2/nasa/apod-ncku.js +51 -0
  1330. package/lib/v2/nasa/apod.js +51 -0
  1331. package/lib/v2/nasa/maintainer.js +5 -0
  1332. package/lib/v2/nasa/radar.js +22 -0
  1333. package/lib/v2/nasa/router.js +5 -0
  1334. package/lib/v2/natgeo/radar.js +2 -2
  1335. package/lib/v2/nationalgeographic/latest-stories.js +56 -0
  1336. package/lib/v2/nationalgeographic/maintainer.js +3 -0
  1337. package/lib/v2/nationalgeographic/radar.js +13 -0
  1338. package/lib/v2/nationalgeographic/router.js +3 -0
  1339. package/lib/v2/nationalgeographic/templates/stories.art +44 -0
  1340. package/lib/v2/nature/cover.js +32 -42
  1341. package/lib/v2/nature/highlight.js +2 -2
  1342. package/lib/v2/nature/news-and-comment.js +2 -2
  1343. package/lib/v2/nature/news.js +2 -2
  1344. package/lib/v2/nature/radar.js +5 -5
  1345. package/lib/v2/nature/research.js +2 -2
  1346. package/lib/v2/nature/siteindex.js +5 -5
  1347. package/lib/v2/nature/utils.js +124 -5
  1348. package/lib/v2/nautil/radar.js +1 -1
  1349. package/lib/v2/nbd/index.js +4 -1
  1350. package/lib/v2/nbd/maintainer.js +1 -1
  1351. package/lib/v2/nbd/radar.js +5 -5
  1352. package/lib/v2/nbd/router.js +1 -1
  1353. package/lib/v2/nber/radar.js +2 -2
  1354. package/lib/v2/ncepu/radar.js +3 -3
  1355. package/lib/v2/ncwu/radar.js +1 -1
  1356. package/lib/v2/ndss-symposium/radar.js +1 -1
  1357. package/lib/v2/neatdownloadmanager/radar.js +1 -1
  1358. package/lib/v2/neea/radar.js +1 -1
  1359. package/lib/v2/nenu/maintainer.js +4 -0
  1360. package/lib/v2/nenu/radar.js +21 -0
  1361. package/lib/v2/nenu/router.js +4 -0
  1362. package/lib/v2/nenu/sohac.js +60 -0
  1363. package/lib/v2/nenu/yjsy.js +64 -0
  1364. package/lib/v2/netflav/index.js +39 -0
  1365. package/lib/v2/netflav/maintainer.js +3 -0
  1366. package/lib/v2/netflav/radar.js +13 -0
  1367. package/lib/v2/netflav/router.js +3 -0
  1368. package/lib/v2/netflav/templates/description.art +8 -0
  1369. package/lib/v2/neu/radar.js +2 -2
  1370. package/lib/v2/newmuseum/radar.js +1 -1
  1371. package/lib/v2/newrank/radar.js +2 -2
  1372. package/lib/v2/news/radar.js +1 -1
  1373. package/lib/v2/news/whxw.js +1 -0
  1374. package/lib/v2/newsmarket/radar.js +1 -1
  1375. package/lib/v2/newzmz/index.js +55 -68
  1376. package/lib/v2/newzmz/maintainer.js +2 -2
  1377. package/lib/v2/newzmz/radar.js +3 -3
  1378. package/lib/v2/newzmz/router.js +1 -2
  1379. package/lib/v2/newzmz/templates/description.art +59 -0
  1380. package/lib/v2/newzmz/util.js +166 -0
  1381. package/lib/v2/nextapple/radar.js +1 -1
  1382. package/lib/v2/nextapple/realtime.js +1 -1
  1383. package/lib/v2/nga/radar.js +3 -3
  1384. package/lib/v2/ngocn2/radar.js +1 -1
  1385. package/lib/v2/nhentai/radar.js +2 -2
  1386. package/lib/v2/nhentai/util.js +2 -1
  1387. package/lib/v2/nhk/news_web_easy.js +8 -3
  1388. package/lib/v2/nhk/radar.js +2 -2
  1389. package/lib/v2/nhk/templates/news_web_easy.art +7 -0
  1390. package/lib/v2/niaogebiji/cat.js +53 -0
  1391. package/lib/v2/niaogebiji/index.js +41 -0
  1392. package/lib/v2/niaogebiji/maintainer.js +5 -0
  1393. package/lib/v2/niaogebiji/radar.js +25 -0
  1394. package/lib/v2/niaogebiji/router.js +5 -0
  1395. package/lib/v2/niaogebiji/today.js +34 -0
  1396. package/lib/v2/nifd/radar.js +10 -10
  1397. package/lib/v2/nikkei/cn/index.js +2 -2
  1398. package/lib/v2/nikkei/radar.js +5 -5
  1399. package/lib/v2/nintendo/radar.js +8 -8
  1400. package/lib/v2/nippon/radar.js +1 -1
  1401. package/lib/v2/njglyy/radar.js +1 -1
  1402. package/lib/v2/njit/radar.js +2 -2
  1403. package/lib/v2/njnu/radar.js +2 -2
  1404. package/lib/v2/nju/gra.js +13 -5
  1405. package/lib/v2/nju/radar.js +13 -13
  1406. package/lib/v2/nju/zcc.js +7 -13
  1407. package/lib/v2/njucm/radar.js +1 -1
  1408. package/lib/v2/njupt/radar.js +1 -1
  1409. package/lib/v2/njust/radar.js +5 -5
  1410. package/lib/v2/njxzc/radar.js +2 -2
  1411. package/lib/v2/nltimes/radar.js +2 -2
  1412. package/lib/v2/nmbxd1/radar.js +1 -1
  1413. package/lib/v2/nmtv/radar.js +1 -1
  1414. package/lib/v2/nodejs/radar.js +1 -1
  1415. package/lib/v2/nogizaka46/blog.js +5 -1
  1416. package/lib/v2/nogizaka46/maintainer.js +1 -1
  1417. package/lib/v2/nogizaka46/radar.js +2 -2
  1418. package/lib/v2/nogizaka46/router.js +1 -1
  1419. package/lib/v2/notateslaapp/maintainer.js +3 -0
  1420. package/lib/v2/notateslaapp/radar.js +13 -0
  1421. package/lib/v2/notateslaapp/router.js +3 -0
  1422. package/lib/{routes/tesla → v2/notateslaapp}/update.js +6 -12
  1423. package/lib/v2/notefolio/maintainer.js +3 -0
  1424. package/lib/v2/notefolio/radar.js +13 -0
  1425. package/lib/v2/notefolio/router.js +3 -0
  1426. package/lib/v2/notefolio/search.js +145 -0
  1427. package/lib/v2/notefolio/templates/search.art +9 -0
  1428. package/lib/v2/notion/database.js +161 -0
  1429. package/lib/v2/notion/maintainer.js +3 -0
  1430. package/lib/v2/notion/radar.js +13 -0
  1431. package/lib/v2/notion/router.js +3 -0
  1432. package/lib/v2/now/radar.js +1 -1
  1433. package/lib/v2/nowcoder/radar.js +5 -5
  1434. package/lib/v2/npm/radar.js +1 -1
  1435. package/lib/v2/npr/full.js +89 -0
  1436. package/lib/v2/npr/maintainer.js +3 -0
  1437. package/lib/v2/npr/radar.js +11 -0
  1438. package/lib/v2/npr/router.js +3 -0
  1439. package/lib/v2/ntdtv/radar.js +1 -1
  1440. package/lib/v2/nua/radar.js +5 -5
  1441. package/lib/v2/nuaa/radar.js +4 -4
  1442. package/lib/v2/nuist/radar.js +8 -8
  1443. package/lib/v2/nwafu/all.js +43 -0
  1444. package/lib/v2/nwafu/maintainer.js +3 -0
  1445. package/lib/v2/nwafu/radar.js +13 -0
  1446. package/lib/v2/nwafu/router.js +3 -0
  1447. package/lib/v2/nwafu/utils.js +35 -0
  1448. package/lib/v2/nyaa/radar.js +2 -2
  1449. package/lib/v2/nytimes/author.js +1 -1
  1450. package/lib/v2/nytimes/index.js +1 -4
  1451. package/lib/v2/nytimes/radar.js +4 -4
  1452. package/lib/v2/nytimes/utils.js +5 -0
  1453. package/lib/v2/oceanengine/radar.js +1 -1
  1454. package/lib/v2/odaily/maintainer.js +1 -0
  1455. package/lib/v2/odaily/radar.js +38 -58
  1456. package/lib/v2/odaily/router.js +1 -0
  1457. package/lib/v2/odaily/search_news.js +26 -0
  1458. package/lib/v2/oeeee/app/channel.js +36 -0
  1459. package/lib/v2/oeeee/app/reporter.js +30 -0
  1460. package/lib/v2/oeeee/maintainer.js +5 -0
  1461. package/lib/v2/oeeee/radar.js +12 -0
  1462. package/lib/v2/oeeee/router.js +5 -0
  1463. package/lib/v2/oeeee/templates/description.art +7 -0
  1464. package/lib/v2/oeeee/utils.js +41 -0
  1465. package/lib/v2/oeeee/web.js +36 -0
  1466. package/lib/v2/oilchem/radar.js +1 -1
  1467. package/lib/v2/oncc/radar.js +6 -6
  1468. package/lib/v2/oo-software/radar.js +1 -1
  1469. package/lib/v2/openai/blog.js +3 -56
  1470. package/lib/v2/openai/common.js +72 -0
  1471. package/lib/v2/openai/maintainer.js +1 -0
  1472. package/lib/v2/openai/radar.js +10 -2
  1473. package/lib/v2/openai/research.js +32 -0
  1474. package/lib/v2/openai/router.js +1 -0
  1475. package/lib/v2/openwrt/radar.js +1 -1
  1476. package/lib/v2/orcid/radar.js +1 -1
  1477. package/lib/v2/oreno3d/radar.js +5 -5
  1478. package/lib/v2/oschina/news.js +1 -0
  1479. package/lib/v2/oschina/radar.js +4 -4
  1480. package/lib/v2/oshwhub/radar.js +1 -1
  1481. package/lib/v2/osu/beatmaps/packs.js +35 -0
  1482. package/lib/v2/osu/maintainer.js +3 -0
  1483. package/lib/v2/osu/radar.js +13 -0
  1484. package/lib/v2/osu/router.js +3 -0
  1485. package/lib/v2/ouc/it-tx.js +44 -0
  1486. package/lib/v2/ouc/it.js +2 -2
  1487. package/lib/v2/ouc/jwc.js +39 -0
  1488. package/lib/v2/ouc/jwgl.js +42 -0
  1489. package/lib/v2/ouc/maintainer.js +4 -1
  1490. package/lib/v2/ouc/radar.js +28 -6
  1491. package/lib/v2/ouc/router.js +3 -0
  1492. package/lib/v2/oup/radar.js +1 -1
  1493. package/lib/v2/outagereport/radar.js +1 -1
  1494. package/lib/v2/panewslab/radar.js +4 -4
  1495. package/lib/v2/paradigm/radar.js +1 -1
  1496. package/lib/v2/patagonia/radar.js +1 -1
  1497. package/lib/v2/paulgraham/article.js +62 -0
  1498. package/lib/v2/paulgraham/maintainer.js +3 -0
  1499. package/lib/v2/paulgraham/radar.js +13 -0
  1500. package/lib/v2/paulgraham/router.js +5 -0
  1501. package/lib/v2/penguin-random-house/radar.js +2 -2
  1502. package/lib/v2/people/index.js +15 -24
  1503. package/lib/v2/people/radar.js +2 -2
  1504. package/lib/v2/people/router.js +1 -2
  1505. package/lib/v2/peopo/radar.js +1 -1
  1506. package/lib/v2/phoronix/index.js +177 -48
  1507. package/lib/v2/phoronix/maintainer.js +1 -1
  1508. package/lib/v2/phoronix/radar.js +4 -4
  1509. package/lib/v2/phoronix/router.js +1 -1
  1510. package/lib/v2/pianyuan/radar.js +1 -1
  1511. package/lib/v2/picnob/radar.js +1 -1
  1512. package/lib/v2/picuki/profile.js +96 -116
  1513. package/lib/v2/picuki/radar.js +1 -1
  1514. package/lib/v2/picuki/templates/video.art +3 -1
  1515. package/lib/v2/picuki/utils.js +7 -2
  1516. package/lib/v2/pikabu/radar.js +3 -3
  1517. package/lib/v2/pincong/radar.js +3 -3
  1518. package/lib/v2/pingwest/radar.js +3 -3
  1519. package/lib/v2/pixabay/radar.js +1 -1
  1520. package/lib/v2/pixiv/novels.js +4 -1
  1521. package/lib/v2/pixiv/radar.js +6 -6
  1522. package/lib/v2/pixiv/ranking.js +1 -0
  1523. package/lib/v2/pixiv/user.js +2 -1
  1524. package/lib/v2/pixiv/utils.js +2 -2
  1525. package/lib/v2/piyao/radar.js +1 -1
  1526. package/lib/v2/pku/cls/announcement.js +42 -0
  1527. package/lib/v2/pku/maintainer.js +1 -0
  1528. package/lib/v2/pku/radar.js +17 -11
  1529. package/lib/v2/pku/router.js +1 -0
  1530. package/lib/v2/playno1/radar.js +2 -2
  1531. package/lib/v2/plurk/radar.js +7 -7
  1532. package/lib/v2/pmthinking/radar.js +1 -1
  1533. package/lib/v2/pnas/radar.js +1 -1
  1534. package/lib/v2/polkadot/radar.js +1 -1
  1535. package/lib/v2/polkaworld/radar.js +1 -1
  1536. package/lib/v2/pornhub/category.js +44 -0
  1537. package/lib/v2/pornhub/category_url.js +25 -0
  1538. package/lib/v2/pornhub/maintainer.js +8 -0
  1539. package/lib/v2/pornhub/model.js +29 -0
  1540. package/lib/v2/pornhub/pornstar.js +29 -0
  1541. package/lib/v2/pornhub/radar.js +46 -0
  1542. package/lib/v2/pornhub/router.js +8 -0
  1543. package/lib/v2/pornhub/search.js +23 -0
  1544. package/lib/v2/pornhub/templates/description.art +11 -0
  1545. package/lib/v2/pornhub/users.js +30 -0
  1546. package/lib/v2/pornhub/utils.js +30 -0
  1547. package/lib/v2/postman/radar.js +1 -1
  1548. package/lib/v2/prestige-av/radar.js +1 -1
  1549. package/lib/v2/producthunt/radar.js +1 -1
  1550. package/lib/v2/pts/radar.js +8 -8
  1551. package/lib/v2/pubmed/radar.js +1 -1
  1552. package/lib/v2/pumc/maintainer.js +3 -0
  1553. package/lib/v2/pumc/mdadmission.js +62 -0
  1554. package/lib/v2/pumc/radar.js +13 -0
  1555. package/lib/v2/pumc/router.js +3 -0
  1556. package/lib/v2/putty/radar.js +1 -1
  1557. package/lib/v2/qbitai/category.js +27 -0
  1558. package/lib/v2/qbitai/maintainer.js +4 -0
  1559. package/lib/v2/qbitai/radar.js +19 -0
  1560. package/lib/v2/qbitai/router.js +4 -0
  1561. package/lib/v2/qbitai/tag.js +27 -0
  1562. package/lib/v2/qbittorrent/radar.js +1 -1
  1563. package/lib/v2/qdaily/radar.js +3 -3
  1564. package/lib/v2/qdu/radar.js +1 -1
  1565. package/lib/v2/qianp/radar.js +1 -1
  1566. package/lib/v2/qianzhan/radar.js +2 -2
  1567. package/lib/v2/qidian/chapter.js +14 -18
  1568. package/lib/v2/qidian/maintainer.js +2 -2
  1569. package/lib/v2/qidian/radar.js +5 -5
  1570. package/lib/v2/qidiantu/radar.js +2 -2
  1571. package/lib/v2/qingting/radar.js +2 -2
  1572. package/lib/v2/qipamaijia/radar.js +1 -1
  1573. package/lib/v2/qiyoujiage/radar.js +1 -1
  1574. package/lib/v2/qlu/radar.js +1 -1
  1575. package/lib/v2/qm120/radar.js +1 -1
  1576. package/lib/v2/qoo-app/radar.js +10 -10
  1577. package/lib/v2/qq/radar.js +6 -6
  1578. package/lib/v2/qq88/radar.js +1 -1
  1579. package/lib/v2/qqorw/index.js +77 -0
  1580. package/lib/v2/qqorw/maintainer.js +4 -0
  1581. package/lib/v2/qqorw/radar.js +13 -0
  1582. package/lib/v2/qqorw/router.js +3 -0
  1583. package/lib/v2/quicker/radar.js +4 -4
  1584. package/lib/v2/qweather/radar.js +2 -2
  1585. package/lib/v2/radio/radar.js +3 -3
  1586. package/lib/v2/radio-canada/latest.js +8 -1
  1587. package/lib/v2/radio-canada/radar.js +1 -1
  1588. package/lib/v2/radiofrance/geopolitique.js +33 -0
  1589. package/lib/v2/radiofrance/maintainer.js +3 -0
  1590. package/lib/v2/radiofrance/radar.js +13 -0
  1591. package/lib/v2/radiofrance/router.js +3 -0
  1592. package/lib/v2/radiofrance/templates/article.art +6 -0
  1593. package/lib/v2/rarehistoricalphotos/radar.js +1 -1
  1594. package/lib/v2/rattibha/maintainer.js +3 -0
  1595. package/lib/v2/rattibha/radar.js +13 -0
  1596. package/lib/v2/rattibha/router.js +3 -0
  1597. package/lib/v2/rattibha/user.js +45 -0
  1598. package/lib/v2/rawkuma/maintainer.js +3 -0
  1599. package/lib/v2/rawkuma/manga.js +81 -0
  1600. package/lib/v2/rawkuma/radar.js +13 -0
  1601. package/lib/v2/rawkuma/router.js +3 -0
  1602. package/lib/v2/rawkuma/templates/description.art +3 -0
  1603. package/lib/v2/reactnewsletter/maintainer.js +0 -1
  1604. package/lib/v2/reactnewsletter/radar.js +1 -1
  1605. package/lib/v2/readhub/index.js +92 -83
  1606. package/lib/v2/readhub/maintainer.js +1 -1
  1607. package/lib/v2/readhub/radar.js +6 -2
  1608. package/lib/v2/readhub/router.js +1 -4
  1609. package/lib/v2/readhub/templates/description.art +40 -0
  1610. package/lib/v2/remnote/radar.js +1 -1
  1611. package/lib/v2/researchgate/radar.js +1 -1
  1612. package/lib/v2/reuters/common.js +107 -38
  1613. package/lib/v2/reuters/investigates.js +1 -1
  1614. package/lib/v2/reuters/maintainer.js +1 -3
  1615. package/lib/v2/reuters/radar.js +2 -2
  1616. package/lib/v2/reuters/router.js +0 -2
  1617. package/lib/v2/reuters/templates/description.art +2 -2
  1618. package/lib/v2/rfa/radar.js +1 -1
  1619. package/lib/v2/rfi/maintainer.js +1 -1
  1620. package/lib/v2/rfi/news.js +36 -16
  1621. package/lib/v2/rfi/radar.js +5 -5
  1622. package/lib/v2/rfi/router.js +1 -1
  1623. package/lib/{routes → v2}/right/forum.js +21 -23
  1624. package/lib/v2/right/maintainer.js +3 -0
  1625. package/lib/v2/right/radar.js +13 -0
  1626. package/lib/v2/right/router.js +3 -0
  1627. package/lib/v2/rodong/radar.js +1 -1
  1628. package/lib/v2/rsc/journal.js +106 -0
  1629. package/lib/v2/rsc/maintainer.js +3 -0
  1630. package/lib/v2/rsc/radar.js +23 -0
  1631. package/lib/v2/rsc/router.js +3 -0
  1632. package/lib/v2/rsc/templates/image.art +5 -0
  1633. package/lib/v2/rsshub/maintainer.js +3 -0
  1634. package/lib/v2/rsshub/radar.js +4 -4
  1635. package/lib/v2/rsshub/router.js +3 -2
  1636. package/lib/v2/rsshub/routes.js +14 -18
  1637. package/lib/v2/rsshub/transform/html.js +84 -0
  1638. package/lib/v2/rsshub/transform/json.js +58 -0
  1639. package/lib/v2/rsshub/transform/sitemap.js +52 -0
  1640. package/lib/v2/ruancan/radar.js +4 -4
  1641. package/lib/v2/ruc/radar.js +1 -1
  1642. package/lib/v2/runtrail/maintainer.js +3 -0
  1643. package/lib/v2/runtrail/posts.js +34 -0
  1644. package/lib/v2/runtrail/radar.js +13 -0
  1645. package/lib/v2/runtrail/router.js +3 -0
  1646. package/lib/v2/rustcc/radar.js +1 -1
  1647. package/lib/v2/sakurazaka46/blog.js +4 -2
  1648. package/lib/v2/sakurazaka46/maintainer.js +1 -1
  1649. package/lib/v2/sakurazaka46/radar.js +2 -2
  1650. package/lib/v2/sakurazaka46/router.js +1 -1
  1651. package/lib/v2/samsung/radar.js +1 -1
  1652. package/lib/v2/saraba1st/radar.js +1 -1
  1653. package/lib/v2/sass/radar.js +1 -1
  1654. package/lib/v2/scau/maintainer.js +1 -0
  1655. package/lib/v2/scau/radar.js +9 -1
  1656. package/lib/v2/scau/router.js +1 -0
  1657. package/lib/v2/scau/yjs.js +2 -2
  1658. package/lib/v2/scau/yjsy.js +27 -0
  1659. package/lib/v2/science/blogs.js +62 -0
  1660. package/lib/v2/science/maintainer.js +1 -0
  1661. package/lib/v2/science/radar.js +9 -3
  1662. package/lib/v2/science/router.js +1 -0
  1663. package/lib/v2/science/utils.js +4 -4
  1664. package/lib/v2/sciencedirect/radar.js +1 -1
  1665. package/lib/v2/sciencenet/radar.js +2 -2
  1666. package/lib/v2/scmp/index.js +61 -85
  1667. package/lib/v2/scmp/radar.js +1 -1
  1668. package/lib/v2/scmp/utils.js +60 -0
  1669. package/lib/v2/scnu/radar.js +8 -8
  1670. package/lib/v2/sctv/radar.js +1 -1
  1671. package/lib/v2/scut/maintainer.js +1 -0
  1672. package/lib/v2/scut/radar.js +39 -5
  1673. package/lib/v2/scut/router.js +1 -0
  1674. package/lib/v2/scut/smae/notice.js +54 -0
  1675. package/lib/v2/scvtc/radar.js +1 -1
  1676. package/lib/v2/sdu/data.js +2 -2
  1677. package/lib/v2/sdu/radar.js +5 -5
  1678. package/lib/v2/sdust/maintainer.js +3 -0
  1679. package/lib/v2/sdust/radar.js +13 -0
  1680. package/lib/v2/sdust/router.js +3 -0
  1681. package/lib/v2/sdust/yjsy/zhaosheng.js +52 -0
  1682. package/lib/{routes/growincity/news.js → v2/sdzk/index.js} +20 -14
  1683. package/lib/v2/sdzk/maintainer.js +3 -0
  1684. package/lib/v2/sdzk/radar.js +17 -0
  1685. package/lib/v2/sdzk/router.js +3 -0
  1686. package/lib/v2/sec/radar.js +13 -0
  1687. package/lib/v2/sec-in/index.js +19 -0
  1688. package/lib/v2/sec-in/maintainer.js +3 -0
  1689. package/lib/v2/sec-in/radar.js +11 -0
  1690. package/lib/v2/sec-in/router.js +3 -0
  1691. package/lib/v2/sec-wiki/maintainer.js +3 -0
  1692. package/lib/v2/sec-wiki/radar.js +11 -0
  1693. package/lib/v2/sec-wiki/router.js +3 -0
  1694. package/lib/v2/sec-wiki/weekly.js +16 -0
  1695. package/lib/v2/secnews/radar.js +1 -1
  1696. package/lib/v2/secrss/radar.js +2 -2
  1697. package/lib/v2/seekingalpha/radar.js +1 -1
  1698. package/lib/v2/segmentfault/blogs.js +6 -23
  1699. package/lib/v2/segmentfault/channel.js +18 -30
  1700. package/lib/v2/segmentfault/radar.js +3 -3
  1701. package/lib/v2/segmentfault/user.js +7 -27
  1702. package/lib/v2/segmentfault/utils.js +66 -0
  1703. package/lib/v2/sehuatang/maintainer.js +1 -0
  1704. package/lib/v2/sehuatang/radar.js +1 -1
  1705. package/lib/v2/sehuatang/router.js +1 -0
  1706. package/lib/v2/sehuatang/user.js +113 -0
  1707. package/lib/v2/sensortower/radar.js +1 -1
  1708. package/lib/v2/setn/radar.js +6 -6
  1709. package/lib/v2/seu/cse/index.js +63 -0
  1710. package/lib/v2/seu/maintainer.js +6 -0
  1711. package/lib/v2/seu/radar.js +37 -0
  1712. package/lib/v2/seu/radio/academic.js +43 -0
  1713. package/lib/v2/seu/router.js +6 -0
  1714. package/lib/v2/seu/yjs.js +37 -0
  1715. package/lib/v2/seu/yzb/index.js +51 -0
  1716. package/lib/v2/shcstheatre/maintainer.js +3 -0
  1717. package/lib/v2/shcstheatre/programs.js +39 -0
  1718. package/lib/v2/shcstheatre/radar.js +13 -0
  1719. package/lib/v2/shcstheatre/router.js +3 -0
  1720. package/lib/v2/shcstheatre/templates/description.art +65 -0
  1721. package/lib/v2/shiep/config.js +69 -0
  1722. package/lib/v2/shiep/index.js +13 -34
  1723. package/lib/v2/shiep/radar.js +363 -35
  1724. package/lib/v2/shmeea/radar.js +2 -2
  1725. package/lib/v2/shmtu/radar.js +3 -3
  1726. package/lib/v2/shopback/radar.js +1 -1
  1727. package/lib/v2/shoppingdesign/radar.js +1 -1
  1728. package/lib/v2/showstart/artist.js +15 -0
  1729. package/lib/v2/showstart/brand.js +15 -0
  1730. package/lib/v2/showstart/const.js +4 -0
  1731. package/lib/v2/showstart/event.js +18 -0
  1732. package/lib/v2/showstart/maintainer.js +6 -0
  1733. package/lib/v2/showstart/radar.js +40 -0
  1734. package/lib/v2/showstart/router.js +6 -0
  1735. package/lib/v2/showstart/search.js +51 -0
  1736. package/lib/v2/showstart/service.js +166 -0
  1737. package/lib/v2/showstart/utils.js +92 -0
  1738. package/lib/v2/shu/index.js +48 -0
  1739. package/lib/v2/shu/jwb.js +45 -0
  1740. package/lib/v2/shu/maintainer.js +4 -0
  1741. package/lib/v2/shu/radar.js +21 -0
  1742. package/lib/v2/shu/router.js +5 -0
  1743. package/lib/v2/shuiguopai/index.js +11 -7
  1744. package/lib/v2/shuiguopai/radar.js +1 -1
  1745. package/lib/v2/shuiguopai/templates/description.art +3 -1
  1746. package/lib/v2/sicau/radar.js +3 -3
  1747. package/lib/v2/sigsac/radar.js +1 -1
  1748. package/lib/v2/simpleinfo/radar.js +2 -2
  1749. package/lib/v2/sina/chuangshiji.js +17 -0
  1750. package/lib/v2/sina/discovery.js +32 -0
  1751. package/lib/v2/sina/finance/china.js +25 -0
  1752. package/lib/v2/sina/finance/stock/usstock.js +37 -0
  1753. package/lib/v2/sina/maintainer.js +8 -0
  1754. package/lib/v2/sina/radar.js +49 -0
  1755. package/lib/v2/sina/rollnews.js +31 -0
  1756. package/lib/v2/sina/router.js +8 -0
  1757. package/lib/v2/sina/sports.js +43 -0
  1758. package/lib/v2/sina/templates/slide.art +3 -0
  1759. package/lib/v2/sina/templates/video.art +5 -0
  1760. package/lib/v2/sina/utils.js +104 -0
  1761. package/lib/v2/sinchew/radar.js +3 -3
  1762. package/lib/v2/sis001/radar.js +1 -1
  1763. package/lib/v2/sjtu/gs.js +60 -0
  1764. package/lib/{routes/universities → v2}/sjtu/jwc.js +13 -12
  1765. package/lib/v2/sjtu/maintainer.js +9 -0
  1766. package/lib/v2/sjtu/radar.js +126 -0
  1767. package/lib/v2/sjtu/router.js +9 -0
  1768. package/lib/{routes/universities → v2}/sjtu/seiee/academic.js +4 -5
  1769. package/lib/{routes/universities → v2}/sjtu/seiee/bjwb.js +7 -8
  1770. package/lib/v2/sjtu/seiee/utils.js +40 -0
  1771. package/lib/{routes/universities → v2}/sjtu/seiee/xsb.js +2 -3
  1772. package/lib/v2/sjtu/templates/activity.art +6 -0
  1773. package/lib/{routes/universities → v2}/sjtu/tongqu/activity.js +4 -3
  1774. package/lib/{routes/universities → v2}/sjtu/yzb/zkxx.js +6 -7
  1775. package/lib/v2/skysports/radar.js +1 -1
  1776. package/lib/v2/slowmist/radar.js +1 -1
  1777. package/lib/v2/smashingmagazine/category.js +68 -0
  1778. package/lib/v2/smashingmagazine/maintainer.js +3 -0
  1779. package/lib/v2/smashingmagazine/radar.js +19 -0
  1780. package/lib/v2/smashingmagazine/router.js +3 -0
  1781. package/lib/v2/smzdm/radar.js +6 -6
  1782. package/lib/v2/snowpeak/radar.js +1 -1
  1783. package/lib/v2/sobooks/radar.js +3 -3
  1784. package/lib/v2/sohu/mp.js +48 -35
  1785. package/lib/v2/sohu/radar.js +1 -1
  1786. package/lib/v2/sohu/templates/video.art +7 -0
  1787. package/lib/v2/solidot/radar.js +14 -14
  1788. package/lib/v2/sony/downloads.js +1 -0
  1789. package/lib/v2/sony/radar.js +1 -1
  1790. package/lib/v2/soundofhope/radar.js +1 -1
  1791. package/lib/v2/sourceforge/index.js +33 -0
  1792. package/lib/v2/sourceforge/maintainer.js +3 -0
  1793. package/lib/v2/sourceforge/radar.js +12 -0
  1794. package/lib/v2/sourceforge/router.js +3 -0
  1795. package/lib/v2/southcn/radar.js +1 -1
  1796. package/lib/v2/spotify/maintainer.js +1 -0
  1797. package/lib/v2/spotify/radar.js +19 -13
  1798. package/lib/v2/spotify/router.js +2 -1
  1799. package/lib/v2/spotify/show.js +43 -0
  1800. package/lib/v2/springer/maintainer.js +0 -0
  1801. package/lib/v2/springer/radar.js +1 -1
  1802. package/lib/v2/springer/router.js +0 -0
  1803. package/lib/v2/springer/templates/description.art +0 -0
  1804. package/lib/v2/sputniknews/radar.js +1 -1
  1805. package/lib/v2/sqmc/maintainer.js +3 -0
  1806. package/lib/v2/sqmc/radar.js +13 -0
  1807. package/lib/v2/sqmc/router.js +3 -0
  1808. package/lib/v2/sqmc/www.js +49 -0
  1809. package/lib/v2/sse/radar.js +5 -5
  1810. package/lib/v2/ssm/radar.js +1 -1
  1811. package/lib/v2/sspai/index.js +1 -1
  1812. package/lib/v2/sspai/radar.js +13 -13
  1813. package/lib/v2/startuplatte/radar.js +1 -1
  1814. package/lib/v2/stbu/jsjxy.js +51 -0
  1815. package/lib/v2/stbu/maintainer.js +4 -0
  1816. package/lib/v2/stbu/radar.js +21 -0
  1817. package/lib/v2/stbu/router.js +4 -0
  1818. package/lib/v2/stbu/xyxw.js +52 -0
  1819. package/lib/v2/stcn/radar.js +1 -1
  1820. package/lib/v2/stdaily/radar.js +1 -1
  1821. package/lib/v2/stheadline/radar.js +1 -1
  1822. package/lib/v2/stheadline/std/realtime.js +8 -6
  1823. package/lib/v2/stockedge/daily-news.js +29 -0
  1824. package/lib/v2/stockedge/maintainer.js +3 -0
  1825. package/lib/v2/stockedge/radar.js +13 -0
  1826. package/lib/v2/stockedge/router.js +3 -0
  1827. package/lib/v2/stockedge/utils.js +32 -0
  1828. package/lib/v2/storm/radar.js +1 -1
  1829. package/lib/v2/storyfm/episodes.js +63 -0
  1830. package/lib/v2/storyfm/maintainer.js +4 -0
  1831. package/lib/v2/storyfm/radar.js +19 -0
  1832. package/lib/v2/storyfm/router.js +4 -0
  1833. package/lib/v2/storyfm/templates/description.art +6 -0
  1834. package/lib/v2/stratechery/radar.js +1 -1
  1835. package/lib/v2/studygolang/radar.js +3 -3
  1836. package/lib/v2/subhd/radar.js +2 -2
  1837. package/lib/v2/supchina/radar.js +2 -2
  1838. package/lib/v2/surfshark/blog.js +91 -0
  1839. package/lib/v2/surfshark/maintainer.js +3 -0
  1840. package/lib/v2/surfshark/radar.js +90 -0
  1841. package/lib/v2/surfshark/router.js +3 -0
  1842. package/lib/v2/surfshark/templates/description.art +5 -0
  1843. package/lib/v2/sustech/radar.js +3 -3
  1844. package/lib/v2/swissinfo/radar.js +1 -1
  1845. package/lib/v2/swjtu/radar.js +4 -4
  1846. package/lib/v2/swpu/radar.js +6 -6
  1847. package/lib/v2/syosetu/radar.js +2 -2
  1848. package/lib/v2/sysu/maintainer.js +1 -0
  1849. package/lib/v2/sysu/radar.js +9 -1
  1850. package/lib/v2/sysu/router.js +1 -0
  1851. package/lib/v2/sysu/ygafz.js +69 -0
  1852. package/lib/v2/szse/radar.js +4 -4
  1853. package/lib/v2/szu/radar.js +2 -2
  1854. package/lib/v2/tableau/maintainer.js +3 -0
  1855. package/lib/v2/tableau/radar.js +11 -0
  1856. package/lib/v2/tableau/router.js +3 -0
  1857. package/lib/v2/tableau/viz-of-the-day.js +26 -0
  1858. package/lib/v2/taiwannews/radar.js +1 -1
  1859. package/lib/v2/tangshufang/index.js +59 -0
  1860. package/lib/v2/tangshufang/maintainer.js +3 -0
  1861. package/lib/v2/tangshufang/radar.js +13 -0
  1862. package/lib/v2/tangshufang/router.js +3 -0
  1863. package/lib/v2/taobao/radar.js +11 -11
  1864. package/lib/v2/taoguba/radar.js +2 -2
  1865. package/lib/v2/taptap/radar.js +5 -5
  1866. package/lib/v2/techcrunch/radar.js +1 -1
  1867. package/lib/v2/techflowpost/radar.js +2 -2
  1868. package/lib/v2/techpowerup/index.js +69 -0
  1869. package/lib/v2/techpowerup/maintainer.js +4 -0
  1870. package/lib/v2/techpowerup/radar.js +19 -0
  1871. package/lib/v2/techpowerup/review.js +69 -0
  1872. package/lib/v2/techpowerup/router.js +4 -0
  1873. package/lib/v2/techpowerup/utils.js +84 -0
  1874. package/lib/v2/telecompaper/maintainer.js +4 -0
  1875. package/lib/{routes → v2}/telecompaper/news.js +1 -0
  1876. package/lib/v2/telecompaper/radar.js +15 -0
  1877. package/lib/v2/telecompaper/router.js +4 -0
  1878. package/lib/v2/telegram/maintainer.js +3 -3
  1879. package/lib/v2/telegram/radar.js +4 -5
  1880. package/lib/v2/tencent/news/author.js +12 -8
  1881. package/lib/v2/tencent/radar.js +10 -10
  1882. package/lib/v2/tesla/cx.js +119 -0
  1883. package/lib/v2/tesla/maintainer.js +1 -0
  1884. package/lib/v2/tesla/radar.js +13 -1
  1885. package/lib/v2/tesla/router.js +1 -0
  1886. package/lib/v2/tesla/templates/description.art +140 -0
  1887. package/lib/v2/test/index.js +47 -1
  1888. package/lib/v2/tfc-taiwan/index.js +36 -0
  1889. package/lib/v2/tfc-taiwan/maintainer.js +9 -0
  1890. package/lib/v2/tfc-taiwan/radar.js +31 -0
  1891. package/lib/v2/tfc-taiwan/router.js +7 -0
  1892. package/lib/v2/tfc-taiwan/templates/article.art +7 -0
  1893. package/lib/v2/tfc-taiwan/utils.js +56 -0
  1894. package/lib/v2/theatlantic/radar.js +1 -1
  1895. package/lib/v2/thecatcity/radar.js +1 -1
  1896. package/lib/v2/thecover/radar.js +1 -1
  1897. package/lib/v2/thehindu/maintainer.js +3 -0
  1898. package/lib/v2/thehindu/radar.js +13 -0
  1899. package/lib/v2/thehindu/router.js +3 -0
  1900. package/lib/v2/thehindu/topic.js +57 -0
  1901. package/lib/v2/theinitium/radar.js +3 -3
  1902. package/lib/v2/themoviedb/radar.js +11 -11
  1903. package/lib/v2/thenewslens/radar.js +8 -8
  1904. package/lib/v2/thepaper/featured.js +1 -1
  1905. package/lib/v2/thepaper/radar.js +6 -6
  1906. package/lib/v2/thepaper/utils.js +19 -13
  1907. package/lib/v2/theverge/radar.js +1 -1
  1908. package/lib/v2/thoughtco/index.js +95 -0
  1909. package/lib/v2/thoughtco/maintainer.js +3 -0
  1910. package/lib/v2/thoughtco/radar.js +155 -0
  1911. package/lib/v2/thoughtco/router.js +3 -0
  1912. package/lib/v2/thoughtco/templates/description.art +16 -0
  1913. package/lib/v2/threads/index.js +73 -0
  1914. package/lib/v2/threads/maintainer.js +3 -0
  1915. package/lib/v2/threads/radar.js +13 -0
  1916. package/lib/v2/threads/router.js +3 -0
  1917. package/lib/v2/threads/utils.js +147 -0
  1918. package/lib/v2/thwiki/radar.js +1 -1
  1919. package/lib/v2/tiktok/radar.js +1 -1
  1920. package/lib/v2/tiktok/router.js +1 -1
  1921. package/lib/v2/tiktok/templates/user.art +5 -1
  1922. package/lib/v2/tiktok/user.js +10 -6
  1923. package/lib/v2/timednews/radar.js +1 -1
  1924. package/lib/v2/tingshuitz/maintainer.js +1 -0
  1925. package/lib/v2/tingshuitz/radar.js +18 -7
  1926. package/lib/v2/tingshuitz/router.js +1 -0
  1927. package/lib/v2/tingshuitz/shenzhen.js +29 -0
  1928. package/lib/v2/tingshuitz/templates/shenzhen.art +8 -0
  1929. package/lib/v2/tingtingfm/maintainer.js +3 -0
  1930. package/lib/v2/tingtingfm/program.js +104 -0
  1931. package/lib/v2/tingtingfm/radar.js +13 -0
  1932. package/lib/v2/tingtingfm/router.js +3 -0
  1933. package/lib/v2/tingtingfm/templates/audio.art +5 -0
  1934. package/lib/v2/tingtingfm/utils.js +32 -0
  1935. package/lib/v2/tisi/radar.js +1 -1
  1936. package/lib/v2/tju/radar.js +14 -14
  1937. package/lib/v2/tokeninsight/radar.js +3 -3
  1938. package/lib/v2/tongji/radar.js +2 -2
  1939. package/lib/v2/toodaylab/index.js +99 -0
  1940. package/lib/v2/toodaylab/maintainer.js +7 -0
  1941. package/lib/v2/toodaylab/radar.js +37 -0
  1942. package/lib/v2/toodaylab/router.js +3 -0
  1943. package/lib/{routes → v2}/tophub/index.js +12 -6
  1944. package/lib/v2/tophub/maintainer.js +3 -0
  1945. package/lib/v2/tophub/radar.js +13 -0
  1946. package/lib/v2/tophub/router.js +3 -0
  1947. package/lib/v2/topys/radar.js +1 -1
  1948. package/lib/v2/tradingview/radar.js +1 -1
  1949. package/lib/v2/trending/radar.js +3 -3
  1950. package/lib/v2/tribalfootball/radar.js +1 -1
  1951. package/lib/v2/trow/radar.js +1 -1
  1952. package/lib/v2/tvb/radar.js +1 -1
  1953. package/lib/v2/twitch/live.js +88 -0
  1954. package/lib/v2/twitch/maintainer.js +5 -0
  1955. package/lib/v2/twitch/radar.js +37 -0
  1956. package/lib/v2/twitch/router.js +5 -0
  1957. package/lib/v2/twitch/schedule.js +75 -0
  1958. package/lib/v2/twitch/video.js +64 -0
  1959. package/lib/v2/twitter/developer-api/user.js +14 -6
  1960. package/lib/v2/twitter/keyword.js +1 -3
  1961. package/lib/v2/twitter/maintainer.js +1 -0
  1962. package/lib/v2/twitter/media.js +1 -5
  1963. package/lib/v2/twitter/radar.js +17 -7
  1964. package/lib/v2/twitter/router.js +1 -0
  1965. package/lib/v2/twitter/tweet.js +5 -0
  1966. package/lib/v2/twitter/user.js +1 -3
  1967. package/lib/v2/twitter/utils.js +15 -7
  1968. package/lib/v2/twitter/web-api/constants.js +89 -0
  1969. package/lib/v2/twitter/web-api/media.js +1 -1
  1970. package/lib/v2/twitter/web-api/tweet.js +25 -0
  1971. package/lib/v2/twitter/web-api/twitter-api.js +190 -128
  1972. package/lib/v2/twitter/web-api/user.js +1 -1
  1973. package/lib/v2/twreporter/radar.js +3 -3
  1974. package/lib/v2/txrjy/radar.js +1 -1
  1975. package/lib/v2/tynu/radar.js +1 -1
  1976. package/lib/v2/typora/radar.js +2 -2
  1977. package/lib/v2/u3c3/radar.js +2 -2
  1978. package/lib/v2/u9a9/radar.js +2 -2
  1979. package/lib/v2/uber/radar.js +1 -1
  1980. package/lib/v2/ucas/radar.js +2 -2
  1981. package/lib/v2/ucas/rader.js +4 -4
  1982. package/lib/v2/uchicago/radar.js +1 -1
  1983. package/lib/v2/udn/breaking-news.js +14 -5
  1984. package/lib/v2/udn/radar.js +3 -3
  1985. package/lib/v2/uestc/radar.js +8 -8
  1986. package/lib/v2/uibe/radar.js +1 -1
  1987. package/lib/v2/ulapia/radar.js +8 -8
  1988. package/lib/v2/uniqlo/maintainer.js +3 -0
  1989. package/lib/v2/uniqlo/new.js +62 -0
  1990. package/lib/v2/uniqlo/radar.js +12 -0
  1991. package/lib/v2/uniqlo/router.js +3 -0
  1992. package/lib/v2/unusualwhales/radar.js +1 -1
  1993. package/lib/v2/upc/radar.js +7 -7
  1994. package/lib/v2/uptimerobot/radar.js +1 -1
  1995. package/lib/v2/uraaka-joshi/radar.js +2 -2
  1996. package/lib/v2/urbandictionary/radar.js +1 -1
  1997. package/lib/v2/usenix/radar.js +1 -1
  1998. package/lib/v2/usepanda/radar.js +1 -1
  1999. package/lib/v2/ustb/maintainer.js +2 -22
  2000. package/lib/v2/ustb/radar.js +10 -2
  2001. package/lib/v2/ustb/router.js +1 -0
  2002. package/lib/{routes/universities → v2}/ustb/tj/news.js +11 -12
  2003. package/lib/v2/ustc/eeis.js +5 -4
  2004. package/lib/v2/ustc/radar.js +6 -6
  2005. package/lib/v2/ustc/sist.js +6 -5
  2006. package/lib/v2/usts/radar.js +3 -3
  2007. package/lib/v2/utgd/category.js +68 -0
  2008. package/lib/v2/utgd/maintainer.js +5 -0
  2009. package/lib/v2/utgd/radar.js +25 -0
  2010. package/lib/v2/utgd/router.js +5 -0
  2011. package/lib/v2/utgd/templates/description.art +7 -0
  2012. package/lib/v2/utgd/timeline.js +54 -0
  2013. package/lib/v2/utgd/topic.js +70 -0
  2014. package/lib/v2/uw/radar.js +1 -1
  2015. package/lib/v2/v1tx/index.js +41 -22
  2016. package/lib/v2/v1tx/maintainer.js +0 -1
  2017. package/lib/v2/v1tx/radar.js +1 -1
  2018. package/lib/v2/v2ex/maintainer.js +5 -0
  2019. package/lib/v2/v2ex/post.js +35 -0
  2020. package/lib/v2/v2ex/radar.js +35 -0
  2021. package/lib/v2/v2ex/router.js +5 -0
  2022. package/lib/{routes → v2}/v2ex/tab.js +17 -21
  2023. package/lib/{routes → v2}/v2ex/topics.js +1 -1
  2024. package/lib/v2/v2rayshare/index.js +22 -0
  2025. package/lib/v2/v2rayshare/maintainer.js +3 -0
  2026. package/lib/v2/v2rayshare/radar.js +13 -0
  2027. package/lib/v2/v2rayshare/router.js +3 -0
  2028. package/lib/v2/vcb-s/radar.js +2 -2
  2029. package/lib/v2/verfghbw/radar.js +1 -1
  2030. package/lib/v2/verse/radar.js +1 -1
  2031. package/lib/v2/vimeo/radar.js +4 -4
  2032. package/lib/v2/vlive/radar.js +1 -1
  2033. package/lib/v2/vmware/radar.js +1 -1
  2034. package/lib/v2/vocus/radar.js +2 -2
  2035. package/lib/v2/vom/radar.js +1 -1
  2036. package/lib/v2/wallhaven/radar.js +5 -5
  2037. package/lib/v2/wallpaperhub/radar.js +1 -1
  2038. package/lib/v2/wallstreetcn/radar.js +3 -3
  2039. package/lib/v2/wangqiutiyu/radar.js +1 -1
  2040. package/lib/v2/wanqu/radar.js +1 -1
  2041. package/lib/v2/warthunder/radar.js +1 -1
  2042. package/lib/v2/watchout/radar.js +1 -1
  2043. package/lib/v2/wdc/radar.js +1 -1
  2044. package/lib/v2/web3caff/radar.js +1 -1
  2045. package/lib/v2/wechat/feeddd.js +12 -3
  2046. package/lib/v2/wechat/mp.js +0 -0
  2047. package/lib/v2/wechat/radar.js +11 -11
  2048. package/lib/v2/wechat/router.js +3 -3
  2049. package/lib/v2/weekendhk/maintainer.js +0 -1
  2050. package/lib/v2/weekendhk/radar.js +1 -1
  2051. package/lib/v2/weibo/group.js +93 -0
  2052. package/lib/v2/weibo/keyword.js +1 -10
  2053. package/lib/v2/weibo/maintainer.js +5 -4
  2054. package/lib/v2/weibo/oasis/user.js +4 -3
  2055. package/lib/v2/weibo/radar.js +6 -6
  2056. package/lib/v2/weibo/router.js +2 -1
  2057. package/lib/v2/weibo/search/hot.js +118 -7
  2058. package/lib/v2/weibo/search/template/digest.art +17 -0
  2059. package/lib/v2/weibo/super_index.js +1 -10
  2060. package/lib/v2/weibo/timeline.js +5 -5
  2061. package/lib/v2/weibo/user.js +2 -8
  2062. package/lib/v2/weibo/utils.js +15 -3
  2063. package/lib/v2/wenku8/radar.js +8 -8
  2064. package/lib/v2/wfdf/radar.js +1 -1
  2065. package/lib/v2/wfu/radar.js +2 -2
  2066. package/lib/v2/whitehouse/radar.js +2 -2
  2067. package/lib/v2/who/radar.js +3 -3
  2068. package/lib/v2/whoscall/radar.js +3 -3
  2069. package/lib/v2/whu/cs.js +71 -0
  2070. package/lib/v2/whu/gs/index.js +85 -0
  2071. package/lib/v2/whu/hyxt.js +50 -0
  2072. package/lib/v2/whu/maintainer.js +6 -0
  2073. package/lib/v2/whu/news.js +70 -0
  2074. package/lib/v2/whu/radar.js +275 -0
  2075. package/lib/v2/whu/router.js +6 -0
  2076. package/lib/v2/whu/templates/description.art +39 -0
  2077. package/lib/v2/whu/util.js +148 -0
  2078. package/lib/v2/wikinews/index.js +28 -29
  2079. package/lib/v2/wikinews/radar.js +1 -1
  2080. package/lib/v2/winstall/maintainer.js +3 -0
  2081. package/lib/v2/winstall/radar.js +13 -0
  2082. package/lib/v2/winstall/router.js +3 -0
  2083. package/lib/v2/winstall/templates/desc.art +5 -0
  2084. package/lib/v2/winstall/update.js +43 -0
  2085. package/lib/v2/wise/radar.js +1 -1
  2086. package/lib/v2/wizfile/radar.js +1 -1
  2087. package/lib/v2/wnacg/index.js +1 -1
  2088. package/lib/v2/wnacg/radar.js +3 -3
  2089. package/lib/v2/wnacg/templates/manga.art +4 -4
  2090. package/lib/v2/worldjournal/radar.js +1 -1
  2091. package/lib/v2/woshipm/radar.js +5 -5
  2092. package/lib/v2/wp-china/radar.js +1 -1
  2093. package/lib/v2/wsj/radar.js +2 -2
  2094. package/lib/v2/wsyu/radar.js +3 -3
  2095. package/lib/v2/wtu/index.js +37 -0
  2096. package/lib/v2/wtu/job.js +80 -0
  2097. package/lib/v2/wtu/maintainer.js +4 -0
  2098. package/lib/v2/wtu/radar.js +22 -0
  2099. package/lib/v2/wtu/router.js +4 -0
  2100. package/lib/v2/wxkol/radar.js +1 -1
  2101. package/lib/v2/wxkol/show.js +4 -3
  2102. package/lib/v2/wyzxwk/radar.js +1 -1
  2103. package/lib/v2/wzu/radar.js +1 -1
  2104. package/lib/v2/x-mol/maintainer.js +4 -0
  2105. package/lib/v2/x-mol/news.js +63 -0
  2106. package/lib/v2/x-mol/paper.js +73 -0
  2107. package/lib/v2/x-mol/radar.js +25 -0
  2108. package/lib/v2/x-mol/router.js +4 -0
  2109. package/lib/v2/x-mol/templates/description.art +6 -0
  2110. package/lib/v2/x-mol/utils.js +3 -0
  2111. package/lib/v2/x6d/radar.js +1 -1
  2112. package/lib/v2/xaufe/radar.js +1 -1
  2113. package/lib/v2/xaut/radar.js +3 -3
  2114. package/lib/v2/xboxfan/maintainer.js +3 -0
  2115. package/lib/v2/xboxfan/news.js +45 -0
  2116. package/lib/v2/xboxfan/radar.js +13 -0
  2117. package/lib/v2/xboxfan/router.js +3 -0
  2118. package/lib/v2/xiaohongshu/maintainer.js +1 -1
  2119. package/lib/v2/xiaohongshu/notes.js +16 -0
  2120. package/lib/v2/xiaohongshu/radar.js +3 -3
  2121. package/lib/v2/xiaohongshu/router.js +1 -0
  2122. package/lib/v2/xiaohongshu/user.js +33 -9
  2123. package/lib/v2/xiaohongshu/util.js +148 -20
  2124. package/lib/v2/xiaomiyoupin/radar.js +2 -2
  2125. package/lib/v2/xiaote/index.js +48 -0
  2126. package/lib/v2/xiaote/maintainer.js +3 -0
  2127. package/lib/v2/xiaote/radar.js +13 -0
  2128. package/lib/v2/xiaote/router.js +3 -0
  2129. package/lib/v2/xiaoyuzhou/radar.js +2 -2
  2130. package/lib/v2/xiaozhuanlan/radar.js +1 -1
  2131. package/lib/v2/xidian/radar.js +1 -1
  2132. package/lib/{routes → v2}/ximalaya/album.js +20 -19
  2133. package/lib/v2/ximalaya/maintainer.js +4 -0
  2134. package/lib/v2/ximalaya/radar.js +17 -0
  2135. package/lib/v2/ximalaya/router.js +4 -0
  2136. package/lib/{routes → v2}/ximalaya/utils.js +6 -5
  2137. package/lib/v2/xinpianchang/index.js +19 -0
  2138. package/lib/v2/xinpianchang/maintainer.js +4 -0
  2139. package/lib/v2/xinpianchang/radar.js +28 -0
  2140. package/lib/v2/xinpianchang/rank.js +33 -0
  2141. package/lib/v2/xinpianchang/router.js +5 -0
  2142. package/lib/v2/xinpianchang/templates/description.art +13 -0
  2143. package/lib/v2/xinpianchang/util.js +110 -0
  2144. package/lib/v2/xjtu/radar.js +7 -7
  2145. package/lib/v2/xkb/radar.js +1 -1
  2146. package/lib/v2/xmanhua/radar.js +1 -1
  2147. package/lib/v2/xmnn/docs.js +0 -0
  2148. package/lib/v2/xmnn/maintainer.js +1 -0
  2149. package/lib/v2/xmnn/news.js +65 -0
  2150. package/lib/v2/xmnn/radar.js +68 -2
  2151. package/lib/v2/xmnn/router.js +1 -0
  2152. package/lib/v2/xmut/jwc/bkjw.js +62 -0
  2153. package/lib/v2/xmut/jwc/yjs.js +51 -0
  2154. package/lib/v2/xmut/maintainer.js +3 -0
  2155. package/lib/v2/xmut/radar.js +13 -0
  2156. package/lib/v2/xmut/router.js +4 -0
  2157. package/lib/v2/xsijishe/radar.js +1 -1
  2158. package/lib/v2/xueqiu/radar.js +12 -12
  2159. package/lib/v2/xunhupay/radar.js +1 -1
  2160. package/lib/v2/xwlb/radar.js +1 -1
  2161. package/lib/v2/xys/radar.js +1 -1
  2162. package/lib/v2/xyzrank/radar.js +4 -4
  2163. package/lib/v2/yahoo/news/index.js +19 -20
  2164. package/lib/v2/yahoo/radar.js +1 -1
  2165. package/lib/v2/yangtzeu/dongke.js +60 -0
  2166. package/lib/v2/yangtzeu/maintainer.js +3 -0
  2167. package/lib/v2/yangtzeu/radar.js +18 -0
  2168. package/lib/v2/yangtzeu/router.js +3 -0
  2169. package/lib/v2/yaohuo/radar.js +1 -1
  2170. package/lib/v2/ycwb/radar.js +1 -1
  2171. package/lib/v2/yicai/radar.js +8 -8
  2172. package/lib/v2/ymgal/radar.js +4 -4
  2173. package/lib/v2/yoasobi-music/radar.js +4 -4
  2174. package/lib/v2/yomiuri/maintainer.js +1 -1
  2175. package/lib/v2/yomiuri/news.js +50 -100
  2176. package/lib/v2/yomiuri/radar.js +4 -4
  2177. package/lib/v2/yomujp/level.js +101 -0
  2178. package/lib/v2/yomujp/maintainer.js +3 -0
  2179. package/lib/v2/yomujp/radar.js +13 -0
  2180. package/lib/v2/yomujp/router.js +3 -0
  2181. package/lib/v2/youku/radar.js +1 -1
  2182. package/lib/v2/youtube/live.js +49 -0
  2183. package/lib/v2/youtube/maintainer.js +1 -0
  2184. package/lib/v2/youtube/radar.js +19 -7
  2185. package/lib/v2/youtube/router.js +1 -0
  2186. package/lib/v2/youtube/user.js +1 -1
  2187. package/lib/v2/youtube/utils.js +12 -0
  2188. package/lib/v2/youzhiyouxing/radar.js +7 -7
  2189. package/lib/v2/yunspe/radar.js +1 -1
  2190. package/lib/v2/yuque/radar.js +1 -1
  2191. package/lib/v2/yuque/utils.js +17 -2
  2192. package/lib/v2/yxdown/radar.js +2 -2
  2193. package/lib/v2/yxdzqb/radar.js +1 -1
  2194. package/lib/v2/yxrb/radar.js +1 -1
  2195. package/lib/v2/yyets/radar.js +2 -2
  2196. package/lib/v2/yystv/radar.js +7 -7
  2197. package/lib/v2/zagg/radar.js +1 -1
  2198. package/lib/v2/zaker/radar.js +2 -2
  2199. package/lib/v2/zaobao/radar.js +3 -3
  2200. package/lib/v2/zaobao/util.js +38 -31
  2201. package/lib/v2/zaozao/radar.js +1 -1
  2202. package/lib/v2/zcmu/radar.js +13 -13
  2203. package/lib/v2/zcool/maintainer.js +1 -1
  2204. package/lib/v2/zcool/radar.js +14 -14
  2205. package/lib/v2/zhangyoubao/radar.js +1 -1
  2206. package/lib/v2/zhibo8/radar.js +4 -4
  2207. package/lib/v2/zhihu/answers.js +13 -9
  2208. package/lib/v2/zhihu/daily_section.js +2 -0
  2209. package/lib/v2/zhihu/maintainer.js +4 -0
  2210. package/lib/v2/zhihu/radar.js +42 -18
  2211. package/lib/v2/zhihu/router.js +4 -0
  2212. package/lib/v2/zhihu/xhu/auth.js +38 -0
  2213. package/lib/v2/zhihu/xhu/collection.js +64 -0
  2214. package/lib/v2/zhihu/xhu/question.js +44 -0
  2215. package/lib/v2/zhihu/xhu/topic.js +70 -0
  2216. package/lib/v2/zhihu/xhu/zhuanlan.js +83 -0
  2217. package/lib/v2/zhitongcaijing/radar.js +1 -1
  2218. package/lib/v2/zhiy/radar.js +2 -2
  2219. package/lib/v2/zhubai/maintainer.js +1 -0
  2220. package/lib/v2/zhubai/radar.js +9 -1
  2221. package/lib/v2/zhubai/router.js +1 -0
  2222. package/lib/v2/zhubai/templates/description.art +59 -0
  2223. package/lib/v2/zhubai/top20.js +66 -0
  2224. package/lib/{routes → v2}/zimuxia/index.js +16 -8
  2225. package/lib/v2/zimuxia/maintainer.js +4 -0
  2226. package/lib/v2/zimuxia/portfolio.js +52 -0
  2227. package/lib/v2/zimuxia/radar.js +19 -0
  2228. package/lib/v2/zimuxia/router.js +4 -0
  2229. package/lib/v2/zjgtjy/radar.js +4 -4
  2230. package/lib/v2/zjol/radar.js +7 -7
  2231. package/lib/v2/zju/radar.js +15 -15
  2232. package/lib/v2/zjuvag/blog.js +33 -0
  2233. package/lib/v2/zjuvag/maintainer.js +3 -0
  2234. package/lib/v2/zjuvag/radar.js +11 -0
  2235. package/lib/v2/zjuvag/router.js +3 -0
  2236. package/lib/v2/zodgame/forum.js +61 -23
  2237. package/lib/v2/zodgame/radar.js +1 -1
  2238. package/lib/v2/zodgame/templates/forum.art +1 -1
  2239. package/lib/v2/zooTeam/radar.js +2 -2
  2240. package/lib/v2/zotero/radar.js +1 -1
  2241. package/lib/v2/zuel/radar.js +1 -1
  2242. package/lib/v2/zuvio/radar.js +1 -1
  2243. package/lib/v2/zuzhirenshi/radar.js +1 -1
  2244. package/lib/v2/zyshow/radar.js +1 -1
  2245. package/lib/v2/zyw/hot.js +63 -0
  2246. package/lib/v2/zyw/maintainer.js +3 -0
  2247. package/lib/v2/zyw/radar.js +16 -0
  2248. package/lib/v2/zyw/router.js +3 -0
  2249. package/lib/views/error.art +7 -3
  2250. package/lib/views/rss.art +1 -1
  2251. package/lib/views/rss3-ums.js +62 -0
  2252. package/lib/views/welcome.art +3 -3
  2253. package/package.json +168 -141
  2254. package/lib/routes/141jav/141jav.js +0 -37
  2255. package/lib/routes/141ppv/141ppv.js +0 -37
  2256. package/lib/routes/3dm/game.js +0 -42
  2257. package/lib/routes/3dm/news_center.js +0 -54
  2258. package/lib/routes/abc/documentId.js +0 -7272
  2259. package/lib/routes/abc/id.js +0 -7272
  2260. package/lib/routes/abc/index.js +0 -74
  2261. package/lib/routes/aeon/category.js +0 -70
  2262. package/lib/routes/aisixiang/column.js +0 -37
  2263. package/lib/routes/aisixiang/ranking.js +0 -37
  2264. package/lib/routes/aisixiang/thinktank.js +0 -40
  2265. package/lib/routes/aisixiang/utils.js +0 -39
  2266. package/lib/routes/blogs/paulgraham.js +0 -46
  2267. package/lib/routes/cneb/guoneinews.js +0 -27
  2268. package/lib/routes/cneb/yjxx.js +0 -36
  2269. package/lib/routes/cyzone/author.js +0 -55
  2270. package/lib/routes/cyzone/label.js +0 -53
  2271. package/lib/routes/discuz/discuz.js +0 -148
  2272. package/lib/routes/dribbble/utils.js +0 -94
  2273. package/lib/routes/egsea/flash.js +0 -40
  2274. package/lib/routes/futunn/highlights.js +0 -58
  2275. package/lib/routes/fx678/kx.js +0 -44
  2276. package/lib/routes/getitfree/category.js +0 -59
  2277. package/lib/routes/getitfree/search.js +0 -25
  2278. package/lib/routes/getitfree/utils.js +0 -47
  2279. package/lib/routes/gov/moa/sjzxfb.js +0 -20
  2280. package/lib/routes/grubstreet/utils.js +0 -78
  2281. package/lib/routes/hinatazaka46/blog.js +0 -38
  2282. package/lib/routes/hinatazaka46/news.js +0 -34
  2283. package/lib/routes/icable/category.js +0 -64
  2284. package/lib/routes/kkj/news.js +0 -52
  2285. package/lib/routes/liquipedia/dota2_matches.js +0 -50
  2286. package/lib/routes/mail/imap.js +0 -79
  2287. package/lib/routes/mittrchina/index.js +0 -45
  2288. package/lib/routes/nasa/apod-cn.js +0 -66
  2289. package/lib/routes/nasa/apod-ncku.js +0 -30
  2290. package/lib/routes/nasa/apod.js +0 -30
  2291. package/lib/routes/niaogebiji/cat.js +0 -86
  2292. package/lib/routes/niaogebiji/index.js +0 -40
  2293. package/lib/routes/niaogebiji/today.js +0 -29
  2294. package/lib/routes/notefolio/index.js +0 -67
  2295. package/lib/routes/npc/index.js +0 -42
  2296. package/lib/routes/pornhub/category.js +0 -22
  2297. package/lib/routes/pornhub/category_url.js +0 -34
  2298. package/lib/routes/pornhub/model.js +0 -35
  2299. package/lib/routes/pornhub/pornstar.js +0 -35
  2300. package/lib/routes/pornhub/search.js +0 -22
  2301. package/lib/routes/pornhub/users.js +0 -35
  2302. package/lib/routes/rss3/blog.js +0 -46
  2303. package/lib/routes/sina/chuangshiji.js +0 -38
  2304. package/lib/routes/sina/discovery.js +0 -52
  2305. package/lib/routes/sina/finance.js +0 -37
  2306. package/lib/routes/sina/rollnews.js +0 -41
  2307. package/lib/routes/sina/sports.js +0 -54
  2308. package/lib/routes/uniqlo/stylingbook.js +0 -24
  2309. package/lib/routes/universities/buaa/news/index.js +0 -66
  2310. package/lib/routes/universities/buaa/utils.js +0 -57
  2311. package/lib/routes/universities/nwafu/54youth.js +0 -28
  2312. package/lib/routes/universities/nwafu/cie.js +0 -28
  2313. package/lib/routes/universities/nwafu/gs.js +0 -28
  2314. package/lib/routes/universities/nwafu/jcc.js +0 -28
  2315. package/lib/routes/universities/nwafu/jiaowu.js +0 -28
  2316. package/lib/routes/universities/nwafu/lib.js +0 -28
  2317. package/lib/routes/universities/nwafu/news.js +0 -28
  2318. package/lib/routes/universities/nwafu/nic.js +0 -28
  2319. package/lib/routes/universities/nwafu/yjshy.js +0 -28
  2320. package/lib/routes/universities/seu/cse/index.js +0 -69
  2321. package/lib/routes/universities/seu/radio/academic.js +0 -65
  2322. package/lib/routes/universities/seu/yzb/index.js +0 -38
  2323. package/lib/routes/universities/shu/index.js +0 -75
  2324. package/lib/routes/universities/shu/jwc.js +0 -62
  2325. package/lib/routes/universities/sjtu/gs/tzgg.js +0 -31
  2326. package/lib/routes/universities/sjtu/gs/utils.js +0 -64
  2327. package/lib/routes/universities/sjtu/seiee/utils.js +0 -45
  2328. package/lib/routes/universities/whu/cs.js +0 -38
  2329. package/lib/routes/universities/whu/news.js +0 -128
  2330. package/lib/routes/universities/wtu/index.js +0 -34
  2331. package/lib/routes/v2ex/post.js +0 -39
  2332. package/lib/routes/x-mol/news.js +0 -48
  2333. package/lib/routes/x-mol/paper.js +0 -78
  2334. package/lib/routes/x-mol/utils.js +0 -16
  2335. package/lib/routes/zimuxia/portfolio.js +0 -39
  2336. package/lib/v2/abskoop/templates/description.art +0 -3
  2337. package/lib/v2/agirls/templates/description.art +0 -1
  2338. package/lib/v2/appstore/update.js +0 -37
  2339. package/lib/v2/chinafactcheck/templates/description.art +0 -1
  2340. package/lib/v2/firefox/index.js +0 -74
  2341. package/lib/v2/gocn/util.js +0 -17
  2342. package/lib/v2/gov/zhengce/zuixin.js +0 -39
  2343. package/lib/v2/hrbeu/uae/list.js +0 -57
  2344. package/lib/v2/liulinblog/itnews.js +0 -23
  2345. package/lib/v2/liulinblog/kuaixun.js +0 -17
  2346. package/lib/v2/liulinblog/utils.js +0 -42
  2347. package/lib/v2/nbd/article.js +0 -50
  2348. package/lib/v2/newzmz/view.js +0 -42
  2349. package/lib/v2/reuters/migration_prompt.js +0 -3
  2350. package/lib/v2/scitation/radar.js +0 -19
  2351. package/lib/v2/scitation/router.js +0 -4
  2352. package/lib/v2/scitation/section.js +0 -76
  2353. package/lib/v2/twitter/web-api/twitter-got.js +0 -91
  2354. /package/lib/v2/{scitation → aip}/templates/description.art +0 -0
  2355. /package/lib/v2/{scitation → aip}/utils.js +0 -0
  2356. /package/lib/{routes → v2}/bbc/utils.js +0 -0
  2357. /package/lib/{routes → v2}/dribbble/keyword.js +0 -0
  2358. /package/lib/{routes → v2}/dribbble/popular.js +0 -0
  2359. /package/lib/{routes → v2}/dribbble/user.js +0 -0
  2360. /package/lib/{routes → v2}/gov/moa/moa.js +0 -0
  2361. /package/lib/{routes → v2}/grubstreet/index.js +0 -0
  2362. /package/lib/{routes → v2}/mastodon/account_id.js +0 -0
  2363. /package/lib/{routes → v2}/mastodon/acct.js +0 -0
  2364. /package/lib/{routes → v2}/metacritic/release.js +0 -0
  2365. /package/lib/{routes → v2}/storyfm/index.js +0 -0
  2366. /package/lib/{routes → v2}/telecompaper/search.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports = (router) => {
2
+ router.get('/news', require('./news'));
3
+ };
@@ -1,5 +1,5 @@
1
1
  module.exports = {
2
2
  '/board/:board_id': ['lotosbin'],
3
3
  '/user/:user_id/collect': ['lotosbin'],
4
- '/user/:user_id/notes': ['lotosbin'],
4
+ '/user/:user_id/notes/:fulltext?': ['lotosbin', 'howerhe'],
5
5
  };
@@ -0,0 +1,16 @@
1
+ const { getNotes, formatText, formatNote } = require('./util');
2
+
3
+ module.exports = async (ctx) => {
4
+ const userId = ctx.params.user_id;
5
+ const url = `https://www.xiaohongshu.com/user/profile/${userId}`;
6
+
7
+ const { user, notes } = await getNotes(url, ctx.cache);
8
+
9
+ ctx.state.data = {
10
+ title: `${user.nickname} - 笔记 • 小红书 / RED`,
11
+ description: formatText(user.desc),
12
+ image: user.imageb || user.images,
13
+ link: url,
14
+ item: notes.map((item) => formatNote(url, item)),
15
+ };
16
+ };
@@ -4,19 +4,19 @@ module.exports = {
4
4
  '.': [
5
5
  {
6
6
  title: '用户笔记',
7
- docs: 'https://docs.rsshub.app/social-media.html#xiao-hong-shu',
7
+ docs: 'https://docs.rsshub.app/routes/social-media#xiao-hong-shu',
8
8
  source: '/user/profile/:user_id',
9
9
  target: '/xiaohongshu/user/:user_id/notes',
10
10
  },
11
11
  {
12
12
  title: '用户收藏',
13
- docs: 'https://docs.rsshub.app/social-media.html#xiao-hong-shu',
13
+ docs: 'https://docs.rsshub.app/routes/social-media#xiao-hong-shu',
14
14
  source: '/user/profile/:user_id',
15
15
  target: '/xiaohongshu/user/:user_id/collect',
16
16
  },
17
17
  {
18
18
  title: '专辑',
19
- docs: 'https://docs.rsshub.app/social-media.html#xiao-hong-shu',
19
+ docs: 'https://docs.rsshub.app/routes/social-media#xiao-hong-shu',
20
20
  source: '/board/:board_id',
21
21
  target: '/xiaohongshu/board/:board_id',
22
22
  },
@@ -1,4 +1,5 @@
1
1
  module.exports = (router) => {
2
2
  router.get('/board/:board_id', require('./board'));
3
+ router.get('/user/:user_id/notes/fulltext', require('./notes'));
3
4
  router.get('/user/:user_id/:category', require('./user'));
4
5
  };
@@ -5,26 +5,50 @@ module.exports = async (ctx) => {
5
5
  const category = ctx.params.category;
6
6
  const url = `https://www.xiaohongshu.com/user/profile/${userId}`;
7
7
 
8
- const content = await getUser(url, ctx.cache);
8
+ const {
9
+ userPageData: { basicInfo, interactions, tags },
10
+ notes,
11
+ collect,
12
+ } = await getUser(url, ctx.cache);
9
13
 
10
- const { otherInfo, user_posted, collect } = content;
11
- const title = `${otherInfo.data.basic_info.nickname} - ${category === 'notes' ? '笔记' : '收藏'} • 小红书 / RED`;
12
- const description = otherInfo.data.basic_info.desc;
13
- const image = otherInfo.data.basic_info.imageb || otherInfo.data.basic_info.images;
14
+ const title = `${basicInfo.nickname} - ${category === 'notes' ? '笔记' : '收藏'} 小红书 / RED`;
15
+ const description = `${basicInfo.desc} ${tags.map((t) => t.name).join(' ')} ${interactions.map((i) => `${i.count} ${i.name}`).join(' ')}`;
16
+ const image = basicInfo.imageb || basicInfo.images;
14
17
 
15
- const items = (category, user_posted, collect) =>
16
- (category === 'notes' ? user_posted : collect).data.notes.map((item) => ({
18
+ const renderNote = (notes) =>
19
+ notes.flatMap((n) =>
20
+ n.map(({ noteCard }) => ({
21
+ title: noteCard.displayTitle,
22
+ link: `${url}/${noteCard.noteId}`,
23
+ description: `<img src ="${noteCard.cover.infoList.pop().url}"><br>${noteCard.displayTitle}`,
24
+ author: noteCard.user.nickname,
25
+ upvotes: noteCard.interactInfo.likedCount,
26
+ }))
27
+ );
28
+ const renderCollect = (collect) => {
29
+ if (!collect) {
30
+ throw Error('该用户已设置收藏内容不可见');
31
+ }
32
+ if (collect.code !== 0) {
33
+ throw Error(JSON.stringify(collect));
34
+ }
35
+ if (!collect.data.notes.length) {
36
+ throw ctx.throw(403, '该用户已设置收藏内容不可见');
37
+ }
38
+ return collect.data.notes.map((item) => ({
17
39
  title: item.display_title,
18
40
  link: `${url}/${item.note_id}`,
19
- description: `<img src ="${item.cover.url}"><br>${item.display_title}`,
41
+ description: `<img src ="${item.cover.info_list.pop().url}"><br>${item.display_title}`,
20
42
  author: item.user.nickname,
43
+ upvotes: item.interact_info.likedCount,
21
44
  }));
45
+ };
22
46
 
23
47
  ctx.state.data = {
24
48
  title,
25
49
  description,
26
50
  image,
27
51
  link: url,
28
- item: items(category, user_posted, collect),
52
+ item: category === 'notes' ? renderNote(notes) : renderCollect(collect),
29
53
  };
30
54
  };
@@ -1,5 +1,6 @@
1
1
  const config = require('@/config').value;
2
2
  const logger = require('@/utils/logger');
3
+ const { parseDate } = require('@/utils/parse-date');
3
4
 
4
5
  const getUser = (url, cache) =>
5
6
  cache.tryGet(
@@ -9,33 +10,39 @@ const getUser = (url, cache) =>
9
10
  try {
10
11
  const page = await browser.newPage();
11
12
  await page.setRequestInterception(true);
12
- let otherInfo = '';
13
- let user_posted = '';
14
13
  let collect = '';
15
14
  page.on('request', (request) => {
16
15
  request.resourceType() === 'document' || request.resourceType() === 'script' || request.resourceType() === 'xhr' || request.resourceType() === 'other' ? request.continue() : request.abort();
17
16
  });
18
- page.on('response', async (response) => {
19
- const request = response.request();
20
- if (request.url().includes('/api/sns/web/v1/user/otherinfo')) {
21
- otherInfo = await response.json();
22
- }
23
- if (request.url().includes('/api/sns/web/v1/user_posted')) {
24
- user_posted = await response.json();
25
- }
26
- if (request.url().includes('/api/sns/web/v2/note/collect/page')) {
17
+ logger.http(`Requesting ${url}`);
18
+ await page.goto(url, {
19
+ waitUntil: 'domcontentloaded',
20
+ });
21
+ await page.waitForSelector('div.reds-tab-item:nth-child(2)');
22
+
23
+ const initialState = await page.evaluate(() => window.__INITIAL_STATE__);
24
+
25
+ if (!(await page.$('.lock-icon'))) {
26
+ await page.click('div.reds-tab-item:nth-child(2)');
27
+ try {
28
+ const response = await page.waitForResponse(
29
+ (res) => {
30
+ const req = res.request();
31
+ return req.url().includes('/api/sns/web/v2/note/collect/page') && req.method() === 'GET' && req.resourceType() === 'xhr';
32
+ },
33
+ { timeout: 5000 }
34
+ );
27
35
  collect = await response.json();
36
+ } catch (e) {
37
+ //
28
38
  }
29
- });
30
- logger.debug(`Requesting ${url}`);
31
- await page.goto(url);
32
- await page.waitForSelector('.feeds-container:nth-child(1) .note-item');
33
- await page.click('div.reds-tab-item:nth-child(2)');
34
- const privateCollection = await page.evaluate(() => document.querySelector('div.reds-tab-item:nth-child(2) .reds-icon'));
35
- if (!privateCollection) {
36
- await page.waitForSelector('.feeds-container:nth-child(2) .note-item');
37
39
  }
38
- return { otherInfo, user_posted, collect };
40
+
41
+ let { userPageData, notes } = initialState.user;
42
+ userPageData = userPageData._rawValue || userPageData;
43
+ notes = notes._rawValue || notes;
44
+
45
+ return { userPageData, notes, collect };
39
46
  } finally {
40
47
  browser.close();
41
48
  }
@@ -68,7 +75,128 @@ const getBoard = (url, cache) =>
68
75
  false
69
76
  );
70
77
 
78
+ const getNotes = (url, cache) =>
79
+ cache.tryGet(
80
+ url + '/notes', // To avoid mixing with the cache for `user.js`
81
+ async () => {
82
+ let user = '';
83
+ let notes = [];
84
+
85
+ const setPageFilter = async (page) => {
86
+ await page.setRequestInterception(true);
87
+ page.on('request', (req) => {
88
+ req.resourceType() === 'document' || req.resourceType() === 'script' || req.resourceType() === 'xhr' || req.resourceType() === 'other' ? req.continue() : req.abort();
89
+ });
90
+ };
91
+
92
+ const browser = await require('@/utils/puppeteer')({ stealth: true });
93
+ try {
94
+ const page = await browser.newPage();
95
+ await setPageFilter(page);
96
+
97
+ logger.debug(`Requesting ${url}`);
98
+ await page.goto(url);
99
+
100
+ let otherInfo = {};
101
+ let userPosted = {};
102
+ try {
103
+ [otherInfo, userPosted] = await Promise.all(
104
+ ['/api/sns/web/v1/user/otherinfo', '/api/sns/web/v1/user_posted'].map((p) =>
105
+ page
106
+ .waitForResponse((res) => {
107
+ const req = res.request();
108
+ return req.url().includes(p) && req.method() === 'GET';
109
+ })
110
+ .then((r) => r.json())
111
+ )
112
+ );
113
+ } catch (e) {
114
+ throw Error(`Could not get user information and note list\n${e}`);
115
+ }
116
+
117
+ await page.close();
118
+
119
+ // Get full text for each note
120
+ const notesPromise = userPosted.data.notes.map((n) => {
121
+ const noteUrl = url + '/' + n.note_id;
122
+
123
+ return cache.tryGet(noteUrl, async () => {
124
+ const notePage = await browser.newPage();
125
+ await setPageFilter(notePage);
126
+
127
+ logger.debug(`Requesting ${noteUrl}`);
128
+ await notePage.goto(noteUrl);
129
+
130
+ let feed = {};
131
+ try {
132
+ feed = await notePage.evaluate(() => window.__INITIAL_STATE__);
133
+
134
+ // Sometimes the page is not server-side rendered
135
+ if (typeof feed?.note?.note === 'undefined' || JSON.stringify(feed?.note?.note) === '{}') {
136
+ const res = await notePage.waitForResponse((res) => {
137
+ const req = res.request();
138
+ return req.url().includes('/api/sns/web/v1/feed') && req.method() === 'POST';
139
+ });
140
+
141
+ const json = await res.json();
142
+ const note_card = json.data.items[0].note_card;
143
+ feed.note.note = {
144
+ title: note_card.title,
145
+ noteId: note_card.id,
146
+ desc: note_card.desc,
147
+ tagList: note_card.tag_list,
148
+ imageList: note_card.image_list,
149
+ user: note_card.user,
150
+ time: note_card.time,
151
+ lastUpdateTime: note_card.last_update_time,
152
+ };
153
+ }
154
+ } catch (e) {
155
+ throw Error(`Could not get note ${n.note_id}\n${e}`);
156
+ }
157
+
158
+ await notePage.close();
159
+
160
+ if (typeof feed?.note?.note !== 'undefined' && JSON.stringify(feed?.note?.note) !== '{}') {
161
+ return feed.note.note;
162
+ } else {
163
+ throw Error(`Could not get note ${n.note_id}`);
164
+ }
165
+ });
166
+ });
167
+
168
+ user = otherInfo.data.basic_info;
169
+ notes = await Promise.all(notesPromise);
170
+ } finally {
171
+ await browser.close();
172
+ }
173
+
174
+ return { user, notes };
175
+ },
176
+ config.cache.routeExpire,
177
+ false
178
+ );
179
+
180
+ const formatText = (text) => text.replace(/(\r\n|\r|\n)/g, '<br>').replace(/\t/g, '&emsp;');
181
+
182
+ // tag_list.id has nothing to do with its url
183
+ const formatTagList = (tagList) => tagList.reduce((acc, item) => acc + `#${item.name} `, ``);
184
+
185
+ const formatImageList = (imageList) => imageList.reduce((acc, item) => acc + `<img src="${item.url}"><br>`, ``);
186
+
187
+ const formatNote = (url, note) => ({
188
+ title: note.title,
189
+ link: url + '/' + note.noteId,
190
+ description: formatText(note.desc) + '<br><br>' + formatTagList(note.tagList) + '<br><br>' + formatImageList(note.imageList),
191
+ author: note.user.nickname,
192
+ pubDate: parseDate(note.time, 'x'),
193
+ updated: parseDate(note.lastUpdateTime, 'x'),
194
+ });
195
+
71
196
  module.exports = {
72
197
  getUser,
73
198
  getBoard,
199
+ getNotes,
200
+ formatText,
201
+ formatNote,
74
202
  };
@@ -4,13 +4,13 @@ module.exports = {
4
4
  '.': [
5
5
  {
6
6
  title: '小米有品众筹',
7
- docs: 'https://docs.rsshub.app/shopping.html#xiao-mi-you-pin-xiao-mi-you-pin-zhong-chou',
7
+ docs: 'https://docs.rsshub.app/routes/shopping#xiao-mi-you-pin-xiao-mi-you-pin-zhong-chou',
8
8
  source: ['/'],
9
9
  target: '/xiaomiyoupin/crowdfunding',
10
10
  },
11
11
  {
12
12
  title: '小米有品每日上新',
13
- docs: 'https://docs.rsshub.app/shopping.html#xiao-mi-you-pin-xiao-mi-you-pin-mei-ri-shang-xin',
13
+ docs: 'https://docs.rsshub.app/routes/shopping#xiao-mi-you-pin-xiao-mi-you-pin-mei-ri-shang-xin',
14
14
  source: ['/'],
15
15
  target: '/xiaomiyoupin/latest',
16
16
  },
@@ -0,0 +1,48 @@
1
+ const got = require('@/utils/got'); // 自订的 got
2
+ const { parseDate } = require('@/utils/parse-date');
3
+
4
+ module.exports = async (ctx) => {
5
+ const { data } = await got.post('https://lcen.xiaote.net//api/graphql/', {
6
+ json: {
7
+ query: `query($startCursor: Int) {
8
+ communities(startCursor: $startCursor) {
9
+ edges {
10
+ node {
11
+ objectId
12
+ content
13
+ createdAt
14
+ imageUrls
15
+ user{
16
+ nickname
17
+ }
18
+ }
19
+ }
20
+ }
21
+ }`,
22
+ },
23
+ });
24
+
25
+ ctx.state.data = {
26
+ title: '小特社区',
27
+ // 源链接
28
+ link: 'https://xiaote.com/',
29
+ // 遍历所有此前获取的数据
30
+ item: data.data.communities.edges.map((node) => {
31
+ const item = node.node;
32
+ let description = item.content;
33
+ if (item.imageUrls) {
34
+ item.imageUrls.forEach((url) => {
35
+ description += `<img src="${url}">`;
36
+ });
37
+ }
38
+
39
+ return {
40
+ title: item.content,
41
+ link: `https://www.xiaote.com/r/${item.objectId}`,
42
+ description,
43
+ pubDate: parseDate(item.createdAt * 1000),
44
+ author: item.user.nickname,
45
+ };
46
+ }),
47
+ };
48
+ };
@@ -0,0 +1,3 @@
1
+ module.exports = {
2
+ '/news': ['wxsimon'],
3
+ };
@@ -0,0 +1,13 @@
1
+ module.exports = {
2
+ 'xiaote.com': {
3
+ _name: '小特社区',
4
+ '.': [
5
+ {
6
+ title: '首页帖子',
7
+ docs: 'https://docs.rsshub.app/routes/bbs#xiao-te-she-qu',
8
+ source: ['/'],
9
+ target: '/xiaote/news',
10
+ },
11
+ ],
12
+ },
13
+ };
@@ -0,0 +1,3 @@
1
+ module.exports = (router) => {
2
+ router.get('/news', require('./index'));
3
+ };
@@ -4,13 +4,13 @@ module.exports = {
4
4
  '.': [
5
5
  {
6
6
  title: '发现',
7
- docs: 'https://docs.rsshub.app/multimedia.html#xiao-yu-zhou',
7
+ docs: 'https://docs.rsshub.app/routes/multimedia#xiao-yu-zhou',
8
8
  source: ['/'],
9
9
  target: '/xiaoyuzhou',
10
10
  },
11
11
  {
12
12
  title: '播客',
13
- docs: 'https://docs.rsshub.app/multimedia.html#xiao-yu-zhou',
13
+ docs: 'https://docs.rsshub.app/routes/multimedia#xiao-yu-zhou',
14
14
  source: ['/podcast/:id'],
15
15
  target: '/xiaoyuzhou/podcast/:id',
16
16
  },
@@ -4,7 +4,7 @@ module.exports = {
4
4
  '.': [
5
5
  {
6
6
  title: '专栏',
7
- docs: 'https://docs.rsshub.app/new-media.html#xiao-zhuan-lan',
7
+ docs: 'https://docs.rsshub.app/routes/new-media#xiao-zhuan-lan',
8
8
  source: '/:id',
9
9
  target: '/xiaozhuanlan/column/:id',
10
10
  },
@@ -4,7 +4,7 @@ module.exports = {
4
4
  jwc: [
5
5
  {
6
6
  title: '教务处',
7
- docs: 'https://docs.rsshub.app/university.html#xi-an-dian-zi-ke-ji-da-xue',
7
+ docs: 'https://docs.rsshub.app/routes/university#xi-an-dian-zi-ke-ji-da-xue',
8
8
  source: ['/:category'],
9
9
  target: (params) => `/xidian/jwc${params.category ? `/${params.category}` : ''}`,
10
10
  },
@@ -3,6 +3,7 @@ const cheerio = require('cheerio');
3
3
  const { getUrl, getRandom16 } = require('./utils');
4
4
  const baseUrl = 'https://www.ximalaya.com';
5
5
  const config = require('@/config').value;
6
+ const { parseDate } = require('@/utils/parse-date');
6
7
 
7
8
  // Find category from: https://help.apple.com/itc/podcasts_connect/?lang=en#/itc9267a2f12
8
9
  const categoryDict = {
@@ -46,8 +47,8 @@ async function parseAlbumData(category, album_id) {
46
47
  // 解析网页版的 HTML 获取该专辑的信息
47
48
  // 这里的 {category} 并不重要,系统会准确的返回该 id 对应专辑的信息
48
49
  // 现在 {category} 必须要精确到大的类别
49
- // https://www.ximalaya.com/{category}/{album_id}/
50
- const response = await got(`https://www.ximalaya.com/${category}/${album_id}/`);
50
+ // https://www.ximalaya.com/{category}/{album_id}
51
+ const response = await got(`${baseUrl}/${category}/${album_id}`);
51
52
  const data = response.body;
52
53
  const $ = cheerio.load(data);
53
54
  const stateElement = $('script')
@@ -87,25 +88,27 @@ module.exports = async (ctx) => {
87
88
 
88
89
  const albumData = await parseAlbumData(type, id);
89
90
 
90
- const isPaid = albumData.store.AlbumDetailPage.albumPageMainInfo.isPaid;
91
+ const { albumPageMainInfo, currentCategory, anchorInfo } = albumData?.store?.AlbumDetailPage || {};
91
92
 
92
- const authorInfo = albumData.store.AlbumDetailPage.anchorInfo; // 作者数据
93
+ const isPaid = albumPageMainInfo.isPaid;
94
+
95
+ const authorInfo = anchorInfo; // 作者数据
93
96
  const author = authorInfo.nickName;
94
97
 
95
- const albumInfo = albumData.store.AlbumDetailPage.albumPageMainInfo; // 专辑数据
98
+ const albumInfo = albumPageMainInfo; // 专辑数据
96
99
  const albumTitle = albumInfo.albumTitle; // 专辑标题
97
100
  const albumCover = 'http:' + albumInfo.cover.split('!')[0];
98
101
  const albumIntro = albumInfo.detailRichIntro; // 专辑介绍
99
102
 
100
- const categoryInfo = albumData.store.AlbumDetailPage.currentCategory;
101
- const albumCategory = categoryInfo.categoryTitle; // 专辑分类名字
102
- const albumUrl = '/' + categoryInfo.categoryPinyin + '/' + id + '/';
103
+ const categoryInfo = currentCategory;
104
+ const albumCategory = categoryInfo?.categoryTitle || albumPageMainInfo.categoryTitle; // 专辑分类名字
105
+ const albumUrl = '/' + (categoryInfo?.categoryPinyin || type) + '/' + id + '/'; // 没有 categoryPinyin 这个字段了,用 type 兼容一下
103
106
 
104
107
  // sort 为 1 时是降序
105
108
  // const isAsc = albumData.store.AlbumDetailTrackList.sort === 0;
106
109
  // 喜马拉雅的 API 的 query 参数 isAsc=0 时才是升序,不写就是降序。
107
110
  const trackInfoApi = `http://mobile.ximalaya.com/mobile/v1/album/track/?albumId=${id}&pageSize=${pageSize}&pageId=`;
108
- const trackInfoResponse = await got.get(trackInfoApi + '1');
111
+ const trackInfoResponse = await got(trackInfoApi + '1');
109
112
  const maxPageId = trackInfoResponse.data.data.maxPageId; // 最大页数
110
113
 
111
114
  let playList = trackInfoResponse.data.data.list;
@@ -114,22 +117,22 @@ module.exports = async (ctx) => {
114
117
  const promises = [];
115
118
  for (let i = 2; i <= maxPageId; i++) {
116
119
  // string + number -> string
117
- promises.push(got.get(trackInfoApi + i));
120
+ promises.push(got(trackInfoApi + i));
118
121
  }
119
122
  const responses = await Promise.all(promises);
120
- for (let j = 0; j < responses.length; j++) {
121
- playList = playList.concat(responses[j].data.data.list);
123
+ for (const j of responses) {
124
+ playList = playList.concat(j.data.data.list);
122
125
  }
123
126
  }
124
127
 
125
128
  await Promise.all(
126
129
  playList.map(async (item) => {
127
130
  const link = baseUrl + albumUrl + item.trackId;
128
- item.desc = await ctx.cache.tryGet(shouldShowNote.toString() + 'trackRichInfo' + link, async () => {
131
+ item.desc = await ctx.cache.tryGet('ximalaya:' + shouldShowNote.toString() + 'trackRichInfo' + link, async () => {
129
132
  let _desc;
130
133
  if (shouldShowNote) {
131
134
  const trackRichInfoApi = `https://mobile.ximalaya.com/mobile-track/richIntro?trackId=${item.trackId}`;
132
- const trackRichInfoResponse = await got.get(trackRichInfoApi);
135
+ const trackRichInfoResponse = await got(trackRichInfoApi);
133
136
  _desc = trackRichInfoResponse.data.richIntro;
134
137
  }
135
138
  if (!_desc) {
@@ -146,10 +149,8 @@ module.exports = async (ctx) => {
146
149
  await Promise.all(
147
150
  playList.map(async (item) => {
148
151
  const trackPayInfoApi = `https://mpay.ximalaya.com/mobile/track/pay/${item.trackId}/?device=pc`;
149
- const data = await ctx.cache.tryGet('trackPayInfo' + trackPayInfoApi, async () => {
150
- const trackPayInfoResponse = await got({
151
- method: 'get',
152
- url: trackPayInfoApi,
152
+ const data = await ctx.cache.tryGet('ximalaya:trackPayInfo' + trackPayInfoApi, async () => {
153
+ const trackPayInfoResponse = await got(trackPayInfoApi, {
153
154
  headers: {
154
155
  'user-agent': 'ting_6.7.9(GM1900,Android29)',
155
156
  cookie: `1&_device=android&${randomToken}&6.7.9;1&_token=${token}`,
@@ -178,7 +179,7 @@ module.exports = async (ctx) => {
178
179
  const trackId = item.trackId;
179
180
  const itunesItemImage = item.coverLarge ? item.coverLarge : albumCover;
180
181
  const link = baseUrl + albumUrl + trackId;
181
- const pubDate = new Date(item.createdAt).toUTCString();
182
+ const pubDate = parseDate(item.createdAt, 'x');
182
183
  const duration = item.duration; // 时间长度:单位(秒)
183
184
  const enclosureUrl = item.playPathAacv224 || item.playPathAacv164;
184
185
 
@@ -0,0 +1,4 @@
1
+ module.exports = {
2
+ '/:type/:id/:all?': ['lengthmin', 'jjeejj', 'prnake'],
3
+ '/:type/:id/:all/:shownote?': ['lengthmin', 'jjeejj', 'prnake'],
4
+ };
@@ -0,0 +1,17 @@
1
+ module.exports = {
2
+ 'ximalaya.com': {
3
+ _name: '喜马拉雅',
4
+ '.': [
5
+ {
6
+ title: '专辑',
7
+ docs: 'https://docs.rsshub.app/routes/multimedia#xi-ma-la-ya',
8
+ source: '/:type/:id',
9
+ target: (params) => {
10
+ if (parseInt(params.id) + '' === params.id) {
11
+ return '/ximalaya/:type/:id';
12
+ }
13
+ },
14
+ },
15
+ ],
16
+ },
17
+ };
@@ -0,0 +1,4 @@
1
+ module.exports = (router) => {
2
+ router.get('/:type/:id/:all?', require('./album'));
3
+ router.get('/:type/:id/:all/:shownote?', require('./album'));
4
+ };
@@ -78,11 +78,11 @@ const getParams = (ep) => {
78
78
 
79
79
  let a3 = 0;
80
80
  o = 0;
81
- for (let u = 0; u < a2.length; u++) {
81
+ for (const u of a2) {
82
82
  a3 = (a3 + 1) % 256;
83
83
  o = (o + r1[a3]) % 256;
84
84
  [r1[a3], r1[o]] = [r1[o], r1[a3]];
85
- i += String.fromCharCode(a2[u] ^ r1[(r1[a3] + r1[o]) % 256]);
85
+ i += String.fromCharCode(u ^ r1[(r1[a3] + r1[o]) % 256]);
86
86
  }
87
87
  i = i.split('-');
88
88
  return {
@@ -112,10 +112,11 @@ const getPath = (seed, fileId) => {
112
112
 
113
113
  const getUrl = (r) => {
114
114
  const params = getParams(r.ep);
115
- const paramsArray = [];
116
115
  params.duration = r.duration;
117
- Object.keys(params).forEach((key) => params[key] && paramsArray.push(`${key}=${params[key]}`));
118
- const url = 'https://audiopay.cos.xmcdn.com/download/' + r.apiVersion + '/' + getPath(r.seed, r.fileId) + '?' + paramsArray.join('&');
116
+ const paramsArray = Object.keys(params)
117
+ .filter((key) => params[key])
118
+ .map((key) => `${key}=${params[key]}`);
119
+ const url = `https://audiopay.cos.xmcdn.com/download/${r.apiVersion}/${getPath(r.seed, r.fileId)}?${paramsArray.join('&')}`;
119
120
  return url;
120
121
  };
121
122
 
@@ -0,0 +1,19 @@
1
+ const { rootUrl, getData, processItems } = require('./util');
2
+
3
+ module.exports = async (ctx) => {
4
+ const { params = 'article-0-0-all-all-0-0-score' } = ctx.params;
5
+ const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 60;
6
+
7
+ const currentUrl = new URL(`discover/${params}`, rootUrl).href;
8
+
9
+ const { data, response } = await getData(currentUrl, ctx.cache.tryGet);
10
+
11
+ let items = JSON.parse(response.match(/"list":(\[.*?\]),"total"/)[1]);
12
+
13
+ items = await processItems(items.slice(0, limit), ctx.cache.tryGet);
14
+
15
+ ctx.state.data = {
16
+ ...data,
17
+ item: items,
18
+ };
19
+ };
@@ -0,0 +1,4 @@
1
+ module.exports = {
2
+ '/discover/:params?': ['nczitzk'],
3
+ '/rank/:category?': ['nczitzk'],
4
+ };