mirror of
https://github.com/Tzahi12345/YoutubeDL-Material.git
synced 2026-03-26 06:30:58 +03:00
Added ability to select any supported custom downloader
This commit is contained in:
@@ -58,7 +58,13 @@ let debugMode = process.env.YTDL_MODE === 'debug';
|
||||
if (debugMode) console.log('YTDL-Material in debug mode!');
|
||||
|
||||
var validDownloadingAgents = [
|
||||
'aria2c'
|
||||
'aria2c',
|
||||
'avconv',
|
||||
'axel',
|
||||
'curl',
|
||||
'ffmpeg',
|
||||
'httpie',
|
||||
'wget'
|
||||
]
|
||||
|
||||
// don't overwrite config if it already happened.. NOT
|
||||
@@ -143,6 +149,8 @@ async function loadConfig() {
|
||||
|
||||
if (!useDefaultDownloadingAgent && validDownloadingAgents.indexOf(customDownloadingAgent) !== -1 ) {
|
||||
console.log(`INFO: Using non-default downloading agent \'${customDownloadingAgent}\'`)
|
||||
} else {
|
||||
customDownloadingAgent = null;
|
||||
}
|
||||
|
||||
if (usingEncryption)
|
||||
@@ -659,8 +667,8 @@ app.post('/api/tomp3', async function(req, res) {
|
||||
downloadConfig.splice(3, 0, qualityPath);
|
||||
}
|
||||
|
||||
if (!useDefaultDownloadingAgent && customDownloadingAgent === 'aria2c') {
|
||||
downloadConfig.splice(0, 0, '--external-downloader', 'aria2c');
|
||||
if (!useDefaultDownloadingAgent && customDownloadingAgent) {
|
||||
downloadConfig.splice(0, 0, '--external-downloader', customDownloadingAgent);
|
||||
}
|
||||
|
||||
if (useYoutubeDLArchive) {
|
||||
@@ -783,8 +791,8 @@ app.post('/api/tomp4', async function(req, res) {
|
||||
downloadConfig.push('--username', youtubeUsername, '--password', youtubePassword);
|
||||
}
|
||||
|
||||
if (!useDefaultDownloadingAgent && customDownloadingAgent === 'aria2c') {
|
||||
downloadConfig.splice(0, 0, '--external-downloader', 'aria2c');
|
||||
if (!useDefaultDownloadingAgent && customDownloadingAgent) {
|
||||
downloadConfig.splice(0, 0, '--external-downloader', customDownloadingAgent);
|
||||
}
|
||||
|
||||
if (useYoutubeDLArchive) {
|
||||
|
||||
@@ -223,13 +223,19 @@
|
||||
<div class="col-12">
|
||||
<mat-checkbox color="accent" [(ngModel)]="new_config['Advanced']['use_default_downloading_agent']"><ng-container i18n="Use default downloading agent setting">Use default downloading agent</ng-container></mat-checkbox>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<mat-form-field color="accent">
|
||||
<input [disabled]="new_config['Advanced']['use_default_downloading_agent']" [(ngModel)]="new_config['Advanced']['custom_downloading_agent']" matInput placeholder="Custom agent" i18n-placeholder="Custom agent setting placeholder" required>
|
||||
<mat-hint></mat-hint>
|
||||
</mat-form-field>
|
||||
<div class="col-12 my-2">
|
||||
<mat-select [disabled]="new_config['Advanced']['use_default_downloading_agent']" color="accent" style="width: 200px" [(ngModel)]="new_config['Advanced']['custom_downloading_agent']">
|
||||
<mat-option value="">Select a downloader</mat-option>
|
||||
<mat-option value="aria2c">aria2c</mat-option>
|
||||
<mat-option value="avconv">avconv</mat-option>
|
||||
<mat-option value="axel">axel</mat-option>
|
||||
<mat-option value="curl">curl</mat-option>
|
||||
<mat-option value="ffmpeg">ffmpeg</mat-option>
|
||||
<mat-option value="httpie">httpie</mat-option>
|
||||
<mat-option value="wget">wget</mat-option>
|
||||
</mat-select>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="col-12 mt-2">
|
||||
<mat-checkbox color="accent" [(ngModel)]="new_config['Advanced']['allow_advanced_download']"><ng-container i18n="Allow advanced downloading setting">Allow advanced download</ng-container></mat-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user