-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Telegram content proxy #102
Labels
Comments
Some implementation notes.
We may choose to use nanoid for that purpose. Also, for data storage, I'd like to try EFCore.FSharp. I'm already evaluating it in a separate branch. |
ForNeVeR
added a commit
that referenced
this issue
Sep 30, 2021
ForNeVeR
added a commit
that referenced
this issue
Oct 2, 2021
Microsoft.Extensions.Configuration.Abstractions package is referenced by the platform anyway.
ForNeVeR
added a commit
that referenced
this issue
Oct 2, 2021
ForNeVeR
added a commit
that referenced
this issue
Oct 2, 2021
ForNeVeR
added a commit
that referenced
this issue
Oct 3, 2021
ForNeVeR
added a commit
that referenced
this issue
Oct 3, 2021
ForNeVeR
added a commit
that referenced
this issue
Oct 5, 2021
ForNeVeR
added a commit
that referenced
this issue
Oct 5, 2021
ForNeVeR
added a commit
that referenced
this issue
Oct 10, 2021
ForNeVeR
added a commit
that referenced
this issue
Oct 10, 2021
1 task
ForNeVeR
added a commit
that referenced
this issue
Jul 31, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 6, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 7, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 19, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 20, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 20, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 20, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 20, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 21, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 21, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 21, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 21, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 21, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 21, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 21, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 25, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 25, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 27, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 27, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 27, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 27, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 28, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 28, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 28, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 28, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 28, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 28, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 28, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 28, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 28, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 28, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 28, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 28, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 28, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 28, 2022
ForNeVeR
added a commit
that referenced
this issue
Aug 28, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
As an improvement from #26 (see #99), which doesn't always work that reliable, I think we could provide an actual Telegram content proxy.
Whenever anyone sends us a piece of Telegram-only content (e.g. a photo, an audio log, a file, whatever), we receive a content identifier of said material. We may afterwards send something called
getFile
to the Telegram server, and eventually we'll receive a link to download the content. That link is only valid for a short amount of time, so it won't work for long-term storage inside of our logs.I suggest we do the following:
codingteam.org.ru/content/{internalid}
, and include this content link into a message sent to XMPP.getFile
Telegram content request, and await for a response.The bot should also accumulate an anonymized file delivery statistics: count of requests for every file, average download/upload speed, cache hits. No client IPs should be saved (we value users' privacy).
Q&A:
This would open a direct way of abusing the bot, which would effectively provide a proxy to all Telegram content ever. Instead of that, we'll filter to only the Telegram content posted in our chat, and the simplest way of filtering it would be just to remap the identifiers.
To not overload Telegram infrastructure (otherwise they could simply ban us), and to improve the content delivery speed for bunch of smaller requests to the same resource.
To monitor and prevent any abuse of our content delivery system: e.g. if someone shares the content links to a wide audience, this could leech our traffic limits pretty fast, and/or lead to us being banned on Telegram.
Depends on:
The text was updated successfully, but these errors were encountered: