На чем написан telegram desktop
Перейти к содержимому

На чем написан telegram desktop

  • автор:

Telegram настольный (tdesktop) метод компиляции

Telegram широко используется в зарубежных странах как программное обеспечение для мгновенного чата с открытым исходным кодом.
Рабочий стол написан на языке C ++, а интерфейс разработан с использованием фреймворка Qt.
Будучи очень зрелым настольным клиентом, детская обувь, которая должна быть клиентом C ++, также хочет прочитать свой исходный код.
В конце концов, быть великим богом — значит подражать и изучать дела великого бога.
Telegram
Скриншот рабочего стола Telegram
Тем не менее, компиляция проектов с открытым исходным кодом иногда бывает не столь гладкой, на ее завершение уходит 2 дня.

1. Сначала пойдем на gayhub, нет, найдем склад tdesktop на github.

Склад Telegram Desktop на Github выглядит следующим образом:
https://github.com/telegramdesktop/tdesktop
Перейдите к концу, есть руководство по составлению.
telegram
Здесь мы обсуждаем только компиляцию Visual Studio 2017 под Windows. Потому что у меня нет Mac.
На самом деле, это руководство уже объяснило большинство шагов, но есть некоторые странные места и меры предосторожности, которые могут не упоминаться. В следующем процессе мы напомним всем обратить внимание.

2. Подготовьтесь к созданию папки проекта, скачайте и установите инструмент сборки.

1. Прежде всего, вам нужно выбрать подходящее место в качестве каталога сборки Telegram, например TBuild под диском D. Путь сборки: D: \ TBuild, я просто говорю, например, что вам действительно не нужно точно следовать этому пути. Давайте назовем этот путь BuildPath. Следующий BuildPath ссылается на D: \ TBuild. Затем в этом каталоге создайте две папки ThirdParty и Libraries.
Папка ThirdParty будет содержать некоторые инструменты для сборки.
Папка «Библиотеки» будет содержать сторонние библиотеки, используемые проектом telegram.

2.0 Загрузите и установите различные инструменты сборки в ThirdParty

2.1.Perl

Download ActivePerl installer from https://www.activestate.com/activeperl/downloads and install to BuildPath\ThirdParty\Perl
Перейдите сюда, чтобы загрузить Perl и установить в BuildPath \ ThirdParty \ Perl.

2.2.NASM

Download NASM installer from http://www.nasm.us and install to BuildPath\ThirdParty\NASM
Перейдите сюда, чтобы загрузить NASM и установить его в BuildPath \ ThirdParty \ NASM.

2.3.Yasm

Download Yasm executable from http://yasm.tortall.net/Download.html, rename to yasm.exe and put to BuildPath\ThirdParty\yasm
Перейдите сюда, чтобы загрузить Yasm, не устанавливая его, просто разархивируйте его в каталог BuildPath \ ThirdParty \ yasm Наконец, не забудьте переименовать исполняемый файл в yasm.exe.

2.3.MSYS2

Download MSYS2 installer from http://www.msys2.org/ and install to BuildPath\ThirdParty\msys64
Перейдите сюда, чтобы загрузить MSYS2 и установить его в BuildPath \ ThirdParty \ msys64. В этом руководстве следует надеяться, что мы загрузим 64-битную версию.

2.4.Jom

Download jom archive from http://download.qt.io/official_releases/jom/jom.zip and unpack to BuildPath\ThirdParty\jom
Перейдите сюда, чтобы загрузить Jom и разархивировать его в BuildPath \ ThirdParty \ jom.

2.5.Python2.7

Download Python 2.7 installer from https://www.python.org/downloads/ and install to BuildPath\ThirdParty\Python27
Перейдите сюда для загрузки Python2.7 и установки в BuildPath \ ThirdParty \ Python27 при установкеНе забудьте проверить Добавить в PATH.

2.6.CMAKE

Download CMake installer from https://cmake.org/download/ and install to BuildPath\ThirdParty\cmake
Перейдите сюда, чтобы загрузить CMAKE и установить в BuildPath \ ThirdParty \ cmake.

2.8.Ninja

Download Ninja executable from https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip and unpack to BuildPath\ThirdParty\Ninja
Перейдите сюда, чтобы загрузить Ninja и разархивировать его в BuildPath \ ThirdParty \ Ninja.

3. Загрузите исходный код и подготовьте сторонние библиотеки

3.0 Откройте локальную командную строку Visual Studio 2017 x86.

All commands (if not stated otherwise) will be launched from x86 Native Tools Command Prompt for VS 2017.bat (should be in Start Menu > Visual Studio 2017 menu folder). Pay attention not to use any other Command Prompt.

В руководстве говорится, что вы должны использовать 2017 год, поэтому давайте сначала используем 2017. Я не знаю, будут ли работать другие версии.
Откройте локальную командную строку Visual Studio 2017 x86 и измените каталог на BuildPath.

3.1.Clone GYP

Здесь нам также нужен инструмент для сборки, GYP. Выполнить в командной строке.

Если вы обнаружите, что Gip не может клонировать все время, вы можете выйти в Интернет с научной точки зрения. Тем не менее, к хранилищам на следующем github можно получить обычный доступ, самое большее, немного медленный.

3.2 Установите для каталогов GYP и Ninja значение PATH

Add GYP and Ninja to your PATH: Open Control Panel -> System ->
Advanced system settings Press Environment Variables… Select Path
Press Edit Add BuildPath\ThirdParty\gyp value Add
BuildPath\ThirdParty\Ninja value

Откройте расширенные настройки системы. Добавьте BuildPath \ ThirdParty \ gyp и BuildPath \ ThirdParty \ Ninja в PATH. После завершения вам может потребоваться выйти из системы или перезагрузить компьютер.
Попробуйте выполнить в командной строке

Посмотрите, вступит ли путь в силу. Эти два инструмента сборки следует использовать при компиляции проекта в Visual Studio 2017, чтобы они были добавлены в системный PATH.
Если вы перезапустили компьютер, не забудьте снова открыть локальную командную строку Visual Studio 2017 x86 и изменить каталог на BuildPath.

3.3 Добавьте каталог инструмента сборки в PATH.

Выполните следующие инструкции, чтобы добавить другие инструменты сборки в PATH.

3.4 Исходный код клона Telegram

Выполните следующие инструкции, чтобы клонировать исходный код телеграммы.

В это время, если вы обнаружите, что скорость сети низкая, не загружайте исходный код непосредственно на github, а затем распакуйте его. Потому что это рекурсивный клон. —recursive В дополнение к telegram, он будет клонировать некоторые склады, кроме telegram.

3.5.Клон много сторонних библиотек

Перейдите в каталог Libraries. Ниже находятся Clone и скомпилированные сторонние библиотеки. Просто выполните их по порядку. Если у вас возникнут проблемы во время процесса компиляции, перейдите к следующему разделу, чтобы увидеть решения. Обратите внимание на следующие окончательные результаты при компиляции: не сообщайте об ошибке и продолжайте выполнять шаги, которые могут оказаться неудачными в конце.

3.6 Решения для ошибок, сообщенных во время компиляции

1. Если при выполнении msbuild возникают проблемы, связанные с версией SDK, перейдите в этот каталог и откройте sln с помощью Visual Studio 2017 (решение Visual Studio). Сбросить целевой SDK проекта. Выберите установленный SDK в раскрывающемся списке и нажмите кнопку «ОК», лучше всего использовать его для всех библиотек.


 SDK

2. Об ошибке сообщается, когда CMAKE OpenAL-Soft.

В нем должно быть указано, сколько строк есть что-то, что не может быть идентифицировано.
Строка 942, которую я здесь предложил, -D_WIN32_WINNT = 0x0502.
Удалите это из файла openal-soft / CMakeLists.txt и повторите CMAKE еще раз.

3. При компиляции Qt и выполнении configure, если вы встретите следующую подсказку.

Это действительно очень странный вопрос, и позже я нашел ответ на вопрос телеграммы.
https://github.com/telegramdesktop/tdesktop/issues/3702

QtBootstrapd.lib (qbytearray.obj): ошибка LNK2019: неразрешенный внешний символ _z_compress2, который находится в функции «class QByteArray __cdecl qCompress (неподписанный символ const *, int, int)» (? QCompress @@ ya? AVQByteAr @ PBEHH @ Z)
QtBootstrapd.lib (qbytearray.obj): ошибка LNK2019: неразрешенный внешний символ _z_uncompress, который находится в функции "class QByteArray __cdecl qUncompress (unsigned char const *, int)" (? qUncompress @@ ya? AVQByteArray @@ pbeh @ Z)
…… \ bin \ moc.exe: фатальная ошибка LNK1120: 2 неразрешенные внешние команды.

Пожалуйста, следуйте инструкциям ниже.
1. Откройте файл BuildPath \ Libraries \ qt5_6_2 \ qtbase \ tools \ configure \ environment.cpp.
2. Найдите функцию QString Environment :: msvcVersion ().
3. Замените QString version = execute (команда, & returnValue); на
QString version = “Microsoft (R) C/C++ Optimizing Compiler Version 19.12.25835 for x86”;
4. Переконфигурируйте.

3.7. Создать решение Visual Studio

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

После выполнения вы должны увидеть файл sln в BuildPath \ tdesktop \ Telegram \ Telegram.sln, ах, наконец-то появился! ! ! Целую жизнь! ! !

4. Откройте решение для компиляции Telegram

1. Откройте BuildPath \ tdesktop \ Telegram \ Telegram.sln с помощью Visual Studio 2017.
2. Выберите проект телеграммы, щелкните правой кнопкой мыши и выполните сборку.
 Telegram
Этот процесс довольно долгий.

5. Готово

Я наконец-то увидел давно потерянную Telegram. Обратите внимание, что для входа в Telegram вы также должны быть в сети.
 Telegram

Разработчик Telegram Desktop рассказал, что мессенджер Mail.ru Group взял его код без указания авторства

Разработчик Telegram Desktop обнаружил, что клиент im-desktop от Mail.ru, (по всей видимости, это десктоп клиент myteam) скопировал вообще без изменений старый самописный движок анимации из Telegram Desktop (по мнению самого автора, не лучшего качества). Внимание на это обратил OpenNET.

При этом мало того, что изначально никак не был упомянут Telegram Desktop, но и лицензия кода была изменена, соответственно, с GPLv3 на Apache, что недопустимо по требованиям GPLv3.

Прикольно. Mail.ru-шный im-desktop (кажется это десктоп клиент https://biz.mail.ru/myteam/ но я не уверен) скопипастил вообще без изменений мой старый самописный движок анимаций (довольно паршивый), и никак вообще не упомянули �� воруют-с!

Что-то они там дописывали. Но изначальн.

Прикольно. Mail.ru-шный im-desktop (кажется это десктоп клиент https://biz.mail.ru/myteam/ но я не уверен) скопипастил вообще без изменений мой старый самописный движок анимаций (довольно паршивый), и никак вообще не упомянули �� воруют-с!

Что-то они там дописывали. Но изначально просто под копирку, минимальные изменения:

telegramdesktop/tdesktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

This is the complete source code and the build instructions for the official Telegram messenger desktop client, based on the Telegram API and the MTProto secure protocol.

Preview of Telegram Desktop

The source code is published under GPLv3 with OpenSSL exception, the license is available here.

Повздорил с властями и создал «самый приватный мессенджер». Как Дуров придумал Telegram

История Telegram сопряжена с чередой скандалов на уровне правительств ведущих государств, обвинениями со стороны политиков разного калибра в адрес разработчиков мессенджера в пособничестве террористам, а также миллиардными инвестициями, ушедшими непонятно куда. Но это не помешало Павлу Дурову заполучить внушительные 500 млн пользователей сервиса. Рассказываем, как Telegram превратился в одно из самых важных приложений на устройствах людей по всему миру и какую цену за это пришлось заплатить его создателям.

Захотел отправить приватное сообщение, когда пришли силовики

Легенда гласит: своим появлением Telegram обязан пристальному интересу российских силовиков лично к Павлу Дурову. В 2011 году в России состоялись выборы в Госдуму. В то время главной русскоязычной соцсетью уже была «ВКонтакте». Оппозиционеры вели переговоры в том числе и там — по версии властей, заодно призывая пользователей соцсети к несанкционированным митингам.

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

Именно в этот момент предприниматель, если верить растиражированной в СМИ версии, задумался: как хорошо было бы отправить информацию о происходящем брату-программисту Николаю (он заведовал всей технической частью «ВКонтакте», а позже и Telegram), причем сделать это так, чтобы сообщение никто не перехватил. В то время возможностей шифрования во «ВКонтакте», как и в подавляющем большинстве остальных соцсетей и мессенджеров, еще не существовало.

В конце концов конфликт между представителями госорганов и Дуровым в тот раз удалось замять. А идею создания приложения, переписки в котором останутся приватными, в долгий ящик не забросили.

Когда запустился мессенджер и кто его разрабатывал

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

Официальная версия становления мессенджера от самого Дурова, ставшая известной благодаря «слитой» стенограмме его 16-часового допроса комиссией по ценным бумагам и биржам США в Дубае (ОАЭ), гласит: «Telegram создан группой инженеров и менеджеров, которые все еще работают в Telegram. Команда начала работать над проектом в начале 2012 года и публично запустила его в августе 2013-го». Об этом говорится и в разделе FAQ на сайте мессенджера.

В интервью GQ бывший директор особых направлений Telegram Антон Розенберг добавил несколько любопытных фактов (официально не подтвержденных). За несколько месяцев до начала активной разработки Telegram у Дурова случился разлад с двумя другими основателями «ВКонтакте». Они, по версии Розенберга, задумали продать свои акции, а Павлу это не понравилось — он даже удалил их страницы из соцсети. Таким образом, у Дурова осталось только 12% акций «ВКонтакте» — до контрольного пакета далековато.

А новый приватный мессенджер, разработанный по протоколу шифрования MTProto братом Павла Николаем, мог стать спасительной ниточкой, к которой другие официальные лица «ВКонтакте» имели бы лишь опосредованное отношение. Далее Розенберг подтверждает, что непосредственная разработка мессенджера стартовала в 2012 году, и добавляет: «Дуров велел разработчикам из „ВКонтакте“ сделать новый мессенджер быстрее и удобнее, чем WhatsApp». То есть он заявляет, что разработкой Telegram занимались именно люди из «ВКонтакте».

В будущем это якобы стало краеугольным камнем множества претензий к Павлу со стороны уже новых совладельцев «ВКонтакте». Они не понимали, с какой стати созданное в стенах офиса компании в Санкт-Петербурге ПО должно принадлежать исключительно Дуровым. История усложняется наличием нескольких юридических лиц, зарегистрированных в разных государствах, и путаницей в наименованиях мессенджера (Telegraph, Telegram). Хотя сам Дуров все отрицал.

Отъезд из России и $400 млн от продажи «ВКонтакте»

В конце концов в 2014 году ситуация разрешилась почти полюбовно. Дуров ушел из «ВКонтакте», продав оставшуюся часть своей доли (предположительная сумма сделки составляет $400 млн), контроль над Telegram полностью перешел к Павлу и Николаю. Вскоре Павел покинул Россию и получил гражданства других стран — основной разработкой Telegram занимались уже вне России. Правда, костяк разработчиков — во всяком случае на первых этапах существования продукта — был из Санкт-Петербурга.

Точная причина отъезда Дурова не называется. Сам он заявлял о «несовместимости ведения интернет-бизнеса в России». Но некоторые связывают эмиграцию предпринимателя с интересом силовиков после того, как Павел в прямом смысле наехал на сотрудника ДПС на своем Mercedes в Санкт-Петербурге. Впрочем, и это дело закрыли, переквалифицировав в административное.

«WhatsApp — отстой», или мировая экспансия Telegram

Но грустить по родине у Дурова было особо некогда. Практически все время он вместе с братом и небольшой командой уделял развитию своего детища — Telegram. В 2013-м появился клиент мессенджера для платформы iOS, немного позже — для Android. К концу года Павел отчитался о первом миллионе пользователей.

Дальше — больше. В 2014 году запустили спецверсию программы для планшетов, позже разработали систему с псевдонимами (которые с @ вначале), в 2015-м ввели стикеры. Важно, что все это работало кросс-платформенно. То есть, переходя с одного устройства на другое, пользователь не терял истории переписок (в отличие от конкурентов). В 2016-м, всего через два с половиной года после запуска, база активных пользователей Telegram насчитывала уже 100 млн человек — небывало быстрый рост.

Но так было не всегда. К моменту запуска в 2013—2014 годах основной конкурент Telegram — мессенджер WhatsApp — уже стал достаточно популярным. У Viber в активе были десятки миллионов пользователей. Впрочем, к WhatsApp у Дурова сразу же сложилось неприязненное отношение. Например, на конференции TechCrunch Disrupt в 2015 году предприниматель произнес ставшую знаменитой фразу «WhatsApp sucks» («WhatsApp — отстой»). В сети даже ходила такая картинка со сравнением возможностей мессенджеров:

При этом Дурову с командой было жизненно необходимо найти фишку для продвижения Telegram. И ее нашли — причем от первоначальной идеи, появившейся вскоре после приезда силовиков в апартаменты предпринимателя в 2011-м, она мало чем отличалась. Основой маркетинговой кампании Telegram решили сделать защищенность пользовательских данных.

Насколько в реальности защищена переписка в «облачных», а не «секретных» чатах (последние находятся на устройствах пользователей, а не в сети, то есть не синхронизируются), эксперты спорят до сих пор. Но факт остается фактом: стратегия Дурова сработала — сегодня мессенджер многими воспринимается как одно из самых надежных решений для приватного обмена сообщениями. А в 2015 году Дуров даже публично заявил: «Наше право на приватность переписки важнее страха перед терроризмом».

Попытки блокировок Telegram «из соображений государственной безопасности»

Но с подобным подходом согласились правительства не всех государств. Например, в Иране мессенджер официально заблокирован по решению суда, притом что только в 2018 году им на территории страны пользовались как минимум 40 млн человек. Официальные власти Ирана объясняют блокировку «соображениями государственной безопасности и борьбы с терроризмом». Впрочем, назвать такую блокировку особо успешной получается с натяжкой: мессенджер как работал, так и продолжает работать — хоть и с ограничениями, которые местные пользователи успешно обходят.

Похожая история случилась и в России. Там в 2018 году мессенджер пытались заблокировать силами Роскомнадзора, когда Дуров отказался выдать ключи шифрования по запросу правительства после теракта в петербургском метрополитене. Позже Дуров заявил о невозможности исполнения так называемого «закона Яровой».

Правда, с блокировкой не задалось. Параллельно с ней Роскомнадзор «поломал» половину других интернет-ресурсов. Например, наблюдались сбои в работе системы регистрации билетов на авиарейсы, системы продажи электронных полисов, сайта МГУ и других университетов, научных архивов. И это не говоря про сервисы от Google, Yahoo, Twitter, Facebook, Sony и компаний поменьше. Сам же мессенджер продолжал работать: юзеры удачно обходили запреты десятками доступных способов.

Ситуация с мнимой блокировкой продолжалась несколько лет и иногда доходила до абсурда. Например, государственные службы и предприятия России продолжали активно создавать в Telegram официальные группы и каналы, а пресс-секретарь президента Владимира Путина Дмитрий Песков даже заявлял, что в Кремле также пользуются мессенджером. Официально блокировку Telegram в России сняли лишь в 2020 году по до сих пор непонятной причине. При этом Дуров продолжает утверждать, что за все время существования проекта властям он передал «ровно 0 КБ информации».

Финальной точкой стали претензии со стороны США, когда команда Telegram решила запустить блокчейн-платформу TON с криптовалютой Gram. По замыслу разработчиков, Gram должен был стать криптоаналогом Visa и Mastercard. Но в мае 2020 года команда Telegram выступила с заявлением о прекращении работы над проектом TON и криптовалютой Gram. В своем блоге Дуров обвинил в закрытии проекта американский суд, попутно предложив инвесторам два варианта возврата вложенных ими средств: 72% в 2020 году и 110% в 2021-м. Между тем денег на старт проекта к тому моменту собрали прилично — говорят о сумме в $1,7 млрд. Правда, какую часть инвесторы получили обратно, пока до конца не понятно.

Вместо резюме

Из уже упоминавшейся стенограммы допроса Дурова комиссией по ценным бумагам и биржам США стало известно: в основном составе Telegram работает совсем немного человек. По пояснениям Павла, в 2017 году в Telegram Group числилось от 25 до 30 человек, и «сейчас эти цифры не сильно изменились». Официально команда располагается в Дубае, хотя и привлекает «сотни независимых подрядчиков».

До 2020 года Telegram, если верить показаниям Дурова, финансировался исключительно из денег, полученных при продаже доли «ВКонтакте» — в год уходило порядка $13 млн. Но начиная с этого года компания решила выходить на самоокупаемость. В мессенджере планируют создать собственную рекламную платформу для каналов, «обеспечивающую пользователям комфорт и конфиденциальность», что позволит покрыть убытки и увеличить пользовательскую базу.

Также в январе создатели мессенджера сообщили: количество его ежемесячных активных пользователей составляет порядка 500 млн человек, приложение скачали миллиард раз. Если верить ресурсу statista.com, то по количеству юзеров Telegram занял 4-е место в мире. Для сравнения: у ненавистного Дуровым WhatsApp — около 2 млрд пользователей.

Впрочем, Telegram сегодня вряд ли можно назвать простым мессенджером: он предусматривает возможность вести аудио- и видеоконференции, записывать эти стримы, вести информационные каналы с практически неограниченным числом подписчиков (и комментариями к статьям). Все это дает общую оценку стоимости проекта в $30 млрд, а по самым оптимистичным прикидкам — до $124 млрд.

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

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