Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump axios from 1.5.1 to 1.6.0 #92

Open
wants to merge 196 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
196 commits
Select commit Hold shift + click to select a range
223431e
Add scalable redis setup (#1)
yowmamasita Apr 14, 2023
876f9c0
1.0.5 (#2)
yowmamasita Apr 14, 2023
474e8d7
1.0.6 (#3)
yowmamasita Apr 14, 2023
045772a
Apply matrix strategy on build (#4)
yowmamasita Apr 14, 2023
9dfde16
Matrix strat, Remove tag edits (#5)
yowmamasita Apr 14, 2023
3c2706c
1.0.7 (#6)
yowmamasita Apr 14, 2023
0eb3229
1.0.8 (#7)
yowmamasita Apr 14, 2023
7e7576d
Version bump: 1.0.8 (#8)
yowmamasita Apr 14, 2023
5a8bc39
1.0.9 (#9)
yowmamasita Apr 15, 2023
9869d64
1.1.0 (#10)
yowmamasita Apr 15, 2023
7f91054
1.2.0 (#11)
yowmamasita Apr 16, 2023
aa37298
1.2.1 (#12)
yowmamasita Apr 16, 2023
897c5f5
Fix: cluster name update (#13)
yowmamasita Apr 16, 2023
af5163b
1.2.2 (#14)
yowmamasita Apr 16, 2023
f7a99ba
1.2.2 (#15)
yowmamasita Apr 16, 2023
35af681
1.2.3 (#16)
yowmamasita Apr 16, 2023
7ccd12b
2.0.0 - AllDebrid support! (#17)
yowmamasita Apr 19, 2023
e7fa0aa
2.0.1 (#18)
yowmamasita Apr 19, 2023
9723433
2.0.2 (#19)
yowmamasita Apr 19, 2023
98f0045
2.0.3 (#20)
yowmamasita Apr 19, 2023
fbedf5b
2.0.4 (#21)
yowmamasita Apr 19, 2023
2e5115f
2.0.5 (#22)
yowmamasita Apr 19, 2023
78146e4
2.0.6 (#23)
yowmamasita Apr 19, 2023
d2bfffa
2.0.7 (#24)
yowmamasita Apr 20, 2023
1ba0fbc
2.1.0 (#25)
yowmamasita Apr 22, 2023
b9ae0e1
2.2.0 (#26)
yowmamasita Apr 22, 2023
0bd0c11
2.3.0 (#27)
yowmamasita Apr 23, 2023
d1ef4ae
2.4.0 (#28)
yowmamasita Apr 23, 2023
9f180d5
2.4.0 (#29)
yowmamasita Apr 23, 2023
c2079ea
2.4.1 (#30)
yowmamasita Apr 24, 2023
358fa6c
2.4.2 (#31)
yowmamasita Apr 24, 2023
e7049f8
2.5.0 (#32)
yowmamasita Apr 26, 2023
fcf3051
2.5.1 (#33)
yowmamasita Apr 26, 2023
36ef089
2.5.1 (#34)
yowmamasita Apr 26, 2023
290c6c0
2.5.2 (#35)
yowmamasita Apr 28, 2023
09376c9
2.5.3 (#37)
yowmamasita May 3, 2023
fff7e3a
2.5.4 (#38)
yowmamasita May 3, 2023
f0191da
2.5.5 (#39)
yowmamasita May 4, 2023
1f02116
2.5.6 (#40)
yowmamasita May 4, 2023
6caf8d7
latest changes
Aug 25, 2023
7466818
Add items to TODO
Aug 26, 2023
8bbed8c
update volume and replica count
Aug 26, 2023
7f260bf
Merge branch 'main' of github.com:yowmamasita/debrid-media-manager
Aug 26, 2023
e0d24f6
Support for firestore as cache
Aug 26, 2023
63fadff
update refs to firestore cache
Aug 26, 2023
7d233fc
use npm instead of yarn
Aug 26, 2023
1c62a82
Change image
Aug 26, 2023
cf794f1
build for multiple platform
Aug 26, 2023
a71157d
build in a matrix
Aug 26, 2023
09ccb97
increase timeout
Aug 26, 2023
1b22f15
proper processing of private key env value
Aug 26, 2023
496afb1
Config request timeout on env
Aug 26, 2023
37eb6e3
Integrate prisma
Aug 26, 2023
388daaf
integrate planetscale
Aug 26, 2023
676b436
upgrade typescript
Aug 26, 2023
43537e4
upgrade next
Aug 26, 2023
e6e84e6
Refactor dockerfile
Aug 26, 2023
c431126
use newer version of node
Aug 26, 2023
4ebc979
Ignore extra dir when building
Aug 26, 2023
cec2f8b
update ci
Aug 26, 2023
500c438
do not use matrix strategy
Aug 26, 2023
9f48279
no more redis
Aug 27, 2023
e1768ce
boost and search fix
Aug 27, 2023
a092994
Add healthcheck
Aug 27, 2023
e3a6126
Add curl and grep to image
Aug 27, 2023
1ff205c
2.5.7 (#45)
yowmamasita Aug 27, 2023
df87a66
2.5.8 (#46)
yowmamasita Aug 27, 2023
dcefb46
2.5.9 (#47)
yowmamasita Aug 27, 2023
fa4b545
add logging
Aug 27, 2023
fdfb321
2.5.10 (#49)
yowmamasita Aug 28, 2023
cce8dcf
2.6.0 (#50)
yowmamasita Aug 29, 2023
f904d1b
2.7.0 (#51)
yowmamasita Aug 29, 2023
bf13154
2.7.1 (#52)
yowmamasita Aug 29, 2023
58eea7f
2.7.2 (#53)
yowmamasita Aug 29, 2023
a85df5c
2.7.3 (#54)
yowmamasita Aug 31, 2023
ed32739
new website (#55)
yowmamasita Aug 31, 2023
5b4c6e9
update tor
Aug 31, 2023
d1d9fdd
unbreakable tor
Aug 31, 2023
7818ef5
proper impl of tor
Aug 31, 2023
f1611a4
2.7.5 (#56)
yowmamasita Sep 1, 2023
a53f5fd
2.7.5 (#57)
yowmamasita Sep 1, 2023
d29b930
3.0.0 (#58)
yowmamasita Sep 2, 2023
03bbe25
3.1.0 (#59)
yowmamasita Sep 3, 2023
eaf91f5
3.2.0 (#60)
yowmamasita Sep 5, 2023
6cc0dec
3.3.0 (#61)
yowmamasita Sep 6, 2023
96cb7c4
3.3.1 (#62)
yowmamasita Sep 6, 2023
1296443
3.4.0 (#63)
yowmamasita Sep 8, 2023
dd5c247
3.4.1 (#64)
yowmamasita Sep 8, 2023
1d9aa2d
3.4.2 (#65)
yowmamasita Sep 8, 2023
4fde52a
3.4.2 (#66)
yowmamasita Sep 9, 2023
292fe9d
updater code
Sep 9, 2023
1d96e29
dont repeat yourself
Sep 9, 2023
33d6dcc
3.4.4 (#67)
yowmamasita Sep 9, 2023
d1d43cb
3.4.5 (#68)
yowmamasita Sep 9, 2023
83dc367
catch edge case in tv scraper: no tmdbid
Sep 10, 2023
40e88e4
add icons to log
Sep 10, 2023
50825e9
movie scraping improvement
Sep 10, 2023
1a50301
fix tor script
Sep 15, 2023
93e9654
3.4.6 (#70)
yowmamasita Sep 20, 2023
5914aba
scraper update
Sep 20, 2023
58a4282
Add proxy manager
Sep 21, 2023
de12e1c
improve performance
Sep 21, 2023
0a4d111
enable btdigg
Sep 21, 2023
4849356
compute proper hash
Sep 21, 2023
c798352
no excess log
Sep 21, 2023
95b10e5
more efficient jackett
Sep 21, 2023
ca288ae
prowlarr
Sep 21, 2023
da89d89
prowlarr fixes
Sep 21, 2023
67a9c90
reorder
Sep 21, 2023
1e74e4b
adjust timeout
Sep 21, 2023
dc86507
reenable jackett
Sep 21, 2023
0b05e5e
dune fix
Sep 22, 2023
82f7268
3.4.7 (#71)
yowmamasita Sep 22, 2023
f007462
Merge branch 'main' of github.com:yowmamasita/debrid-media-manager
Sep 22, 2023
0d4aa06
updater done
Sep 22, 2023
02f9266
processed done
Sep 22, 2023
ebeb3ad
requested done
Sep 22, 2023
4eb4773
other updates
Sep 22, 2023
ae9d11c
scrapers done
Sep 22, 2023
92aaa16
format
Sep 22, 2023
861edb5
scrape fixes
Sep 22, 2023
0b7283c
mdblist scrape improvements
Sep 23, 2023
6519698
olderthen input
Sep 23, 2023
127f1ec
correct logic
Sep 23, 2023
b7de577
fix logic
Sep 23, 2023
1ad2aaa
add skip
Sep 23, 2023
b1cb8f8
update word list
Sep 23, 2023
5b01b67
remove keys
Sep 23, 2023
a9b8f03
3.5.0 (#72)
yowmamasita Sep 24, 2023
adbcd4e
Merge branch 'main' of github.com:yowmamasita/debrid-media-manager
Sep 24, 2023
a9625ba
3.5.1 (#73)
yowmamasita Sep 24, 2023
36d8316
Merge branch 'main' of github.com:yowmamasita/debrid-media-manager
Sep 24, 2023
088e86a
3.6.0 (#74)
yowmamasita Sep 24, 2023
f0b3b4f
3.6.1 (#75)
yowmamasita Sep 24, 2023
c3de529
apply filter hotfix
Sep 24, 2023
b15afcd
use node 18
Sep 24, 2023
75fccdd
generate prisma first before build
Sep 24, 2023
842503b
Add cases to troubleshoot
Sep 24, 2023
5d8a34c
add binary target for arm64
Sep 24, 2023
d13ed6e
3.6.2 (#76)
yowmamasita Sep 24, 2023
4299c96
correct usage of service inside ssr page
Sep 24, 2023
a414381
3.6.3 (#77)
yowmamasita Sep 24, 2023
adff404
Generate when prisma folder is already present
Sep 24, 2023
6616704
rework dockerfile
Sep 24, 2023
6abfb28
rework dockerfile 2
Sep 24, 2023
316e9a7
Change health check ip
Sep 24, 2023
8c09558
3.6.4 (#78)
yowmamasita Sep 24, 2023
96d5d3a
fix
Sep 24, 2023
b1adca7
Fix issue reported by @machetie
Sep 25, 2023
ca0d1cc
3.7.0 (#79)
yowmamasita Sep 25, 2023
7690252
3.7.1 (#80)
yowmamasita Sep 25, 2023
c5b46e1
3.7.2 (#81)
yowmamasita Oct 2, 2023
de0e0b4
3.7.3 (#82)
yowmamasita Oct 2, 2023
33e058f
3.7.4 (#83)
yowmamasita Oct 3, 2023
b6a86ea
3.7.5 (#84)
yowmamasita Oct 3, 2023
44bffee
Hello there!
Oct 3, 2023
5f7d721
3.8.0 (#85)
yowmamasita Oct 8, 2023
fb12441
small fix
Oct 8, 2023
17326da
small fix 2
Oct 8, 2023
22141c1
clean on scrape
Oct 8, 2023
b2c9e2e
3.8.1 (#87)
yowmamasita Oct 20, 2023
bc6e854
Merge branch 'main' of github.com:yowmamasita/debrid-media-manager
Oct 25, 2023
092523c
3.8.2 (#88)
yowmamasita Oct 29, 2023
8d85db4
Merge branch 'main' of github.com:yowmamasita/debrid-media-manager
Oct 29, 2023
22b5588
fix dupe detection
Oct 29, 2023
d9d28e6
New scrapers (#1)
yowmamasita Nov 6, 2023
b93b898
add password
Nov 6, 2023
73a039a
Same hash&size fix
Nov 8, 2023
85326f5
Improve index page
Nov 8, 2023
3364886
Create anticors endpoint
Nov 13, 2023
ad48007
Add error for checking if login was blocked
Nov 13, 2023
88eebfd
Fix AllDebrid issue
Nov 13, 2023
bb36a58
Fix the 2500 limit problem
Nov 14, 2023
fcc5050
Formatting
Nov 14, 2023
8c80d29
3.9.0 update
Nov 14, 2023
4328d5a
Logout and type detection improvements
Nov 14, 2023
0fa22b7
3.9.1
Nov 14, 2023
6f1e223
Fix issues
Nov 14, 2023
a5218ff
optimize build speeds
Nov 14, 2023
8bf7c68
Use version output
Nov 14, 2023
8980438
Add downloading stats
Nov 15, 2023
86b1f62
Revert dockerfile change
Nov 15, 2023
0161702
Make it work for alldebrid
Nov 15, 2023
d09ac76
Fix show cached
Nov 15, 2023
72bb7c5
Add clean up function
Nov 15, 2023
bf24cee
Fix hashlist filtering
Nov 15, 2023
380deed
Fix search results not being sorted properly
Nov 16, 2023
8f7cf5c
Add info btn
Nov 16, 2023
b935425
Add download buttons only when intact
Nov 16, 2023
82b28ff
A proper file list
Nov 16, 2023
9146c1a
implement library changes on hashlist
Nov 16, 2023
61aadca
Improve search accuracy by adding movie filter
Nov 17, 2023
ec1dea4
Add tip
Nov 17, 2023
cc7aba6
Cleanup only considers completed torrents
Nov 19, 2023
fd2629f
Add more options for deletion, remove auto delete
Nov 19, 2023
de719c0
Bump axios from 1.5.1 to 1.6.0
dependabot[bot] Nov 19, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion .env
Original file line number Diff line number Diff line change
@@ -1,2 +1,14 @@
REQUEST_TIMEOUT=5000
GH_PAT=github-access-token
REDIS_URL=redis://localhost:6379
PROXY=tor:9050

TMDB_KEY=abc123
MDBLIST_KEY=abc123

DATABASE_URL="mysql://username:[email protected]/database?sslaccept=strict"
JACKETT="http://localhost:9117"
JACKETT_KEY=abc123
PROWLARR="http://localhost:9696"
PROWLARR_KEY=abc123

EXTERNAL_SEARCH_API_HOSTNAME=
26 changes: 17 additions & 9 deletions .github/workflows/build-and-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ on:
push:
branches:
- main
paths-ignore:
- '**.md'

jobs:
build-and-push:
Expand All @@ -14,35 +16,41 @@ jobs:
uses: actions/checkout@v2

- name: Cache node modules
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: node_modules
path: |
node_modules
*/node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-


- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v2

- name: Login to Docker Hub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Read version from package.json
run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_ENV
id: version
run: echo "version=$(node -p "require('./package.json').version")" >> "$GITHUB_OUTPUT"

- name: Build and push Docker image
id: build-image
uses: docker/build-push-action@v2
uses: docker/build-push-action@v4
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
platforms: linux/amd64,linux/arm64
cache-from: type=gha
cache-to: type=gha,mode=max
tags: |
debridmediamanager/debrid-media-manager:latest
debridmediamanager/debrid-media-manager:${{ env.version }}
debridmediamanager/debrid-media-manager:${{ steps.version.outputs.version }}
45 changes: 45 additions & 0 deletions .github/workflows/build-tor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Build Tor

on:
push:
branches:
- main
paths:
- 'tor.Dockerfile'

jobs:
tor-build-and-push:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Set up QEMU
uses: docker/setup-qemu-action@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Read version from package.json
run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_ENV

- name: Build and push Docker image
id: build-image
uses: docker/build-push-action@v4
with:
context: .
file: tor.Dockerfile
push: true
platforms: linux/amd64,linux/arm64
cache-from: type=gha
cache-to: type=gha,mode=max
tags: |
debridmediamanager/tor:latest
debridmediamanager/tor:${{ env.version }}
38 changes: 38 additions & 0 deletions .github/workflows/check-version.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Check Package Version

on:
pull_request:
branches: [main]

jobs:
check-package-version:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Check for version update in package.json
id: check-version
run: |
changed_files=$(git diff --name-only origin/main)
if echo "$changed_files" | grep --quiet 'package.json'; then
# Extract the version field value using jq
version=$(jq -r '.version' package.json)
if [[ "$version" != "$(git show origin/main:package.json | jq -r '.version')" ]]; then
echo "::set-output name=changed::true"
else
echo "::set-output name=changed::false"
fi
else
echo "::set-output name=changed::false"
fi
- name: Fail if version was not updated
if: steps.check-version.outputs.changed == 'false'
run: |
echo "The package.json version was not updated."
exit 1
- name: Pass if version was updated
if: steps.check-version.outputs.changed == 'true'
run: |
echo "The package.json version was updated."
31 changes: 31 additions & 0 deletions .github/workflows/lint-and-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Lint and Build

on:
push:
branches-ignore:
- main

jobs:
build-and-lint:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Cache node modules
uses: actions/cache@v2
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-

- name: Install dependencies
run: npm ci

- name: Run lint
run: npm run lint

- name: Build
run: npm run build
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,5 @@ src/utils/parser.ts

tmp/
temp/

pscale_dump_dmm_main/
45 changes: 35 additions & 10 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,41 @@
FROM node:16-alpine as builder
FROM node:18-alpine AS dependencies

WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci

FROM node:18-alpine AS build

WORKDIR /app
COPY package*.json ./
RUN npm install
COPY --from=dependencies /app/node_modules ./node_modules
COPY . .

RUN npx prisma generate
RUN npm run build

FROM node:16-alpine as production
FROM node:18-alpine AS deploy

WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY --from=builder /app/.next ./.next
COPY ./public ./public
ENV NODE_ENV=production

ENV NODE_ENV production

COPY --from=build /app/public ./public
COPY --from=build /app/package.json ./package.json
COPY --from=build /app/prisma ./prisma
COPY --from=build /app/.next/static ./.next/static
COPY --from=build /app/.next/standalone .

EXPOSE 3000
CMD [ "npm", "start" ]

ENV PORT 3000
# set hostname to localhost
ENV HOSTNAME "0.0.0.0"

CMD ["node", "server.js"]

# Install additional tools (curl and grep)
RUN apk --no-cache add curl grep

# Healthcheck
HEALTHCHECK --interval=30s --timeout=1s --start-period=3s --retries=1 \
CMD curl -s http://localhost:3000/api/healthz | grep -qm1 ok
40 changes: 34 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,17 @@

# Debrid Media Manager

Start building your media library with truly unlimited storage size
Start building your media library with truly unlimited storage size!

## What is this?

Do you want a movie and TV show library that has unlimited size? Consider using a Debrid service, like Real-Debrid or AllDebrid. These services work like a shared storage space for downloading torrents. You can download as much as you want without worrying about storage limits, because the files are shared among all users. You only "own" the file when you download it to your account.

These Debrid services also offer a feature called a WebDAV API. Think of it as a special tool that lets you connect your media library to different devices or software. It's like your Windows Samba share but better.

You can use this WebDAV API to connect your media library to different media players that support it, like [Infuse](https://firecore.com/infuse), which works on Apple devices like Mac, iPhone, Apple TV, and iPad. You can also connect it to your server and use it with media server software like Plex, Emby, or Jellyfin. This way, your media library can be accessed and played from anywhere!

To make this process even easier, I've developed this **free** and open source website called [Debrid Media Manager](https://debridmediamanager.com/). With this app, you can easily download movies and TV shows directly to your Debrid library. You can build and curate your media collection without ever worrying about storage limits.

## Features

Expand All @@ -22,11 +32,29 @@ You can share your whole collection or select specific items you want to share.

## Setup

0. Have Tor running at `127.0.0.1:9050` (needed for DHT search; if you don't use that then it's not needed)
1. Clone this repository
2. Install the dependencies `npm i`
3. This is a Next.js project so either go with `npm run dev` or `npm run build && npm run start`
4. Head to `localhost:3000` and login
0. Signup for a free tier plan at [PlanetScale](https://planetscale.com/) - this is a serverless MySQL database hosted in the cloud
1. Have Tor running at `127.0.0.1:9050` (needed for DHT search; if you don't need your own search database then refer to the secion `External Search API`)
2. Clone this repository and go to the directory
3. Create a copy of the `.env` file `cp .env .env.local` and fill in the details
4. Fill in required settings in `.env.local` (e.g. `PROXY=socks5h://127.0.0.1:9050` if tor is running on your host machine)
5. Get your Prisma database connection string from PlanetScale console and put that in your `.env.local` file
6. Install the dependencies `npm i`
7. This is a Next.js project so either go with `npm run dev` or `npm run build && npm run start`
8. Head to `localhost:3000` and login

### External Search API

If you don't want to build your own library, edit the config `EXTERNAL_SEARCH_API_HOSTNAME` in your `.env.local` and set it to `https://corsproxy.org/?https://debridmediamanager.com`

### Docker Swarm

```
cp .env .env.local
docker swarm init
docker stack deploy -c docker-compose.yml
```

The website will be accessible at `http://localhost:3000`

## FAQ

Expand Down
35 changes: 28 additions & 7 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,38 @@
- [✔️] Media page, button: delete failed content
- [✔️] Media page, button: delete slow content
- [✔️] Media page, button: auto select files
- [] Media page, button: reinsert rar archives
- [] Media page, button: dedupe hash
- [✔️] Media page, button: reinsert rar archives
- [✔️] Media page, button: dedupe hash
- [✔️] Media page, button: dedupe content
- [✔️] Identify IMDB link
- [✔️] Group by IMDB link
- [✔️] Media page, button: share to the internet
- [] Refactor pages into different components
- [✔️] When waiting_files_selection and Select button is pressed, should convert to downloading
- [] Add title filter buttons on search page
- [✔️] Downloading has race condition on status
- [] Dockerize with tor
- [] Make the architecture more scalable using docker swarm
- [] Rescan library button in all other pages except library
- [✔️] Dockerize with tor
- [✔️] Make the architecture more scalable using docker swarm
- [✔️] Find cached and selectable download on search
- [✔️] 2.3.0: Show AD/RD download buttons even if status=downloaded
- [✔️] 2.5.0: Add instant check in AD on search page (removed due to performance impact)
- [✔️] 2.5.0: Add title filter buttons on search page
- [] 2.7.0: Rescan library button in all other pages except library
- [] 2.7.0: Add Auto-DL checkbox to download the "best" option from search
- [] 2.9.0: New page: "Sync mdblist.com list"
- [] 3.0.0: Improve search by combining mdblist with TMDB and then using https://www.npmjs.com/package/fast-levenshtein
- [] 4.0.0: Add tests
- [] 5.0.0: Refactor pages into different components
- [✔️] Fix requested api endpoint
- [✔️] Existing results checker
- [✔️] Add season jumper in shows page
- [✔️] Backup library feature (download library as a file for importing)
- [✔️] Restore library feature
- [✔️] Fix issue with availability check
- [✔️] AD availability check optimization
- [✔️] Fix season parsing in Show page
- [✔️] Fix season parsing in Search page
- [✔️] Fix season parsing in scraper
- [] Library: Allow watching to preview downloads
- [] Hashlist: Allow watching to preview downloads
- [] Downloads/Movie: Allow watching to preview downloads
- [] Downloads/TV?: Allow watching to preview downloads
- [] Better anime support
Loading