nie wiem jak dziala vixy.net ale prostsza metoda:
wyswietlasz sobie caly szablon stronki, wraz z jakimis boksami na procenty (dla ulatwienia ponizej proste cos), masz jedna funkcje do zmieniania tych procentow, i jedna na zakonczenie i buforrujesz i przesylasz po pare bajtow do przegladarki, wyglada to mniej wiecej tak:
<!-- reszta znacznikow -->
function ustawProcenty(ile) {
document.getElementById('proc').innerHTML=ile+'%';
}
<div id="proc"> ładowanie
</div>
<?php
// tutaj sobie w php pobierasz link itd itd, powiedzmy potem masz taką petle do pobierania (bo chyba nie uzywasz file_get_contents?!)
// pamietaj zeby ustawic $rozmiar ;p
while (!eof($plik)) {
$xx = fread($plik, 1024
); $pobrano += 1024;
$procenty = $pobrano/$rozmiar*100;
echo '<script>ustawProcenty('.$procenty.');</script>'; }
// teraz po petli wykonujesz jeszcze jakas funckje JS, napisz sobie, ktora ladnie napisze ze pobieranie zakonczone i da link do pobrania.
?>
mam nadzieje ze nie zamotałem, a jak zamotałem to sciągnij sobie skrypt RapidLeech i zobacz jak tam to jest rozwiązane

Wydaje mi się to prostsze niż prosić serwer o dane ajaxem..