Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0933b591fe | |||
| 16d971d8bb | |||
| 3792de3c91 |
3
AUTHORS.md
Normal file
3
AUTHORS.md
Normal file
@@ -0,0 +1,3 @@
|
||||
### Authors
|
||||
|
||||
- Joe Fleming ([w33ble](https://github.com/w33ble))
|
||||
8
CHANGELOG.md
Normal file
8
CHANGELOG.md
Normal file
@@ -0,0 +1,8 @@
|
||||
### Changelog
|
||||
|
||||
#### 1.1.0 (27 November 2019)
|
||||
- initial commit [`b66eb8a`](https://git.w33ble.com/w33ble/youtube-dl-web/commit/b66eb8abe793f7d551f1c44612a0b7e32d9b05b4)
|
||||
- feat: functional download server [`eb35ae5`](https://git.w33ble.com/w33ble/youtube-dl-web/commit/eb35ae5dfdb76c6f144920e0c49b0313c9dbfb22)
|
||||
- doc: update readme [`a955d20`](https://git.w33ble.com/w33ble/youtube-dl-web/commit/a955d20a52201d7d6ed56d8db077adf654e18636)
|
||||
- feat: allow cleanup via REMOVE_DOWNLOAD env [`3792de3`](https://git.w33ble.com/w33ble/youtube-dl-web/commit/3792de3c91f307403eee6acec5a914cdf5ab9809)
|
||||
- docs: add note about REMOVE_DOWNLOAD to readme [`16d971d`](https://git.w33ble.com/w33ble/youtube-dl-web/commit/16d971d8bbc9f82d83d3aee40119b179123303e2)
|
||||
12
README.md
12
README.md
@@ -15,6 +15,18 @@ docker run -it --rm -p 8080:8080 -v $PWD/data:/app/data w33ble/youtube-dl-web
|
||||
|
||||
Then hit `http://localhost:8080`, passing in a `url` and optionally a `format` query parameter for where to download from.
|
||||
|
||||
### Automatic cleanup
|
||||
|
||||
By default, this image will both send the download in the web response as well as save it to disk. This is handy if you're saving those downloads via a volume.
|
||||
|
||||
If you don't want to keep the downloads around, you can use the `REMOVE_DOWNLOAD` environment to tell the server to clean up the download after sending it in the web request. Setting the value to `1` or `true` is all it takes:
|
||||
|
||||
```sh
|
||||
docker run -it --rm -p 8080:8080 --env REMOVE_DOWNLOAD=1 w33ble/youtube-dl-web
|
||||
```
|
||||
|
||||
Running it like this, the result from youtube-dl will only be useful from the web response. The file is cleaned up after sending so using the shared volume doesn't make sense.
|
||||
|
||||
## Deploy to Docker Hub
|
||||
|
||||
```sh
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "youtube-dl-web",
|
||||
"version": "1.0.1",
|
||||
"version": "1.1.0",
|
||||
"description": "youtube-dl wrapped in a simple web server",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
||||
@@ -89,6 +89,19 @@ module.exports = async function server(req, res) {
|
||||
sent = true;
|
||||
});
|
||||
}
|
||||
|
||||
sent = true;
|
||||
|
||||
// clean up the download if told to
|
||||
res.on('finish', () => {
|
||||
const { REMOVE_DOWNLOAD } = process.env;
|
||||
if (!REMOVE_DOWNLOAD) return;
|
||||
|
||||
const shouldRemove = REMOVE_DOWNLOAD === '1' || REMOVE_DOWNLOAD.toLowerCase() === 'true';
|
||||
if (shouldRemove) {
|
||||
logger.info('Removing local file:', dlFilepath);
|
||||
fs.unlinkSync(dlFilepath);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user