Compare commits
9 Commits
4ee8de47cf
...
0.7.2
Author | SHA1 | Date | |
---|---|---|---|
28087400b7 | |||
9cf8248522
|
|||
35fafa337b | |||
d0eed67697 | |||
36ce64a79d
|
|||
4da3cea59f | |||
e06f9253cf
|
|||
93a931830f
|
|||
85249e83b1
|
24
.drone.yml
24
.drone.yml
@@ -12,6 +12,20 @@ get:
|
||||
path: odit-registry-builder
|
||||
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
|
||||
type: kubernetes
|
||||
@@ -30,6 +44,11 @@ steps:
|
||||
tags:
|
||||
- latest
|
||||
registry: registry.odit.services
|
||||
build_args:
|
||||
- NPM_REGISTRY_DOMAIN:
|
||||
from_secret: npmjs_domain
|
||||
- NPM_REGISTRY_TOKEN:
|
||||
from_secret: npmjs_token
|
||||
mtu: 1000
|
||||
when:
|
||||
branch:
|
||||
@@ -53,6 +72,11 @@ steps:
|
||||
tags:
|
||||
- '${DRONE_TAG}'
|
||||
registry: registry.odit.services
|
||||
build_args:
|
||||
- NPM_REGISTRY_DOMAIN:
|
||||
from_secret: npmjs_domain
|
||||
- NPM_REGISTRY_TOKEN:
|
||||
from_secret: npmjs_token
|
||||
mtu: 1000
|
||||
trigger:
|
||||
event:
|
||||
|
19
CHANGELOG.md
19
CHANGELOG.md
@@ -2,9 +2,28 @@
|
||||
|
||||
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)
|
||||
|
||||
> 12 January 2022
|
||||
|
||||
- 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)
|
||||
- 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)
|
||||
|
@@ -1,14 +1,15 @@
|
||||
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
|
||||
COPY package.json .
|
||||
# COPY yarn.lock .
|
||||
RUN yarn --production --frozen-lockfile
|
||||
RUN npm config set registry https://$NPM_REGISTRY_DOMAIN && npm config set //$NPM_REGISTRY_DOMAIN/:_authToken $NPM_REGISTRY_TOKEN
|
||||
RUN npm i -g pnpm && pnpm i
|
||||
COPY migrations ./migrations
|
||||
COPY src ./src
|
||||
COPY knexfile.js ./
|
||||
RUN mkdir db
|
||||
#
|
||||
# FROM astefanutti/scratch-node:16.0.0
|
||||
|
||||
FROM registry.odit.services/hub/library/node:17.0.1-alpine3.14
|
||||
WORKDIR /app
|
||||
COPY --from=0 /app /app
|
||||
|
16
README.md
16
README.md
@@ -9,14 +9,16 @@
|
||||
* Special shortening "providers" for well-used services
|
||||
|
||||
### Provider patterns
|
||||
> The base pattern is always baseurl/providerOrShortCode
|
||||
|
||||
| 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 |
|
||||
| Provider | Pattern | Resolves to | Example | Notes |
|
||||
| - | - | - | - | - |
|
||||
| Native (Shortcode) | `/id` | Whatever the database entry points to | https://kauft.es/den-hut | None |
|
||||
| YouTube (Video) | `/yt/id` | `https://youtu.be/id` | https://kauft.es/yt/dQw4w9WgXcQ | None |
|
||||
| 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 |
|
||||
| Amazon | `/a/id` | `https://amazon.de/dp/id` | https://kauft.es/a/B08Z2TXCPY | Recognizes all kind of cursed amazon urls (+smile and others) |
|
||||
| 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 🛠
|
||||
> Runs on port 3000
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@odit/shortener-backend",
|
||||
"version": "0.7.0",
|
||||
"version": "0.7.2",
|
||||
"main": "index.js",
|
||||
"license": "MIT",
|
||||
"private": false,
|
||||
@@ -25,14 +25,14 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"argon2": "^0.28.2",
|
||||
"dotenv": "^11.0.0",
|
||||
"dotenv": "^12.0.0",
|
||||
"fastify": "^3.20.1",
|
||||
"fastify-auth": "^1.1.0",
|
||||
"fastify-basic-auth": "^2.1.0",
|
||||
"fastify-cors": "^6.0.2",
|
||||
"fastify-jwt": "^4.0.0",
|
||||
"isbot": "^3.3.3",
|
||||
"knex": "^0.95.0",
|
||||
"knex": "0.95.0",
|
||||
"sqlite3": "^5.0.2",
|
||||
"uniqid": "^5.3.0"
|
||||
},
|
||||
|
@@ -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)*)))/);
|
||||
if (redditID[9]) {
|
||||
if (redditID) {
|
||||
const shortcode = `r${redditID[9]}`
|
||||
return {
|
||||
url: `${config.getBaseUrl()}/${shortcode}`,
|
||||
|
Reference in New Issue
Block a user