Lonami Exo
4d3ff0e175
Revert "Use tgcrypto if available ( #1715 )"
...
This reverts commit 42cc9e61fb
.
tgcrypto was made for Pyrogram, and seeing it used elsewhere
without much credit "hurts" the author. I personally do not endorse
its use, hence the lack of attention or notes in the documentation.
People who still want to benefit from the speed boost should go
out of their way to discover, install and patch Telethon's aes.py
module instead, all while complying with the respective license
(another reason to avoid said code in Telethon, which is under the
much more permissive MIT license).
People using tgcrypto for anything other than Pyrogram will do so
knowing full-well that this was not the library's intended usage.
2021-03-20 17:20:33 +01:00
igerzog
42cc9e61fb
Use tgcrypto if available ( #1715 )
2021-03-02 21:38:02 +01:00
Ali Alaee
23fc38f7c9
Fix crypto imports on macOS Big Sur ( #1639 )
2020-11-28 15:54:52 +01:00
Pascal Jürgens
0814a20ec4
Fix macOS version parsing (again), bump v1.11.2
...
#1393
2020-02-21 20:37:24 +01:00
Lonami Exo
8aa15174ab
Fix check in macOS ( #1369 ), bump v1.11.1
2020-02-21 12:48:43 +01:00
Pascal Jürgens
72dc8052b3
Fix crypto imports on macOS Catalina ( #1369 )
2020-01-17 12:24:59 +01:00
Lonami
76cf208619
Document where factorization.py comes from
2020-01-09 12:51:41 +01:00
painor
4a1310dc21
Fix RSA key unpacking on missing fingerprint ( #1324 )
2019-11-05 08:54:10 +01:00
Lonami Exo
09f27f0dd7
Update Telegram's RSA keys
2019-10-03 20:52:25 +02:00
Terrance
634d8a7898
Refactor libssl import path workarounds ( #1202 )
...
This amends the logic introduced for #1167 to only run when a plain
import of the library fails, thus avoiding the slow path traversal
needed to find the underlying library file.
2019-06-15 13:42:31 +02:00
Lonami Exo
1dc6d226b7
Best-effort attempt at finding libssl ( #1167 )
2019-04-30 16:22:19 +02:00
Lonami
1805dc48ec
Fix-up 3ea1c9f
no longer handling ssl being None
2019-04-28 14:13:29 +02:00
Lonami
3ea1c9f04b
Handle rare case when failing to load libssl ( #1167 )
2019-04-28 10:44:22 +02:00
Lonami Exo
d2ac7e5b0a
Actually perform all checks in 2fa
2018-12-24 14:16:50 +01:00
Lonami Exo
e2fe3eb503
Use new broken MessagePacker
2018-10-19 13:24:52 +02:00
Lonami Exo
83f60deef9
Allow updating AuthKey.key
...
This will preserve references to the AuthKey more cleanly.
2018-10-19 12:40:36 +02:00
Lonami Exo
7b4cd92066
Revert 030f292
(use libssl if available)
2018-07-25 12:11:58 +02:00
Lonami Exo
2b090f8888
Fix connect not saving different authkeys
2018-06-26 16:20:30 +02:00
Lonami Exo
4e9a84c3b5
Remove underscore from module names
2018-06-18 21:02:42 +02:00
Lonami Exo
4ff0756ffc
Separate download requests from the TelegramClient
2018-06-10 12:04:23 +02:00
Lonami Exo
f72ddbdd5a
Implement retry and fail cases in authenticator
2018-06-07 17:25:02 +02:00
Vaschuk Maxim
3db104c7bc
to_bytes() named argument 'length' removed for PyPy ( #834 )
2018-06-04 12:34:52 +02:00
Lonami Exo
030f292203
Dump libssl bindings in favour of the new optional cryptg module
2018-02-16 18:24:44 +01:00
Lonami Exo
f4182376f1
Move utils.calc_msg_key into auth_key (cyclic imports py3.4)
2018-01-08 12:07:14 +01:00
Lonami Exo
a932fb6470
Document the crypto/ module
2017-11-26 16:57:40 +01:00
Dan
0bfd8ff032
Add much faster integer factorization ( #403 related to #199 )
2017-11-03 12:59:17 +01:00
Lonami Exo
d28f370ab6
Add ._get_cdn_client as alternative ._get_exported_client version
2017-09-30 17:51:07 +02:00
Lonami Exo
fe30f63d5d
Use autogen code on the authenticator instead hardcoding requests
2017-09-28 11:36:51 +02:00
Lonami Exo
c667a00281
Avoid using BinaryWriter where possible
2017-09-27 21:23:59 +02:00
Lonami Exo
0c11967232
Remove unused .shaes attribute from CdnDecrypter
2017-09-27 12:11:16 +02:00
Lonami Exo
657e8a70c9
Fix CdnDecrypter incorrectly accessing clients' timeout ( closes #265 )
2017-09-27 12:08:37 +02:00
Lonami Exo
c84e54b647
Get rid of the initial_query= parameter on .connect()
2017-09-17 16:06:43 +02:00
Lonami Exo
49555ad018
Stick to the offset and limit CdnFileHashes dictates ( #222 )
...
The old intersection method and allowing an arbitrary part size
wasn't working properly. Assuming that Telegram will send a sha
sum for the whole file, in the correct order, we can simply use
their offsets to download the file.
2017-09-05 16:43:53 +02:00
Lonami Exo
15fd5390ae
Optimize imports
2017-09-04 17:18:33 +02:00
Lonami Exo
97cab7347b
Make lint happier
2017-09-04 17:10:04 +02:00
Lonami Exo
22673aec0e
Replace the old Session+pickle with JsonSession (name change)
2017-08-29 15:59:08 +02:00
Lonami Exo
bc72e52834
Reuse the AESModeCTR class on CdnDecrypter
2017-08-28 20:30:33 +02:00
Lonami Exo
5404670469
Implement and use TCP obfuscated as a PoC ( #112 )
...
Credits to MadelineProto/Connection.php by @danog
2017-08-28 20:25:44 +02:00
Lonami Exo
8afcd0b91f
Turn HashChecker into CdnDecrypter to abstract CDN-specific aspects
2017-08-28 16:25:10 +02:00
Lonami Exo
b504ce14bc
Verify the files downloaded from CDNs and raise on sha256 mismatch
2017-08-28 14:17:31 +02:00
Lonami Exo
98bbcb6cd6
Favour rsa module over PyCrypto since the former is pure Python
2017-08-24 18:41:48 +02:00
Lonami Exo
d5fd147881
Add a few more default RSA public keys from Telegram
2017-08-23 21:50:33 +02:00
Lonami Exo
66876b6722
Use pycrypto's RSA instead the old weird RSA implementation
2017-08-23 21:49:27 +02:00
Lonami Exo
88ec9c297e
Improve libssl.py's file formatting
2017-08-22 23:05:07 +02:00
Lonami Exo
274e16ac66
Avoid defining Python's AES class if libssl's is available
2017-08-22 23:05:07 +02:00
Christian Stemmle
ffb1cf483d
Faster crypto by using libssl ( closes #199 )
2017-08-20 01:21:11 +02:00
Lonami Exo
afcddfd7c1
Remove seemingly useless array copies on aes.py ( #199 )
2017-08-17 18:12:19 +02:00
Lonami Exo
9f812d83a9
Use sympy for faster factorization if available ( #199 )
2017-08-17 17:37:27 +02:00
Lonami Exo
7adb4f09d6
Slightly reorganise the project structure
2017-06-09 16:13:39 +02:00
Lonami Exo
153cbfd350
Use more straightforward calls of hashlib.sha1/sha256
2017-06-02 16:49:03 +02:00