LINUX.ORG.RU

Zhabogram 0.1 — Транспорт из Telegram в Jabber

 , ,


7

3

Zhabogram — транспорт (мост, шлюз) из сети Jabber (XMPP) в сеть Telegram, написанный на Ruby, преемник tg4xmpp.
Данный релиз посвящается команде Telegram, которая решила, что третьи лица имеют право затрагивать историю переписки, находящуюся на моих устройствах.

  • Зависимости:

    • Ruby >= 1.9
    • ruby-sqlite3 >= 1.3
    • xmpp4r == 0.5.6
    • tdlib-ruby == 2.0 и скомпилированная tdlib == 1.3
  • Возможности:

    • Авторизация в Telegram
    • Синхронизация списка чатов с ростером
    • Отправка и приём сообщений, в т.ч. в группах и супергруппах
    • Сохранение сессий, автоматическое восстановление и завершение сессии Telegram при входе и выходе из Jabber
    • Приём и сохранение файлов (поддерживаются документы, фото, аудио и стикеры)

Фичреквесты и баг-репорты принимаются.

>>> Mercurial-репозиторий

Ответ на: комментарий от Neko_Kun

Да при чем тут дизайн? У ТГ есть апи, есть возможность отправлять сообщения вообще тупо curl'ом. Самый удобный способ для сообщений от мониторинга, например.

Nill ()
Ответ на: комментарий от xaizek

А не только лишь участники переписки? Просто это не третьи лица.

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

Croco ★★ ()
Ответ на: комментарий от anonymous

По мнение ВС РФ, например, для записи разговора достаточно того, что одна сторона(то есть записывающий) знает об этом.

Вот именно. Второго участника разговора никто не спрашивает и не должен спрашивать, ибо это моё дело, что мне делать со звуком, издаваемым мембраной МОЕГО телефона. Хочу — пишу, не хочу — не пишу. Не нравится — не разговаривай. А хозяева «телеги» решили, что, видите ли, участник коммуникации имеет право (!) удалить (!) запись разговора с устройства, принадлежащего другому участнику.

На кол за такое как минимум. Впрочем, я изначально не вполне понимал, как можно пользоваться телеграмом.

Croco ★★ ()

Вообще штука-то хорошая, нужная, вот только не буду я ради этого на сервере собирать ни экосистему для Ruby, ни mercurial. Жизнь коротка.

Croco ★★ ()
Ответ на: комментарий от odin_ago

Наверно если пораскинуть мозгом, твой бэкап = пару .json файлов не являются доказательством ибо, могут быть тобой же подправлены? А переписка с аккаунта является доказательством ?

shpinog ()
Ответ на: комментарий от Croco

имеет право (!) удалить (!) запись разговора с устройства, принадлежащего другому участнику.

1 - Он не удаляет на прямую, пока ты не законектишься к серверу ничего не удалится. 2 - И это прекрасно, разговор это сумма сообщений двух людей и более, если все участники имеют равные права на это «общее» - это справедливо. 3 - Устройство твоё, но не всё на нём «твоё». Пока вроде никто не приходит и телефон не забирает, а следую такой логике то и git не Го*но, и модерация Го*но, и отсутствие модерации тоже Го*но.

Всегда удивляюсь, у вас вроде хорошие книги, топите за свободу.

издаваемым мембраной МОЕГО телефона

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

shpinog ()
Ответ на: комментарий от shpinog

издаваемым мембраной МОЕГО телефона

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

Совсем дурак штоле? Настолько копирасты уже мозги запудрили?

anonymous ()
Ответ на: комментарий от Croco

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

xaizek ★★★★★ ()
Ответ на: комментарий от anonymous8

А, тогда это уже хуже. Я собственно об этом моменте и спрашивал, хотя они всё равно не «третья сторона» в моём понимании термина. Мне тоже не нравится, когда я не могу найти свои сообщения на лоре из-за того, что тему/ветку снесли (доступ мне к моим же сообщениям не должен быть ограничен).

xaizek ★★★★★ ()
Ответ на: комментарий от Nill

Маня, API ботов есть у многих мессенджеров, и везде он простой, как валенок, что можно хоть курлой отправлять. К полноценному Client API он отношения не имеет; документацию по Client API давным-давно забросили, оно живёт за счёт того, что из официального клиента выдирают схему функций; если это закручивание гаек продолжится и ещё и официальные клиенты позакрывают — станет вообще печально. И даже сейчас в Client API зубодробительное байтодрочерство с велосипедной криптографией, его так просто на коленке не реализуешь. С точки зрения производительности и безопасности это, допустим, хорошо — макакичи, которые без REST и JSON шагу ступить не могут, должны страдать — но тем не менее, показательно. У Viber, например, тоже кастомный обфусцированный протокол с кучей магических констант, вот только ни документации, ни открытых реализаций нету, как результат — сторонних реализаций 0.

anonymous ()
Ответ на: комментарий от Croco

Вредоносность — вещь субъективная. Банальный netcat по мнению всяких там ФСБ тоже вредоносен: ведь им можно просто взять и переслать с компьютера на компьютер сообщения, да без идентификации, да без привязки к телефону, да как так-то? а вдруг там террористы? надо срочно этот ваш KISS запретить, разрешить устанавливать соединения только через сертифицированную библиотеку на полгигабайта, прибитую гвоздями к Национальной ОС(tm) — ну чтоб как в банковской сфере всё было, а то ишь распоясались.

anonymous ()
Ответ на: комментарий от anonymous

Совсем дурак штоле? Настолько копирасты уже мозги запудрили?

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

shpinog ()
Ответ на: комментарий от Croco

не буду я ради этого на сервере собирать ни экосистему для Ruby, ни mercurial. Жизнь коротка.

То есть поставить Ruby & Mercurial для тебе нетривиальная задача? Как с таким уровнем некомпетентности ты на ЛОР-то умудряешься заходить?

zabbal ()

тем временем, тихо и незаметно v0.3

 	
Release v0.3

[UPD] more correct way to handle user/chat/auth updates
[UPD] removed successful login message, using presence instead
[NEW] config option `content_upload_prefix` that says which url prefixes will be treated as media and uploaded as file to telegram
[NEW] processing self outgoing messages that sent via another telegram instance
[NEW] added gif animations, locations, video, chat events support
[NEW] control commands implemented:
	/s/old/new (edit), /d (delete), /info @username, /add @username or uid, /join invite.link or id, /invite @username, /kick @username, /ban @username [hours], /block, /unblock, /leave, /delete



почти весь функционал из tg4xmpp реализован в жабограме, кроме vcard'ов.

annerleen ★★ ()
Ответ на: комментарий от shpinog

И это прекрасно, разговор это сумма сообщений двух людей и более, если все участники имеют равные права на это «общее» - это справедливо

какой же это разговор, если каждый будет говорить за другого?

Пока вроде никто не приходит и телефон не забирает

телефон не забирают, а данные удаляют.

и модерация Го*но

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

anonymous ()

тем временем, v0.4

- завезли поддержку VCards
- избавились от тредов, теперь не должно иногда сегфолтится
- выключили использование локальной БД в tdlib, теперь кушоем меньше памяти а так же корректно (насовсем), удаляем чаты

стоит забабахать новую новость, или нет?

annerleen ★★ ()
Последнее исправление: annerleen (всего исправлений: 1)
Ответ на: комментарий от zabbal

То есть поставить Ruby & Mercurial

На моих серверах Openwall, пакетов с этим всем для него нет и не будет. А собирать всё это хозяйство из исходников — задача не так чтобы сложная, просто трудоёмкая. Жизнь, в тысячый раз повторяю, слишком коротка, чтобы её на такое тратить.

Croco ★★ ()
Ответ на: комментарий от xaizek

Удаляют не авторы телеграма (они предоставляют строго определённую возможность), а непосредственные участники переписки,

Неважно. Есть понятие «интересов третьих лиц», и при этом вряд ли найдётся хоть один юрист, который заявит, что любые (пусть даже законные, хотя в данном случае они не законны ни разу) интересы третьих лиц должны автоматически удовлетворяться.

Даже если я вот лично у вас сопру, скажем, э... подзорную трубу, во (это чтобы совсем абстрагироваться от конкретики телеграма) и отнесу её к себе домой, она, труба эта, моей не станет, останется вашей. Но при этом вы не сможете просто взломать дверь моей квартиры и забрать свою подзорную трубу — точнее, если вы это сделаете, то сядете за кражу со взломом, несмотря на то, что труба ваша. И если, скажем, вы обратитесь к тем, кто умеет вскрывать запертые двери — ну, там, всякие службы спасения etc — то они по вашей заявке ломать мою дверь не будут. И это как раз будет ситуация с заявленными интересами третьих лиц, причём третьим лицом будете вы: первые два — я и тот, кого просят ломать дверь моей квартиры, а он отказывается, все остальные — третьи. Несмотря на то, что ваши интересы (забрать свою собственную трубу) тут совершенно законны.

я не могу назвать третьими лицами, ведь они же авторы сообщений.

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

Croco ★★ ()
Ответ на: комментарий от Croco

а кто-то их стирает — то первые два лица здесь я и тот, кто стирает (в рассматриваемом случае — телеграм)

Так я телеграм за лицо не считаю, это же не субъект, а лишь программа. И здесь не авторы удаляют, они лишь предоставляют средства удаления. Или получается, что при rm file тоже участвуют два лица (я и rm)? Я понимаю, что авторы могут нести отвественность, но разве это делает их лицами? При убийстве ножом, его производители же не идут в суд.

xaizek ★★★★★ ()
Ответ на: комментарий от xaizek

Так я телеграм за лицо не считаю, это же не субъект, а лишь программа

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

Или получается, что при rm file тоже участвуют два лица (я и rm)

rm не предоставляет никуда никакого доступа, особенно туда, куда доступа быть не должно

авторы могут нести отвественность, но разве это делает их лицами?

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

При убийстве ножом, его производители же не идут в суд.

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

Croco ★★ ()

апдейты

Release v0.8

[ADD] added /setname, /setusername, /setbio, /setpassword commands (see /help)


Release 0.7
[FIX] now trying to revive stream if any exception occured
[FIX] fixed >quotes without messages ID
[UPD] using unicode symbols to compact msg prefix
[UPD] logging slightly modified
[UPD] added garbage collection after each incoming message


Release 0.6.1
[FIX] fixed messages echo when xmpp session goes offline
[UPD] do not sync all telegram statuses immediately because it leads to stream error
[UPD] now using messages and files database again to reduce thousands of requests


Release 0.6
[NEW] broadcasting vcard photo update
[NEW] new commands: /secret, /group, /supergroup, /channel, /search, /history (send /help to any contact)
[UPD] improved formatting

annerleen ★★ ()

Призываю всех бойкотировать программу Telegram.

Абсолютно честно сообшаю, что лично я не запустил ни одного официального либо неофициального клиента Telegram с момента, как в интернет полилась массированная реклама проекта — с 2014 г, 8 лет без Телеграма.
Более того, ни одно устройство которым я владею не было осквернено хранением хотя бы секунду на диске бинарников либо частей исходного кода этого проекта.
Ты тоже сможешь продержаться!

А чтобы напомнить, зачем же это делать (за 8 лет ни один пункт указанный ниже не был устранён):
Телеграмм — проприетарная система, полностью централизованная и закрытая извне. Телеграмм использует несколько нечестных и сомнительных приемов, чтобы заставить вас поверить, что это не так:

Прием 1: Псевдо-открытость.
Заявления, что Телеграм «open source» являются глубоко ошибочными. Единственное, что открыто в Телеграм — часть API и официальный клиент. Это отвратительное заигрывание с миром Open Source, открывая незначимый кусок закрытой системы, однако некоторые попались в эту ловушку.

Its client-side code is open-source software but contains binary blobs, and the source code for recent versions is not always immediately published

Прием 2: Псевдо-безопасность.
PR матералы мессенддера активно напирают на его якобы «безопасность». На самом деле, просто посмотрите на эти факты. Телеграм:

- Создан бывшим владельцем крупнейшей в стрнах СНГ социальной сети — суть проекта по добровольно-принудительному отъему и продаже рекламодателям персональных данных, старающемуся также подменить собой все остальные ресурсы Интернета для пользователя.
- Требует ваш личный телефонный номер только для того, чтобы создать аккаунт. Это требование избыточно и не может быть оправдано ничем.
- Парсит вашу телефонную книгу.
- Использует собственный криптовелосипед «mtproto», разработку брата Павла Дурова, вместо проверенной временем криптографии. Критоаналитики ещё только начали тыкать палочкой сей алгоритм, и даже предварительные результаты не такие утешительные. Я бы не стал доверять свои сообщения этому.
- Вводит внутри себя модерацию (цензуру), осуществляемую сотрудниками компании-разработчика. В прессе широко освещены случаи блокировки чатов внутри системы в рамках «борьбы за всё хорошее». Не имеет значения, кем используется IM — обычным человеком или штатным воином Самопровозглашенного Государства Розовых Пончиков, он должен защищать всех. От одного прецедента недалеко и до ввода других списков запрещенных к обсyждению тем.
- Раскрывает ваш IP-адрес (как Skype) https://habrahabr.ru/post/325752/ и телефонный номер любому контакту (notabug с т.з. владельцев сервиса)
(продолж)

anonymous ()

(продолж)
Прием 3: Классический для модели работы любых закрытых сервисов. В это входит как распространение массивным PR, так и то, что за выделенный вам Хозяином набор удобств вы платите тем, что стaновитесь безликим очередным клиентом сервиса, объектом датамайнинга и связывающего действия ToS, но никак не равноправным участником сети.

Вывод. Программа Телеграм абсолютно непригoдна для использования сознательным пользователем, следующим идеалам свободы и открытого ПО. Используя Телеграм вы косвенно обесцениваете труд разработчиков свободных, открытых и по-настоящему безопасных, не подчиняющихся отдельному центру систем обмена сообщениями — такими какими они и должны быть.

Да, несколько лет назад корпорации и стартапы жадно ворвались на рынок IM. Но это не повод участвовать в их грязной борьбе на жалких правах «consumer»-a, который ест что дают.

Что более всего беспокоит в сложившейся ситуации, так что вроде бы технически продвинутая аудитория оказалась успешно «окучена» — многие айтишники, программисты, предпочли купить удобство у корпораций, закрывая на все неприятное глаза («ну и что, купишь ещё одну симку или даже телефон, твои проблемы», «зато у нас в телеграме все работает искаропки»). Вот и новости об этом враждебном миру OSS куску кода плотно оккупировали даже не слишком массовые ресурсы.

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

В качестве альтернативы программе Telegram присмотритесь к следyющим проектам: Tox, Bitmessage, Jabber, IRC (последние два требуют от вас обеспечения шифрования отдельно, но полностью децентрализованы), Ring, Matrix.

anonymous ()
Ответ на: комментарий от annerleen

Во-вотрых, экономику какбэ разумнее оценивать по показателям ППС на душу населения.

в соц. странах может быть

Толку от твоих больших циферок и 12 места (или какого там), если больше половины населения за чертой бедности?

от твоего «на душу населения» им тоже как-то не особо теплее.

anonymous ()
Ответ на: комментарий от Nill

Я в Европе живу, ватник.

В Швейцарии всего около 5% населения живет в собственном жилье, между 8% и 10% владельцев недвижимости в Нидерландах, Исландии, Швеции и Дании. Меньше всего европейцев живет в апартаментах в Норвегии – около 5%, Великобритании, Бельгии и Голландии – около 10%.

Большинство российских семей имеет в собственности жилье, а треть – даже не одно.

В Бомжопе ты живёшь.

anonymous ()

Дебилы, ля. ©

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

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

anonymous ()