Что: 9a24f9bf78dd863bc3ff9ad6cab171d1e7427b34
Когда: 2016-07-10 19:48:05+03:00
Темы: go
WARC proxy на Go Собираюсь написать на Go прокси для просмотра WARC файлов. Так как с Интернетом будут большие пребольшие проблемы (хотя они уже имеются с постоянным блокированием CDN-ов, Github-ов и прочим), то актуальность air-gaped режима передачи данных всё более актуальна. С сохранением/передачей/просмотром одного HTML/JPEG/PDF/whatever файла проблем не возникает. А вот как быть с кучей связанных между собой документов? То есть например зеркалом сайта? Archive Team используют ISO стандарт де-факто для архивирования Web-а: WARC (Web ARChive) формат. Он очень простой и даже читается глазами: HTTP-like WARC заголовок, а дальше сконкатенированные последовательности HTTP запроса/ответа. С некоторой версии даже GNU Wget стал в состоянии делать подобные файлы. То есть стандарт, вполне себе неплохой, уже даже де-факто для петабайтных объёмов (archive.org), имеется. Обычные GNU Wget-ы отлично умеют делать зеркала сайтов в подобном выводе. А вот для просмотра я откопал пока только warc-proxy: https://github.com/alard/warc-proxy Это Python HTTP-proxy написанный на Tornado с интерфейсом требующим JavaScript. Всё перечисленное мне в нём и не нравится, хотя в целом оно работает. Возьмусь переписать это как-нибудь покрасивше на Go. WARC куда удобнее чем непонятно как созданные/сохранённые директории с HTML/whatever документами в архиве. А тут один файлик внутри которого прям фактически сохранённые HTTP-сессии.
Сгенерирован: SGBlog 0.34.0