Skip to content

Скачивальщик файлов по списку ссылок.

Notifications You must be signed in to change notification settings

multiprogramm/ListDownloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ListDownloader

ListDownloader — консольное приложение для выкачивания файлов по списку ссылок с переименованием скачанных файлов. Поддерживает следующие форматы списков для выкачивания:

  • m3u/m3u8 с именованием треков;

    Пример

    playlist.m3u:

    #EXTM3U
    #EXTINF:-1,Чайковский - Симфония №4
    https://example.com/123/456/789/1011.mp3
    #EXTINF:-1,Smile.dk - Doki doki
    https://example.net/s/333/444/0bba235f.mp3
    #EXTINF:-1,Марина Лаврова - За поворотом
    https://example.com/000/song.mp3
    

    Файлы в папке playlist после вызова ListDownloader.exe "playlist.m3u":

    Чайковский - Симфония №4.mp3
    Smile.dk - Doki doki.mp3
    Марина Лаврова - За поворотом.mp3
    

  • txt файл с именами и ссылками: в качестве имени файла берётся первая непустая строка-нессылка, предшествующая ссылке.

    Пример

    links.txt:

    Чайковский - Симфония №4
    https://example.com/123/456/789/1011.mp3
    Фотография Москвы
    https://example.com/00000/000001/00001.jpg
    ListDownloader_1.0.3
    https://github.com/multiprogramm/ListDownloader/releases/download/1.0.3/ListDownloader.exe
    

    Файлы в папке links после вызова ListDownloader.exe "links.txt":

    Чайковский - Симфония №4.mp3
    Фотография Москвы.jpg
    ListDownloader_1.0.3.exe
    

Типичный сценарий использования

ListDownloader.exe "playlist.m3u"

Можно либо вызвать из командной строки, либо просто в проводнике открыть файл playlist.m3u с помощью программы ListDownloader.exe. Файлы будут скачиваться в папку, которая будет иметь такое же имя, как и файл списка, и будет находиться рядом с этим файлом. Т.е. в данном примере рядом с файлом playlist.m3u будет создана (если её нет) папка playlist, куда и будут сохраняться файлы.

Зачем создавалась программа

Расширение браузера SaveFrom.Net нормально выкачивает одиночные треки, подставляя название в диалог «Сохранить как». Но вот с выкачиванием целого плейлиста есть небольшая проблема. После процесса скана ссылок можно получить m3u-плейлист, внутри которого есть и корректные имена треков, и ссылки на эти треки, но вот программы, которая выкачала бы композиции с корректными именами, сохранёнными в плейлисте, я не нашёл, поэтому и написал ListDownloader.

Информация о параметрах

Полный вызов такой:

ListDownloader.exe [Attributes] "PathToLinksFile"

, где:

  • PathToLinksFile — путь к файлу, из которого нужно извлечь ссылки для скачки и соответствующие имена файлов.
  • [Attributes] — необязательные один или несколько параметров, которые можно задать:

-threads NUM

Количество одновременно качаемых файлов.

По умолчанию: 2.


-num

У результирующих файлов в имени будет добавлен префикс-номер.

По умолчанию: выключено.


-encoding ENCODING

Кодировка, в которой читаем файл-список.

По умолчанию: utf-8. Возможные значения этого ключа можно посмотреть вот тут в столбце «Name». И нужно, чтобы в столбце «.NET Framework support» стояла галочка, либо кодировка дополнительно поддерживалась ОС.


-timeupd NUM

Пауза в миллисекундах между обновлениями консоли.

По умолчанию: 200.


-dir "PATH_TO_DIR"

Папка, в которую будут сохраняться файлы.

По умолчанию: папка рядом с файлом со ссылками, с таким же именем.


-deletelinks

Удалять ссылки из файла-списка после скачки.

По умолчанию: ничего не удаляется.


-noreadkey

Не ждать в конце ввод символа.

По умолчанию: ждётся.


-MoveUrlAuthToBasicHttpAuth

Перемещать URL-аутентификацию в http-хедер Authorization как Basic-аутентификацию. Т.е. был у нас URL:

https://username:password@example.com/arch.zip

А станет URL:

https://example.com/arch.zip

С хедером:

Authorization=Basic dXNlcm5hbWU6cGFzc3dvcmQ=

Использовать URL-аутентификацию в нешифрованных протоколах (http без s, например) опасно! Ваши логин и пароль передаются простым текстом!

По умолчанию: выключено.


-CopyUrlAuthToBasicHttpAuth

Копировать URL-аутентификацию в http-хедер Authorization как Basic-аутентификацию. Т.е. был у нас URL:

https://username:password@example.com/arch.zip

И он останется как есть:

https://username:password@example.com/arch.zip

Но добавится хедер:

Authorization=Basic dXNlcm5hbWU6cGFzc3dvcmQ=

Использовать URL-аутентификацию в нешифрованных протоколах (http без s, например) опасно! Ваши логин и пароль передаются простым текстом!

По умолчанию: выключено.


-help

Показать справку по параметрам


About

Скачивальщик файлов по списку ссылок.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages