danger68@mail.ru
+7(902)862-96-33 (+ WhatsApp, Telegram)
06 декабря, 2024
11 11 11 AM

Браузер для Бродяги, или как я хожу по кругу

Любой, кто попробовал мою программу Бродяга в действии, знает — в своей работе она использует сторонние программы, а именно ADVor и браузер FireFox Portable. Если к клиенту сети TOR претензий почти нет, он зависает ладно если один раз на тысячу запусков, то насчет браузера мнения оказались более чем противоречивые. У кого-то Лиса работает неделями, но у некоторых пользователей (редких, правда, но они есть) она регулярно падает каждые 50-200 просмотренных страниц. В общем, обстановка требовала разбирательства, и я решил повторно исследовать ситуацию, избрать нового фаворита (если таковой найдется) и уже на нем лепить будущее Бродяги. Знать бы, к каким неутешительным выводам все это приведет…

Для начала давайте обозначим, какими качествами должен обладать браузер в качестве рабочего компонента:

1. Устойчивость. В идеале браузер не должен падать вообще никогда, но сейчас ситуация такова, что любому браузеру приходится взаимодействовать со сторонними модулями (Silverlight, Flashplayer и т.д.), и это вносит свой вклад в нестабильность.

2. Модули доступа к рабочим функциям. До сего момента Бродяга управляла браузером, просто тыкая указателем мышки в нужных местах, и это было пусть некошерно, но очень просто. Однако чтобы реализовать внутренние переходы и переходы из ПС (пользователи ждут их сильнее, чем гонца с пивом), нужны как раз эти модули, позволяющие программно управлять браузером и получать многие данные не из интерфейса, а напрямую. Например, исходный код страницы писать сразу в массив, не открывая этот код визуально. Так вот, в разных браузерах перечень возможностей этих модулей разный.

3. Актуальность. Браузер должен хотя бы в минимальном объеме поддерживать веб-технологии, а также плагины, которые нам нужны для реализации каких-либо функций.

Я не мог мириться с тем, что у некоторых пользователей браузер FFP падал, не проработав и нескольких часов. Один пользователь так и сказал — я в отчаяньи… Кроме того, падения браузера роняли тень и на саму Бродягу — не каждому ведь объяснишь, что программа не упала, видишь значок в трее, то есть она работает, а вот браузер не выдержал напряжения. Да и вообще — невнимание хотя бы к одному неудовлетворенному пользователю плохо влияет на карму.

Итак, когда я впервые выбирал браузер, я взял облегченную сборку Лисы от команды JetSwap (FireFox 3) — она была достаточно стабильной, имела все возможности для доступа к стандартным функциям, отображала почти все как нужно и поддерживала пусть не все плагины, но основную их часть. Когда пошли отзывы о падениях, я подумал — ну что ж, раз старая сборка изжила себя, возьмем последнюю, малость подпилим Бродягу для работы с ней, и вперед, осваивать новый функционал. Наивный… 28-я сборка FireFox падала от любого чиха, была настолько нестабильной и глючной, что промучившись с ней двое суток в попытках устранить падения то из-за Shockwave-плеера, то из-за еще какой-нибудь гадости, я сдался. Честно скажу — я всегда знал, что Лиса неустойчивый браузер, но то, что она представляет из себя сейчас — это вообще ужас.

Ладно, подумал я, не будем унывать и попробуем Хром — он в большой степени устойчив и к нему написано достаточно большое количество плагинов. Некоторые плюсы были в том, что от первой публичной версии и до последней интерфейс не менялся, поэтому будущее мне казалось безоблачным — не придется ничего переделывать при обновлениях браузера. Однако и тут моя наивность была вознаграждена огромной фигой, так как Хром является настолько нестандартной хренью, что даже экранную координатную сетку понимает по-своему. Но это были еще цветочки, с которыми я справился. Справился я также с тем, что Хром работает не одним процессом, а целым их ворохом. Но когда оказалось, что он крайне не любит работать через TOR, так как активно и напрямую хочет общаться со своими серверами для отправки сведений, проверки обновлений и прочего, мое терпение лопнуло. Я понял, что еще двое суток убил зря.

Следующей на очереди была Опера. Как вы знаете, сейчас их как бы две — старая до версии 12.16 на собственном движке Presto и новая — фуфлыжная переделка из Chromium. Новую я, конечно же, попробовал вслед за Хромом и сделал вывод — отличаются они только внешним оформлением, все остальное у них, в том числе и глюки, одинаковые. Программисты новой Оперы даже не потрудились переименовать процессы, и их класс так и называется — «Chrome_WidgetWin_1». В общем, взор пал на старую добрую Оперу 12.16, которую я до сих пор считаю лучшим и самым быстрым, устойчивым и безопасным браузером из всех. И тут, знаете, все закрутилось — я за несколько часов переписал Бродягу, ввел в нее новые возможности по подмене HTTP-заголовков, стабильность и скорость открытия страниц возросли до небывалых высот. Сразу скажу — сборка на Опере лежит готовая. Но… я не уверен, что опубликую ее когда-либо вообще.

А дело вот в чем. Как всегда, когда бежишь к финишу и предвкушаешь радость победы, найдется мелкий камушек, за который запнешься. Так и тут. Уже закончив собирать новую Бродягу, я решил на радостях посмотреть, а как в Опере с доступом к стандартным функциям, и о ужас — оказалось, что практически никак! Есть, конечно, кое-что, но по сравнению с Лисой и Осликом — жалкие крохи. И вот, имея практически готовую к публикации сборку на Опере, я вынужден идти дальше и искать счастья у Internet Explorer… Правда, поход долго не продлился. Оказалось, что эта гадость вообще не умеет работать через TOR и падает, как вокзальная проститутка, которой показали 20 баксов.

И вот пришла пора делать выводы. Вариантов у нас осталось два:

1. Лепить Бродягу на основе старой Оперы. Тогда обеспечена стабильность и скорость, но мы будем навсегда ограничены при разработке нового функционала, мы всегда будем упираться в невозможность реализовать любую мелочь нормальным способом, а многое вообще будет нереально сделать.

2. Продолжать развитие Бродяги на третьей Лисе. В этом случае возможности для работы со стандартными функциями есть, но придется смириться с тем, что у некоторых пользователей Лиса будет периодически падать. Правда, есть еще чисто теоретическая возможность научить Бродягу обрабатывать ошибки и падения браузера, чтобы перезапускать, но пока это только рассуждения.

Вот такие неутешительные выводы…

 

10 thoughts on “Браузер для Бродяги, или как я хожу по кругу

    1. Это связано с пропускной способностью серверов TOR — не все из них быстрые, многие — просто компьютеры пользователей.

  1. Ну, прежде всего — хвост трубой и нос по ветру. У нас профессия такая, что на каждом шагу новое и не всегда приятно пахнущее. Мы где-то почти «в первых рядах», а это всегда чревато пулей в лоб с той стороны. У меня каждый проект — минное поле, и чо? Прорвёмся.
    Во-вторых. Опера, как ты сам уже понял — заведомый тупик. Осёл — даже не напоминай. Хром — это полный «привет мальчишу» и на нём неплохо работают в основном те проекты, которые одобрямс лично товарищ Гугл. Как я уже грил, при всех охренительных минусах Лиса — вариант предпочтительный. Тэсэзэ, лучшее из худшего, то есть из наличного. Главный плюс — браузер не планирует прекращать развитие, всё со временем фиксится.
    И последнее, между делом: у меня не наблюдалось ещё ни одного падения Бродяги на Фаерфоксе. Точнее, наоборот.

    1. Нет, Лиса как раз вариант более-менее приемлемый только старой, третьей версии, а новые ужасны. Я бы даже не посмотрел в его сторону, если бы идиоты из Оперы не продались Гуглотехнологиям и развивали свой двиг. Но в данном случае использование Оперы может действительно убить проект, если выбрать ее, а потом спустя несколько десятков версий обнаружить, что шел не в ту сторону.

      У тебя не наблюдалось падений — а у некоторых людей наблюдалось, особенно в виртуалке… ( Так что все-равно что-то делать придется, хоть полностью флеш отключай…
  2. Да, попутно, сэр — когда поправите форматирование в редакторе? Абзацы слипаются. Стараешься как красивше, а он всё сообщение «в кашу» без пробелов…

    1. Не знаю, о чем речь. Вот я выше написал с абзацами, ничего не слипается.

      Счас поправлю твой коммент…
  3. Боюсь что в такой программе, как ни грубо это звучит, нет никакого смысла — зачем портить ПФ искусственными «мышкодвиженьями» ? это же прямо говорит поисковикам: я дурачок, пытаюсь тебя обмануть…

    1. Я сначала хотел ответить: «это не грубо звучит, а глупо», ну и в том же духе. Но не буду, лучше давайте кратко разберемся, в чем Вы неправы.

      1. Искусственные мышкодвижения. А чем они отличаются от человеческих? Человек во время просмотра рандомно двигает мышкой, программа — тоже рандомно. Алгоритм движений будет постоянно меняться, становиться более естественным и разнообразным, я сделаю выделение текста, будут внутренние переходы по ссылкам и так далее. То есть я хочу спросить — что Вас насторожило? Или не так — как по движениям мышки ПС может отличить человека от робота?
      2. Я так понимаю, что в отношении поведенческих факторов Вы не очень знаете, о чем говорите, да и вообще в отношении веб-технологий. ПС, кроме того, что делается непосредственно в окне браузера, отслеживают еще не один десяток параметров и факторов — HTTP-заголовки, IP, разрешение экрана, размер видимой области браузера, версию и бренд браузера, операционную систему и многое другое. Поэтому если делать эти параметры различными от цикла к циклу, то будьте любезны, скажите — по какому критерию ПС может определить, что я, дурачок, пытаюсь его обмануть?
      3. Мы все почему-то считаем, что все должно быть естественным — трафик, посетитель и т.д. Но при этом в сторону роботов все равно делаем реверансы. У Вас есть в корне сайта файл robots.txt? Есть, а ведь он только для роботов. Так что, может быть, его тоже припишем как попытку влиять на поисковые системы? Вы покупаете ссылки и статьи? Проставляете ссылки в профилях форумов? А они тоже только для роботов, люди на них не смотрят. Вы даже, комментируя мою запись, не забыли указать ссылку на свой сайт. Вот об этом я и говорю — мы все тем или иным образом пытаемся воздействовать на ПС, и не нужно пытаться делать вид, что этого нет или это неэффективно. Оно есть и оно эффективно — практика показывает, что все, кто грамотно и в меру применяет технологии улучшения ПФ, оказываются в выигрыше.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Анти-спам: выполните заданиеWordPress CAPTCHA