Лишь недавно я писал топик о том, как с помощью пластиковых бутылок имеющегося в хозяйстве каждой домохозяйки быстрого интернета и Linux-сервера уменьшить свои расходы на мобильный интернет. Расходы на электроэнергию я считать не буду, так как обычно эти дополнительные 150 рублей в месяц тратятся на закачку торрентов, раздачу ftp, поэтому поднятие еще одного прокси на имеющейся инфраструктуре ничего стоить не будет. Итак, чем плох предыдущий вариант (который через ziproxy + bfilter)? Во-первых, не очень кроссплатформенный, работает только на linux-серверах. Во-вторых, сильно жрет CPU. В-третьих, вечно сигфолтится и падает (по крайней мере у меня). В-четвертых, как бы ни был крут ziproxy, он не дает того сжатия, что давали сервера Opera Mini. Потому что ziproxy просто сжимает текст gzip'ом, а картинки imagick'ом, а прокси оперы не только сжимают текст, но и переформатируют весь HTML. Убирают все блоки, делают текст в одном потоке. Пожив с этим пару дней я понял, что этот выход требует доработки. И через пару дней я узнал про формат obml.
OBML — специальный язык разметки страниц исключительно для браузера Opera Mini (в mobile используется чистый HTML). Отличается умом и сообразительностью, так как умеет исполнять JS скрипты на стороне сервера и отображать в браузере, который не тратит ресурсов телефона на вычисления JS (кто хоть раз профайлил gmail — поймет). Так вот все в нем прекрасно, кроме одного — расшифровывать его умеет только сам Opera Mini. Для этого народные умельцы (причем наши земляки) написали скрипт на Python, который работает как прокси-сервер. При запросе к нему он выполняет запрос на один из серверов Opera Mini (его IP указывается в настройках, дефолтный сойдет), а потом расшифровывает полученный ответ и высылает обратно в виде простейшего HTML. Так как HTML более «большой» язык (ну теги длинные), то результат все равно получается процентов на 5-10 больше оригинала в OBML. Но эта разница в пару килобайт никого не раскошелит. В итоге мы получаем быстрый прокси, который практически не отнимает процессорного времени, потому что только посылает-принимает пачки данных, работает быстро, потому что этих данных очень мало, а сжимает на отличненько.
Как же установить?
Этот прокси называется OMPD и лежит по адресу http://ompd-proxy.narod.ru/. Проект был закончен и заморожен в августе прошлого года и поддерживает формат OBML до 3й (и последней) версии. Версия под Windows по каким-то причинам была переписана на дотнете, хотя версия для Linux прекрасно работает на питоне. Для начала прочитаем файл README (естественно, с битой кодировкой, как любой ридми на русском). Все настройки лежат в ompd.conf. Они все говорят сами за себя, а для минимального запуска вообще не требуется его настройка (сервер запустится на 8080 порту и будет смирно ждать). Я изменил лишь разрешение и ширину экрана. Для запуска стоит лишь запустить питонячий скомпилированный модуль: python ./ompd.pyc -d. Под виндой запустить ompd.exe.
Можно зайти на localhost:8080 и проверить. Если выдал какую-нить ошибку (типа страница не казана) или велкам — значит работает. Пропишем в настройках браузера нужные IP и хост и можно наслаждаться.
Круто!))
Рейган - жалкий актеришка.
это круто, я себе давно такое хотел! :)
ReDetection, у тебя же итак есть Opera Mini на телефонах?
ну, я не всегда пользуюсь только ей, а также я не всегда пользуюсь только телефоном )
http://labs.opera.com/news/2010/05/11/ :)
NoIndex, мы уже вчера нажрались по этому поводу :)
Вопрос автору статьи... Сейчас у сотовых операторов появились безлимитные тарифы при использовании оперы мини, если я буду использовать OMPD прокси на GOOGLE CHROME, а в качестве модема у меня будет сотовый телефон, какова будет тарификация (безлимит или как обычно)
Asju, как обычно. Безлимит операторов выделен для определенных IP, а так как сервер запущен на вашем - халявы не будет.
V@s3K, мне кажется, Asju имеет ввиду, что он будет юзать хром и прокси на одном и том же компе, а прокси уже будет смотреть на сервер оперы через телефон, и вот тогда уже будет халява.
ReDetection, а вот честно говоря даже не знаю... может и получится