From 4a70e8ba76ec0cd3d07a17dee33cc6ef837cfa8f Mon Sep 17 00:00:00 2001 From: ntzyz Date: Tue, 24 Mar 2020 10:42:08 +0800 Subject: [PATCH] feat: add checkra1n (#4289) --- docs/program-update.md | 6 ++++++ lib/router.js | 3 +++ lib/routes/checkra1n/releases.js | 35 ++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 lib/routes/checkra1n/releases.js diff --git a/docs/program-update.md b/docs/program-update.md index 50fdc203c4..087d8bdc63 100644 --- a/docs/program-update.md +++ b/docs/program-update.md @@ -50,6 +50,12 @@ pageClass: routes +## Checkra1n + +### 新版本发布 + + + ## Chocolatey ### 软件更新 diff --git a/lib/router.js b/lib/router.js index c215dd18d8..dc1091d035 100644 --- a/lib/router.js +++ b/lib/router.js @@ -2409,6 +2409,9 @@ router.get('/hubu/news/:type', require('./routes/universities/hubu/news')); // 大连海事大学 router.get('/dlmu/news/:type', require('./routes/universities/dlmu/news')); +// Checkra1n +router.get('/checkra1n/releases', require('./routes/checkra1n/releases')); + // 四川省科学技术厅 router.get('/sckjt/news/:type?', require('./routes/sckjt/news')); diff --git a/lib/routes/checkra1n/releases.js b/lib/routes/checkra1n/releases.js new file mode 100644 index 0000000000..c1ee2dd062 --- /dev/null +++ b/lib/routes/checkra1n/releases.js @@ -0,0 +1,35 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); + +module.exports = async (ctx) => { + const homepage = 'https://checkra.in/releases/'; + + const response = await got({ + method: 'get', + url: homepage, + }); + + const $ = cheerio.load(response.data); + const releases = $('.release'); + + ctx.state.data = { + title: `Checkra1n All Releases`, + link: homepage, + item: releases + .map((i, item) => { + const $item = $(item); + const address = 'https://checkra.in' + $item.find('a').attr('href'); + + return { + title: $item + .find('h3') + .first() + .text(), + description: $item.find('.changelog').html(), + link: address, + guid: address, + }; + }) + .get(), + }; +};