diff --git a/Dockerfile b/Dockerfile
index 6847f9bb..6a14a6db 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -54,7 +54,9 @@ COPY --chown=app:app ./healthcheck.sh /usr/local/bin/healthcheck
ENV PATH="/opt/python/bin:$PATH"
-RUN chown -R app:app /config /downloads && chmod +x /usr/local/bin/healthcheck
+RUN chown -R app:app /config /downloads && chmod +x /usr/local/bin/healthcheck && \
+ sed -i 's$#!\/app\/\.venv\/bin\/python$#!/opt/python/bin/python$' /opt/python/bin/* && \
+ sed -i "s%'\/app\/\.venv'%'/opt/python'%" /opt/python/bin/activate*
VOLUME /config
VOLUME /downloads
diff --git a/README.md b/README.md
index 4c4f325a..ef022942 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@ YTPTube started as a fork of [meTube](https://github.com/alexta69/metube), Since
* Support per link, `yt-dlp config` and `cookies`. and `output format`.
* Tasks Runner. It allow you to queue channels for downloading using simple `json` file.
* Webhook sender. It allow you to add webhook endpoints that receive events related to downloads using simple `json` file.
-* **Experimental** Multi-downloads support.
+* Multi-downloads support.
### Tips
Your `yt-dlp` config should include the following options for optimal working conditions.
@@ -94,7 +94,7 @@ location /ytptube/ {
}
```
-Note: the extra `proxy_set_header` directives are there to make WebSocket work.
+Note: the extra `proxy_set_header` directives are there to make web socket connection work.
### Caddy
@@ -122,8 +122,9 @@ Before asking a question or submitting an issue for YTPTube, please remember tha
In order to test with the yt-dlp command directly, you can either download it and run it locally, or for a better simulation of its actual conditions, you can run it within the YTPTube container itself. Assuming your YTPTube container is called `YTPTube`, run the following on your Docker host to get a shell inside the container:
```bash
-docker exec -ti ytptube sh
+docker exec -ti ytptube bash
cd /downloads
+yt-dlp ....
```
Once there, you can use the yt-dlp command freely.
@@ -181,23 +182,23 @@ The `config/ytdlp.json`, is a json file which can be used to alter the default `
"subtitleslangs": [ "en", "ar" ],
// postprocessors to run on the file
"postprocessors": [
- // this processor convert the downloaded thumbnail to JPG.
+ // this processor convert the downloaded thumbnail to jpg.
{
"key": "FFmpegThumbnailsConvertor",
"format": "jpg"
},
- // This processor convert subtitles to SRT
+ // This processor convert subtitles to srt format.
{
"key": "FFmpegSubtitlesConvertor",
"format": "srt"
},
- // This processor embed metadata & info.json file into the final MKV file.
+ // This processor embed metadata & info.json file into the final mkv file.
{
"key": "FFmpegMetadata",
"add_infojson": true,
"add_metadata": true
},
- // This process embed subtitles into the final file if it doesn't subtitles embedded.
+ // This process embed subtitles into the final file if it doesn't have subtitles embedded.
{
"key": "FFmpegEmbedSubtitle",
"already_have_subtitle": false
diff --git a/app/Config.py b/app/Config.py
index 7d905d06..d25fdb82 100644
--- a/app/Config.py
+++ b/app/Config.py
@@ -3,6 +3,7 @@ import logging
import os
import re
import sys
+import time
import coloredlogs
from version import APP_VERSION
from dotenv import load_dotenv
@@ -50,10 +51,12 @@ class Config:
socket_timeout: int = 30
+ started: int = 0
+
ytdlp_version: str = YTDLP_VERSION
_int_vars: tuple = ('port', 'max_workers', 'socket_timeout', 'extract_info_timeout',)
- _immutable: tuple = ('version', '__instance', 'ytdl_options', 'new_version_available', 'ytdlp_version',)
+ _immutable: tuple = ('version', '__instance', 'ytdl_options', 'new_version_available', 'ytdlp_version', 'started')
_boolean_vars: tuple = ('keep_archive', 'ytdl_debug', 'debug', 'temp_keep', 'allow_manifestless',)
@staticmethod
@@ -165,6 +168,8 @@ class Config:
LOG.info(f'Keep temp: {self.temp_keep}')
+ self.started = time.time()
+
def _getAttributes(self) -> dict:
attrs: dict = {}
vClass: str = self.__class__
diff --git a/frontend/src/App.vue b/frontend/src/App.vue
index 9e836951..178ea429 100644
--- a/frontend/src/App.vue
+++ b/frontend/src/App.vue
@@ -15,8 +15,8 @@
-
+