ydiskarc (Yandex.Disk)
ydiskarc — утилита командной строки для резервного копирования публичных ресурсов Яндекс.Диска, то есть файлов и папок, к которым владелец открыл доступ по ссылке. Она обращается к открытому API Яндекс.Диска для публичных ресурсов (cloud-api.yandex.net/v1/disk/public/resources), которое не требует авторизации, и скачивает содержимое на ваш компьютер без сохранения на собственный Диск.
- Репозиторий: github.com/ruarxive/ydiskarc · Лицензия: MIT · Язык: Python
Установка
pip install --upgrade ydiskarc
На PyPI опубликована версия 1.1.0 (декабрь 2025 года). README требует Python 3.9 или новее.
В репозитории есть версия 1.2.0 (5 октября 2026 года) с параллельной загрузкой --parallel N, докачкой через .part-файлы и командой configure. На PyPI она пока не вышла, а установка из GitHub через pip install git+... на момент проверки давала неработающий пакет (в сборку не попадал подмодуль ydiskarc.cmds). Ниже описана версия 1.1.0.
Команды сверены с README и
--helpверсии 1.1.0 (октябрь 2026).
Команды
ydiskarc [команда] URL [опции]
| Команда | Что делает |
|---|---|
sync | Р екурсивно обходит публичную папку, скачивает файлы по одному и сохраняет метаданные каждого уровня в _metadata.json |
full | Скачивает одиночный файл как есть, а папку — одним ZIP-архивом (по умолчанию dump.zip) |
version | Показывает версию |
Опции sync
| Опция | Описание |
|---|---|
-o, --output | Каталог для результата (по умолчанию — идентификатор ресурса) |
--update | Скачивать только файлы, которых ещё нет локально |
-n, --nofiles | Сохранить только метаданные, без файлов |
-v, --verbose | Подробный вывод |
Опции full
| Опция | Описание |
|---|---|
-o, --output | Каталог для результата |
-f, --filename | Имя выходного файла |
-m, --metadata | Дополнительно сохранить метаданные в _metadata.json |
-v, --verbose | Подробный вывод |
Примеры
# Синхронизировать публичную папку с сохранением структуры
ydiskarc sync https://disk.yandex.ru/d/VVNMYpZtWtST9Q -o mos9maystyle
# Повторный запуск: докачать только новые файлы
ydiskarc sync https://disk.yandex.ru/d/VVNMYpZtWtST9Q -o mos9maystyle --update
# Только метаданные (перечень файлов, размеры, даты)
ydiskarc sync https://disk.yandex.ru/d/VVNMYpZtWtST9Q -o mos9maystyle --nofiles
# Скачать одиночный файл вместе с метаданными
ydiskarc full https://disk.yandex.ru/i/t_pNaarK8UJ-bQ -o files -m
Формат результата
syncвоспроизводит иерархию папок источника. На каждом уровне каталога лежит_metadata.json— ответ API с описанием папки и её содержимого.fullдля папки сохраняет один ZIP-архив, для файла — сам файл; с-mрядом кладёт_metadata.json.