Докачка сбойного файла!!! Удалась!!!
Moderators: Korney San, Qwertiy, marcipan, igelizm
-
- Гуру
- Posts: 175
- Joined: 16 Jun 2007, 8:56 Sat
Походу сейчас леттитБИЧики перемудрили и эта фича бесполезна, сам проверял!9off wrote:Действительно!!! Всё получилосьСпасибо, vizit73!
Кто не понял, объясню ещё раз:
Предназначено только для тех, кто качал в 1 поток!(остальным прийдётся всё таки качать по новой...)
У нас есть битый дмф файл, который не хочет докачиваться (у меня например потому что комп повис), но качать по новой его очень не хочется. Как я всё делал:
1) скачал WinHex редактор, установил (нашёл кейген, чтоб можно было файлы больше 200 кб сохранять)
2) Скачал оперу, сам юзаю фаерфокс, но с ним ничего не вышло...
3) открываем дмф файл винхексом, стираем последние примерно 10 строчек, сохраняем.
4) начинаем закачку того же файла оперой с нуля, приостанавливаем
5) переименовываем наш сохранённый файл так, как назван файл, скачиваемый оперой
6) заменяем файл оперы на сохранённый
7) продолжаем закачку.
Вуаля! Файл качается примерно с того же самого места на котором вы остановились
Советую модерам прилепить этот топик, ибо очень полезная информация, а валяется где-то в ж...
http://narod.ru/disk/12204166000/W-GET.exe.html
неоднократно возникали вопросы с докачкой сбойных файлов. вот родился такой упрощенный вариант докачки с помощью wGet, для файлов которые качались в один поток. рецепт сводится к более простой процедуре - приведенная пилюля должна быть помещена в одну папку с недокаченным файлом (с обрезанным служебным хвостиком), ссылку на файл нужно скопировать в буфер обмена и запустить пилулку - файл докачается. останется только пилюльку удалить. к сожалению упрощенный способ ограничен случаем отсутствия необходимости кук - так как я сам с куками до сих пор не разобрался. за консультациями по поводу кук (а значит летитбита) обращайтесь к AlexQwerty.![Image](http://s45.radikal.ru/i108/0903/b2/654f69b94946.gif)
хм - надо еще прогу или батник, которая хвостик обрезает и сюда доложить - но пока не соображу как это сделать.
http://www.opennet.ru/docs/RUS/mpi-2/node169.html
никто вот в это не врубается?????????
W-GET.exe - c
зеркало
http://narod.ru/disk/12205084000/W-GET-c.exe.html
![Image](http://i076.radikal.ru/0908/a5/13f7a8edd09d.gif)
протупил я с летитбитом, для летитбита всего то рефер надо, равный прямой ссылке без имени файла, но можно и с именем. желтая пилюля для докачки с летитбита.
http://narod.ru/disk/12207792000/W-GET-c-let.exe.html![Image](http://s44.radikal.ru/i105/0812/bd/c1b11332d4b5.gif)
неоднократно возникали вопросы с докачкой сбойных файлов. вот родился такой упрощенный вариант докачки с помощью wGet, для файлов которые качались в один поток. рецепт сводится к более простой процедуре - приведенная пилюля должна быть помещена в одну папку с недокаченным файлом (с обрезанным служебным хвостиком), ссылку на файл нужно скопировать в буфер обмена и запустить пилулку - файл докачается. останется только пилюльку удалить. к сожалению упрощенный способ ограничен случаем отсутствия необходимости кук - так как я сам с куками до сих пор не разобрался. за консультациями по поводу кук (а значит летитбита) обращайтесь к AlexQwerty.
![Image](http://s45.radikal.ru/i108/0903/b2/654f69b94946.gif)
хм - надо еще прогу или батник, которая хвостик обрезает и сюда доложить - но пока не соображу как это сделать.
http://www.opennet.ru/docs/RUS/mpi-2/node169.html
никто вот в это не врубается?????????
блин маленько лоханулся - первая просто качает, вот эта дакачиваетint MPI_File_set_size(MPI_File fh, MPI_Offset size)
MPI_FILE_SET_SIZE(FH, SIZE, IERROR)
INTEGER FH, IERROR
INTEGER(KIND=MPI_OFFSET_KIND) SIZE
void MPI::File::Set_size(MPI::Offset size)
MPI_FILE_SET_SIZE изменяет размер файла, ассоциированного с дескриптором fh. Размер измеряется в байтах от начала файла. MPI_FILE_SET_SIZE - коллективная; все процессы в группе должны устанавливать одно и то же значение size. Если новый размер меньше, чем текущий размер файла, файл урезается до позиции, определяемой новым размером. Для реализации необязательно удалять из памяти участки файла, расположенные за этой позицией.
W-GET.exe - c
зеркало
http://narod.ru/disk/12205084000/W-GET-c.exe.html
![Image](http://i076.radikal.ru/0908/a5/13f7a8edd09d.gif)
протупил я с летитбитом, для летитбита всего то рефер надо, равный прямой ссылке без имени файла, но можно и с именем. желтая пилюля для докачки с летитбита.
http://narod.ru/disk/12207792000/W-GET-c-let.exe.html
![Image](http://s44.radikal.ru/i105/0812/bd/c1b11332d4b5.gif)
1000byte-Cutter.rar
33,4 КБ (34 233 байт)
быстро и эффективно.![Image](http://s60.radikal.ru/i170/0811/b1/4eb380bef783.gif)
правда больше 1000 мб я еще файл не резал.
![Image](http://s42.radikal.ru/i097/0908/ef/54d62847cb86.png)
взял мб файл, сделал торрент (ну хеш сумму), обрезал - докачал и проверил хеш, все правельна режет.
2,27 ГБ (2 439 001 715 байт) такой файл уже не видит и такой 2,05 ГБ (2 205 767 680 байт). до двух гиг наверно.
1,45 ГБ (1 559 949 312 байт) такой видит и такой 1,62 ГБ (1 747 902 464 байт). до двух вообщем.
понял в чем дело - 2 147 483 648 - максимум, ровно два гига
33,4 КБ (34 233 байт)
быстро и эффективно.
![Image](http://s60.radikal.ru/i170/0811/b1/4eb380bef783.gif)
правда больше 1000 мб я еще файл не резал.
![Image](http://s42.radikal.ru/i097/0908/ef/54d62847cb86.png)
взял мб файл, сделал торрент (ну хеш сумму), обрезал - докачал и проверил хеш, все правельна режет.
2,27 ГБ (2 439 001 715 байт) такой файл уже не видит и такой 2,05 ГБ (2 205 767 680 байт). до двух гиг наверно.
1,45 ГБ (1 559 949 312 байт) такой видит и такой 1,62 ГБ (1 747 902 464 байт). до двух вообщем.
понял в чем дело - 2 147 483 648 - максимум, ровно два гига
притумкал йа как лучи стелат.
во первых можно удалять не просто 1000 байт с конца, а с места UURRLLhttp://.
во вторых после этого можно удалить все нулевые байты и получить ровно скачанное.
а в третьих можно не просто удалить все нулевые байты с конца, а удалить все нулевые байты и получить полное описание скачанного.
после этого идеально было бы восстановить хвостик в рабочем состоянии, чтоб файл можно было воткнуть на закачку опять. но тама в хвостике ни фига не понятно, может можно cUrlom докачать недостающие, и может быть даже не одним, а несколькими копиями.
**************
фигня так получица. во первых если файл не встает назад на закачку, значит в служебном хвостике повреждения, и не факт что не повреждены именно UURRLL. во вторых - нулевые байты могут быть в файле не только из за недокаченых мест, чтоб различать такие места уже хорошо разбирать структуру в ручную, а не автоматически. просто отрезать 1 кб - точно удалив служебных хвостик, а потом вычистить все нулевые байты до первого ненулевого - вот так нормально будет. если файл качался в несколько потоков можно конечно вычистить все нулевые байты - если найти способ как потом перекачивать указанные байты, а их может получится много по телу файла таких мест.
вот чебы ДМ-у не записывать служебныю информацию по ходу скачивания каждые скажем - пять десять минут, в виде таблеточных файлов - положил его рядом с недокаченным запустил - служебных хвостик заменился и закачка продолжилась - не сработало береться предъидущую таблетка.
во первых можно удалять не просто 1000 байт с конца, а с места UURRLLhttp://.
во вторых после этого можно удалить все нулевые байты и получить ровно скачанное.
а в третьих можно не просто удалить все нулевые байты с конца, а удалить все нулевые байты и получить полное описание скачанного.
после этого идеально было бы восстановить хвостик в рабочем состоянии, чтоб файл можно было воткнуть на закачку опять. но тама в хвостике ни фига не понятно, может можно cUrlom докачать недостающие, и может быть даже не одним, а несколькими копиями.
**************
фигня так получица. во первых если файл не встает назад на закачку, значит в служебном хвостике повреждения, и не факт что не повреждены именно UURRLL. во вторых - нулевые байты могут быть в файле не только из за недокаченых мест, чтоб различать такие места уже хорошо разбирать структуру в ручную, а не автоматически. просто отрезать 1 кб - точно удалив служебных хвостик, а потом вычистить все нулевые байты до первого ненулевого - вот так нормально будет. если файл качался в несколько потоков можно конечно вычистить все нулевые байты - если найти способ как потом перекачивать указанные байты, а их может получится много по телу файла таких мест.
вот чебы ДМ-у не записывать служебныю информацию по ходу скачивания каждые скажем - пять десять минут, в виде таблеточных файлов - положил его рядом с недокаченным запустил - служебных хвостик заменился и закачка продолжилась - не сработало береться предъидущую таблетка.
удалялка пустоты работает со скоростью 6 кб в секунду - мало. может попробовать на ассемблере написать.
http://ru.wikipedia.org/wiki/Sed - он кажется не умеет с бинарными файлами работать.
на с надо писать, врядли программа на с будет в оперативку весь открытый файл загружать.
http://ru.wikipedia.org/wiki/Sed - он кажется не умеет с бинарными файлами работать.
на с надо писать, врядли программа на с будет в оперативку весь открытый файл загружать.
все зависит от того ка написан конкретный компилятор. даже язык ни причем. поэкспериментировал - один работает в 15 раз быстрее, но не умеет стирать, пишет пустоту, а получаются нули. зато пустые файлы создает как пулемет. я до этого пользовался прогой BigByte так она мбайтный файл создает дольше, чем вот эта балалайка 2 гига.
http://bomz.t35.com/QuickSize.rar
![Image](http://i002.radikal.ru/0908/f2/6e85adb158a0.png)
я бы конечно попробовал твой редактор - но как то сбойного файла под рукой нету - разве прогу написать, чтоб файлы портила.
.
да я хотел приблуду сделать, чтоб ее можно было с докачивалкой объединить. уже думаю может просто стирать не по байту, а сразу по 256 байт. тогда скорость возрастет в 256 раз, будет нормально, а вероятность что нулевые байты несколько раз подряд попадуться случайно не очень высокая, ну сотрет лишний кб - подумаешь.
![Image](http://s16.radikal.ru/i191/0908/89/b4a7b9511e5b.gif)
http://bomz.t35.com/QuickSize.rar
![Image](http://i002.radikal.ru/0908/f2/6e85adb158a0.png)
я бы конечно попробовал твой редактор - но как то сбойного файла под рукой нету - разве прогу написать, чтоб файлы портила.
![Image](http://s56.radikal.ru/i153/0810/4a/24fd7f984328.gif)
да я хотел приблуду сделать, чтоб ее можно было с докачивалкой объединить. уже думаю может просто стирать не по байту, а сразу по 256 байт. тогда скорость возрастет в 256 раз, будет нормально, а вероятность что нулевые байты несколько раз подряд попадуться случайно не очень высокая, ну сотрет лишний кб - подумаешь.
![Image](http://s16.radikal.ru/i191/0908/89/b4a7b9511e5b.gif)
DownloadMasterDoctor
34,0 КБ (34 918 байт)![Image](http://s44.radikal.ru/i105/0812/bd/c1b11332d4b5.gif)
![Image](http://s45.radikal.ru/i109/0908/31/0d42968be005.png)
опитимизирован алгоритм удаления служебного хвостика, поиск ненулевого байта происходит порциями по 16000 байт (обнаружен косяк в компиляторе), разработан оригинальный алгоритм быстрого поиска ненулевого байта в 16 000 - ой порции. соответсвенно скорость возрасла с 6 кб в сек до 250 мб в сек, что превышает скорость винтчестера.![Image](http://s58.radikal.ru/i162/0811/88/a3ac748e60ae.gif)
теперь будет время соеденю все это вместе с желтой пилюлькой для летитбита.
проверил гиг за пять секунд проверяет, ну значит два за 10.
вот зараза чета не работает - качаю дм-ом файл 1 мб, определяет удаляет, ровно совпадает с тем что дм показывает. создаю файл полтора гига пустой - работает, качнул с летитбита кино - скачал 1 мб - начал обрабатывать фига, не работает, толи там не нули записаны.
точно - ДМ большие файлы не нулями, а пургой записывает![Image](http://s49.radikal.ru/i125/0812/0e/367601daab87.gif)
в файле случайная инфа с винта - он просто как то область резервирует, и что было на винте записано так тама и есть. на 62 мб файле попробовал таже фигня получаеца. ну тут ничего не поделаешь, так скорее всего компилятор ДМ файлы создает.
34,0 КБ (34 918 байт)
![Image](http://s44.radikal.ru/i105/0812/bd/c1b11332d4b5.gif)
![Image](http://s45.radikal.ru/i109/0908/31/0d42968be005.png)
опитимизирован алгоритм удаления служебного хвостика, поиск ненулевого байта происходит порциями по 16000 байт (обнаружен косяк в компиляторе), разработан оригинальный алгоритм быстрого поиска ненулевого байта в 16 000 - ой порции. соответсвенно скорость возрасла с 6 кб в сек до 250 мб в сек, что превышает скорость винтчестера.
![Image](http://s58.radikal.ru/i162/0811/88/a3ac748e60ae.gif)
теперь будет время соеденю все это вместе с желтой пилюлькой для летитбита.
проверил гиг за пять секунд проверяет, ну значит два за 10.
вот зараза чета не работает - качаю дм-ом файл 1 мб, определяет удаляет, ровно совпадает с тем что дм показывает. создаю файл полтора гига пустой - работает, качнул с летитбита кино - скачал 1 мб - начал обрабатывать фига, не работает, толи там не нули записаны.
точно - ДМ большие файлы не нулями, а пургой записывает
![Image](http://s49.radikal.ru/i125/0812/0e/367601daab87.gif)
в файле случайная инфа с винта - он просто как то область резервирует, и что было на винте записано так тама и есть. на 62 мб файле попробовал таже фигня получаеца. ну тут ничего не поделаешь, так скорее всего компилятор ДМ файлы создает.
ниче не понял из того, что написано. в файле билеберда с винта записана, а не нули, можно только в ручную почистить. ну если сама винда так делает, значит тут ниче не поделать.
не знаю че учитывать в начале и конце, нормально ищет и быстро, в принципе можно еще в два раза ускорить если ошибку обойти в компиляторе, дык зачем это надо.
да сдались эти левые библиотеки.
си не си тут роли не играет, зависит от того как компилятор написан, я пять разных компиляторов попробовал везде все по разному. попробуй чтоб быстрее работало сделать. 5 сек гиг нормально я считаю. и 2.5 мб оперативки.
и два гига тут не из за фат32 (фат 4 гига если не больше) - точность переменных с двойной точностью такая.
не знаю че учитывать в начале и конце, нормально ищет и быстро, в принципе можно еще в два раза ускорить если ошибку обойти в компиляторе, дык зачем это надо.
да сдались эти левые библиотеки.
си не си тут роли не играет, зависит от того как компилятор написан, я пять разных компиляторов попробовал везде все по разному. попробуй чтоб быстрее работало сделать. 5 сек гиг нормально я считаю. и 2.5 мб оперативки.
и два гига тут не из за фат32 (фат 4 гига если не больше) - точность переменных с двойной точностью такая.
я новое творение родил. прога устанавливается в папку USD, на рабочем столе создает ярлык, запускаешь ее по ярлыку - она предлагает изменить настройки планировщиков USD и ДМ, меняет, потом предлагает скопировать список ссылок из буфера обмена, копирует, потом предлагает запустить процесс. рядом с ней в папке USD валяется файл со списком ссылок URL.txt, вот она берет по одной ссылке оттуда и пихает в USD, он согласно настройкам планировщика запуливает ссылку в ДМ, когда тот докачивает, запускает прогу она пихает следующуу ссылку в USD, и так пока ссылки не кончаца, по окончании предлагается вернуть настройки планировщиков назад.
Last edited by bomz on 27 Aug 2009, 14:42 Thu, edited 1 time in total.