Большинство клиентов, которых я знаю, имеют ключ к списку своих торрентов, которые загружаются / загружаются по их хэшу информации. Инфо-хэш также часто используется в качестве уникального идентификатора в клиенте, что может затруднить изменение клиента для поддержки параллельной загрузки одного и того же торрента.
Вы можете просто запустить несколько процессов, по одному для каждой копии торрента, который вы хотите загрузить. С помощью uTorrent вы можете передать /RECOVER
, чтобы обойти проверку отдельного экземпляра. Я полагаю, что большинство клиентов имеют аналогичные функции. Если нет, вы можете попытаться использовать ОС, чтобы изолировать клиентские экземпляры друг от друга, например с джейлом.
Однако это кажется очень прямым и простым решением. Тот факт, что вы спрашиваете, подразумевает, что у вас могут быть другие ожидания при параллельной загрузке одного и того же торрента. Мол, вы хотите, чтобы они обменивались данными друг с другом? (то есть старая проблема «посеять торрент на нескольких частных трекерах»).
В зависимости от того, что вы хотите, чтобы «торрент-программа» делала, вы можете написать тонкую оболочку вокруг libtorrent и запустить один сеанс на каждый экземпляр торрента, который вы хотите загрузить.