Added youtube downloading capabilities

This commit is contained in:
DrMint 2022-04-02 12:14:36 +02:00
parent 464c65c7ac
commit 5d2250ec02
9 changed files with 1647 additions and 0 deletions

7
.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
public/videos
node_modules
ffprobe
ffmpeg
cwebp
youtube/yt-dlp
youtube/cookies.txt

675
package-lock.json generated Normal file
View File

@ -0,0 +1,675 @@
{
"name": "watch.accords-library.com",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"dependencies": {
"http-server": "^14.1.0"
}
},
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/async": {
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
"dependencies": {
"lodash": "^4.17.14"
}
},
"node_modules/basic-auth": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
"integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
"dependencies": {
"safe-buffer": "5.1.2"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/call-bind": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
"dependencies": {
"function-bind": "^1.1.1",
"get-intrinsic": "^1.0.2"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"node_modules/corser": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz",
"integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=",
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/debug": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dependencies": {
"ms": "^2.1.1"
}
},
"node_modules/eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
},
"node_modules/follow-redirects": {
"version": "1.14.9",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==",
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/RubenVerborgh"
}
],
"engines": {
"node": ">=4.0"
},
"peerDependenciesMeta": {
"debug": {
"optional": true
}
}
},
"node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
},
"node_modules/get-intrinsic": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
"integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
"dependencies": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dependencies": {
"function-bind": "^1.1.1"
},
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"engines": {
"node": ">=8"
}
},
"node_modules/has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"bin": {
"he": "bin/he"
}
},
"node_modules/html-encoding-sniffer": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz",
"integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==",
"dependencies": {
"whatwg-encoding": "^2.0.0"
},
"engines": {
"node": ">=12"
}
},
"node_modules/http-proxy": {
"version": "1.18.1",
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
"integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
"dependencies": {
"eventemitter3": "^4.0.0",
"follow-redirects": "^1.0.0",
"requires-port": "^1.0.0"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/http-server": {
"version": "14.1.0",
"resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.0.tgz",
"integrity": "sha512-5lYsIcZtf6pdR8tCtzAHTWrAveo4liUlJdWc7YafwK/maPgYHs+VNP6KpCClmUnSorJrARVMXqtT055zBv11Yg==",
"dependencies": {
"basic-auth": "^2.0.1",
"chalk": "^4.1.2",
"corser": "^2.0.1",
"he": "^1.2.0",
"html-encoding-sniffer": "^3.0.0",
"http-proxy": "^1.18.1",
"mime": "^1.6.0",
"minimist": "^1.2.5",
"opener": "^1.5.1",
"portfinder": "^1.0.28",
"secure-compare": "3.0.1",
"union": "~0.5.0",
"url-join": "^4.0.1"
},
"bin": {
"http-server": "bin/http-server"
},
"engines": {
"node": ">=12"
}
},
"node_modules/iconv-lite": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"bin": {
"mime": "cli.js"
},
"engines": {
"node": ">=4"
}
},
"node_modules/minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
},
"node_modules/mkdirp": {
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
"dependencies": {
"minimist": "^1.2.6"
},
"bin": {
"mkdirp": "bin/cmd.js"
}
},
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
"node_modules/object-inspect": {
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
"integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/opener": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
"integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
"bin": {
"opener": "bin/opener-bin.js"
}
},
"node_modules/portfinder": {
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
"integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
"dependencies": {
"async": "^2.6.2",
"debug": "^3.1.1",
"mkdirp": "^0.5.5"
},
"engines": {
"node": ">= 0.12.0"
}
},
"node_modules/qs": {
"version": "6.10.3",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
"integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"dependencies": {
"side-channel": "^1.0.4"
},
"engines": {
"node": ">=0.6"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/secure-compare": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz",
"integrity": "sha1-8aAymzCLIh+uN7mXTz1XjQypmeM="
},
"node_modules/side-channel": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
"dependencies": {
"call-bind": "^1.0.0",
"get-intrinsic": "^1.0.2",
"object-inspect": "^1.9.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dependencies": {
"has-flag": "^4.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/union": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz",
"integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==",
"dependencies": {
"qs": "^6.4.0"
},
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/url-join": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz",
"integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA=="
},
"node_modules/whatwg-encoding": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
"integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
"dependencies": {
"iconv-lite": "0.6.3"
},
"engines": {
"node": ">=12"
}
}
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"requires": {
"color-convert": "^2.0.1"
}
},
"async": {
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
"requires": {
"lodash": "^4.17.14"
}
},
"basic-auth": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
"integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
"requires": {
"safe-buffer": "5.1.2"
}
},
"call-bind": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
"requires": {
"function-bind": "^1.1.1",
"get-intrinsic": "^1.0.2"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"corser": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz",
"integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c="
},
"debug": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"requires": {
"ms": "^2.1.1"
}
},
"eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
},
"follow-redirects": {
"version": "1.14.9",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w=="
},
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
},
"get-intrinsic": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
"integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
"requires": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1"
}
},
"has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"requires": {
"function-bind": "^1.1.1"
}
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
"has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
},
"he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
},
"html-encoding-sniffer": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz",
"integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==",
"requires": {
"whatwg-encoding": "^2.0.0"
}
},
"http-proxy": {
"version": "1.18.1",
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
"integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
"requires": {
"eventemitter3": "^4.0.0",
"follow-redirects": "^1.0.0",
"requires-port": "^1.0.0"
}
},
"http-server": {
"version": "14.1.0",
"resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.0.tgz",
"integrity": "sha512-5lYsIcZtf6pdR8tCtzAHTWrAveo4liUlJdWc7YafwK/maPgYHs+VNP6KpCClmUnSorJrARVMXqtT055zBv11Yg==",
"requires": {
"basic-auth": "^2.0.1",
"chalk": "^4.1.2",
"corser": "^2.0.1",
"he": "^1.2.0",
"html-encoding-sniffer": "^3.0.0",
"http-proxy": "^1.18.1",
"mime": "^1.6.0",
"minimist": "^1.2.5",
"opener": "^1.5.1",
"portfinder": "^1.0.28",
"secure-compare": "3.0.1",
"union": "~0.5.0",
"url-join": "^4.0.1"
}
},
"iconv-lite": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"requires": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
}
},
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
},
"minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
},
"mkdirp": {
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
"requires": {
"minimist": "^1.2.6"
}
},
"ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
"object-inspect": {
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
"integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g=="
},
"opener": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
"integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A=="
},
"portfinder": {
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
"integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
"requires": {
"async": "^2.6.2",
"debug": "^3.1.1",
"mkdirp": "^0.5.5"
}
},
"qs": {
"version": "6.10.3",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
"integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"requires": {
"side-channel": "^1.0.4"
}
},
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"secure-compare": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz",
"integrity": "sha1-8aAymzCLIh+uN7mXTz1XjQypmeM="
},
"side-channel": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
"requires": {
"call-bind": "^1.0.0",
"get-intrinsic": "^1.0.2",
"object-inspect": "^1.9.0"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"requires": {
"has-flag": "^4.0.0"
}
},
"union": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz",
"integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==",
"requires": {
"qs": "^6.4.0"
}
},
"url-join": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz",
"integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA=="
},
"whatwg-encoding": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
"integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
"requires": {
"iconv-lite": "0.6.3"
}
}
}
}

5
package.json Normal file
View File

@ -0,0 +1,5 @@
{
"dependencies": {
"http-server": "^14.1.0"
}
}

0
public/.gitkeep Normal file
View File

2
run_watch_server.sh Executable file
View File

@ -0,0 +1,2 @@
npx http-server -p 12236

14
setup.sh Executable file
View File

@ -0,0 +1,14 @@
wget https://github.com/yt-dlp/FFmpeg-Builds/releases/download/autobuild-2022-04-01-12-45/ffmpeg-n5.0-49-gcfe1e278e2-linux64-gpl-5.0.tar.xz
tar -xf *.tar.xz
mv ffmpeg-*/bin/ffmpeg .
mv ffmpeg-*/bin/ffprobe .
rm -r ffmpeg-*
wget https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.2.2-rc1-linux-x86-64.tar.gz
tar -xf *.tar.gz
mv libwebp-*/bin/cwebp .
rm -r libwebp-*
cd youtube
wget https://github.com/yt-dlp/yt-dlp/releases/download/2022.03.08.1/yt-dlp
chmod +x yt-dlp

1
youtube/batchfile.txt Normal file
View File

@ -0,0 +1 @@
ry_OPhKGMUc

916
youtube/donearchive.txt Normal file
View File

@ -0,0 +1,916 @@
youtube ---9PYvpQBs
youtube -0LNRcqSKCQ
youtube -12rglp-QXY
youtube -7kE2jQmvXk
youtube -aWJVxLW9CQ
youtube -e3iCvKGEV0
youtube -MyJyZov--U
youtube -OeMiZVCghY
youtube -OQc0UVZ85E
youtube -Q8QJkvOM8Q
youtube -QBTwfFxQUE
youtube -VqpTlRMIWc
youtube -wOtfgLCmiA
youtube -ZMOSkdjYnQ
youtube 00IMW_SUh10
youtube 02PJzAAR8M0
youtube 0gHgY5pyXmI
youtube 0KeWsKK-Eng
youtube 0oss_a0i0c0
youtube 0r5_xwF-nm4
youtube 0sx7zYnH_9M
youtube 0YHeDgKwrMQ
youtube 19S0AqleBX8
youtube 1C6b6WH3HkQ
youtube 1p4vVtV9a5c
youtube 1vwEh9fp_vQ
youtube 1x9AP5f8tcY
youtube 1XFmSQD9va0
youtube 1zYqyE_gO18
youtube 213jqQcCgdw
youtube 25-ftU0eGUQ
youtube 2hP5lMqxurk
youtube 2k5UI-dC75g
youtube 2kTSa38Hxt4
youtube 2MHy0Kabm2w
youtube 2r2xXKldDPM
youtube 2RA1i9SUCRM
youtube 2Vxs2yeV8z8
youtube 2yZnPreP2m4
youtube 2ZAIcASzxZg
youtube 3DVb_zpJf5U
youtube 3EdDq9OckMw
youtube 3K5ocJIupSo
youtube 3KAmg9oCwyQ
youtube 3QNySBG7XgQ
youtube 3quMdHGa79c
youtube 3WnSOs9Uw5o
youtube 3_EXFz4a2vk
youtube 42lpQPpt_9o
youtube 43A54P2P50k
youtube 43ig8YvrLX8
youtube 47Mva4bBwZI
youtube 48tsgGye5aI
youtube 49e3mYnlCFk
youtube 4CCEH5-Qh8Q
youtube 4etaqaIEZQI
youtube 4FGmuxYIvsI
youtube 4jbEgPDlcGY
youtube 4Jn0TxhLhw4
youtube 4QIpt_X5Yj4
youtube 4rvJ2jtg8SI
youtube 4TSD5S49DrY
youtube 4vOhfbRCI0g
youtube 4xn1quuQ4m0
youtube 52JeN7X2mpY
youtube 52mx6q3ir3E
youtube 55eptIayg1s
youtube 56TkUkDEzKI
youtube 5bFdw8jSpmQ
youtube 5EQTOKBhpqM
youtube 5GdR68ToVm0
youtube 5hmy9N-7Xu8
youtube 5LQA5h7YE2M
youtube 5Mg5AnAf28I
youtube 5pYzkg4tgXQ
youtube 5QLuWfS4gt0
youtube 5T8U9o2W3rk
youtube 5VoC5baDZ3Y
youtube 5XQ6iVsZEFQ
youtube 5ZegTkl_spc
youtube 5_t5CP6R9tY
youtube 6-bfy5fh5tE
youtube 65hmc4jjse4
youtube 6Gg5CyXt1n0
youtube 6LT62mVaIpA
youtube 6nbKML-ahqA
youtube 6oeGxoTFF18
youtube 6oMEIsoQ7Vs
youtube 6wagfBuxVG4
youtube 6zlPlFuvADc
youtube 71LyPV2bSO4
youtube 76tGsPwQHVo
youtube 7EeoH5Cy9X4
youtube 7Pl4suh20Yw
youtube 7RphcLV-QkQ
youtube 7Sg7nBBGSfk
youtube 7TqR-EgOH98
youtube 7uuGzVBlhKY
youtube 7voWZgFvHTs
youtube 81QLFUwNWmQ
youtube 82hj-AK3Z1U
youtube 86tzO5E_An4
youtube 8a2I316w8-A
youtube 8bDlfyaVKz0
youtube 8Ei-7kPZbbw
youtube 8EiKBOG60Rw
youtube 8ORTWBDEAcw
youtube 8P1RAucGUrQ
youtube 8RveXjEnRPs
youtube 8tltdMKMveg
youtube 8zSsGHcpvH8
youtube 93S-3_u1BVw
youtube 952BbXdbj4Y
youtube 9blU2tfOtdU
youtube 9g8c1mSPn8g
youtube 9JL8S-Ifd5A
youtube 9LFgTqUYXhA
youtube 9ouX39JyNcw
youtube 9RS33Y7UGGQ
youtube 9RyXzl4taZ4
youtube 9s9rCVStaok
youtube 9TjqkzNVquU
youtube 9wUM7IXn5fU
youtube 9X8EWyFGLKE
youtube 9z-D30z0VXY
youtube 9ZYDIFmPcmE
youtube A-sL-xTvljA
youtube a2IocBjVxrU
youtube A7va1s6qQAk
youtube aBzwKQ3LL6E
youtube aDiUbocXqms
youtube AfSRnhWk68s
youtube aG2lZbBPL2I
youtube ahVSP4UFOIo
youtube aiNKk3fPed8
youtube AJdGiwRxXcc
youtube algjU-w7Z-o
youtube AmWYuz5pk6k
youtube aqFWfjkE7Y4
youtube arnSp1v9Z7U
youtube As8lb0EadGo
youtube AUBLc3RX-Xs
youtube AVAr9pWgHSc
youtube avgZzaUeSHk
youtube Aw_izAo-OX0
youtube aXcjcFeVqzo
youtube aXRme82WcBg
youtube AzEraGFZWoM
youtube b6ocOkN8FU0
youtube bbvyDQJvQGI
youtube bcpo-6EsMZg
youtube BLXWenjw7ls
youtube bLZZtZ_dTZ8
youtube BN8W2jYtJTo
youtube bNrTQt9O7Rg
youtube BOD_M_KGAzo
youtube BPYjVzodswU
youtube bQRQlzA8vaw
youtube BrUQdd96qzk
youtube bSo6NnULfK8
youtube BSRaTzP6aN4
youtube bTTD1YIaEfM
youtube BUtPmpZRfeE
youtube BvLxs8wp7pA
youtube BZ77okT1wzk
youtube Bz8fxu9vQEA
youtube bZoMnigQfWs
youtube b_ah6kFzfiw
youtube c29q8qIRFSg
youtube c45kWA4SWD4
youtube C5VANo9qkdc
youtube c60TLyj8Vxs
youtube cdsr2frBskI
youtube cf5xWpKTk3g
youtube CG3iuvEkJPo
youtube cLVcC1l3qu8
youtube CrC7oe5u0Oo
youtube CtmoAfPKDbM
youtube curYJ4AWKMk
youtube cuS6GYp7Be4
youtube Cwab4HefNyg
youtube CWg5PJN1Qvc
youtube CWkZOMqeeXY
youtube cXmDaOzbE7E
youtube CY8Yd2RVU2g
youtube D1IU8Ozn-JU
youtube D5Q7J7rHts0
youtube DcAoxqKjJgA
youtube dcUERrZ8B7I
youtube dERCiYaalMk
youtube DeV2CqLEmuc
youtube dfUqGtdfDaY
youtube dh0zWzgNbx4
youtube DJoGmLvC9yI
youtube DLh0z-2g31A
youtube DM7hH4lQW-M
youtube DnPzUzvLz1Y
youtube DqGmbdO3u7o
youtube DQuO7PrkyRc
youtube dsxMfja3iiw
youtube DtwnLRiuyY4
youtube dW89I1TxMZs
youtube E0G3HFUWDRM
youtube E5T4lJCI7G0
youtube e6L1vg5F2ZM
youtube edu3NoCUu9I
youtube EL-kVmzo8KE
youtube ellwSlrM7iY
youtube ENjIc6VHxKY
youtube EnwEbOHo7Aw
youtube eOyBlf8m0dw
youtube ePaIt-0a2Bo
youtube ePZMYi_pPtE
youtube eq6wAfJ3ZQo
youtube eqJ9eosh9M8
youtube eqt-UJtkqSw
youtube etqOu0b_e1o
youtube euK1Q9urkg0
youtube eVk3vWIMrsw
youtube EVrhs8gfKqo
youtube EvYmNetg3V4
youtube eW4HwAy7SeI
youtube exl3T9TYBBs
youtube E_eGBPeIJcA
youtube F0Ts91gFSx4
youtube f2g50vilDEE
youtube F3AtUq-4N78
youtube F5LSaLe-9Pw
youtube F8GLEitu958
youtube F8KPD6FM9po
youtube f8YRJwb9MUE
youtube f95I8EngjqE
youtube fawoDk1Zmyw
youtube fBdKAePdnN8
youtube FcJwElSqAws
youtube fDo_k69bdxw
youtube FfG_6qKBPsQ
youtube FFp1wFroJyQ
youtube FgNDeQZbVNQ
youtube fHJmwtddVvE
youtube FkKHEE-6WKE
youtube fl3EYR65wgY
youtube fLX8RxtEq4o
youtube fNpsfnuDN1A
youtube fOWtrspTQkw
youtube FPZaXjMhw1o
youtube fqj7Lna-chU
youtube fR-zjEuXgzc
youtube fRGFPIA56KA
youtube FTl5I0OlTkU
youtube fttRPGDc8RM
youtube fxLiaVPvsW4
youtube fxREEPP7CkY
youtube FyOsLmnp4-8
youtube G1_vZkpalv8
youtube g3E2m81eKBM
youtube G7a9ObWKRy0
youtube g8r3_-73ltQ
youtube Gag5JExJrBE
youtube GbPg5uBbua4
youtube gCCpaXlv8ZA
youtube GcgbC05suEM
youtube GCNwZLTOb2k
youtube geVGlpEnLxg
youtube Gf_PddzTqrs
youtube GHz1qkFKSFM
youtube GHZ7_uL5BRM
youtube gihoYGJZjX4
youtube GmKrKcC-h4s
youtube GOaIv39zntQ
youtube GooWtQNhQPw
youtube GQaI_tIuEjw
youtube gRDFmtFwXkg
youtube GrhA1vxLMfI
youtube gS23M_Clnwo
youtube Gup8KUYMtA0
youtube GUPyDFf_1Bg
youtube gwq-Echt57o
youtube GXzhzlX9cEo
youtube GyhW4m1mOpI
youtube G_5wMUw1lkM
youtube H2ctXsAV8yU
youtube h5VCzuOL9Vk
youtube H8HUIAIzukw
youtube haCWXrv_lRs
youtube hbHc5EFGvrI
youtube hBtJZdvrPeI
youtube Hc8yHKt9ozo
youtube HDwEkG4-TWM
youtube hgABG9leExs
youtube HgQDsDJJ5Q8
youtube HH-R0n4u6Gs
youtube HhpVm0da9CM
youtube hQHDeqGWtVg
youtube HrGcrJDVY0g
youtube hWhmf2w-7HU
youtube hwyxUKjzJ1A
youtube hzij2DC6o7k
youtube i0UDAo6Icds
youtube i8cMt5x6uNQ
youtube IAnWk-bVnLM
youtube IbBlnb3Gf8g
youtube ibJ5zp865tQ
youtube IELD5QxzBus
youtube ierN1qqkeDQ
youtube IHVUgvu8tVg
youtube IiCeITPxM2w
youtube ikCz_FEik10
youtube IKiev0xPi14
youtube IOnojDiOvv4
youtube iQyUteba6pc
youtube iRAHnXbPIQo
youtube iSKWJgslY5I
youtube iwFb1L58-q8
youtube iyncuqOht6w
youtube i_vsfJV8pAs
youtube J-SxkHTly3c
youtube J3b8pYtFPxM
youtube J7U3G9Zyi4k
youtube jam5TTGuT0w
youtube je5wweRWMH0
youtube JE6n2KGbaZ0
youtube jEk7hie0LvA
youtube jHJKAfHOYB4
youtube JIkdsvuY-HA
youtube jJe7F1uy5R8
youtube jKbH9i5axxU
youtube JLePmGGUgcY
youtube jlhAiI5TAt8
youtube jM4rez0DnSk
youtube Jm6Ja8JKQ7c
youtube jNxjLfx0P00
youtube JO-_FKlHRRQ
youtube jqqz5Ugz0zQ
youtube JQxz-FEjUVw
youtube jwh8ypJbgh8
youtube JX8NAZAhS_s
youtube JzeitAvDRn4
youtube K-VOcqTolbA
youtube K3FL4OyGwxk
youtube k3gCEaWBH04
youtube k66RVeNmnRM
youtube KAo5CkvY0DY
youtube KaXTwsHzEeU
youtube Ja_zcfwoVPw
youtube KebeC2YeTQI
youtube Ked3Mh4JDkc
youtube Kfb_3_as4Ic
youtube KJpUJU2T89I
youtube kMCokJ_dv9c
youtube krosLuWA-tY
youtube KxgPt6HLFBo
youtube KxvsPbPWVoA
youtube -m4jkS66zKk
youtube 2J6hZyseYao
youtube 2Wm073EinYk
youtube 3hCZHNpVtwc
youtube 3V13gdh-WhM
youtube 4ELL1wo0eIo
youtube 59AMEbkSAp8
youtube 5BWTmURTAF4
youtube 8FJ6YFTmRT0
youtube 8ldR-uR3UFw
youtube 8XInv0ZJ9n4
youtube 9kTVa-JOyGA
youtube ac03wQXwhVM
youtube afh9qwWiNnA
youtube ClZ1QjrJszM
youtube cYUOe8yY5Ck
youtube d06Zme2t82Y
youtube d6IVuKJf_Yc
youtube d8Ayokv6jHA
youtube EgpSv0BJafU
youtube eLZGZmqK00k
youtube EwLbyUGq10M
youtube F7OE5UTMr-s
youtube FnUtfzjuQNA
youtube GH26BfSo7co
youtube gjjJbd-pa8g
youtube hhDL3Q86ofY
youtube Iq3_phBQA_Y
youtube K7WZN-nkl14
youtube kuIAjHG23os
youtube KZMV6cXSlLg
youtube K_sqipJKS5w
youtube l1jotXNoO40
youtube L3wScHE28K8
youtube lctzRvfdzXM
youtube LD6xCLlF5dY
youtube LELAfcaQG40
youtube Lj8Ql-4oT9Y
youtube ll2qpvjc_XA
youtube LLCrzJdF8Z4
youtube LLuah-YsjT0
youtube LNlZ3QdW30Y
youtube Loyuyk_1Zis
youtube lS6d5A-gPVs
youtube Lt1gO7uaFoM
youtube LtpyeKFMMtU
youtube lVHkWfG0wMI
youtube LzM2JiEI7sE
youtube m6f7GOZZ-ag
youtube m7WPrDc7i4w
youtube m99WpnZRQsU
youtube MazuXi06jtg
youtube MBOW31hf4oE
youtube MbWfULJFgw4
youtube MCt_SfyoGxI
youtube mdE7vc2TiH4
youtube MG6i0FoT0-k
youtube mgy08wU0CyU
youtube mH5tcYRHe_M
youtube MhTSy9OTWv0
youtube mii0z-JvtbQ
youtube MjPSBycZPhg
youtube MkXXbbseTsU
youtube mKZGIYKwMm4
youtube MmikU0ATnpQ
youtube mMX7B1a6YS8
youtube mOZI8nv2g4M
youtube mRadnPjOgqI
youtube MRI0UehDKC8
youtube mrPfXqsLg2I
youtube mSkAcIwzSuY
youtube mSojus-lkPA
youtube MtqXYW04lJk
youtube mxA8qWpKvMY
youtube MXFQHCEJW3w
youtube mzQsjf9SXcE
youtube N0iCbTaWfpc
youtube N0WiTIBONhM
youtube n26YT8RW-WM
youtube N762KH8xkAw
youtube NBDnS7ToGCI
youtube NbJqIssyXf0
youtube NBsWh0taLzk
youtube NHC-vCjT_3Y
youtube NhdEcmfWewE
youtube nhMuYOPUtwo
youtube niY8182DJYU
youtube NJ9Mo-WDpqU
youtube npY_rrtwFzE
youtube Nq9sc-XGorQ
youtube NsRm0VIJwX0
youtube nsvI8ND4D98
youtube nt3PCtny5Tc
youtube NXaIhMg8hag
youtube nyug49M_QoE
youtube O1CoQyVu_Cs
youtube o4uCZv4zWo4
youtube o4YVyR1QlNQ
youtube O8cOqDUDvSc
youtube OBZtwt_WWys
youtube oeuL_7beCdM
youtube oG1XQyPZpw4
youtube oGgV31NPPWk
youtube OibR3qWzn8c
youtube oiDnRBV_xzY
youtube oIJP-8Bxh-8
youtube olePpP7il0k
youtube oM5Q43OmLTk
youtube OPokU8qU0iU
youtube OTZ1sfCRQGg
youtube OZju4Rr8684
youtube p36dFNkfogk
youtube p5ucijrQkMk
youtube p68k3U8WzRU
youtube p9T1TTk5yO4
youtube pdEZ-kg-eA4
youtube pflyBzl4_hE
youtube PHSoMTDpDi4
youtube pj4Scabq5tU
youtube plOmNrLIPyE
youtube PO9hLx5zAOE
youtube pOC9zNu5eyQ
youtube PWukFd4CtS4
youtube p_e1TYTGSwM
youtube Q22r6X9OVRc
youtube q3Dp477QxQo
youtube Q4L6pm2IPLg
youtube Q5dy3tI6OfU
youtube Q5k7cvaLRcc
youtube qaSa0XuFMWE
youtube QBgcsANsZIA
youtube QCeIkeraG8U
youtube qc_CO72t8zY
youtube qdI_ltcjYh8
youtube Qf57ZwwO_Ok
youtube qgbgE2Ia6D0
youtube QgHWZB9nTYA
youtube QgVeCPRbZBQ
youtube QIU1UzWyKVc
youtube qkmoaGxt0t8
youtube qKu1zgxtiv8
youtube qM7RfurFNBk
youtube QNm_wwqQrac
youtube qpCMOqFugi4
youtube qR-dTcwZVb4
youtube QTG2PxyY1tI
youtube qu7SXHKd0Eg
youtube QV3Fzrvq5yY
youtube qve9HYRhrVA
youtube R2WQ7_q_Vik
youtube R9DoG95qlPM
youtube r9Tf22quHfg
youtube ra08VbkPyxo
youtube RaJjLYpkoSI
youtube rAk1-HM0FGU
youtube rcNrWHCN1Qk
youtube RCtMD_pLDk0
youtube Rd41fymyrFE
youtube rGPndYN-NhM
youtube rGqzvf6fC5I
youtube rirlhfQLD98
youtube rL8WC4TBato
youtube RmHfCtLvkzg
youtube rmtG_7Relgk
youtube ro4-0U_Zy80
youtube RR7549JxMio
youtube RrCDNOr7T-c
youtube RsAFJzJFhGQ
youtube rSb-SEpgi6c
youtube RT7eCYggtTA
youtube rv8GKp3CpJ0
youtube RxpIHTfT0bI
youtube S8vpyhJXG9w
youtube sa7SXdJu7es
youtube sB2bUnVAS1w
youtube SBDZQNNKc_g
youtube Sc0v9irE8bQ
youtube scgU6fKQ6zI
youtube sdpiPHUrP78
youtube sdWKMFIESug
youtube SDy0imV2ptU
youtube SFasIg-MapY
youtube shMK_0NiC0Y
youtube ShNj6QcquMk
youtube sKAkn5Myn0M
youtube SksXnByRaIU
youtube SOm-MF9cmg8
youtube Srf4brenJx4
youtube SS6zltdEmKg
youtube ssD3wf5Kp9M
youtube SUfWyo74zho
youtube SuShB-g2eog
youtube szp25s3weLo
youtube s_6v5VsilCQ
youtube tBgCD7Ye47o
youtube tBrUWaBUfQU
youtube tC-kcm-qg4Y
youtube tfRu7z_MDOM
youtube TGOSVS-iNME
youtube TgslTv9VisU
youtube tHg2Ws642XE
youtube TigjQTwdLZ0
youtube tjNS-uLs7Vc
youtube tltsrM5uDWE
youtube tNSRRmMtTY0
youtube tnUnQOU-ssU
youtube To17_brcplc
youtube toY9lYhspNE
youtube Tp3m52W5DzY
youtube tpaLTYcuJqs
youtube TSIEIAMmvys
youtube tTP4QsXW22A
youtube TULqXSuOqrg
youtube TUqJncuiSDA
youtube tVErYH6MV7o
youtube TYVWWmcSvOU
youtube U1m2lLciTLs
youtube u7apSCNxYiA
youtube U9ObIfBUzc4
youtube uB3B-pXihow
youtube uen4M4381s4
youtube UGOZyDagve8
youtube UiBayNuRPf8
youtube uihdsvPftME
youtube UmOi2uuvusI
youtube uSDiwJN3zzo
youtube UTeb69Gi0l4
youtube uw5Ahk9WhjE
youtube UWbzUANlUis
youtube UX2l1ughMiQ
youtube Uy76gsWPr74
youtube UYG9hGUlU3Y
youtube uZDOn25RGio
youtube v-7MVq08Ogg
youtube V1kuzWbBgqo
youtube V1tDmLpF3dU
youtube V2bEHWzg2JA
youtube v8lAysFdpOQ
youtube va0HewnLM6w
youtube viMm-vNOkqk
youtube VjMweMIsCy4
youtube VJWTMHaz2yU
youtube vlpjau0aluQ
youtube VOzYikMCWi4
youtube vPlbvFGWxDU
youtube VQO_ZYBpewo
youtube vqrnUqEHkSk
youtube vrJTJ_yeKvQ
youtube vrqehVp6pmk
youtube VSAx-HkM7WQ
youtube vt2ihN1O_rY
youtube VUUp0DgLXCQ
youtube VXRl-xVkD9w
youtube vZWWu38tfzc
youtube v_KmZm5-8vg
youtube V_XPByUtla0
youtube W-iVjRG4Vc8
youtube W0bCl_UUAaA
youtube W4u-pMcGuTY
youtube W6wHZxETQBY
youtube wbWbnJiCj1o
youtube WcwDKE4GsYA
youtube WePSEbRbxE4
youtube WEuCImLo8e8
youtube WflyxYQ3CtM
youtube wke-wQtBWTI
youtube WKE1dhJei9k
youtube wKGNotl8Fpw
youtube wmMGUK4094M
youtube wMyFQmVXKdw
youtube wpvCKHkukIg
youtube WqXS5_YrA9Q
youtube wriV0tvanAI
youtube WrR14eWoDvE
youtube WSOa0lEkC4I
youtube WTPEvwFmB_0
youtube wvZ5elGqkvQ
youtube wWruz26xx1A
youtube wxcs1Lv3M2o
youtube Wzh_kyMp55U
youtube x4Ka1ALoLi8
youtube x4UEstfLdJo
youtube xaoMKp51Wvk
youtube xCXQ11zdJRo
youtube xE2cIZrrGws
youtube xfsTED7L4xs
youtube XKeAJDtEe9E
youtube xKzcqit8C3w
youtube xL2TGOCyQ2U
youtube xLNXM_9u1G8
youtube Xn5q-w_o1Lc
youtube xo0FrDjkgaE
youtube xQEGf_4N5uM
youtube xQxQmEdDXt0
youtube xr23ZS6TOCA
youtube Xrg5PjjvtlM
youtube XS9lUBrsSxs
youtube xUzqu33xuY0
youtube XxXamA-ndtA
youtube XYmzHhnvSoE
youtube x_eHEVwuFBs
youtube X_UjmXbosHQ
youtube y5Un2uxOKjQ
youtube ybAR76a4-68
youtube YEAoqrjzbOE
youtube YeEa_K4e6Fc
youtube Yg99BiYJrno
youtube YgD9hgwEo7s
youtube yGLlct1QSd0
youtube yHF4taQ9CJ8
youtube yixBhujscHo
youtube YMBINBEJXNo
youtube YmsJ0iGyF-Q
youtube yNcK4CAfaP4
youtube yOVkg01wDJI
youtube yQGWUEcWfZ4
youtube yQTDtKnsdks
youtube Yrp9zFJlTnA
youtube YsCKgckaHk4
youtube yTa7M2qyLN4
youtube yUXdDjOWAp8
youtube yvUsgKyrjfI
youtube yxINPpgqjks
youtube yzPFe2gezgo
youtube z1v7oLO385Y
youtube Z1zDAn2sRQk
youtube z3rc8jZMSd0
youtube z3w8wJe7XLk
youtube Z5DSYVaOGnk
youtube ZAYEqnQTzjk
youtube zBC2sCVLX60
youtube zc8spvYg1Ik
youtube ZcAI6vRlZPg
youtube ZCGYqgw16bY
youtube ZG4HC-qClsg
youtube zGA5UyrWiBM
youtube ZiHT2ZFJ79k
youtube ZjP99Fk-lqk
youtube ZjuNBPA4TIY
youtube ZkhjQkfv-P8
youtube ZkURCpUXXe0
youtube ZLnFWVmsrQc
youtube zm0_S6W70BE
youtube zOx_ClMsiWs
youtube zr9fJUny6KU
youtube zrlV4o02R3o
youtube ztS_cpY8Yuo
youtube zx-9I-asp2o
youtube ZX8fxMCOThg
youtube ZXccfgknJWI
youtube _35WmAbDYaQ
youtube _5G1K5qk_sQ
youtube _crweiHyi_w
youtube _hfWLxksDvY
youtube _q4sbh4ETMA
youtube _RezDtLaOkA
youtube _Rj9eP6qc2U
youtube _RKkeY8SMMI
youtube _sdn1B0N4k0
youtube _wksPhLaHOw
youtube _zmTHb6VW34
youtube __q_Nx9WbgY
youtube EmDjGBsmOyg
youtube OO_d3fwTNPo
youtube 9-Xiv9bGcks
youtube x1i5XJ5-jfk
youtube zNxH1ueL2bU
youtube 58a8aerlsEw
youtube lRuiB_a74hE
youtube 7Hlh-oPSkWg
youtube weCcmuyvyvI
youtube X6otflrUv94
youtube GM1Osxmn1Uk
youtube 6Pf5qQyY64c
youtube H7YKzCeiiHI
youtube PXqjGcmXBf0
youtube QLnW9jWyRNY
youtube pU7hoAJfZp0
youtube 7RzjgjCORpI
youtube 7LT1WQ6ccGw
youtube Ca2MG-OxYsw
youtube InfcuB1IBDA
youtube SZbzccp81oY
youtube ldB-1fCX-qw
youtube xxanoxek0ho
youtube vTDDFR3KTFQ
youtube d_jOBqYTZj8
youtube LoBFHmzIOz0
youtube MSK5jCuxJ8U
youtube 1uiHE203ToM
youtube Ay9DtElx-UE
youtube o0JqsI4F8Z0
youtube 2AGFOD34gUc
youtube hXX9bnwnSts
youtube reL996vFugQ
youtube spznxrCRAZA
youtube RYxck1YvCNk
youtube Sv8jEIB_v14
youtube aUfMP1D7pQw
youtube smJZlmuwolM
youtube cSgvEsLD21Q
youtube _FcZDj1Tr0Y
youtube n2leaVei2AI
youtube oLQ50CguIz8
youtube c0VN2C8q7VM
youtube pWrLTL673HQ
youtube k15UN7PqfMc
youtube uizS7GeQCTY
youtube C8jL2Jcqd3c
youtube NXqMwT5NvdA
youtube UDzSkcbAM7A
youtube kJhY8DSn9r0
youtube i9U5Y73Ea0M
youtube baesZ11a6lc
youtube a7EtiTJZYqM
youtube QkPiPEb8sNs
youtube VJJCtRxK0Ow
youtube V3MDcYZINgU
youtube 219K7Fz9EQo
youtube U_HP-UIdlNk
youtube 6jG3Eol5i5I
youtube Iih-_xaf8lE
youtube 1U6X5MADsvo
youtube i7SwBQ8LUqo
youtube dF1abEFHyOI
youtube Gu8fYDpXhVw
youtube s5gtvOFQGxU
youtube 8uLrNXDzLb0
youtube 1bcxYNA102Q
youtube ftBD2C6xQHk
youtube -2vGk_5T64E
youtube RNsFuX2rFgI
youtube aB7JAkSc2uc
youtube Gy8C8AH6kiU
youtube naOZhnY7ZLM
youtube VCvN9EQRJmI
youtube pqb8s3tEseQ
youtube iX73fXtzxos
youtube 5PGlyDDFUUQ
youtube QA-sOyuCbwE
youtube 8Lu4QRcXXvg
youtube ndS04sxuLc8
youtube E86HshOxQuo
youtube jRNNrmF0cHQ
youtube aBIU00N62cA
youtube wKxRfc353Lo
youtube 586IA3nhXpw
youtube qTGA8_-gPO4
youtube LFuRlcHraEU
youtube Ado2kVsMTDU
youtube S1tdy1aBA1U
youtube z-zdeangP_A
youtube kXreM3PMf0g
youtube M63dQ1c8i_4
youtube MHgdi3WwU4o
youtube UlGpmO_-Jbc
youtube aGOfr9aqKZI
youtube niZ5WHFMaBQ
youtube HQVfzCBn_Cg
youtube 2VFC4g0T7m8
youtube 6sST_jdsepA
youtube QTDfTtK35d0
youtube LCsGUdmiSzQ
youtube tRX3EqCyB1c
youtube 1eUzRwp_xrA
youtube t30FL8a9KWs
youtube veow_lvRhfw
youtube T9pSGjpjZhI
youtube PAe0C939KvA
youtube 94cnBMHwNdE
youtube t2HdL5EUsvU
youtube oKwMyu7WtWc
youtube aQwlJzROy38
youtube iqHwYqz-fmw
youtube EE-4GvjKcfs
youtube CJ_GCPaKywg
youtube AonH1tPFuS4
youtube 3X3JR3pG0I8
youtube qU-CVryg7NE
youtube _Wmno7aB0t0
youtube vaidiSUUc3I
youtube EOufPYyXphw
youtube Vt8yOLn8vmo
youtube CI70_7ZizdE
youtube h5Zh2LEwFCo
youtube cph6XMXRKzY
youtube QVhOStk_H_U
youtube i_Qfr_Yy_Oc
youtube hjnGEQje5eA
youtube wJxNhJ8fjFk
youtube eZ-FPB929z8
youtube ObnS75WIUWE
youtube 17V2lxzlTRE
youtube mOQwMLWEJrg
youtube gP4SuTUo8eA
youtube QeKnZJHt6Fc
youtube nkdgCs16WB0
youtube StXRi5zPPjk
youtube ARHVKZ5K1b0
youtube A-d9Mt_VZDY
youtube yr6PtdY0i7M
youtube 3EtcCTzz5ak
youtube BB-F-fyQPNM
youtube RVo8lEQ-qfY
youtube KHZRo-P9uWk
youtube -jD2Eihna_E
youtube mydW9Rv_tIk
youtube SoOGXH1clNE
youtube 5fz7H0Jh_Mk
youtube mgcF7HjrPzg
youtube vCvbK-7n3ec
youtube lNBKYsficjc
youtube U9TJ0kVNZY8
youtube irX23wRsOlo
youtube pkoy7ESfSb0
youtube F-oIzJWUm40
youtube Gb-qBRCr69Y
youtube e2IqbTNQeCU
youtube kRVRZlXbmTo
youtube 9hqrGoY2Uyg
youtube 4oKPDdGylZs
youtube HCBwx5TzqlE
youtube TAbxE_bmQr4
youtube V_eNGOlak1E
youtube Ufd_WuTf6i4
youtube 7vp0uqCpWWk
youtube qEOEqvN0GYk
youtube FxNG9r3f7p8
youtube 8mQFaqY-sQE
youtube S2ZZpLXpbL0
youtube SM1hal24qUQ
youtube xZ70AV66qxY
youtube siuMZWjQeZI
youtube l4uCY8DqHZ0
youtube pT2mY-nm8DM
youtube vuUtymaQCvM
youtube kkTF3pG8N8E
youtube DQ2hpfGshXs
youtube CF7Rf6wQUKA
youtube _jGL-zq-Z-A
youtube p0t_cX2cOIk
youtube ZZ64mKChdTo
youtube wI78-69LZvw
youtube TS7_2DsNcXY
youtube rq8ydChWShs
youtube uDAnBZ95vrc
youtube hG0r7Amoptc
youtube Z5F0e7m-Ugs
youtube qC8OWrZMFVs
youtube HsYQsDCiGyQ
youtube DUwaV8oVYbw
youtube NJAMdbRXR3s
youtube XlxZan_oLCo
youtube 2VTPYDWLXck
youtube R6vInxLIayE
youtube flJGc_-bOkQ
youtube EY5QwJRg9sA
youtube XLElndYyo38
youtube 1t--VbGQ90w
youtube OQPNRgSnG_0
youtube FiezNiXcEiA
youtube 5qYmK6gVbtY
youtube QmZ7Qz9e9-E

27
youtube/download.sh Executable file
View File

@ -0,0 +1,27 @@
id="$1"
ending="$id"
shift
./yt-dlp \
--ignore-config \
--no-continue \
--no-overwrites \
--sub-langs all \
--prefer-free-formats \
--embed-subs \
--embed-chapters \
--embed-thumbnail \
--embed-metadata \
--write-subs \
--write-thumbnail \
--write-info-json \
--convert-thumbnails webp \
--output '../public/videos/%(id)s.%(ext)s' \
--merge-output-format mp4 \
--ffmpeg-location '..' \
--batch-file 'batchfile.txt' \
--download-archive 'donearchive.txt' \
--cookies 'cookies.txt' \
"$@" \
-- "$id"
#--abort-on-error \