Давайте попробуем порассуждать как это могло бы выглядеть со стороны пользователя. Утилита, к примеру pfsget.
У нее должен быть конфиг со списком зеркал. И где-то должны храниться уже полученные списки файлов на зеркалах.
Протоколы: ftp, http, rsync (потому что есть у яндекса) и webdav, чтоб подключать свои репы с личных файлопомоек.
По ключам:
pfsget firefox только скачать модуль, если их больше одного, то спросить который.
pfsget --install firefox скачать в папку, из которой модули подключаются при загрузке и подключить.
pfsget --load скачать в текущую папку и подключить
pfsget -- install -a lxde установить все модули где найдется сочетание букв lxde
pfsget --find firefox показать все файрфоксы и в какой они репе
pfsget --media 1 --install firefox установить из первой репы в списке.
pfsget --update-media перечитать репы
Чет типа такого.