4 Commits

Author SHA1 Message Date
0fa043f0df Now recognizing r/ pattern
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-12 17:54:50 +01:00
7211133aba Implemented reddit name recognition 2022-01-12 17:51:21 +01:00
d957ca52ea Removed yarn lock copy
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-12 17:40:29 +01:00
231d8ca7ee Push w/o lockfile
Some checks failed
continuous-integration/drone/push Build is failing
2022-01-12 17:33:48 +01:00
3 changed files with 17 additions and 3472 deletions

View File

@@ -1,7 +1,7 @@
FROM registry.odit.services/hub/library/node:17.0.1-alpine3.14
WORKDIR /app
COPY package.json .
COPY yarn.lock .
# COPY yarn.lock .
RUN yarn --production --frozen-lockfile
COPY migrations ./migrations
COPY src ./src

View File

@@ -96,6 +96,12 @@ fastify.get('/e/:id', async (req, res) => {
await knex('visits').insert({ shortcode: req.params.id, provider: 'e' });
})
//Automagic reddit redirects on /r/
fastify.get('/r/:id', async (req, res) => {
res.redirect(302, `https://redd.it/${req.params.id}`)
await knex('visits').insert({ shortcode: req.params.id, provider: 'r' });
})
//Normal shorturls
fastify.get('/:shortcode', async (req, res) => {
const shortcode = req.params.shortcode;
@@ -437,6 +443,16 @@ function checkKnownProviders(target) {
target
}
}
const redditID = target.match(/(((((?:https?:)?\/\/)((?!about\.)[\w-]+?\.)?([rc]edd(?:it\.com|\.it)))(?!\/(?:blog|about|code|advertising|jobs|rules|wiki|contact|buttons|gold|page|help|prefs|user|message|widget)\b)((?:\/r\/[\w-]+\b(?<!\/pcmasterrace))|(?:\/tb))?(\/comments)??(\/\w{2,7}\b(?<!\/46ijrl)(?<!\/wiki))((?:(?!\))\S)*)))/);
if (redditID[9]) {
const shortcode = `r${redditID[9]}`
return {
url: `${config.getBaseUrl()}/${shortcode}`,
shortcode,
target
}
}
return null;
}

3471
yarn.lock

File diff suppressed because it is too large Load Diff