
Savely
26.05.2018
20:51:26
Не подумал в общем, да

Viktor
26.05.2018
20:51:30
Было бы круто, если бы peer-to-peer устанавливался и при заблокированном релее

S
26.05.2018
20:51:39

Viktor
26.05.2018
20:51:44

Google

S
26.05.2018
20:51:47
не круто, когда человек жмет "отключить p2p", а p2p все равно устанавливается
и человек сливает свой IP, не ожидая того

Viktor
26.05.2018
20:51:56
Когда включён p2p, но забанены релеи, звонок не пройдёт
Потому что перед установкой p2p соединения несколько пакетов идут через релей

Savely
26.05.2018
20:53:03

S
26.05.2018
20:53:15

Viktor
26.05.2018
20:53:28

S
26.05.2018
20:53:39
да, это обычные мтпрото-пакеты, в них вся мета
а потом сразу п2п либо релей для голоса уже
гляньте доки:3

Savely
26.05.2018
20:53:54
Я просто что-то тупанул, тестил звонки со включенным VPN. Уже забыл про него

S
26.05.2018
20:53:58
ссылочку постараюсь найти. заодно перепроверю себя

Google

Viktor
26.05.2018
20:54:03
Не следил за обновлениями, но раньше точно было так
Гришка ещё вроде расписывал, что это нужно в том числе для штук вроде hole punching и для более надёжного определения адреса внешнего

Savely
26.05.2018
20:57:53
Я так понимаю обращение к релею это как раз аналог STUN

S
26.05.2018
20:58:45

Vitaly
26.05.2018
20:59:19
Скорость

Viktor
26.05.2018
20:59:42
Не могу найти уже, а сам не настолько хорош в сетях, так что не отвечу

S
26.05.2018
21:00:06
https://core.telegram.org/api/end-to-end/voice-calls

Savely
26.05.2018
21:01:26
Судя по TDLib там можно установить этот P2P канал, но нужна tgvoip
И там использовались именно методы MTProto

Viktor
26.05.2018
21:08:47

S
26.05.2018
21:09:09
пожалуста можно конкретнее

Viktor
26.05.2018
21:11:08
Ну, так как это было приведено как аргумент к тому, что релеи при p2p неё нужны, вот единственное место, где это упоминается:
Besides that, the parties have to negotiate the protocols to be used, learn the IP addresses of each other or of the Telegram relay servers to be used (so-called reflectors),

Savely
26.05.2018
21:14:25
P2P же вообще не всегда технически возможен
Это я так, к слову

S
26.05.2018
21:16:39
если невозможен, то фоллбек до relay


Viktor
26.05.2018
21:25:49
Беглый просмотр исходников libtgvoip показывает, что:
- endpoint’ы от mtproto сервера скармливаются libtgvoip вместе с allowP2p
- Если allowP2p == true, то вызывается SendPublicEndpointsRequest, который в итоге отправляет на UDP релеи пакет с 0xFF x 16 (и peer tag). Если udp relay не доступен или его вообще нет, то все умирает на этом этапе.
После отправки пакета waitingForRelayPeerInfo устанавливается в true
- со временем приходит очередной пакет от relay сервера с tlid TLID_UDP_REFLECTOR_PEER_INFO. Если waitingForRelayPeerInfo установлен в true, то пакет обрабатывается: из него извлекаются ip/port текущего клиента и собеседника. ip/port собеседника добавляются в список доступных endpoint’ов как p2p. Если адреса клиента и собеседника одинаковые, то происходит попытка установить соединение по локалке
- (по локалке) В очередь ставится пакет с типом PKT_LAN_ENDPOINT с локальным адресом и портом
- (по локалке) когда такой пакет приходит, данные из него добавляются в endpoint’ы


@LyoSU
26.05.2018
21:26:24


Viktor
26.05.2018
21:27:02
Каждый раз, когда они добавляются, новый ставится как приоритетный и происходит их перепроверка и пересортировка
а чем mtproto-сервера не хватает для решения этой задачи?
Вообще, как я это понимаю: Отправляется udp пакет на релеи, все nat’ы на пути выбирают свободные порты и создаётся цепочка пересылки. Приложение на конце никак не может узнать какие там в итоге получились адрес и порт, его может узнать только релей и отправить обратно.

Google

Viktor
26.05.2018
21:37:17
В простейшем случае нужен хотя бы эхо-сервер на UDP, чтобы каждый клиент пробил канал и узнал адрес/порт, а потом уже по mtproto они бы этой информацией обменялись
Ну и вики подтверждает https://en.m.wikipedia.org/wiki/UDP_hole_punching
Можно, конечно, пробовать через третье лицо, которое тоже будет клиентом
Но вряд ли юзеры оценят, да и проблема курицы и яйца получается — как первый клиент должен узнать свои адрес и порт?


Savely
26.05.2018
23:21:09

Андрей
26.05.2018
23:54:13
Подтвердите, инфу если это правда.
Суть следующая, есть заказчик который хочет свою веб-версию Telegram(зачем хз, говорит для себя). И тут мне написал что якобы телеграмм под всё это раздаёт Free хостинг. Раньше о таком даже не слышал, и что то мало верится в такое.

Vitaly
26.05.2018
23:55:44
телеграм еще за ботапи не рассчитался ))))

Андрей
27.05.2018
00:01:36
Вот мне тоже не верится, написал что это скорее компания или человек который не имеет отношения к telegram. И в ответ получил кучу негатива в мою сторону. Обещает скинуть доказательства что бы доказать мою некомпетентность. Вот решил уточнить здесь, и заказчик вроде адекват, не первый раз работаю с ним.

S
27.05.2018
00:04:10

Андрей
27.05.2018
00:16:20
Вот вспомнил(видел инфу раньше, но не обратил особого внимания).
В Telegram появилась возможность добавлять прокси-серверы, работающие по протоколу MTProto, которые могут показывать спонсорские каналы в списки чатов пользователей.
Может отсюда "ветер дует". Короче ок, обещал утром скинуть доказательства и доступы.

Who
27.05.2018
00:21:12
посоны, а телеграм не понимает, когда в ссылке я указываю номер телефона?
ну т.е a href="tel:+765485452"

S
27.05.2018
00:31:18

Who
27.05.2018
00:36:55

S
27.05.2018
00:37:34

Who
27.05.2018
00:38:31
ясно...

Denis
27.05.2018
00:45:12

Google

Who
27.05.2018
02:48:22

Mike
27.05.2018
02:50:26
Подскажите что почитать для начала про ботов, если можно python
Спасибо

Admin
ERROR: S client not available

Олексій
27.05.2018
03:04:50
Был faq в прикреплённых, но куда-то делся

Support
27.05.2018
03:18:47
Народ есть одна проблема
Пытаюсь вывести текст если результат верный, но node js глючит смотрите на скрине
В чем может быть проблема?
100 больше 6 он даёт false

Alexander
27.05.2018
03:30:18
100 больше 6 он даёт false
это основы программирования. Какие типы данных ты используешь?
Приведу пример на плюсах:
"100" > "6" false
100 > 6 true

Alex,
27.05.2018
03:57:28
Страдать ?

Marlik
27.05.2018
05:00:07
Люди, а то что пользователь отправляет боту почистить можно?

@LyoSU
27.05.2018
05:52:17

Marlik
27.05.2018
05:57:59
Ммм, спасибо, кривовато конечно сделано.

Александр
27.05.2018
06:04:33
bot.kick_chat_member(group_id, id, until_date=5)
это навсегда бан?

Support
27.05.2018
06:04:51

Мотя
27.05.2018
06:12:52
ребзя, на счёт telegraf'a
работает нормально, потом резко зависает и не отвисает обратно
в консоль ничего не выводится, при перезапуске начинает работать на секунды 2, дальше опять молчит
спасает обнуление запросов через вебхук на null.now.sh
проблема возникает с одинаковой переодичностью
в чём может быть проблема, ребзя?

¯\_(ツ)_/¯
27.05.2018
06:18:21

Viktor
27.05.2018
06:38:10

Google

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
27.05.2018
06:38:57

Александр
27.05.2018
06:39:09
Thx

Мотя
27.05.2018
06:39:23

Vitaly
27.05.2018
07:13:10

Мотя
27.05.2018
07:15:15

Костя
27.05.2018
07:17:46

Александр
27.05.2018
07:37:08
Народ! Есть небольшой вопрос про instant view. Сейчас, скорей всего из-за блокировок, перестают работать шаблоны сайтов, которые хостятся в России. Кто-нибудь пробовал решать эту проблему?

Savely
27.05.2018
07:37:39
Best script yet for MTProto Proxy server side written in NodeJS
https://github.com/FreedomPrevails/JSMTProxy
It can handle more than 30000people at once
Орнул немного
С хайперформанс на яваскприте
@dotcypress

Александр
27.05.2018
07:41:01