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
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <img src="https://docs.rsshub.app/logo.png" alt="RSSHub" width="100">
2
+ <img src="https://docs.rsshub.app/img/logo.png" alt="RSSHub" width="100">
3
3
  </p>
4
4
  <h1 align="center">RSSHub</h1>
5
5
 
@@ -21,25 +21,19 @@ RSSHub delivers millions of contents aggregated from all kinds of sources, our v
21
21
 
22
22
  RSSHub can be used with browser extension [RSSHub Radar](https://github.com/DIYgod/RSSHub-Radar) and mobile auxiliary app [RSSBud](https://github.com/Cay-Zhang/RSSBud) (iOS) and [RSSAid](https://github.com/LeetaoGoooo/RSSAid) (Android)
23
23
 
24
- [English docs](https://docs.rsshub.app/en) | [Telegram Group](https://t.me/rsshub) | [Telegram Channel](https://t.me/awesomeRSSHub)
24
+ [English docs](https://docs.rsshub.app) | [Telegram Group](https://t.me/rsshub) | [Telegram Channel](https://t.me/awesomeRSSHub)
25
25
 
26
- ---
27
-
28
- RSSHub 是一个开源、简单易用、易于扩展的 RSS 生成器,可以给任何奇奇怪怪的内容生成 RSS 订阅源。RSSHub 借助于开源社区的力量快速发展中,目前已适配数百家网站的上千项内容
29
-
30
- 可以配合浏览器扩展 [RSSHub Radar](https://github.com/DIYgod/RSSHub-Radar) 和 移动端辅助 App [RSSBud](https://github.com/Cay-Zhang/RSSBud) (iOS) 与 [RSSAid](https://github.com/LeetaoGoooo/RSSAid) (Android) 食用
31
-
32
- [中文文档](https://docs.rsshub.app) | [Telegram 群](https://t.me/rsshub) | [Telegram 频道](https://t.me/awesomeRSSHub)
26
+ [中文文档](https://docs.rsshub.app/zh/) | [Telegram 群](https://t.me/rsshub) | [Telegram 频道](https://t.me/awesomeRSSHub)
33
27
 
34
28
  ## Special Thanks
35
29
 
36
30
  ### Special Sponsors
37
31
 
38
32
  <p>
39
- <a href="https://rss3.io/" target="_blank"><img height="50px" src="https://i.imgur.com/vHtI4bz.png"></a>
33
+ <a href="https://rss3.io" target="_blank"><img height="50px" src="https://i.imgur.com/lb1dDGK.png"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://xlog.app/" target="_blank"><img height="50px" src="https://i.imgur.com/JuhHTKD.png"></a>
40
34
  </p>
41
35
 
42
- [![](https://opencollective.com/static/images/become_sponsor.svg)](https://docs.rsshub.app/en/support/)
36
+ [![](https://opencollective.com/static/images/become_sponsor.svg)](https://docs.rsshub.app/support/)
43
37
 
44
38
  ### Contributors
45
39
 
@@ -49,34 +43,28 @@ Logo designer [sheldonrrr](https://dribbble.com/sheldonrrr)
49
43
 
50
44
  ### Backers
51
45
 
52
- <a href="https://www.cloudflare.com" target="_blank"><img height="50px" src="https://i.imgur.com/7Ph27Fq.png"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://www.netlify.com" target="_blank"><img height="40px" src="https://i.imgur.com/cU01915.png"></a>
46
+ <a href="https://www.cloudflare.com" target="_blank"><img height="50px" src="https://i.imgur.com/7Ph27Fq.png"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://www.netlify.com" target="_blank"><img height="40px" src="https://i.imgur.com/cU01915.png"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://1password.com" target="_blank"><img height="40px" src="https://i.imgur.com/a2XjflO.png"></a>
53
47
 
54
48
  ## Related Projects
55
49
 
56
- - [RSSHub Radar](https://github.com/DIYgod/RSSHub-Radar) | 一个可以帮助你快速发现和订阅当前网站 RSS RSSHub 的浏览器扩展
57
- - [RSSBud](https://github.com/Cay-Zhang/RSSBud) ([TestFlight 公测](https://testflight.apple.com/join/rjCVzzHP)) | iOS 平台的 RSSHub Radar,专为移动生态优化
58
- - [RSSAid](https://github.com/LeetaoGoooo/RSSAid) | 基于 Flutter 构建的 Android 平台的 RSSHub Radar
50
+ - [RSSHub Radar](https://github.com/DIYgod/RSSHub-Radar) | A browser extension that can help you quickly discover and subscribe to the RSS and RSSHub of current websites.
51
+ - [RSSBud](https://github.com/Cay-Zhang/RSSBud) ([TestFlight](https://testflight.apple.com/join/rjCVzzHP)) | RSSHub Radar for iOS platform, designed specifically for mobile ecosystem optimization.
52
+ - [RSSAid](https://github.com/LeetaoGoooo/RSSAid) | RSSHub Radar for Android platform built with Flutter.
59
53
  - [DocSearch](https://github.com/Fatpandac/DocSearch) | Link RSSHub DocSearch into Raycast
60
54
 
61
55
  ## Join Us
62
56
 
63
57
  We welcome all pull requests. Suggestions and feedback are also welcomed [here](https://github.com/DIYgod/RSSHub/issues).
64
58
 
65
- Refer to [Join Us](https://docs.rsshub.app/en/joinus/quick-start.html)
66
-
67
- 见 [参与我们](https://docs.rsshub.app/joinus/quick-start.html)
59
+ Refer to [Join Us](https://docs.rsshub.app/joinus/quick-start)
68
60
 
69
61
  ## Deployment
70
62
 
71
- Refer to [Deployment](https://docs.rsshub.app/en/install/)
72
-
73
- 见 [部署](https://docs.rsshub.app/install/)
63
+ Refer to [Deployment](https://docs.rsshub.app/install/)
74
64
 
75
65
  ## Support RSSHub
76
66
 
77
- Refer to [Support RSSHub](https://docs.rsshub.app/en/support/)
78
-
79
- 见 [支持 RSSHub](https://docs.rsshub.app/support/)
67
+ Refer to [Support RSSHub](https://docs.rsshub.app/support/)
80
68
 
81
69
  RSSHub is open source and completely free under the MIT license. However, just like any other open source project, as the project grows, the hosting, development and maintenance requires funding support.
82
70
 
@@ -87,10 +75,10 @@ You can support RSSHub via donations.
87
75
  Recurring donors will be rewarded via express issue response, or even have your name displayed on our GitHub page and website.
88
76
 
89
77
  - Become a Sponser on [GitHub](https://github.com/sponsors/DIYgod)
90
- - Become a Sponser on [Open Collective](https://opencollective.com/RSSHub)
91
78
  - Become a Sponser on [Patreon](https://www.patreon.com/DIYgod)
79
+ - Become a Sponser on [Open Collective](https://opencollective.com/RSSHub)
92
80
  - Become a Sponser on [爱发电](https://afdian.net/@diygod)
93
- - Contact us directly: i@diygod.me
81
+ - Contact us directly: <i@diygod.me>
94
82
 
95
83
  ### One-time Donation
96
84
 
@@ -105,4 +93,4 @@ We accept donations via the following ways:
105
93
  **RSSHub** © [DIYgod](https://github.com/DIYgod), Released under the [MIT](./LICENSE) License.<br>
106
94
  Authored and maintained by DIYgod with help from contributors ([list](https://github.com/DIYgod/RSSHub/contributors)).
107
95
 
108
- > Blog [@DIYgod](https://diygod.me) · GitHub [@DIYgod](https://github.com/DIYgod) · Twitter [@DIYgod](https://twitter.com/DIYgod) · Telegram Channel [@awesomeDIYgod](https://t.me/awesomeDIYgod)
96
+ > Blog [@DIYgod](https://diygod.cc) · GitHub [@DIYgod](https://github.com/DIYgod) · Twitter [@DIYgod](https://twitter.com/DIYgod) · Telegram Channel [@awesomeDIYgod](https://t.me/awesomeDIYgod)
package/lib/app.js CHANGED
@@ -13,6 +13,7 @@ const cache = require('./middleware/cache');
13
13
  const parameter = require('./middleware/parameter');
14
14
  const template = require('./middleware/template');
15
15
  const favicon = require('koa-favicon');
16
+ const serve = require('koa-static');
16
17
  const debug = require('./middleware/debug');
17
18
  const accessControl = require('./middleware/access-control');
18
19
  const antiHotlink = require('./middleware/anti-hotlink');
@@ -36,7 +37,8 @@ const app = new Koa();
36
37
  app.proxy = true;
37
38
 
38
39
  // favicon
39
- app.use(favicon(__dirname + '/favicon.png'));
40
+ app.use(favicon(__dirname + '/favicon.png', { maxAge: 31536000000 }));
41
+ app.use(serve(__dirname + '/static', { maxage: 31536000000 }));
40
42
 
41
43
  // global error handing
42
44
  app.use(onerror);
package/lib/config.js CHANGED
@@ -1,28 +1,33 @@
1
1
  require('dotenv').config();
2
2
  const randUserAgent = require('./utils/rand-user-agent');
3
+ const got = require('got');
3
4
  let envs = process.env;
4
5
  let value;
5
6
  const TRUE_UA = 'RSSHub/1.0 (+http://github.com/DIYgod/RSSHub; like FeedFetcher-Google)';
6
7
 
7
8
  const calculateValue = () => {
8
9
  const bilibili_cookies = {};
9
- const twitter_tokens = {};
10
10
  const email_config = {};
11
11
  const discuz_cookies = {};
12
+ const medium_cookies = {};
13
+ const discourse_config = {};
12
14
 
13
15
  for (const name in envs) {
14
16
  if (name.startsWith('BILIBILI_COOKIE_')) {
15
17
  const uid = name.slice(16);
16
18
  bilibili_cookies[uid] = envs[name];
17
- } else if (name.startsWith('TWITTER_TOKEN_')) {
18
- const id = name.slice(14);
19
- twitter_tokens[id] = envs[name];
20
19
  } else if (name.startsWith('EMAIL_CONFIG_')) {
21
20
  const id = name.slice(13);
22
21
  email_config[id] = envs[name];
23
22
  } else if (name.startsWith('DISCUZ_COOKIE_')) {
24
23
  const cid = name.slice(14);
25
24
  discuz_cookies[cid] = envs[name];
25
+ } else if (name.startsWith('MEDIUM_COOKIE_')) {
26
+ const username = name.slice(14).toLowerCase();
27
+ medium_cookies[username] = envs[name];
28
+ } else if (name.startsWith('DISCOURSE_CONFIG_')) {
29
+ const id = name.slice('DISCOURSE_CONFIG_'.length);
30
+ discourse_config[id] = JSON.parse(envs[name]);
26
31
  }
27
32
  }
28
33
 
@@ -69,14 +74,16 @@ const calculateValue = () => {
69
74
  auth: envs.PROXY_AUTH,
70
75
  url_regex: envs.PROXY_URL_REGEX || '.*',
71
76
  },
77
+ proxyStrategy: envs.PROXY_STRATEGY || 'all', // all / on_retry
78
+ reverseProxyUrl: envs.REVERSE_PROXY_URL,
72
79
  // auth
73
80
  authentication: {
74
81
  name: envs.HTTP_BASIC_AUTH_NAME || 'usernam3',
75
82
  pass: envs.HTTP_BASIC_AUTH_PASS || 'passw0rd',
76
83
  },
77
84
  // access control
78
- blacklist: envs.BLACKLIST && envs.BLACKLIST.split(','),
79
- whitelist: envs.WHITELIST && envs.WHITELIST.split(','),
85
+ denylist: envs.DENYLIST && envs.DENYLIST.split(','),
86
+ allowlist: envs.ALLOWLIST && envs.ALLOWLIST.split(','),
80
87
  allowLocalhost: envs.ALLOW_LOCALHOST,
81
88
  accessKey: envs.ACCESS_KEY,
82
89
  // logging
@@ -84,6 +91,7 @@ const calculateValue = () => {
84
91
  debugInfo: envs.DEBUG_INFO || 'true',
85
92
  loggerLevel: envs.LOGGER_LEVEL || 'info',
86
93
  noLogfiles: envs.NO_LOGFILES,
94
+ showLoggerTimestamp: envs.SHOW_LOGGER_TIMESTAMP,
87
95
  sentry: {
88
96
  dsn: envs.SENTRY,
89
97
  routeTimeout: parseInt(envs.SENTRY_ROUTE_TIMEOUT) || 30000,
@@ -101,6 +109,14 @@ const calculateValue = () => {
101
109
  },
102
110
  suffix: envs.SUFFIX,
103
111
  titleLengthLimit: parseInt(envs.TITLE_LENGTH_LIMIT) || 150,
112
+ openai: {
113
+ apiKey: envs.OPENAI_API_KEY,
114
+ model: envs.OPENAI_MODEL || 'gpt-3.5-turbo-16k',
115
+ temperature: envs.OPENAI_TEMPERATURE || 0.2,
116
+ maxTokens: envs.OPENAI_MAX_TOKENS || null,
117
+ endpoint: envs.OPENAI_API_ENDPOINT || 'https://api.openai.com/v1',
118
+ prompt: envs.OPENAI_PROMPT || 'Please summarize the following article and reply with markdown format.',
119
+ },
104
120
 
105
121
  // Route-specific Configurations
106
122
  bilibili: {
@@ -130,6 +146,9 @@ const calculateValue = () => {
130
146
  discord: {
131
147
  authorization: envs.DISCORD_AUTHORIZATION,
132
148
  },
149
+ discourse: {
150
+ config: discourse_config,
151
+ },
133
152
  discuz: {
134
153
  cookies: discuz_cookies,
135
154
  },
@@ -194,7 +213,8 @@ const calculateValue = () => {
194
213
  cookie: envs.IG_COOKIE,
195
214
  },
196
215
  iwara: {
197
- cookie: envs.IWARA_COOKIE,
216
+ username: envs.IWARA_USERNAME,
217
+ password: envs.IWARA_PASSWORD,
198
218
  },
199
219
  lastfm: {
200
220
  api_key: envs.LASTFM_API_KEY,
@@ -207,6 +227,10 @@ const calculateValue = () => {
207
227
  accessToken: envs.MASTODON_API_ACCESS_TOKEN,
208
228
  acctDomain: envs.MASTODON_API_ACCT_DOMAIN,
209
229
  },
230
+ medium: {
231
+ cookies: medium_cookies,
232
+ articleCookie: envs.MEDIUM_ARTICLE_COOKIE || '',
233
+ },
210
234
  miniflux: {
211
235
  instance: envs.MINIFLUX_INSTANCE || 'https://reader.miniflux.app',
212
236
  token: envs.MINIFLUX_TOKEN || '',
@@ -225,6 +249,9 @@ const calculateValue = () => {
225
249
  username: envs.NHENTAI_USERNAME,
226
250
  password: envs.NHENTAI_PASSWORD,
227
251
  },
252
+ notion: {
253
+ key: envs.NOTION_TOKEN,
254
+ },
228
255
  pianyuan: {
229
256
  cookie: envs.PIANYUAN_COOKIE,
230
257
  },
@@ -233,7 +260,7 @@ const calculateValue = () => {
233
260
  },
234
261
  pixiv: {
235
262
  refreshToken: envs.PIXIV_REFRESHTOKEN,
236
- bypassCdn: envs.PIXIV_BYPASS_CDN !== '0' && envs.PIXIV_BYPASS_CDN !== 'false',
263
+ bypassCdn: envs.PIXIV_BYPASS_CDN && envs.PIXIV_BYPASS_CDN !== '0' && envs.PIXIV_BYPASS_CDN !== 'false',
237
264
  bypassCdnHostname: envs.PIXIV_BYPASS_HOSTNAME || 'public-api.secure.pixiv.net',
238
265
  bypassCdnDoh: envs.PIXIV_BYPASS_DOH || 'https://1.1.1.1/dns-query',
239
266
  imgProxy: envs.PIXIV_IMG_PROXY || 'https://i.pixiv.re',
@@ -244,6 +271,9 @@ const calculateValue = () => {
244
271
  saraba1st: {
245
272
  cookie: envs.SARABA1ST_COOKIE,
246
273
  },
274
+ sehuatang: {
275
+ cookie: envs.SEHUATANG_COOKIE,
276
+ },
247
277
  scboy: {
248
278
  token: envs.SCBOY_BBS_TOKEN,
249
279
  },
@@ -258,16 +288,17 @@ const calculateValue = () => {
258
288
  telegram: {
259
289
  token: envs.TELEGRAM_TOKEN,
260
290
  },
291
+ tophub: {
292
+ cookie: envs.TOPHUB_COOKIE,
293
+ },
261
294
  twitter: {
262
- consumer_key: envs.TWITTER_CONSUMER_KEY,
263
- consumer_secret: envs.TWITTER_CONSUMER_SECRET,
264
- tokens: twitter_tokens,
265
- authorization: envs.TWITTER_WEBAPI_AUTHORIZAION || 'Bearer AAAAAAAAAAAAAAAAAAAAAPYXBAAAAAAACLXUNDekMxqa8h%2F40K4moUkGsoc%3DTYfbDKbT3jJPCEVnMYqilB28NHfOPqkca3qaAxGfsyKCs0wRbw',
266
- // reference: https://github.com/dangeredwolf/FixTweet/blob/f3082bbb0d69798687481a605f6760b2eb7558e0/src/constants.ts#L23-L25
295
+ oauthTokens: envs.TWITTER_OAUTH_TOKEN?.split(','),
296
+ oauthTokenSecrets: envs.TWITTER_OAUTH_TOKEN_SECRET?.split(','),
267
297
  },
268
298
  weibo: {
269
299
  app_key: envs.WEIBO_APP_KEY,
270
300
  app_secret: envs.WEIBO_APP_SECRET,
301
+ cookies: envs.WEIBO_COOKIES,
271
302
  redirect_url: envs.WEIBO_REDIRECT_URL,
272
303
  },
273
304
  wenku8: {
@@ -299,6 +330,21 @@ const calculateValue = () => {
299
330
  };
300
331
  calculateValue();
301
332
 
333
+ if (envs.REMOTE_CONFIG) {
334
+ got.get(envs.REMOTE_CONFIG)
335
+ .then((response) => {
336
+ const data = JSON.parse(response.body);
337
+ if (data) {
338
+ envs = Object.assign(envs, data);
339
+ calculateValue();
340
+ require('@/utils/logger').info('Remote config loaded.');
341
+ }
342
+ })
343
+ .catch((error) => {
344
+ require('@/utils/logger').error('Remote config load failed.', error);
345
+ });
346
+ }
347
+
302
348
  module.exports = {
303
349
  set: (env) => {
304
350
  envs = Object.assign(process.env, env);
package/lib/index.js CHANGED
@@ -29,7 +29,7 @@ if (config.enableCluster && cluster.isMaster && process.env.NODE_ENV !== 'test'
29
29
  }
30
30
 
31
31
  logger.info('🎉 RSSHub start! Cheers!');
32
- logger.info('💖 Can you help keep this open source project alive? Please sponsor 👉 https://docs.rsshub.app/en/support');
32
+ logger.info('💖 Can you help keep this open source project alive? Please sponsor 👉 https://docs.rsshub.app/support');
33
33
 
34
34
  module.exports = server;
35
35
  }
package/lib/maintainer.js CHANGED
@@ -5,7 +5,7 @@ const { join } = require('path');
5
5
  // Presence Check
6
6
  for (const dir of fs.readdirSync(dirname)) {
7
7
  const dirPath = join(dirname, dir);
8
- if (!fs.existsSync(join(dirPath, 'maintainer.js'))) {
8
+ if (fs.existsSync(join(dirPath, 'router.js')) && !fs.existsSync(join(dirPath, 'maintainer.js'))) {
9
9
  throw Error(`No maintainer.js in "${dirPath}".`);
10
10
  }
11
11
  }
@@ -37,7 +37,7 @@ for (const dir in maintainerPath) {
37
37
  }
38
38
 
39
39
  for (const key in routes) {
40
- maintainers['/' + dir + key] = routes[key];
40
+ maintainers['/' + dir + (key.endsWith('/') ? key.substring(0, key.length - 1) : key)] = routes[key];
41
41
  }
42
42
  }
43
43
 
@@ -49,4 +49,9 @@ router.stack.forEach((e) => {
49
49
  }
50
50
  });
51
51
 
52
- module.exports = maintainers;
52
+ module.exports = Object.keys(maintainers)
53
+ .sort()
54
+ .reduce((obj, path) => {
55
+ obj[path] = maintainers[path];
56
+ return obj;
57
+ }, {});
@@ -15,7 +15,7 @@ module.exports = async (ctx, next) => {
15
15
  const accessKey = ctx.query.key;
16
16
  const accessCode = ctx.query.code;
17
17
 
18
- const isControlled = config.accessKey || config.whitelist || config.blacklist;
18
+ const isControlled = config.accessKey || config.allowlist || config.denylist;
19
19
 
20
20
  const allowLocalhost = config.allowLocalhost && (await isLocalhost(ip));
21
21
 
@@ -38,14 +38,14 @@ module.exports = async (ctx, next) => {
38
38
  }
39
39
  }
40
40
 
41
- if (config.whitelist) {
42
- if (config.whitelist.find((white) => ip.includes(white) || requestPath.includes(white) || requestUA.includes(white))) {
41
+ if (config.allowlist) {
42
+ if (config.allowlist.find((item) => ip.includes(item) || requestPath.includes(item) || requestUA.includes(item))) {
43
43
  return grant();
44
44
  }
45
45
  }
46
46
 
47
- if (config.blacklist) {
48
- if (!config.blacklist.find((black) => ip.includes(black) || requestPath.includes(black) || requestUA.includes(black))) {
47
+ if (config.denylist) {
48
+ if (!config.denylist.find((item) => ip.includes(item) || requestPath.includes(item) || requestUA.includes(item))) {
49
49
  return grant();
50
50
  }
51
51
  }
@@ -98,8 +98,8 @@ const validateTemplate = (template) => {
98
98
  module.exports = async (ctx, next) => {
99
99
  await next();
100
100
 
101
- let image_hotlink_template = undefined;
102
- let multimedia_hotlink_template = undefined;
101
+ let image_hotlink_template;
102
+ let multimedia_hotlink_template;
103
103
  const shouldWrapInIframe = ctx.query.wrap_multimedia_in_iframe === '1';
104
104
 
105
105
  // Read params if enabled
@@ -1,9 +1,9 @@
1
- const Lru = require('lru-cache');
1
+ const { LRUCache } = require('lru-cache');
2
2
  const config = require('@/config').value;
3
3
 
4
4
  const status = { available: false };
5
5
 
6
- const memoryCache = new Lru({
6
+ const memoryCache = new LRUCache({
7
7
  ttl: config.cache.routeExpire * 1000,
8
8
  max: config.memory.max,
9
9
  });
@@ -3,7 +3,11 @@ const cheerio = require('cheerio');
3
3
  const { simplecc } = require('simplecc-wasm');
4
4
  const got = require('@/utils/got');
5
5
  const config = require('@/config').value;
6
- const RE2 = require('re2');
6
+ const { RE2JS } = require('re2js');
7
+ const md = require('markdown-it')({
8
+ html: true,
9
+ });
10
+ const htmlToText = require('html-to-text');
7
11
 
8
12
  let mercury_parser;
9
13
 
@@ -23,21 +27,30 @@ const resolveRelativeLink = ($, elem, attr, baseUrl) => {
23
27
  }
24
28
  };
25
29
 
30
+ const summarizeArticle = async (articleText) => {
31
+ const apiUrl = `${config.openai.endpoint}/chat/completions`;
32
+ const response = await got.post(apiUrl, {
33
+ json: {
34
+ model: config.openai.model,
35
+ max_tokens: config.openai.maxTokens,
36
+ messages: [
37
+ { role: 'system', content: config.openai.prompt },
38
+ { role: 'user', content: articleText },
39
+ ],
40
+ temperature: config.openai.temperature,
41
+ },
42
+ headers: {
43
+ Authorization: `Bearer ${config.openai.apiKey}`,
44
+ },
45
+ });
46
+
47
+ return response.data.choices[0].message.content;
48
+ };
49
+
26
50
  module.exports = async (ctx, next) => {
27
51
  await next();
28
52
 
29
53
  if (!ctx.state.data && !ctx._matchedRoute) {
30
- // Given that the official demo has a cache TTL of 2h, a "wrong path" page will be cached by CloudFlare for
31
- // 200h (8.33d).
32
- // What makes it worse is that the documentation contains status badges to detect the availability of routes,
33
- // but the documentation is updated more timely than the official demo, so the every example path of every
34
- // new route will probably have a "wrong path" page cached for at least 200h soon after accepted. That is to
35
- // say, the example paths of a new route will probably be unavailable on the public demo in the first 200h
36
- // after accepted.
37
- // As a conclusion, the next 3 lines has been commented out. (exactly the same behavior as any internal error)
38
- // ctx.set({
39
- // 'Cache-Control': `public, max-age=${config.cache.routeExpire * 100}`,
40
- // });
41
54
  throw Error('wrong path');
42
55
  }
43
56
 
@@ -147,50 +160,50 @@ module.exports = async (ctx, next) => {
147
160
  });
148
161
  }
149
162
  }
163
+
164
+ // handle category
165
+ if (item.category) {
166
+ // convert single string to array, and filter only string type category
167
+ Array.isArray(item.category) || (item.category = [item.category]);
168
+ item.category = item.category.filter((e) => typeof e === 'string');
169
+ }
150
170
  return item;
151
171
  };
152
172
 
153
173
  ctx.state.data.item = await Promise.all(ctx.state.data.item.map(handleItem));
154
174
 
155
175
  if (ctx.query) {
156
- // limit
157
- if (ctx.query.limit) {
158
- ctx.state.data.item = ctx.state.data.item.slice(0, parseInt(ctx.query.limit));
159
- }
160
-
161
176
  // filter
177
+ const engine = config.feature.filter_regex_engine;
162
178
  const makeRegex = (string) => {
179
+ if (!string) {
180
+ return null;
181
+ }
163
182
  // default: case_senstivie = true
164
- const engine = config.feature.filter_regex_engine;
165
- if (ctx.query.filter_case_sensitive === 'false') {
166
- switch (engine) {
167
- case 'regexp':
168
- return new RegExp(string, 'i');
169
- case 're2':
170
- return new RE2(string, 'i');
171
- default:
172
- throw Error(`Invalid Engine Value: ${engine}, please check your config.`);
173
- }
174
- } else {
175
- switch (engine) {
176
- case 'regexp':
177
- return new RegExp(string);
178
- case 're2':
179
- return new RE2(string);
180
- default:
181
- throw Error(`Invalid Engine Value: ${engine}, please check your config.`);
182
- }
183
+ const insensitive = ctx.query.filter_case_sensitive === 'false';
184
+ switch (engine) {
185
+ case 'regexp':
186
+ return new RegExp(string, insensitive ? 'i' : '');
187
+ case 're2':
188
+ return RE2JS.compile(string, insensitive ? RE2JS.CASE_INSENSITIVE : 0);
189
+ default:
190
+ throw Error(`Invalid Engine Value: ${engine}, please check your config.`);
183
191
  }
184
192
  };
185
193
 
186
194
  if (ctx.query.filter) {
195
+ const regex = makeRegex(ctx.query.filter);
196
+
187
197
  ctx.state.data.item = ctx.state.data.item.filter((item) => {
188
198
  const title = item.title || '';
189
199
  const description = item.description || title;
190
200
  const author = item.author || '';
191
- const category = item.category ? (Array.isArray(item.category) ? item.category : [item.category]) : [];
201
+ const category = item.category || [];
192
202
  const isFilter =
193
- title.match(makeRegex(ctx.query.filter)) || description.match(makeRegex(ctx.query.filter)) || author.match(makeRegex(ctx.query.filter)) || category.some((c) => c.match(makeRegex(ctx.query.filter)));
203
+ engine === 're2'
204
+ ? regex.matcher(title).find() || regex.matcher(description).find() || regex.matcher(author).find() || category.some((c) => regex.matcher(c).find())
205
+ : title.match(regex) || description.match(regex) || author.match(regex) || category.some((c) => c.match(regex));
206
+
194
207
  return isFilter;
195
208
  });
196
209
  }
@@ -201,12 +214,19 @@ module.exports = async (ctx, next) => {
201
214
  const title = item.title || '';
202
215
  const description = item.description || title;
203
216
  const author = item.author || '';
204
- const category = item.category ? (Array.isArray(item.category) ? item.category : [item.category]) : [];
217
+ const category = item.category || [];
205
218
  let isFilter = true;
206
- ctx.query.filter_title && (isFilter = title.match(makeRegex(ctx.query.filter_title)));
207
- ctx.query.filter_description && (isFilter = isFilter && description.match(makeRegex(ctx.query.filter_description)));
208
- ctx.query.filter_author && (isFilter = isFilter && author.match(makeRegex(ctx.query.filter_author)));
209
- ctx.query.filter_category && (isFilter = isFilter && category.some((c) => c.match(makeRegex(ctx.query.filter_category))));
219
+
220
+ const titleRegex = makeRegex(ctx.query.filter_title);
221
+ const descriptionRegex = makeRegex(ctx.query.filter_description);
222
+ const authorRegex = makeRegex(ctx.query.filter_author);
223
+ const categoryRegex = makeRegex(ctx.query.filter_category);
224
+
225
+ ctx.query.filter_title && (isFilter = engine === 're2' ? titleRegex.matcher(title).find() : title.match(titleRegex));
226
+ ctx.query.filter_description && (isFilter = isFilter && (engine === 're2' ? descriptionRegex.matcher(description).find() : description.match(descriptionRegex)));
227
+ ctx.query.filter_author && (isFilter = isFilter && (engine === 're2' ? authorRegex.matcher(author).find() : author.match(authorRegex)));
228
+ ctx.query.filter_category && (isFilter = isFilter && category.some((c) => (engine === 're2' ? categoryRegex.matcher(c).find() : c.match(categoryRegex))));
229
+
210
230
  return isFilter;
211
231
  });
212
232
  }
@@ -220,12 +240,19 @@ module.exports = async (ctx, next) => {
220
240
  const title = item.title;
221
241
  const description = item.description || title;
222
242
  const author = item.author || '';
223
- const category = item.category ? (Array.isArray(item.category) ? item.category : [item.category]) : [];
243
+ const category = item.category || [];
224
244
  let isFilter = true;
225
- ctx.query.filterout_title && (isFilter = !title.match(makeRegex(ctx.query.filterout_title)));
226
- ctx.query.filterout_description && (isFilter = isFilter && !description.match(makeRegex(ctx.query.filterout_description)));
227
- ctx.query.filterout_author && (isFilter = isFilter && !author.match(makeRegex(ctx.query.filterout_author)));
228
- ctx.query.filterout_category && (isFilter = isFilter && !category.some((c) => c.match(makeRegex(ctx.query.filterout_category))));
245
+
246
+ const titleRegex = makeRegex(ctx.query.filterout_title);
247
+ const descriptionRegex = makeRegex(ctx.query.filterout_description);
248
+ const authorRegex = makeRegex(ctx.query.filterout_author);
249
+ const categoryRegex = makeRegex(ctx.query.filterout_category);
250
+
251
+ ctx.query.filterout_title && (isFilter = engine === 're2' ? !titleRegex.matcher(title).find() : !title.match(titleRegex));
252
+ ctx.query.filterout_description && (isFilter = isFilter && (engine === 're2' ? !descriptionRegex.matcher(description).find() : !description.match(descriptionRegex)));
253
+ ctx.query.filterout_author && (isFilter = isFilter && (engine === 're2' ? !authorRegex.matcher(author).find() : !author.match(authorRegex)));
254
+ ctx.query.filterout_category && (isFilter = isFilter && !category.some((c) => (engine === 're2' ? categoryRegex.matcher(c).find() : c.match(categoryRegex))));
255
+
229
256
  return isFilter;
230
257
  });
231
258
  }
@@ -243,6 +270,11 @@ module.exports = async (ctx, next) => {
243
270
  });
244
271
  }
245
272
 
273
+ // limit
274
+ if (ctx.query.limit) {
275
+ ctx.state.data.item = ctx.state.data.item.slice(0, parseInt(ctx.query.limit));
276
+ }
277
+
246
278
  // telegram instant view
247
279
  if (ctx.query.tgiv) {
248
280
  ctx.state.data.item.map((item) => {
@@ -278,6 +310,33 @@ module.exports = async (ctx, next) => {
278
310
  await Promise.all(tasks);
279
311
  }
280
312
 
313
+ // openai
314
+ if (ctx.query.chatgpt && config.openai.apiKey) {
315
+ ctx.state.data.item = await Promise.all(
316
+ ctx.state.data.item.map(async (item) => {
317
+ if (item.description) {
318
+ try {
319
+ const summary = await ctx.cache.tryGet(`openai:${item.link}`, async () => {
320
+ const text = htmlToText.htmlToText(item.description);
321
+ if (text.length < 300) {
322
+ return '';
323
+ }
324
+ const summary_md = await summarizeArticle(text);
325
+ return md.render(summary_md);
326
+ });
327
+ // 将总结结果添加到文章数据中
328
+ if (summary !== '') {
329
+ item.description = summary + '<hr/><br/>' + item.description;
330
+ }
331
+ } catch (e) {
332
+ // when openai failed, return default description and not write cache
333
+ }
334
+ }
335
+ return item;
336
+ })
337
+ );
338
+ }
339
+
281
340
  // scihub
282
341
  if (ctx.query.scihub) {
283
342
  ctx.state.data.item.map((item) => {
@@ -304,7 +363,7 @@ module.exports = async (ctx, next) => {
304
363
  if (item.description) {
305
364
  text = item.description.replace(/<\/?[^>]+(>|$)/g, '');
306
365
  }
307
- if (text && text.length) {
366
+ if (text?.length) {
308
367
  if (text.length > ctx.query.brief) {
309
368
  item.description = `<p>${text.substring(0, ctx.query.brief)}…</p>`;
310
369
  } else {
@@ -313,7 +372,7 @@ module.exports = async (ctx, next) => {
313
372
  }
314
373
  });
315
374
  } else {
316
- throw Error(`Invalid parameter brief. Please check the doc https://docs.rsshub.app/parameter.html#shu-chu-jian-xun`);
375
+ throw Error(`Invalid parameter brief. Please check the doc https://docs.rsshub.app/parameter#shu-chu-jian-xun`);
317
376
  }
318
377
  }
319
378