15 Commits

Author SHA1 Message Date
eb053df154 Merge pull request 'Update dependency dotenv to v15' (#19) from renovate/dotenv-15.x into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #19
2022-02-01 20:34:58 +00:00
5b518c5884 Update dependency dotenv to v15
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-01-31 05:17:19 +00:00
d320b20dfc Merge pull request 'Update dependency dotenv to v14' (#18) from renovate/dotenv-14.x into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #18
2022-01-17 16:39:02 +00:00
6fd89b75ab Merge pull request 'Update dependency knex to v0.95.15' (#16) from renovate/knex-0.x into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #16
2022-01-17 16:38:40 +00:00
ae4a930ddb Update dependency dotenv to v14
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-01-17 04:01:54 +00:00
bc466e7fd9 Update dependency knex to v0.95.15
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-01-16 17:02:25 +00:00
28087400b7 🚀RELEASE 0.7.2
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-16 17:57:33 +01:00
9cf8248522 Pinned knex version (thx sqlite) 2022-01-16 17:57:07 +01:00
35fafa337b Merge pull request 'Update dependency dotenv to v12' (#14) from renovate/dotenv-12.x into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #14
2022-01-15 11:56:58 +00:00
d0eed67697 Update dependency dotenv to v12
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-01-15 00:01:56 +00:00
36ce64a79d Docker speedbuild
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-12 18:26:49 +01:00
4da3cea59f 🚀RELEASE 0.7.1
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-12 18:19:24 +01:00
e06f9253cf Smol bugfix 2022-01-12 18:19:15 +01:00
93a931830f Added examples to readme
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-12 18:17:50 +01:00
85249e83b1 Updated readme w/ native provider
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-12 18:12:33 +01:00
6 changed files with 61 additions and 15 deletions

View File

@@ -12,6 +12,20 @@ get:
path: odit-registry-builder path: odit-registry-builder
name: password name: password
---
kind: secret
name: npmjs_domain
get:
path: odit-npm-bot
name: domain
---
kind: secret
name: npmjs_token
get:
path: odit-npm-bot
name: token
--- ---
kind: pipeline kind: pipeline
type: kubernetes type: kubernetes
@@ -30,6 +44,11 @@ steps:
tags: tags:
- latest - latest
registry: registry.odit.services registry: registry.odit.services
build_args:
- NPM_REGISTRY_DOMAIN:
from_secret: npmjs_domain
- NPM_REGISTRY_TOKEN:
from_secret: npmjs_token
mtu: 1000 mtu: 1000
when: when:
branch: branch:
@@ -53,6 +72,11 @@ steps:
tags: tags:
- '${DRONE_TAG}' - '${DRONE_TAG}'
registry: registry.odit.services registry: registry.odit.services
build_args:
- NPM_REGISTRY_DOMAIN:
from_secret: npmjs_domain
- NPM_REGISTRY_TOKEN:
from_secret: npmjs_token
mtu: 1000 mtu: 1000
trigger: trigger:
event: event:

View File

@@ -2,9 +2,28 @@
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.2](https://git.odit.services/kauft.es/linkylinky/compare/0.7.1...0.7.2)
- Pinned knex version (thx sqlite) [`9cf8248`](https://git.odit.services/kauft.es/linkylinky/commit/9cf8248522b31e14c4f6f304f620a3040cc2f496)
- Merge pull request 'Update dependency dotenv to v12' (#14) from renovate/dotenv-12.x into main [`35fafa3`](https://git.odit.services/kauft.es/linkylinky/commit/35fafa337b81ad79a9f0f3501624ece40bda7967)
- Docker speedbuild [`36ce64a`](https://git.odit.services/kauft.es/linkylinky/commit/36ce64a79dec5e98dbc90f5d9dbb366bbaaed049)
- Update dependency dotenv to v12 [`d0eed67`](https://git.odit.services/kauft.es/linkylinky/commit/d0eed676971488b2207a05b2200283033d132cba)
#### [0.7.1](https://git.odit.services/kauft.es/linkylinky/compare/0.7.0...0.7.1)
> 12 January 2022
- Added examples to readme [`93a9318`](https://git.odit.services/kauft.es/linkylinky/commit/93a931830f853cea4502b9c74e0d74202efb23ce)
- 🚀RELEASE 0.7.1 [`4da3cea`](https://git.odit.services/kauft.es/linkylinky/commit/4da3cea59f69fe7714323935d2f2e14ba3210f13)
- Updated readme w/ native provider [`85249e8`](https://git.odit.services/kauft.es/linkylinky/commit/85249e83b1ec349d740d72394dfbda4ab4d5984e)
- Smol bugfix [`e06f925`](https://git.odit.services/kauft.es/linkylinky/commit/e06f9253cf39cd76205da448e6758ca3b51130d6)
#### [0.7.0](https://git.odit.services/kauft.es/linkylinky/compare/0.6.1...0.7.0) #### [0.7.0](https://git.odit.services/kauft.es/linkylinky/compare/0.6.1...0.7.0)
> 12 January 2022
- Push w/o lockfile [`231d8ca`](https://git.odit.services/kauft.es/linkylinky/commit/231d8ca7ee0da402322afd3ac8ddce58e14943c1) - Push w/o lockfile [`231d8ca`](https://git.odit.services/kauft.es/linkylinky/commit/231d8ca7ee0da402322afd3ac8ddce58e14943c1)
- 🚀RELEASE 0.7.0 [`4ee8de4`](https://git.odit.services/kauft.es/linkylinky/commit/4ee8de47cf227a58e8d2a2eedfc06575a1e5a1c0)
- Added the new providers to the readme [`8abaabb`](https://git.odit.services/kauft.es/linkylinky/commit/8abaabbe5170372ca35ff469cee25c65a8f3d729) - 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) - 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) - Now recognizing r/ pattern [`0fa043f`](https://git.odit.services/kauft.es/linkylinky/commit/0fa043f0dfbae8b4095375b39c220a901cc6051f)

View File

@@ -1,14 +1,15 @@
FROM registry.odit.services/hub/library/node:17.0.1-alpine3.14 FROM registry.odit.services/hub/library/node:17.0.1-alpine3.14
ARG NPM_REGISTRY_DOMAIN=registry.npmjs.org
ARG NPM_REGISTRY_TOKEN=null
WORKDIR /app WORKDIR /app
COPY package.json . COPY package.json .
# COPY yarn.lock . RUN npm config set registry https://$NPM_REGISTRY_DOMAIN && npm config set //$NPM_REGISTRY_DOMAIN/:_authToken $NPM_REGISTRY_TOKEN
RUN yarn --production --frozen-lockfile RUN npm i -g pnpm && pnpm i
COPY migrations ./migrations COPY migrations ./migrations
COPY src ./src COPY src ./src
COPY knexfile.js ./ COPY knexfile.js ./
RUN mkdir db RUN mkdir db
#
# FROM astefanutti/scratch-node:16.0.0
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 --from=0 /app /app COPY --from=0 /app /app

View File

@@ -9,14 +9,16 @@
* Special shortening "providers" for well-used services * Special shortening "providers" for well-used services
### Provider patterns ### Provider patterns
> The base pattern is always baseurl/providerOrShortCode
| Provider | Pattern | Resolves to | Notes | | Provider | Pattern | Resolves to | Example | Notes |
| - | - | - | - | | - | - | - | - | - |
| YouTube (Video) | `/yt/id` | `https://youtu.be/id` | None | | Native (Shortcode) | `/id` | Whatever the database entry points to | https://kauft.es/den-hut | None |
| YouTube (Playlist) | `/ytpl/id` | `https://youtube.com/playlist?list=id` | Remember: Private playlists will result in user-side errors | | YouTube (Video) | `/yt/id` | `https://youtu.be/id` | https://kauft.es/yt/dQw4w9WgXcQ | None |
| Amazon | `/a/id` | `https://amazon.de/dp/id` | Recognizes all kind of cursed amazon urls (+smile and others) | | YouTube (Playlist) | `/ytpl/id` | `https://youtube.com/playlist?list=id` | https://kauft.es/ytpl/PLKIxB9vhdS_3x0A5za3mmu1wdoolgRQ65 | Remember: Private playlists will result in user-side errors |
| eBay | `/e/id` | `https://ebay.de/itm/` | Only tested with German eBay | | Amazon | `/a/id` | `https://amazon.de/dp/id` | https://kauft.es/a/B08Z2TXCPY | Recognizes all kind of cursed amazon urls (+smile and others) |
| Reddit | `/r/id` | `https://redd.it/` | Powered by the awesome work of u/TheAppleFreak https://kauf.es/r/4vaqiw | | eBay | `/e/id` | `https://ebay.de/itm/id` | https://kauft.es/e/373831556670 | Only tested with German eBay |
| Reddit | `/r/id` | `https://redd.it/id` | https://kauft.es/r/4vapin | Powered by the awesome work of u/TheAppleFreak https://kauft.es/r/4vapin |
## 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.7.2",
"main": "index.js", "main": "index.js",
"license": "MIT", "license": "MIT",
"private": false, "private": false,
@@ -25,14 +25,14 @@
}, },
"dependencies": { "dependencies": {
"argon2": "^0.28.2", "argon2": "^0.28.2",
"dotenv": "^11.0.0", "dotenv": "^15.0.0",
"fastify": "^3.20.1", "fastify": "^3.20.1",
"fastify-auth": "^1.1.0", "fastify-auth": "^1.1.0",
"fastify-basic-auth": "^2.1.0", "fastify-basic-auth": "^2.1.0",
"fastify-cors": "^6.0.2", "fastify-cors": "^6.0.2",
"fastify-jwt": "^4.0.0", "fastify-jwt": "^4.0.0",
"isbot": "^3.3.3", "isbot": "^3.3.3",
"knex": "^0.95.0", "knex": "0.95.15",
"sqlite3": "^5.0.2", "sqlite3": "^5.0.2",
"uniqid": "^5.3.0" "uniqid": "^5.3.0"
}, },

View File

@@ -445,7 +445,7 @@ function checkKnownProviders(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)*)))/); 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]) { if (redditID) {
const shortcode = `r${redditID[9]}` const shortcode = `r${redditID[9]}`
return { return {
url: `${config.getBaseUrl()}/${shortcode}`, url: `${config.getBaseUrl()}/${shortcode}`,