diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 75ca927..5f523ad 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -10,4 +10,4 @@ liberapay: # Replace with a single Liberapay username issuehunt: # Replace with a single IssueHunt username otechie: # Replace with a single Otechie username lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry -custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] +custom: ['https://paypal.me/marcofw'] diff --git a/README.md b/README.md index 6c07f3d..fe383d5 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,10 @@ # yt-dlp Web UI -A not so terrible web ui for yt-dlp. -Created for the only purpose of *fetching* videos from my server/nas. +A not so terrible web ui for yt-dlp. + +High performance extendeable web ui and RPC server for yt-dlp with low impact on resources. + +Created for the only purpose of *fetching* videos from my server/nas and monitor upcoming livestreams. **Docker images are available on [Docker Hub](https://hub.docker.com/r/marcobaobao/yt-dlp-webui) or [ghcr.io](https://github.com/marcopeocchi/yt-dlp-web-ui/pkgs/container/yt-dlp-web-ui)**. @@ -16,6 +19,11 @@ docker pull ghcr.io/marcopeocchi/yt-dlp-web-ui:latest ## Video showcase [app.webm](https://github.com/marcopeocchi/yt-dlp-web-ui/assets/35533749/91545bc4-233d-4dde-8504-27422cb26964) +## Donate to yt-dlp-webui development +[PayPal](https://paypal.me/marcofw) + +Keeps the project alive! 😃 + ## Settings The currently avaible settings are: @@ -115,21 +123,29 @@ Usage yt-dlp-webui: -auth Enable RPC authentication -conf string - Config file path + Config file path (default "./config.yml") + -db string + local database path (default "local.db") -driver string yt-dlp executable path (default "yt-dlp") - -out string - Where files will be saved (default ".") + -fl + enable file based logging -host string Host where server will listen at (default "0.0.0.0") + -lf string + set log file location (default "yt-dlp-webui.log") + -out string + Where files will be saved (default ".") + -pass string + Password required for auth -port int Port where server will listen at (default 3033) -qs int - Download queue size (defaults to the number of logical CPU. A min of 2 is recomended.) + Queue size (concurrent downloads) (default 2) + -session string + session file path (default ".") -user string Username required for auth - -pass string - Password required for auth ``` ### Config file @@ -155,17 +171,23 @@ require_auth: true username: my_username password: my_random_secret -# [optional] The download queue size (default: 8) -queue_size: 4 +# [optional] The download queue size (default: logical cpu cores) +queue_size: 4 # min. 2 # [optional] Full path to the yt-dlp (default: "yt-dlp") downloaderPath: /usr/local/bin/yt-dlp +# [optional] Enable file based logging with rotation (default: false) +#enable_file_logging: false + # [optional] Directory where the log file will be stored (default: ".") #log_path: . # [optional] Directory where the session database file will be stored (default: ".") #session_file_path: . + +# [optional] Path where the sqlite database will be created/opened (default: "./local.db") +#local_database_path ``` ### Systemd integration @@ -214,13 +236,9 @@ ExecStart=/usr/local/bin/yt-dlp-webui --conf /home/your_user/yt-dlp-webui-workin ## Manual installation ```sh -# the dependencies are: python3, ffmpeg, nodejs, psmisc, go. +# the dependencies are: yt-dlp, ffmpeg, nodejs, go, make. -cd frontend -npm i -npm run build - -go build -o yt-dlp-webui main.go +make all ``` ## Open-API Navigate to `/openapi` to see the related swagger. @@ -243,7 +261,7 @@ For more info, please refer to the [official documentation](https://nixos.org/le `yt-dlp-webui` isn't your ordinary website where to download stuff from the internet, so don't try asking for links of where this is hosted. It's a self hosted platform for a Linux NAS. ## Troubleshooting -- **It says that it isn't connected/ip in the header is not defined.** - - You must set the server ip address in the settings section (gear icon). +- **It says that it isn't connected.** + - In some circumstances, you must set the server ip address or hostname in the settings section (gear icon). - **The download doesn't start.** - - As before server address is not specified or simply yt-dlp process takes a lot of time to fire up. (Forking yt-dlp isn't fast especially if you have a lower-end/low-power NAS/server/desktop where the server is running) + - Simply, yt-dlp process takes a lot of time to fire up. (yt-dlp isn't fast especially if you have a lower-end/low-power NAS/server/desktop. Furthermore some yt-dlp builds are slower than others) \ No newline at end of file