Делается это все просто, кидаем заголовки что это файл, сами забираем удалённый файл и отдаём
ob_get_level() && ob_end_clean();
header($_SERVER['SERVER_PROTOCOL'] . ' 200 OK');
header('Content-Type: application/force-download');
header('Content-Description: inline; File Transfer');
header('Content-Transfer-Encoding: binary');
header('Content-Disposition: attachment; filename="' . $name . '";', false);
header('Content-Length: ' . $len);
$upload = new SplFileObject($url, 'rb');
while (!$upload->eof()) {
echo($upload->fgets());
}
flush();
exit;