Консольная утилита позволяющая удалять файлы, отсутствующие в указанном торренте. Полезно для случаев, когда после обновления торрента некоторые файлы были удалены.
- Node.js 18 и новее
npm i -g @nikolay-borzov/torrent-clean
C:\Загрузки\Пак обоев - Природа\torrent-clean -t C:\Торренты\nature-pack.torrent
извлекает список файлов из nature-pack.torrent
и сравнивает его со списком файлов директории C:\Загрузки\Пак обоев - Природа\
. Файлы не указанные в nature-pack.torrent
могут быт удалены.
У команды torrent-clean
есть короткая форма - tc
.
--torrent
(или -t
) - ID торрента (как описано в webtorrent api)
- Magnet-ссылка (например
magnet:?xt=urn:btih:d2474e86c95b19b8bcfdb92bc12c9d44667cfa36
) - Хэш (например
d2474e86c95b19b8bcfdb92bc12c9d44667cfa36
) - http/https URL торрент файла
- Путь к торрент файлу в файловой системе
--dir
(или -d
) - Путь к директории со скаченными файлами торрента
--version
- Выводит версию приложения
torrent-clean
позволяет задать часть параметров через файл предустановок (.torrent-cleanrc
, .torrent-cleanrc.json
, .torrent-cleanrc.yaml
, .torrent-cleanrc.yml
). Поддерживаются множество файлов на пути к целевой директории - torrent-clean
соберёт и скомбинирует все файлы предустановок вплоть до корневой директории. Чем ближе файл к целевой директории, тем выше его приоритет.
Параметры следующие:
ignore: string[]
- Массив паттернов имён файлов (globs) (используется picomatch) или имён файлов, которые будут исключены и списка «лишних» файлов.rememberLastTorrent: boolean
- Включает функцию запоминания последнего указанного торрента для конкретной директории в параметреlastTorrent
. Сохраняются только строковые значения. ПараметрlastTorrent
используется, когда не указан аргумент--torrent
.
Функция cleanTorrentDirectory
принимает объект параметров:
{
torrentId: '6a9759bffd5c0af65319979fb7832189f4f3c35d',
// Директория для очистки
directoryPath: 'C:/Загрузки/Обои/Природа',
// Не удалять файлы сразу. Вместо этого будет возвращена функция `deleteFiles`
dryRun: true,
// Объект предустановок с высшим приоритетом
customConfig: { ignore: ['**/*\(правка\)*'] },
// Вызывается после загрузки файло предустановок
onConfigLoaded({ torrent }) { console.log(`Обработан ${torrent}`) }
}
import { cleanTorrentDirectory } from 'torrent-clean'
const { extraFiles } = await cleanTorrentDirectory({
torrentId: 'C:/Торренты/nature wallpapers.torrent',
directoryPath: 'C:/Загрузки/Обои/Природа',
})
console.log('Удалено', extraFiles)
import cleanTorrentDirectory from 'torrent-clean'
const { extraFiles, deleteFiles } = await cleanTorrentDirectory({
torrentId: '6a9759bffd5c0af65319979fb7832189f4f3c35d',
directoryPath: 'C:/Загрузки/Обои/Природа',
dryRun: true,
customConfig: { ignore: ['**/*(правка)*'] },
})
console.log('Удаляю', extraFiles)
await deleteFiles(extraFiles)
- Торренты файлы, имя которых содержит некоторые Unicode символы (например 𝗚𝗪𝗔 1.txt), не могут быть обработаны.
- Иногда обработка торрента указанного как хэш зависает. Лучше всего указывать локальный путь к торрент файлу.