Compare commits

..

No commits in common. "0.7.0" and "0.6.1" have entirely different histories.
0.7.0 ... 0.6.1

6 changed files with 3474 additions and 44 deletions

View File

@ -2,32 +2,21 @@
All notable changes to this project will be documented in this file. Dates are displayed in UTC. All notable changes to this project will be documented in this file. Dates are displayed in UTC.
#### [0.7.0](https://git.odit.services/kauft.es/linkylinky/compare/0.6.1...0.7.0)
- Push w/o lockfile [`231d8ca`](https://git.odit.services/kauft.es/linkylinky/commit/231d8ca7ee0da402322afd3ac8ddce58e14943c1)
- Added the new providers to the readme [`8abaabb`](https://git.odit.services/kauft.es/linkylinky/commit/8abaabbe5170372ca35ff469cee25c65a8f3d729)
- Implemented reddit name recognition [`7211133`](https://git.odit.services/kauft.es/linkylinky/commit/7211133aba22315919443d5314594b7ec027c02b)
- Now recognizing r/ pattern [`0fa043f`](https://git.odit.services/kauft.es/linkylinky/commit/0fa043f0dfbae8b4095375b39c220a901cc6051f)
- Removed yarn lock copy [`d957ca5`](https://git.odit.services/kauft.es/linkylinky/commit/d957ca52ea2332f6cd1c5608467be6245f5082b8)
#### [0.6.1](https://git.odit.services/kauft.es/linkylinky/compare/0.6.0...0.6.1) #### [0.6.1](https://git.odit.services/kauft.es/linkylinky/compare/0.6.0...0.6.1)
> 12 January 2022
- Working clientside stuff [`#3`](https://git.odit.services/kauft.es/linkylinky/issues/3) - Working clientside stuff [`#3`](https://git.odit.services/kauft.es/linkylinky/issues/3)
- 🚀RELEASE 0.6.1 [`4a476e9`](https://git.odit.services/kauft.es/linkylinky/commit/4a476e93af43c8920448fcfeff3f13edc0bc0681)
- Merge pull request 'Update dependency fastify-jwt to v4' (#12) from renovate/fastify-jwt-4.x into main [`3bfcd64`](https://git.odit.services/kauft.es/linkylinky/commit/3bfcd645890253813cc2e4c740f67d577682934b) - Merge pull request 'Update dependency fastify-jwt to v4' (#12) from renovate/fastify-jwt-4.x into main [`3bfcd64`](https://git.odit.services/kauft.es/linkylinky/commit/3bfcd645890253813cc2e4c740f67d577682934b)
- Merge pull request 'Update registry.odit.services/hub/library/node Docker tag to v17' (#11) from renovate/registry.odit.services-hub-library-node-17.x into main [`d17825c`](https://git.odit.services/kauft.es/linkylinky/commit/d17825cabf2d46d040bd33a3d1ad5a9d0bccfbe5) - Merge pull request 'Update registry.odit.services/hub/library/node Docker tag to v17' (#11) from renovate/registry.odit.services-hub-library-node-17.x into main [`d17825c`](https://git.odit.services/kauft.es/linkylinky/commit/d17825cabf2d46d040bd33a3d1ad5a9d0bccfbe5)
- Merge pull request 'Update dependency dotenv to v11' (#13) from renovate/dotenv-11.x into main [`6205151`](https://git.odit.services/kauft.es/linkylinky/commit/6205151d53b374d890276d294d0abc6e6114abe5) - Merge pull request 'Update dependency dotenv to v11' (#13) from renovate/dotenv-11.x into main [`6205151`](https://git.odit.services/kauft.es/linkylinky/commit/6205151d53b374d890276d294d0abc6e6114abe5)
- Update dependency knex to ^0.95.0 [`2b93f3e`](https://git.odit.services/kauft.es/linkylinky/commit/2b93f3ea8a9b2f4be73829fb1041e6233d81fa91) - Update dependency knex to ^0.95.0 [`2b93f3e`](https://git.odit.services/kauft.es/linkylinky/commit/2b93f3ea8a9b2f4be73829fb1041e6233d81fa91)
- Preleminary emoji support [`3ca5f6b`](https://git.odit.services/kauft.es/linkylinky/commit/3ca5f6b3b468ca739bc77e1d9b751625e03f300d) - Preleminary emoji support [`3ca5f6b`](https://git.odit.services/kauft.es/linkylinky/commit/3ca5f6b3b468ca739bc77e1d9b751625e03f300d)
- Update dependency fastify-jwt to v4 [`575685f`](https://git.odit.services/kauft.es/linkylinky/commit/575685f24d1d0a2c0574741e540f448642990cd5) - Update dependency fastify-jwt to v4 [`575685f`](https://git.odit.services/kauft.es/linkylinky/commit/575685f24d1d0a2c0574741e540f448642990cd5)
- Added 'clientside' flag to getters and setters [`11bd1b4`](https://git.odit.services/kauft.es/linkylinky/commit/11bd1b4f1f4d079b3ca047472da9da34fb64732d)
- Update dependency dotenv to v11 [`4861ca7`](https://git.odit.services/kauft.es/linkylinky/commit/4861ca7f3e3ed3e62ee774d59cb13a38d5e5e1e1) - Update dependency dotenv to v11 [`4861ca7`](https://git.odit.services/kauft.es/linkylinky/commit/4861ca7f3e3ed3e62ee774d59cb13a38d5e5e1e1)
- Update registry.odit.services/hub/library/node Docker tag to v17 [`0e9f7a5`](https://git.odit.services/kauft.es/linkylinky/commit/0e9f7a526ce5188e964e7beb78a5fb63870b473f) - Update registry.odit.services/hub/library/node Docker tag to v17 [`0e9f7a5`](https://git.odit.services/kauft.es/linkylinky/commit/0e9f7a526ce5188e964e7beb78a5fb63870b473f)
- Enabled dep dashboard [`efb11f6`](https://git.odit.services/kauft.es/linkylinky/commit/efb11f6047e37901e20c613393d435f869e8a1f9) - Enabled dep dashboard [`efb11f6`](https://git.odit.services/kauft.es/linkylinky/commit/efb11f6047e37901e20c613393d435f869e8a1f9)
- Merge pull request 'Update dependency knex to ^0.95.0' (#5) from renovate/knex-0.x into main [`e95ca80`](https://git.odit.services/kauft.es/linkylinky/commit/e95ca8045af6afcbc9dfcc9976d107a231d12953) - Merge pull request 'Update dependency knex to ^0.95.0' (#5) from renovate/knex-0.x into main [`e95ca80`](https://git.odit.services/kauft.es/linkylinky/commit/e95ca8045af6afcbc9dfcc9976d107a231d12953)
- Merge pull request 'Configure Renovate' (#4) from renovate/configure into main [`2a7a32f`](https://git.odit.services/kauft.es/linkylinky/commit/2a7a32fda615fa01751deffadafa6df1a5d0fede) - Merge pull request 'Configure Renovate' (#4) from renovate/configure into main [`2a7a32f`](https://git.odit.services/kauft.es/linkylinky/commit/2a7a32fda615fa01751deffadafa6df1a5d0fede)
- Added 'clientside' flag to getters and setters [`11bd1b4`](https://git.odit.services/kauft.es/linkylinky/commit/11bd1b4f1f4d079b3ca047472da9da34fb64732d)
- Added migration for clientside redirects [`e321408`](https://git.odit.services/kauft.es/linkylinky/commit/e3214084f6dbf3e1595c54a9594e6d5f12323991) - Added migration for clientside redirects [`e321408`](https://git.odit.services/kauft.es/linkylinky/commit/e3214084f6dbf3e1595c54a9594e6d5f12323991)
- Add renovate.json [`d7428af`](https://git.odit.services/kauft.es/linkylinky/commit/d7428af1d81c820fdca7220959485f361956b86e) - Add renovate.json [`d7428af`](https://git.odit.services/kauft.es/linkylinky/commit/d7428af1d81c820fdca7220959485f361956b86e)

View File

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

View File

@ -4,20 +4,6 @@
<h3 align="center">A small url shortener, originaly developed for kauft.es</h3> <h3 align="center">A small url shortener, originaly developed for kauft.es</h3>
</p> </p>
## Features
* Url shortinging to 18-byte hex ids
* Special shortening "providers" for well-used services
### Provider patterns
| Provider | Pattern | Resolves to | Notes |
| - | - | - | - |
| YouTube (Video) | `/yt/id` | `https://youtu.be/id` | None |
| YouTube (Playlist) | `/ytpl/id` | `https://youtube.com/playlist?list=id` | Remember: Private playlists will result in user-side errors |
| Amazon | `/a/id` | `https://amazon.de/dp/id` | Recognizes all kind of cursed amazon urls (+smile and others) |
| eBay | `/e/id` | `https://ebay.de/itm/` | Only tested with German eBay |
| Reddit | `/r/id` | `https://redd.it/` | Powered by the awesome work of u/TheAppleFreak https://kauf.es/r/4vaqiw |
## Dev Setup 🛠 ## Dev Setup 🛠
> Runs on port 3000 > Runs on port 3000

View File

@ -1,6 +1,6 @@
{ {
"name": "@odit/shortener-backend", "name": "@odit/shortener-backend",
"version": "0.7.0", "version": "0.6.1",
"main": "index.js", "main": "index.js",
"license": "MIT", "license": "MIT",
"private": false, "private": false,

View File

@ -96,12 +96,6 @@ fastify.get('/e/:id', async (req, res) => {
await knex('visits').insert({ shortcode: req.params.id, provider: 'e' }); 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 //Normal shorturls
fastify.get('/:shortcode', async (req, res) => { fastify.get('/:shortcode', async (req, res) => {
const shortcode = req.params.shortcode; const shortcode = req.params.shortcode;
@ -443,16 +437,6 @@ function checkKnownProviders(target) {
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; return null;
} }

3471
yarn.lock Normal file

File diff suppressed because it is too large Load Diff