Современный браузер должен поддерживать обилие стандартов и технологий, которые превращают веб-документы в интерактивные приложения, медиаплееры со стримингом или даже игры. В связи с этим сегодня браузерных движков не так уж и много. Ушло время, когда достаточно было кое-как вывести текст и картинки. Сегодня нужна мощность виртуальной машины для JavaScript, поддержка аппаратного ускорения декодирования видео и постоянная отзывчивость интерфейса.

Исходные коды некоторых браузеров открыты и распространяются с условиями использования различной степени свободы. Поэтому мы увидели появление множества клонов Chromium, часть из которых, впрочем, быстро стала добавлять собственные улучшения относительно Chrome. А кто-то вообще отказался от собственного движка в пользу разработки Google. Так произошло с Opera в 2013 году. Позднее Opera последовала за форком WebKit и перешла на Blink.

Opera — браузер, который мало где доминировал, но не отставал от конкурентов технически. Для рендеринга страниц браузер использовал собственный движок Presto. Он обладал уникальностью: почтовый клиент, мощный менеджер загрузок, встроенный BitTorrent-клиент, жесты мышью и блокировка контента. В связи со сменой движка часть любимых многими функций Opera после 12-й версии исчезла. Градус недовольства должен сбить браузер Vivaldi, который тоже базируется на Blink.

А Presto мёртв. Хотя на днях на GitHub появился странный репозиторий, который напоминает исходники этого движка.

README.md гласит: «Веб-движок рендеринга Presto: Opera 12.15. Этот репозиторий содержит движок рендеринга Presto, используемый в Opera по 12 версию. Покеда». Аккаунт пользователя prestocore, выложившего файлы, анонимен и не содержит идентифицирующей информации. Большая часть кода в репозитории — 66,5 % — написана на C++, языке, на котором был создан Presto.

По адресу github.com/prestocore/browser пока что размещены почти полгигабайта файлов.

Обновление 2017-01-14 3:30 МСК: доступ к репозиторию закрыт согласно процедуре американского закона об авторском праве в цифровую эпоху (DMCA). В комментариях этого поста идут обсуждения зеркал и компилируемости исходников.
Поделиться с друзьями
-->

Комментарии (218)


  1. Antikiller
    13.01.2017 15:11
    +10

    В пост призываются Shpankov (с комментариями от фон Течнера) и pepelsbey


    1. RedVelvet
      13.01.2017 15:24

      Думаете слив от бывших сотрудников?


      1. Antikiller
        13.01.2017 15:28

        Я думаю, что они могли бы хотя бы сказать «оно» или «нет». Хотя вот листаю код, кое-какие доки в coredoc — похоже не фейк.


      1. Dageron
        13.01.2017 15:36

        Будет круче, если это «слив» от тех, к кому по случайности попали старые компы/оргтехника. Как часто бывает с утечками исходников прототипов игр, которые находят прямо на devkit-ах консолей на интернет-барахолках.


        1. StjarnornasFred
          14.01.2017 01:01

          Всё, репозиторий больше не «пока что». Поэтому, если кто-то из гиктаймеров успел выкачать всё — ждём перезаливки на облачко. Вроде камрады ниже (@brzsmg, staticlab и кто-то ещё) успели скачать — к ним и просьба перезалить.


          1. Dageron
            14.01.2017 10:27
            +3

            Уже разошлось по миру, см. на реддите и в других местах. Ну а что единожды попало в сеть, останется там навсегда. Теперь, после takedown-а репозитория, от этих исходников точно не отстанут. Иначе — могло бы просто побаловаться с ними и забить на «старье». Но не теперь, когда аутентичность (и актуальность кое для кого) подтверждена.

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


            1. Acuna
              18.01.2017 17:19
              +1

              Слабо верится, что это кто-то из бывших разработчиков взял и решил выложить.

              А почему, соббсно, нет? Тем более написано, что «Аккаунт пользователя prestocore, выложившего файлы, анонимен и не содержит идентифицирующей информации». То есть понятно, что кому-то зачем-то пришлось шифроваться к тому-же.


              1. MikailBag
                19.01.2017 12:12

                Кто-то не захотел иметь проблемы с полицией / спецслужбами какой-нибудь страны.
                Боюсь, что Опера выложившего затаскает по судам.


                1. Acuna
                  19.01.2017 16:53

                  Ну вот. Особенно страшно для него же самого будет, если это сам разраб Оперы и окажется.


            1. NetBUG
              19.01.2017 06:30
              +1

              >останется там навсегда

              Не всегда, к сожалению.
              Я _очень_ хочу найти один проект, выложенный в Сеть автором в 1999 году и удалённый по каким-то причинам отовсюду (включая зеркала на archive.org).

              Речь идёт о
              проекте FreeBas9k, реализации BASIC для телефона Nokia 9110. Проект удалили из-за какой-то тёрки с Nokia (автор считал, что она должна ему денег), но сейчас это уже исключительно историческая ценность, на мой взгляд.
              Сам файлик, если я правильно понял, имеет размер в 56 килобайт или около того, исходников вроде не было в комплекте. Я нашёл чей-то архив программ для него на Archive, но ссылка на сам файл bas9k.zip была потёрта.


              1. eisaev
                19.01.2017 16:17
                +2

                Вот прям про вашу ситуацию. Есть подозрение, что у этого человека (в смысле у немца) и необходимый вам файлик есть.


            1. alsii
              20.01.2017 16:24
              +1

              Вот я тоже так думал. Пока не приключилась такя история. Есть такой лингвист Джон Кихада (John Quijada). Изобрел он как-то искусственный язык — ифукиль. А потом поигрался с ним немного, и раз, изобрел другой искусственный язык — илакш. И вот в этом илакше была очень занятная письменность. Все материалы он выкладывал на свой сайт. И там было довольно много всего на эту тему. И вот как-то, когда мне понадобились "красивые и загадочные письмена", я решил сходить к нему на сайт и позаимствавать несколько надписей линейным письмом илакша. И там я прочитал, что автор в илакше разочаровался и вернулся к работе над усовершенствованым ифкуилем. И все материалы по илакшу убрал...


              Фигня, подумал я!


              Ну а что единожды попало в сеть, останется там навсегда.

              подумал я! И подшел искать в сети. И нашел 100500 ссылок на сайт Кихады :-( Похоже никто не озадачился тем, чтобы к себе что-то скопировать. А зачем? Это же W.W.W., а в нем рулят HTTP и гиперссылки.
              Впрочем, может я просто гуглить не умею? Если кто ткнет меня носом буду премного благодарен.


              1. sumanai
                20.01.2017 16:48
                +1

                Именно поэтому я установил ScrapBook X и тупо сохраняю себе все интересные страницы (а то и сайты), качаю все интересные репозитории и вообще храню у себя всю информацию, благо жёсткие диски достаточно дешёвые, чтобы ничего не удалять.


              1. staticlab
                21.01.2017 00:58
                +2

                1. ggrnd0
                  21.01.2017 12:48

                  удалено


    1. Jogger
      13.01.2017 15:30
      +5

      Не думаю что от этих двоих есть хоть какой-то толк. Как минимум первый точно говорящая голова, он никогда не говорил правду, только повторял официальную позицию, даже если она противоречила здравому смыслу.


      1. Antikiller
        13.01.2017 15:34
        +5

        Второй, вы имеете в виду?


        1. Jogger
          13.01.2017 15:48
          +2

          Нет, я писал именно про первого. Если и второй тоже — значит оба.


    1. pepelsbey
      13.01.2017 16:31
      +4

      Ни у кого из упомянутых доступа к движку не было, разве что Йон может подтвердить.


      1. Jeditobe
        13.01.2017 22:45
        +4

        Надеюсь, что под гнетом утечки компания примет решение открыть исходники по-настоящему.


        https://www.change.org/p/opera-software-open-sources-of-presto-engine


        1. nikolaynnov
          19.01.2017 00:54
          +1

          Что-то маловато пока голосов. Чем смог поддержал. Будем надеяться, что после такой утечки сорцы всё-таки официально передадут в опенсорс.


      1. keysi
        14.01.2017 13:57

        del



    1. Jeditobe
      13.01.2017 22:57
      +1

      Я волнуюсь, Shpankov "последний раз был на сайте 31 декабря 2016 в 16:26", а последнее сообщение от него вообще месяц назад.


      1. nik_vr
        14.01.2017 08:38

        Не волнуйтесь, ВКонтакте он бывает регулярно (https://vk.com/id3942209), и даже пишет иногда.


  1. ptica_filin
    13.01.2017 15:23
    +1

    Кто-нибудь уже попробовал скомпилировать? :)


    1. brzsmg
      13.01.2017 16:29
      +2

      Нужна VisualStudio 2010.

      Открываем решение
      \platforms\windows\OperaProjectFile.vcxproj

      Ругается что не хватает кучи проектов:

      Заголовок спойлера


      1. staticlab
        13.01.2017 17:20
        +3

        А почему вы открывали vcxproj, а не sln? Там как минимум для libvpx путь корректно прописан, и нужный проект действительно лежит, где ему надо.


      1. staticlab
        13.01.2017 17:28
        +1

        По-видимому, недостающие файлы проектов генерируются из *.vcxproj.template при помощи vcxproj_update.py


        1. CaptainFlint
          13.01.2017 17:32

          Там в сорсах вообще какая-то своя система сборки живёт, flower называется. Пока детально не ковырял, поэтому не могу сказать, как она соотносится со студийными проектами и солюшенами.


          1. staticlab
            13.01.2017 17:35
            +1

            Из доков к flower: Flower is a build tool designed to replace GNU make for building Opera products on UNIX-like systems. Так что к Windows и Mac она, по-видимому, никак не относится.


            1. CaptainFlint
              13.01.2017 17:39

              А, понятно.
              А с темплейтами, похоже, может работать ещё и скрипт git_checkout_hook.sh.
              P.S. Кстати, он же и запускает vcxproj_update.py.


              1. staticlab
                13.01.2017 17:41

                Очевидно, при коммите он должен удалять файлы этих проектов, а затем их пересоздавать:


                if [ $run_update = 1 ] ; then
                    echo "Generating source files..."
                    python modules/hardcore/scripts/sourcessetup.py --ignore-missing-sources
                    echo "Regenerating project file..."
                    python platforms/windows/vcxproj_update.py
                fi


                1. CaptainFlint
                  13.01.2017 17:50

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


                  1. staticlab
                    13.01.2017 17:56

                    Да, прошу прощения, оговорился.


      1. RedCatX
        16.01.2017 02:57
        +20

        Скомпилировал под Windows. Пользовался Visual Studio 2010.

        Необходимо:
        CMake Tools for VisualStudio
        Python 2.x (я использовал 2.7)
        Strawberry Perl
        Pike
        vsyasm 1.2

        А также библиотеки:
        CURL 7.28
        OpenSSL 1.0.1c

        После установки Perl необходимо установить к нему библиотеку XML::Twig, что делается в командной строке:

        cpan XML::Twig

        После установки Pike добавить путь к его исполняемому файлу в переменную среды PATH. У меня это — C:\Program Files (x86)\Pike\bin

        vsyasm (версии 1.2!) устанавливается согласно инструкциям файла readme.

        Дальше необходимо распаковать CURL и OpenSSL в папку presto\browser\adjunct\autoupdate\autoupdate_checker\platforms\universal_adaptation_layer\network
        Папки с ними переименовать в «curl» и «openssl» соответственно. Да, кстати, по указанному пути уже будет находится папка openssl, но её нужно заменить, так как некоторые необходимые для компиляции файлы в ней почему-то отсутствуют…

        После, откройте файл проекта curl\lib\libcurl.vcproj в VisualStudio 2010 и согласитесь с преобразованием. Зайдите в свойства проекта, и в С/С++ > Code Generation > Runtime Library выберите Debug Multithreaded (/MTd) для конфигурации Debug и Multithreaded (/MT) для конфигурации Release. Если этого не сделать, то на стадии линковки появятся ошибки, связанные с конфликтами символов определённых в разных библиотеках. Теперь можно скомпилировать libcurl в конфигурации Release.

        Потом компилируем OpenSSL, для этого понадобится открыть командную строку Visual Studio (Microsoft Visual Studio 2010 > Visual Studio Tools). Переходим в каталог openssl:

        cd <путь>\presto\browser\adjunct\autoupdate\autoupdate_checker\platforms\universal_adaptation_layer\network\openssl

        И компилируем:

        perl Configure VC-WIN32 no-shared --prefix=../../../../Output/openssl -MT
        ms\do_ms
        nmake -f ms\ntdll.mak
        nmake -f ms\ntdll.mak install


        Потом копируем библиотеки libcurl.lib из curl\lib\Release, libeay32.lib и ssleay32.lib из presto\browser\adjunct\autoupdate\autoupdate_checker\Output\openssl\lib в autoupdate_checker\Output.

        Из командной строки запускаем скрипт, отвечающий за генерацию проектов:

        python <путь>\presto\browser\platforms\windows\vcxproj_update.py

        Открываем решение presto\browser\platforms\windows\Opera_vc2010.sln, все проекты в решении должны открыться нормально. Заходим в свойства проекта autoupdate_checker, и в разделе Linker > Input > Additional Dependencies добавляем библиотеку wldap32.lib во всех конфигурациях.

        Теперь осталось только скомпилировать старую-добрую Оперу :)

        По окончании компиляции, исполняемые файлы окажутся в каталоге presto\browser\Release (или Debug, в зависимости от выбранной конфигурации). Но осталось ещё пара мелких штрихов: необходимо скопировать дефолтный скин в папку skin, для этого нужно заархивировать содержимое presto\browser\adjunct\resources\skin\standard_skin в архив standard_skin.zip и скопировать его в указанную папку. Также Opera может злобно ругаться на отсутствие файла encoding.bin, однако, не найдя его в исходниках, я не придумал ничего лучше как просто скопировать его из уже установленной у меня Оперы 12.17…

        Также удивило то, что Debug-версия Opera при первом запуске выдаёт несколько Assertion Failed (prev_url==url_size), но это возможно как-то связано с созданием нового профиля. Release-версия работает абсолютно нормально.

        Таким образом, исходники старой Оперы теперь доступны. Но что с ними делать дальше — вот в чём вопрос…


        1. hottabxp
          16.01.2017 23:23
          +4

          Небольшое дополнение: что-бы standard_skin.zip автоматически собрался, нужно скачать 7zip архиватор и скопировать исполняемый файл «7z.exe» в папку, которая есть в PATH. Я создал папку C\bin, скопировал 7z.exe в эту папку, и добавил её в в PATH. Странно, но у меня encoding.bin создался сам при сборке. У меня windows 10 x64 и visual studio 2010.


          1. RedCatX
            17.01.2017 03:49

            Спасибо за дополнение! Действительно, с указанным в PATH путём к 7zip, дефолтный скин собирается автоматически. А что касается encoding.bin, то присмотревшись к логу сборки, я обнаружил там сообщение «Failed creating encoding.bin». Нужно разобраться…


            1. velezh
              17.01.2017 10:46

              У меня encoding.bin создался сам.То ли тут 7z помог, то-ли еще что.


        1. velezh
          17.01.2017 02:38
          +2

          Эта версия OpenSSL уязвима Heartbleed. Сборка с 1.0.1u проходит успешно, но и ее не рекомендуют к использованию


          1. velezh
            17.01.2017 13:04
            +3

            Сборка с OpenSSL-1.1.0c прошла успешно, только нужно установить NASM, добавить папку с ним в path, командную строку Visual Studio открывать с привилегиями админа, вместо libeay32.lib и ssleay32.lib копировать уже libcrypto.lib и libssl.lib и в autoupdate_checker в разделе Linker > Input > Additional Dependencies указать их имена.


  1. andreymal
    13.01.2017 15:31
    +7

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

    (Здесь нужен AppChecker PVS-Studio :)


    1. bodqhrohro
      13.01.2017 21:39

      Будет как с Wine/ReactOS. Некоторые разработчики поглядывают на слитые исходники Win2K, но переписывают.


      1. Jeditobe
        13.01.2017 22:51
        +6

        У нас никто не поглядывает.


        1. Antikiller
          13.01.2017 22:57
          +4

          А что плохого в подглядывании? Прямой копипаст — да, нельзя по законам юридическим и моральным, а посмотреть, как что-то сделано, не зазорно.


          1. Jeditobe
            13.01.2017 23:03
            +10

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


            Мы запрещаем разработчикам даже подглядывать в утекшие коды. Если достоверно известно, что разработчик смотрел в исходники, опубликованные нелегально, такой разработчик никогда не получит права коммитить код в транк проекта, а его патчи в саму ОС вряд ли будут приняты (но он все еще сможет написать наборы тестов).


            1. bodqhrohro
              14.01.2017 03:35
              +2

              А для Wine это гарантируется? Ведь наработки из него используются, например, в Arwinss.


            1. Dageron
              14.01.2017 10:34
              +2

              А если такого разработчика сразу не заметят? Ну не прямые же фрагменты кода же он будет коммитить, и не большими кусками сразу. И кто будет заниматься проверками «не-майкрософтности» кода, если сам в подобные источники никогда не заглядывал?


              1. Jeditobe
                14.01.2017 12:23

                Все очень просто, разработчик должен уметь объяснить происхождение каждого фрагмента своего кода, почему он написал так, а не иначе.


                Кроме того, разработчики проходят у нас проверку не менее года, прежде чем получить значительную степень доверия.


                И третье, любой код проходит ревью, во время которого так или иначе претерпевает изменения, так как у нас свои Бест Практикс, которые точно различаются с принятым в майкрософт.


                1. Dageron
                  14.01.2017 21:02

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

                  Любопытно, что похожая ситуация была в проекте Mono, где велик был соблазн залезть в утекшие исходники .NET Framework (позже, вроде, даже перевыложенные самими MS, что однако не сняло ограничения по официальному лицензированию, а этим Mono тоже были всегда озабочены).


                  1. Jeditobe
                    14.01.2017 22:27

                    Это ничего не подтверждает. Все попытки использовать утекшие коды у нас тщательно пресекаются. Мы с огнем не играем.


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


                    1. Dageron
                      14.01.2017 22:34

                      Т.е. с майкрософтскими исходниками все же сравнивают код определенные люди в команде?


                      1. unxed
                        15.01.2017 01:32

                        Насколько я понимаю, DMCA позволяет следующий протокол: один человек смотрит утекшие исходники (или, скажем, логи дизассемблера) и подробно документирует это дело, другой — по этим докам реимплементирует (или же проверяет свой код на похожесть). Это законно.


                    1. maniacscientist
                      17.01.2017 23:13

                      Придумали бы лучше процедуру невосстановимой переделки. А то наверняка бывают ситуации, когда написанный код такой же как оригинальный, потому что по другому нелогично


                      1. unxed
                        19.01.2017 13:16
                        -1

                        Поздравляю, вы только что переизобрели полиморфные вирусы!


                        1. maniacscientist
                          19.01.2017 14:12

                          Полиморфные вирусы научились работать с исходниками на высокоуровневых языках?


          1. Dageron
            14.01.2017 10:53
            +2

            > А что плохого в подглядывании? Прямой копипаст — да, нельзя по законам юридическим и моральным, а посмотреть, как что-то сделано, не зазорно.

            Я бы еще добавил: по законам юридическим какой юрисдикции. Ну глупо, скажем, в Иране сказать «по законам [Ирана] нельзя посмотреть утекший код и взять реализацию себе». И список стран, где такое явно неуместно, будет больше, где уместно.

            Другое дело, что крупные площадки (вроде Github) ассоциируют себя напрямую с США и ЕС, а иногда и полностью находятся находятся в юрисдикции этих стран, где миром «рулит» DMCA 1998 года.

            Выход: нужны другие площадки, иная кооперация и т.п.
            И не исключаю что все это существует уже, при чем далеко не обязательно лишь в даркнете.


  1. 13_beta2
    13.01.2017 15:36

    Ни git ни presto в 1995 не существовали, хотя тут вопрос оформления.

    Буду рад, если это настоящие исходники и думаю пока не слишком поздно сделать из них что-то интересное.


    1. mukizu
      13.01.2017 15:39
      +1

      Ну, комментарии в коде пока говорят об аутентичности. Дома надо будет пошерстить

      Да и вещи типа https://github.com/prestocore/browser/blob/master/data/translations/ru/search_eng.ini похожи на правду


      1. 13_beta2
        13.01.2017 15:43
        +1

        Согласен, при беглом просмотре очень похоже на правду.


    1. CaptainFlint
      13.01.2017 15:41
      +6

      Дату коммита в гите поменять — дело нескольких секунд. Не думаете же вы, что весь оригинальный репозиторий Оперы так и состоял из двух коммитов, первых из которых пустой, а второй — целиком вся Опера 12.15, написанная с нуля одним махом. :-)


      1. 13_beta2
        13.01.2017 15:46
        -1

        Не думаю. Как и сказано выше — дело оформления, но имитация коммита от 95 года немного настораживает. По остальным признакам скорее похоже на настоящие исходники. По крайней мере случайные файлы оказались реально кодом, а не мусором на сотни мегабайт.


        1. CaptainFlint
          13.01.2017 16:11
          +6

          имитация коммита от 95 года немного настораживает
          Думаю, это просто один из шагов по заметанию следов.


          1. CaptainFlint
            13.01.2017 16:15

            А вот, кстати, интересно, случайно ли был выбран именно год первого релиза Оперы. :-)


            1. staticlab
              13.01.2017 17:50

              И "22 июня, ровно в 4 часа". Хотя "днём рождения Opera" считается 30 августа.


              1. Ezhyg
                13.01.2017 17:59
                +1

                А дата и время вас больше ни на какие мысли не натолкнули?


                1. staticlab
                  13.01.2017 18:03

                  Нет, ну я понимаю, что 4:00 GMT+4 — это 0:00 UTC, просто подметил совпадение.


                1. nik_vr
                  13.01.2017 18:05
                  +1

                  Если эту дату и время выбрали неслучайно, то круг подозреваемых в сливе сужается до жителей эксСССР :)


                  1. CaptainFlint
                    13.01.2017 18:07

                    Мне кажется, ВОВ сюда приплетать уж точно чересчур, если вы про неё.


                    1. nik_vr
                      13.01.2017 18:18

                      Я просто развил мысль Ezhyg.


                      1. Ezhyg
                        13.01.2017 20:00

                        извините, не разобрался, подумал, что именно такая формулировка есть в текстах :(


              1. CaptainFlint
                13.01.2017 18:05
                +1

                30 августа — это дата основания компании. Первая версия браузера была представлена 10–14 апреля 1995 на конференции WWW. А первая публичная версия (2.0) вышла только в 1996 году. Так что откуда взялось 22 июня, я пока не понял. Разве что самый длинный день года, но при чём он тут… Но всё равно 1995 год явно знаковый.


    1. immaculate
      13.01.2017 17:31
      +2

      В 95-ом существовал CVS, ClearCase (правда, лучше бы не существовал), и куча других систем контроля версий. Обычно люди и компании стремятся сохранить историю версий и импортируют в новую систему всю историю изменений, а не просто самую последнюю версию исходников, и для этого есть масса инструментов.

      История вообще могла пройти несколько этапов, например, CVS -> Subversion -> Mercurial -> Git.

      Если я правильно понял причину недоумения.


      1. immaculate
        13.01.2017 18:45
        +1

        P.S. Извините, посмотрел на репозиторий, там нет никакой истории, только фейковые даты у каждого файла.


  1. bot1no4ek
    13.01.2017 15:50
    -2

    У меня одного антивирус ругается? Вот что Касперский Тотал Секьюрити говорит:

    Программа: WinRAR archiver;
    Файл: D:\browser-master\modules\minpng\tests\x_too-large.png;
    Время: 01/13/2017 15:41:35;
    Название объекта: Exploit.Win32.CVE-2013-2977.a


    1. Antikiller
      13.01.2017 15:55
      +15

      Он и должен ругаться, это некорректная png, которой самое место в тестах.


    1. iborzenkov
      13.01.2017 15:55
      +6

      PNG integer overflow (CVE-2013-2977)
      Логично блин :)


    1. esata
      13.01.2017 16:10

      Symantec Endpoint тоже ругается, но на всю папку с репозиторием.


  1. DAiMor
    13.01.2017 16:37
    +2

    Примечательно то что сам аккаунт и репозиторий были созданы почти год назад, еще 11 февраля 2016.
    в исходниках, встречаются копирайты и 2003 и 2011 года, с именами разработчиков.


  1. datacompboy
    13.01.2017 16:48
    +2

    feldgendler: https://github.com/prestocore/browser/blob/8c5977d18f4ed8aea10547829127d52bc612a725/adjunct/quick/documentation/quick.tjp#L12


    1. datacompboy
      13.01.2017 16:50
      +1

      https://github.com/prestocore/browser/blob/8c5977d18f4ed8aea10547829127d52bc612a725/modules/logdoc/module.tweaks

      Ы=ххъ ;D


  1. Fqyeh29
    13.01.2017 17:26
    +2

    Хм.
    Вопрос к знатокам: если это все же оригинальные исходники, то сможет ли Opera в суд на опенсорс проект основанный на этом двиге? Я просто туп в таких вопросах…

    Если действительно Presto, то это очень здорово. Может кто то сделает новый годный браузер)


    1. TheOleg
      13.01.2017 17:34
      +5

      DMCA и всё последующее.


      1. nik_vr
        13.01.2017 18:24

        Учитывая географию владельцев этих исходников, скорее EUCD.



      1. equeim
        14.01.2017 03:21

        На кого они будут подавать в суд, если разработчики анонимны, например? На гитхаб?


        1. TheOleg
          14.01.2017 03:25

          На тех кто размещает исходники/продукт. Разрабатывать сколько угодно можно.


    1. mukizu
      13.01.2017 18:07

      Подать в суд можно по воле левой пятки, практически. Вопрос скорее в том, каковы шансы этот суд выиграть.


    1. inkvizitor68sl
      13.01.2017 18:19
      +2

      > сможет ли Opera в суд на опенсорс проект
      Конечно, сможет.


    1. NeoCode
      13.01.2017 23:46
      +4

      Если разработчики будут полностью анонимны, а репозиторий где нибудь в Даркнете (торе или i2p) то пускай усудятся:)
      Я кстати давно жду такого явления как «темный open-source», которое объединяло бы открытую разработку и полное презрение к любому копирайту… А может такое уже где нибудь есть?


      1. Volcher
        14.01.2017 03:21
        +2

        Есть, как не быть: git.repo.i2p(.xyz)
        Оно, как и прочие темные интернеты, не слишком живое. Но вполне рабочее.


        1. TheOleg
          14.01.2017 04:28
          -1

          Только это не надо будет никому. (К сожалению многих, наверное)


        1. unxed
          16.01.2017 10:40

          У меня нет i2p, но их зеркало в .onion (git.psii2p655trtnvru.onion) — лежит.
          Ещё на просторах интернета встречается упоминание gitweb2zl5eh7tp3.onion, но он тоже лежит.
          ehww2ercchnq7633.onion? Лежит.

          А есть ещё варианты? Разумеется, из чисто академического интереса спрашиваю.


          1. unxed
            16.01.2017 10:43

            upd: http://git.repo.i2p.xyz/ работает :)


            1. LexS007
              16.01.2017 20:10
              +1

              вот бы на GitLab еще перешли)


              1. unxed
                16.01.2017 22:06

                Мне тоже кажется, что основная проблема там — отсутствие issue tracker'а.


                1. staticlab
                  16.01.2017 22:24
                  +1

                  В GitLab?


                  1. unxed
                    16.01.2017 22:24

                    В git.repo.i2p.


            1. orignal
              18.01.2017 17:16

              Через .i2p.xyz не все бывает доступно (например zzz.i2p.xyz или stats.i2p.xyz). Причина в том что весь трафик идет фактически через один узел, а также разнообразные куцхакеры.
              Потому, по возможности, рекомендуется ходить изнутри I2P, особенно на ресурсы с большим трафиком то git.


  1. nik_vr
    13.01.2017 18:13
    +3

    Кстати, интересный нюанс. Били ли при продаже компании китайцам в явном виде переданы права на Presto. Формально на тот момент он уже был похоронен. Или Presto вообще остался в Норвегии, как используемый в каких-то телевизорах (продали же десктопное подразделение, да?).


  1. iSage
    13.01.2017 18:28
    +24

    Там не только движок, там вся опера и м2. Под линуксом с помощью пары патчей и такой-то матери собирается. Версия 12.15
    Работает, даже видео на ютубе играет.


    1. Antikiller
      13.01.2017 19:10

      В т.ч. исходники интерфейсной части? А то в старом блоге Оперы рассказывали о том, что для тестов движка у них используется минимальная морда.
      Если выложено всё полностью, то это очень хорошо, для изучения в академических целях, конечно.


      1. nik_vr
        13.01.2017 19:18
        +1

        Судя по набору файлов, там даже инсталлятор есть.

        PS. Привет! :)


        1. Antikiller
          13.01.2017 19:28

          Привет =)
          Я на работе бегло посмотрел файлы, но C++ — не моя специализация. И, блин, вот сегодня первый раз, когда я об этом жалею.


      1. iSage
        13.01.2017 19:33
        +5

        Да. Весь интерфейс. Все системные скрипты, шейдеры для libvega и т.п.
        Все это дело жутко модульное. Каждый диалог, каждая фича — модулем.
        В целом от исходников довольно приятные впечатления и собирается все минут за 5 не выжирая оперативку, в отличии от другого известного движка.


        1. iSage
          13.01.2017 19:41
          +4

          Ну, не считая того, что местами пришлось патчить return FALSE на return nullptr в функциях, возвращающих указатели.


          1. Antikiller
            13.01.2017 19:43
            +1

            Собирали через flower или ещё как-то? Может инструкцию накидаете?


            1. iSage
              13.01.2017 19:50
              +7

              да, flower
              http://paste.fedoraproject.org/526781/32598714/ — патч на return'ы и на системный tinyxml
              ./flower -v --without-kde4
              (у меня пятые кеды и оно в итоге собирается наполовину с пятыми, наполовину с 4ми и падает)
              У меня на 64 битах не собирается автоматом 32битный плагин-враппер, потому что инклюдит 64-битный gdk. Приходилось брать команду из выхлопа, заменять путь к инклюдам и собирать вручную. Там три файла, для которых так надо сделать.
              flover можно запускать с -j 1 дабы было виднее, на чем он падает.


              1. Antikiller
                13.01.2017 19:52
                +1

                Мерси!


              1. iSage
                13.01.2017 20:16
                +6

                ах, да, там еще надо или отключить сборку апдейт-чекера или положить ему туда исходники curl


                1. resetnow
                  14.01.2017 14:07

                  Можно ссылку сделать в /usr/include/curl


                1. zviryatko
                  14.01.2017 15:46
                  +1

                  есть подозрение что поможет вот этот параметр --without-autoupdatechecker.

                  p.s. вот бы кто-то еще написал список зависимостей, а то приходится методом проб и ошибок ставить все по очереди.


              1. Yukarin
                15.01.2017 16:10
                +2

                Подтверждаю, собирается на генте с ~amd64 профилем. Версия браузера 12.15, версия престо 2.12.388.
                У меня кстати собралось с системной so-шкой tinyxml без всякиз патчей. А инклюды gtk получаются через pkg-config, который и отдаёт lib64 вместо lib32, оно в platforms/quix/module.build/plugins.conf.py.
                Ну и там по мелочам в некоторых perl-скриптах старый формат регекспов и переменных, но на сборку это не влияет.


                1. Yukarin
                  15.01.2017 17:58
                  +2

                  Ну и раз уж товарищ iSage начал фиксить варнинги, то и я немного отмечусь.
                  Микропатчик, фиксит похожую на FALSE->NULL проблему во встроенном hunspell — http://pastebin.com/2EUFEBYp


                1. Yukarin
                  17.01.2017 10:59

                  Ещё один микропатч — http://pastebin.com/UuaZSWZg
                  Фиксит релизную (--release) сборку на линуксе. Современные (gcc5+) компилеры выдают кривой код после оптимизации, что приводит к крашам на очень многих страницах с JS.


                  1. datacompboy
                    17.01.2017 12:43

                    ну это неправильный фикс. правильный фикс — поправить места падения.


                    1. Yukarin
                      17.01.2017 13:03
                      +1

                      Там ровно одно место, в котором используется ихний delete-враппер. Он вообще много где используется, но падает только там.


                      1. Yukarin
                        17.01.2017 16:06
                        +1

                        И падает именно на -O2-3, на -O0, который в дебажной конфигурации, такого добра нет.
                        Что опять же наводит на мысли о оптимизаторе. Поэтому и добавлен флаг, чтобы он ещё где подобного не учудил.
                        Собственно, была аналогичная проблема в gcc6 и хроме, он там тоже в -O3 собирается, и без этого же самого флага были очень похожие краши на некоторых JS.


                        1. datacompboy
                          17.01.2017 16:12

                          То есть на -O2 тоже падает?

                          А есть возможность с ASAN'ом собрать?

                          https://github.com/google/sanitizers/tree/master/address-sanitizer


    1. inferrna
      14.01.2017 03:22
      -1

      Вот, раз такой молодец, давай репозиторий с патчами и build.sh


      1. iSage
        14.01.2017 05:27
        +2

        Патч есть выше. Все, что нужно для сборки — голова и ./flower --help
        Распространять код я не собираюсь, его и так уже все, кому не лень отзеркалили.


        1. unxed
          14.01.2017 07:13

          > репозиторий с патчами

          Как я понимаю, речь идёт не о том, чтобы распространять утекший код, а о том, чтобы коллективно создавать и распространять его улучшения. Вот интересно, кстати, насколько легален подобный процесс?


          1. iSage
            14.01.2017 07:16
            +1

            Нет, судя по манере изложения там именно требование всего готовенького. Энивей, патч пока всего один.
            Процесс нелегален, поскольку патчи содержат куски исходного кода.


          1. Dageron
            14.01.2017 10:42

            Все зависит от страны. Главное, чтобы такой программист не нарушал открыто законы (а чаще всего просто практику их исполнения) той, гражданство которой имеет и в которой проживает. Никто не мешает ему представиться человеком с Кокосовых островов.


          1. dartraiden
            14.01.2017 17:49

            Смотря в каком виде.

            Если в виде диффов/патчей, то могут придраться к тому, что в них фигурирует код оригинала.

            Если в виде «в файл такой-то после строки номер X нужно добавить вот этот написанный мной с нуля код» — то придраться практически невозможно.


            1. sumanai
              14.01.2017 18:41

              Только такие патчи привязаны к оригинальному коду намертво, и применить два таких на один файл очень затруднительно, придётся каждый раз сверятся с оригинальными исходниками.
              Интересно, а к именам файлов не придерутся?


              1. Dageron
                14.01.2017 21:07
                +1

                Можно сделать таблицу с однозначным соответствием «оригинальный_файл = сгенерированный_хеш_код» ))


                1. sumanai
                  15.01.2017 01:59
                  +2

                  Тогда уж и строки хешировать, чтобы включить их в контекст diff вместо оригинальных, ну и сам софт для diff модифицировать соответствующим образом. Тогда удобство работы с такими патчами будет не сильно ниже, чем с обычными.


                  1. staticlab
                    16.01.2017 13:28
                    +1

                    Интересное концептуальное решение получается: система контроля версий, в которой вместо нулевой итерации будет magnet-хэш или torrent-файл, а в диффах вместо предыдущей версии строки указан её хэш. Правда в дифф-файлах следовало бы также предусмотреть возможность и других исправлений, таких как перемещение блока кода или замена части строки, чтобы максимально не засвечивать в коммитах оригинальный код.


  1. WaveCut
    13.01.2017 18:44
    +4

    Просто мечтаю чтобы кто нибудь собрал легаси оперу для маленьких АРМ девайсов на линуксе!


  1. nik_vr
    13.01.2017 19:07

    [del]


  1. Noizefan
    13.01.2017 20:51
    -6

    Ну не знаю. Как-то сразу после анонса, плюс на Гитхаб, смахивает на слив ради пиара. Да к тому же, судя по информации выше — не первый такой раз, а разве IT-гигант не научился бы на своих ошибках? И код неполный, как так сливать можно?
    Мой вердикт — пиар акция, да и только.


    1. nik_vr
      13.01.2017 20:53
      +7

      Код вполне себе полный. См. комментарии выше — вроде бы даже собрать уже удалось.


  1. Suvitruf
    13.01.2017 23:00
    +5

    Repository unavailable due to DMCA takedown.


    1. Jeditobe
      13.01.2017 23:07
      +5

      Теперь ждем на торентах


    1. Jogger
      13.01.2017 23:41
      +3

      Ну вот, а я был на работе и не успел скачать. Может кто-нибудь поделиться в личку?


    1. RedVelvet
      13.01.2017 23:49

      Быстро отреагировали.


      1. unxed
        13.01.2017 23:52
        +3

        Зато теперь в аутентичности утекших исходников можно не сомневаться.


        1. andreymal
          14.01.2017 00:01

          Лично я бы посомневался в том, что анонимус не добавил какой-нибудь бэкдор, троян или что-то типа того забавы ради


        1. RedVelvet
          14.01.2017 00:02
          +1

          Мне больше интересно кто и зачем слил — да еще на гитхаб где такие вещи банятся на раз два.


          1. Mingun
            14.01.2017 10:47
            +2

            Перед тем, как они банятся, их успевает увидеть куча народу и сохранить себе. Так что смысл именно в GitHub'е есть.


    1. sukhyi
      14.01.2017 03:23

      у кого копия осталась? не успел :(


    1. nik_vr
      14.01.2017 08:43
      +4

      «То, что попало в интернет, останется там навсегда.»


      1. unxed
        14.01.2017 08:49
        +1

        Ага, в торрент и magnet-ссылку — в блокчейн BTC, комментарием к транзакции.
        (картинка-с-троллейбусом-из-буханки-хлеба)


      1. Falcon_peregrinus
        14.01.2017 09:19
        +5

        Ах, если бы… Это только с тем, что всем интересно. А вот мало кому нужный контент (в моём случае — музыка) запросто может пропасть навсегда :-(


    1. alexantr
      15.01.2017 16:12

      Вчера клонировал репозиторий:
      https://mega.nz/#!Lo0l1aZA!hFtA8QDtkgwYFm15slZbZWkGprhwI6R8xkl3G9ulzDI
      Вариант без папки .git (на 100 МБ меньше):
      https://mega.nz/#!GhVTVaRC!fhaeAwWmOfpMbMznjziDmAouuQnPFdifK_xEllImBKk


  1. NeoCode
    14.01.2017 00:01
    +1

    Господа успевшие скачать, ждем раздачу на торрентах:) Или может уже где-то есть?



    1. dartraiden
      14.01.2017 02:02
      +1

      Не ручаюсь за достоверность, но пишут, что по хэшу совпадает с тем, что было на гитхабе…
      ссылки в этом треде


      1. Jogger
        14.01.2017 02:12
        +3

        Файл такой же как по ссылке выше на реддите, так что похоже он действительно оригинальный.


      1. unxed
        14.01.2017 02:12
        +2

        Чтоб было спокойнее за то, «откуда дровишки»: https://www.opennet.ru/openforum/vsluhforumID3/110169.html#11

        Вот тут ещё зеркало репозитория.


        1. 9uvwyuwo6pqt
          14.01.2017 03:11

          Я тоже скачал, как только увидел новость тут. https://u.nya.is/qjbxnn.zip



    1. Zero3K
      14.01.2017 03:23

      Его можно скачать, перейдя в https://mega.nz/#!kkYw0RiY!QdpCDvdtMcfzOHNNXZ52sBjZLDMFI68c2BPAihS0TRQ.



  1. semio
    14.01.2017 03:23
    -4

    Гитхаб лег под хабраэффктом?
    При попытке склонировать — выдает 504. При попытке скачать zip — 500.


    1. semio
      16.01.2017 10:13
      +6

      Комментарий долго ожидал модерации, в момент опубликования уже устарел и, в итоге, набрал минусов.
      Эта система комментариев для незахабренных пользователей немного кривовата…


      1. sumanai
        16.01.2017 15:38
        +2

        Я тоже в своё время мечтал о возможности снять комментарий с модерации.


  1. as_lan
    14.01.2017 03:23
    +1

    Вот и прикрыли лавочку.

    Repository unavailable due to DMCA takedown.


  1. dark_snow
    14.01.2017 03:24
    +1

    Присоединяюсь к остальным — поздно новость в вк увидел, может кто поделиться?


    1. 9uvwyuwo6pqt
      14.01.2017 03:26

      1. dark_snow
        14.01.2017 04:24
        +1

        уже увидел — модерацию долго коммент проходил: я коммент в 12 вечера отправлял


    1. nik_vr
      14.01.2017 08:59
      +1

      На Меге есть копия исходников:

      https://mega.nz/#!1h5BkKrA!CR9T-oxvFK-lU0jJYU3dvxuXQlvug_ayTqO7-uFaNv8


    1. Lux_In_Tenebris
      14.01.2017 17:12
      +2

      Репозиторий https://bitbucket.org/prestocore-fan/presto
      Архив на разных файлообменниках http://pastebin.com/3bAvtQmm


    1. openGSM
      19.01.2017 20:07

      На Web.archive пока цело


  1. unxed
    14.01.2017 06:41
    +1

    Между прочим, из попыток пересоздания «старой оперы» Vivaldi и Otter тут уже все видели, а Fifth, кажется, ещё нет.


    1. CaptainFlint
      14.01.2017 12:36

      Fifth is a Linux-exclusive browser…


    1. yefrem
      14.01.2017 20:03
      +1

      Как он вообще? пользовались?


  1. unwrecker
    14.01.2017 13:45
    +4

    «Opera — браузер, который мало где доминировал»
    Если верить Statcounter, Opera — самый популярный брузер в России (и некоторых странах бывшего СССР) в 2009 году. Так что доминировал, и вполне себе не мало.


    1. sumanai
      14.01.2017 14:56
      +3

      Россия- это как раз и есть «мало где» в масштабах интернета.


      1. TheOleg
        14.01.2017 15:25
        +1

        Да, глобально это было 2%.


        1. Dageron
          14.01.2017 21:08
          +1

          Поэтому боль от радикальных изменений в Опере и смены движка только в русскоязычном сообществе и была в основном замечена.


  1. FlameArt
    15.01.2017 16:12
    +4

    Интересно, что слив по времени совпал с релизом Opera Neon


    1. dimm_ddr
      16.01.2017 11:40
      +3

      Кого-то просто достало происходящее в опере.


  1. iSage
    15.01.2017 21:12
    +10

    В общем, я собрал это дело для raspberry pi
    Зависимости: libfontconfig1-dev libtinyxml-dev libxrender-dev libgstreamer-plugins-base0.10-dev libgtk2.0-dev libcups2-dev libfreetype6-dev libsqlite3-dev libxml-twig-perl zip

    Патчи:
    Build patch (был выше): https://paste.fedoraproject.org/527758/03599148
    Arm patch: https://paste.fedoraproject.org/527759/45036061

    ./flower -v -j 1 --without-kde4 --without-gtk3 --without-plugins --without-dual-plugin-wrapper --no-debug-symbols --optimize --without-autoupdatechecker --no-package-devel --release --package=tar

    Если собирать на железке, то нужен свап на пару гигов и много терпения, ибо собирается больше суток
    КПДВ: http://is2.4chan.org/g/1484503794169.png


    1. datacompboy
      15.01.2017 22:19
      +3

      Мсье знает толк!


      1. iSage
        15.01.2017 22:46
        +4

        Атож!
        Малоизвестная, кстати (видимо потому, что закрытая) фича оперы: яваскриптовый движок можно расширять бинарными плагинами. Например дергать gpio из js.


        1. openGSM
          19.01.2017 20:11

          Это возможно на raspberry или на андройде из оперы мобайл то же?


          1. iSage
            19.01.2017 20:24

            Исходников оперы-мобайл нету, поэтому без понятия.
            Судя по дефайнам они включены для профилей smartphone и tv, а на десктопе какраз выключены.
            Собственно, никто не мешает собрать примеры из modules/jsplugins и попробовать.


  1. hottabxp
    16.01.2017 03:12
    +5

    Собрал под windows. Запускается, работает и даже html5 видео на youtube играет. Могу статью по сборке накидать, если надо.


    1. ggrnd0
      19.01.2017 22:46

      давай


      1. sens_boston
        19.01.2017 23:28

        Выше уже опубликована достаточно подробная инструкция по сборке под Windows.


  1. unxed
    16.01.2017 05:18
    +6

    С opennet'а:

    зато я понял, наконец, что за «непреодолимое препятствие» было у presto, почему он «устарел» и всё такое. про то, что «с кодовой базой presto сложно поддерживать новые стандарты» — это полная чушь, само собой. а вот то, что престо принципиально сдизайнен как однопоточный двигатель — это факт, который неоднократно упоминается в разной документации. редизайн на много потоков/процессов невозможен, только перепись.


    1. valbok
      16.01.2017 13:44

      Webkit тоже не особо просто переходит на новые парадигмы, и webkit2 потребовал много нового кода и для множественных процессов и платформенности и многопоточности и пр. Но возможно не так болезненно как было бы с presto, но есть ли смысл?


      1. t0pep0
        16.01.2017 13:52
        +3

        ИМХО — смысла нет, возможно, конечно, если Presto переписать на потоки\процессы\рутины, то он и бы и стал работать на 10-30% быстрее, но, это бы не сыграло роли, он и так довольно шустрый. Короче — фап^W хайп на многопоточность сделал своё чёрное дело =(. Остается только надеяться, что Opera Software официально откроет сорцы, а то сейчас они вроде как и есть, а сделать с ними ничего нельзя.
        UPD:
        Или давайте распространять апдейты патчами, ночью, в поле


    1. RedCatX
      16.01.2017 21:05
      +2

      А по-моему этот движок вполне возможно сделать многопоточным, было бы желание…


    1. iSage
      16.01.2017 21:14
      +4

      Он и не нужен. Да, интерфейс однопоточен. Но тот же js — нет. Там вполне себе отдельные потоки. Плагины тоже отдельными потоками. Видео/Аудио — тоже.


    1. zhengxi
      17.01.2017 15:27
      +3

      Однопоточность ядра — это фича, а не проблема.
      Она позволяла зарабатывать делая кастомные браузеры для телевизоров и автомагнитол (эти браузеры часто даже не содержали слово «opera», можно было догадаться только по «presto» в User-Agent).
      На таких железках не всегда доступны треды и другие модные штучки, вроде gcc новее 3-й версии.


      1. alexeikh
        17.01.2017 20:27
        +4

        Однопоточность сначала была фичей, а потом стала проблемой. :)

        Насчёт кастомных браузеров и вообще кроссплатформенности — так и есть. Я на эту тему доклад делал.

        Статья на тему доклада: https://lvee.org/ru/abstracts/155
        Слайды: https://lvee.org/uploads/image_upload/file/385/Alexei_Khlebnikov.Crossplatform.2015-06-07.pdf

        В этих материалах есть и общая информация об архитектуре (код ядра vs код платформы). Не очень много, всё-таки NDA.

        И, «чтоб 2 раза не вставать», хочу порекомендовать отличную конференцию — LVEE.org, на которой я и делал тот доклад.


        1. iSage
          17.01.2017 21:01
          +1

          Расскажите лучше, за что вы так надругались над OpenSSL? (часть с malloc'aми и прочим я понимаю)
          Обертка над оберткой и оберткой погоняет.


          1. Magister7
            17.01.2017 21:05

            Предполагаю, чтобы иметь возможность собрать с чем-то другим. Но я не работал в Опере, просто догадка.


          1. alexeikh
            17.01.2017 22:06
            +1

            Потому что надо было собирать для платформ, которые не поддерживают глобальные переменные.


            1. alexeikh
              17.01.2017 22:10
              +4

              Да и тут вопрос, кто над кем надругался. :) Так-то очень мучительно было эти обёртки делать.


              1. iSage
                18.01.2017 00:51
                +1

                Охотно верю. Попытки прикрутить ECC тоже весьма мучительны (и пока безуспешны)


  1. Zero3K
    16.01.2017 08:56

    Может кто-то пожалуйста, порт его ангстрем Linux?


  1. unrealee
    16.01.2017 14:17
    +1

    Интересно, под WinRT собрать можно? А то первый сурфейс без нормального браузера прохлаждается.


    1. sens_boston
      18.01.2017 19:10

      Под WinRT нужно очень много переделывать, не стоит шкурка выделки.


      P.S. А первому сурфейсу место давно в мусорке, если на ebay не смогли пристроить — наверное, самая "тормознутая" (особенно, после принудительного апдейта на 8.1) из "таблеток", что я когда-либо держал в руках.


      1. unrealee
        18.01.2017 21:08

        Ну насчет мусорки можно поспорить. Вещь очень качественно изготовленная, с шикарным чехлом-клавой, нормальным аккумом. Видео крутит, 13 офис летает. Не хватает только нормального браузера.


        1. sens_boston
          18.01.2017 23:13
          +1

          Был когда-то (довольно давно) доступен хак, позволяющий запускать "обычные" (в смысле, Win32) приложения, собранные под arm (в текстовом конфигурационном шаблоне проекта делалось одно небольшое изменение), на Windows RT. Посмотрите в одном из подфорумов вот тут.


          1. unrealee
            19.01.2017 08:14
            +1

            Спасибо, поковыряю на досуге.


  1. iSage
    16.01.2017 15:29
    +3

    Яваскрипт-движок можно собрать отдельно:
    $ ./jsshell -e 'print("hello")'
    Opera JavaScript shell (, built Пн янв 16 15:23:18 MSK 2017)
    Setting address space limit to 512 MB

    hello
    --------------------------------------------------------------------------------
    Compilation time: 0.073975 ms
    Execution time: 0.047852 ms
    Major collection : 0.4ms (850.5%)
    Tracing : 0.4ms (741.8%)
    Sweeping : 0.1ms (106.6%)
    Number : 1
    Minor collection : 0.0ms (0.0%)
    Tracing : 0.0ms (0.0%)
    Sweeping : 0.0ms (0.0%)
    Number : 0
    Total in collection : 0.4ms (850.5%)
    Total bytes allocated : 87992
    Peak bytes allocated : 133032
    Total external bytes : 0
    Instructions executed : 5
    done!


    1. Eklykti
      16.01.2017 15:31
      +5

      JSS Hell


    1. VovanZ
      20.01.2017 08:05

      Ждём порт nodejs на presto :D


      1. MikailBag
        22.01.2017 22:21

        зачем?


        1. sumanai
          23.01.2017 19:43
          +1

          Потому что можем ))


  1. t0pep0
    16.01.2017 17:17
    +4

    Если кто захочет поковырять, присоединяйтесь (Tg)


    1. openGSM
      19.01.2017 12:13
      +2

      Разработка в Телеграмм?
      Будущее уже тут…


      1. Chamie
        19.01.2017 16:56

        Разработка в i2p. Кибер/шифропанк уже здесь.


  1. iSage
    17.01.2017 16:52
    +4

    Патч на поддержку VP9: https://paste.fedoraproject.org/528850/14846609
    Сперва нужно обновить встроенную libvpx до 1.3.0

    Патч только линуксовый, сорри.


  1. orignal
    18.01.2017 15:31
    +2

    Копирастозащищенная раздача через I2P

    magnet:?xt=urn:btih:664901345132aa13322bf4eb5a03192dc4a16b40&tr=http://5m3pd32zx43xk3uz6hvrdksj6tlg7abnjsc3j5kkd2yzctet4nmq.b32.i2p/announce

    Трекер: ptt.i2p


    1. openGSM
      19.01.2017 20:03

      Четыре пира… Не вижу хваленого Хабраэффекта!


  1. nikolaynnov
    19.01.2017 01:00
    +2

    Жалко нет никакого опраса. Интересно сколько ещё людей ей пользуются. У меня коллеги постепенно сдаются, уже всего 2 осталось кроме меня, кто на 12й версии сидит. Да и я уже дома на Я.Браузер перешёл.


  1. PrestoXen
    19.01.2017 12:13
    +5

    Hello Russia! On 4chan we saw this leak too, and it got us very excited :) Thank you very much for it!

    There's already been lots of progress, people have ported it to FreeBSD, Raspberry PI, Visual Studio 2015…

    You can see some of our work here: https://github.com/PrestoXen/openopera-patches

    I wish I spoke Russian because I'm sure you guys are doing great stuff too, I hope we can work together somehow. We have an IRC channel described in that github link, and we usually have threads on 4chan /g/ board, one is up now, feel free to visit! https://boards.4chan.org/g/thread/58544865

    Google translate / Гугл переводчик:
    Привет Россия! На 4chan мы увидели эту утечку слишком, и он получил нас очень возбужденными :) Большое спасибо за это!

    Там уже было много прогресса, люди перенесли его на FreeBSD, Raspberry Pi, Visual Studio 2015…

    Вы можете увидеть некоторые из наших работ здесь: https://github.com/PrestoXen/openopera-patches

    Если бы я говорил по-русски, потому что я уверен, что вы, ребята, делаете большие вещи тоже, я надеюсь, что мы можем работать вместе как-то. У нас есть IRC-канал, описанный в этой ссылке GitHub, и мы, как правило, имеют резьбу на 4chan /g/ плате, один сейчас, не стесняйтесь посетить! https://boards.4chan.org/g/thread/58544865


    1. iSage
      19.01.2017 12:36
      +1

      Sup, Xen.
      A couple of us are actually posting on 4ch too ;)


  1. zanac
    19.01.2017 16:18
    +1

    Поиск в эклипсе показал, что есть какая то поддержка симбиана :-)


    1. unxed
      19.01.2017 16:21

      А сейчас вообще хоть где-то ещё, кроме утекших исходников Opera, есть хоть какая-то поддержка симбиана?


      1. zanac
        19.01.2017 17:51

        gcc включая 6.4.0, scummvm


  1. Zero3K
    20.01.2017 05:50
    +1

    New Thread on 4chan: http://boards.4chan.org/g/thread/58567400

    Btw, I still would like to have it ported to Angstrom Linux so I can run it on my Pandora.