Как я воевал с Яндексом и решил проблему «мертвых душ» на диске - QubStore

Как я воевал с Яндексом и решил проблему «мертвых душ» на диске

Разбирался с переполненным диском Яндекса и заодно выяснил, почему бесплатные 10 ГБ забиваются до отказа даже после тотальной зачистки. Вот как я нашёл «мёртвые души» и что с ними сделал.

На прошлой неделе утром мне прилетело уведомление: место на Яндекс Диске кончилось. Раньше такие предупреждения появлялись регулярно, но тут всё было по-серьёзному — почта обещала отключиться, если я не разгребу завалы. Компания больше не увеличивает бесплатные квоты, а политика хранения давно стала строже: лишнее нужно вычищать самостоятельно.

Заглянул в хранилище и нашёл папку, которую сервис импортировал с чужого телефона через аккаунт моего знакомого. Мне эти файлы были ни к чему, так что удалил их вместе с корзиной. После очистки на диске значилось пусто — но почтовое приложение упрямо показывало занятые 10,2 ГБ из десяти. Пришлось даже написать в поддержку: мол, заберите диск обратно, оставьте мне только почту. Ответ был жёстким — починить ничего не смогли, только предложили освобождать место самостоятельно.

Покопавшись в интерфейсе глубже, я нашёл причину. В Яндекс Диске уживаются несколько разных сущностей: обычные файлы — понятная история, «умные» папки с чужих устройств, альбомы, которые создаёт пользователь, и общая бесконечная лента из всех загруженных фото. Вот в ней-то и прятались «мёртвые души»: изображения, которые я уже удалил с диска, продолжали висеть в ленте отдельными записями. Туда же подтянулись дубликаты импорта и прочий мусор, не привязанный к файловой структуре. Таких объектов набралось тысячи.

Я снова обратился в поддержку с вопросом про массовую зачистку ленты — мол, удобно было бы выбрать всё одним кликом. Но ответили, что такой функции не предусмотрено. Ни в веб-версии, ни в мобильном приложении кнопки, чтобы снести всё разом из ленты событий, нет.

Мне это показалось несправедливым вдвойне: у моей бабушки и мамы диски тоже забиты, а разбираться в «гениальном» интерфейсе они не обязаны. Долг перед близкими взял верх, и я решил действовать сам.

План был такой: открыть консоль браузера, найти первый снимок через querySelector, навести курсор, получить галочку, кликнуть по ней, дождаться, когда появится вариант выделить все элементы в группе, подтвердить, затем найти кнопку «удалить» и повторить цикл, пока лента не очистится. Десять минут — и вся история импортов была стёрта, корзина опустошена, а место освободилось до одного гигабайта из прежних десяти с лишним.

Чтобы другие не мучились так же, я собрал решение в исходник для Tampermonkey и выложил на GitHub. Оно автоматизирует процесс: на странице диска запускается логика через консоль, которая снимает выделение со всех элементов ленты и удаляет их разом. Если у вас знакомая беда с «мистически» занятым местом, то код отсюда: ссылка на проект на Гитхабе — вам точно пригодится.

Ссылка на основную публикацию