ooni / probe

OONI Probe network measurement tool for detecting internet censorship
https://ooni.org/install
BSD 3-Clause "New" or "Revised" License
754 stars 142 forks source link

Investigate https://github.com/xelaj/mtproto #1577

Open bassosimone opened 3 years ago

bassosimone commented 3 years ago

The objective of this chunk of work is to figure out if we could use the aforementioned lib to enhance our Telegram measurement capabilities and go beyond the current model where we basically only check for the reachability of endpoints.

It would be cool to be able to improve upon that and say stuff like "yeah, we can reach the endpoints (as in we can create a TCP connection to them) but we are not able to communicate".

quenbyako commented 3 years ago

Hey @bassosimone!

Don't know why you wanna use our package, but you can write me in telegram anytime, if you need any help!

bassosimone commented 3 years ago

@quenbyako hello! So I have not looked into it yet, but it's definitely in the TODO list and seems potentially super important for us, so I am very grateful that you reached out! I'll definitely get in contact, cheers!

quenbyako commented 3 years ago

@bassosimone does the status of this issue is still in todo? 😏

bassosimone commented 3 years ago

Yes, definitely!

So, I did not manage so far to look into the library myself and figure out whether it could be useful for our goal (I have just read the README.md and I am not super familiar with how Telegram work). Also, I can't help noticing I never managed to write down a reasonable explanation for the issue (sorry).

Since you were so kind to contact us twice, I think I'd go ahead and try to explain our problem and why we were curious to figure out whether xelaj/mtproto could be useful to solve it.

At @ooni we make mobile, desktop, and CLI apps for measuring internet censorship. We have a bunch of nettests, focusing on measuring whether there's censorship of websites, IM tools, and circumvention tools.

As far as telegram is concerned, we have a telegram nettest that tries to determine whether telegram is blocked by contacting IP addresses found in the Telegram app and by contacting the web interface.

When I read about xelaj/mtproto (I think over Twitter?) I thought it could be interesting to look into it and see whether it could be useful to expand our Telegram measurement capabilities.

Do you perhaps have any interesting idea of how we could leverage xelaj/mtproto to this end?

Thank you so much!