4 Commits

Author SHA1 Message Date
0933b591fe 1.1.0 2019-11-27 14:33:21 -07:00
16d971d8bb docs: add note about REMOVE_DOWNLOAD to readme 2019-11-27 14:33:13 -07:00
3792de3c91 feat: allow cleanup via REMOVE_DOWNLOAD env 2019-11-27 14:30:11 -07:00
65c8e1be3c chore: v1.0.1 2019-11-27 14:13:55 -07:00
5 changed files with 37 additions and 1 deletions

3
AUTHORS.md Normal file
View File

@@ -0,0 +1,3 @@
### Authors
- Joe Fleming ([w33ble](https://github.com/w33ble))

8
CHANGELOG.md Normal file
View 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)

View File

@@ -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

View File

@@ -1,6 +1,6 @@
{
"name": "youtube-dl-web",
"version": "0.0.0",
"version": "1.1.0",
"description": "youtube-dl wrapped in a simple web server",
"main": "index.js",
"scripts": {

View File

@@ -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);
}
});
});
};