diff --git a/README.rst b/README.rst index ca822ad..0bfdfdb 100644 --- a/README.rst +++ b/README.rst @@ -1,4 +1,108 @@ -TgCrypto +|header| + +Table of Contents +================= + +- `About`_ + +- `Installation`_ + +- `Contribution`_ + +- `Feedback`_ + +- `License`_ + +About +===== + +**TgCrypto** is a high-performance, easy-to-install Telegram Crypto Library specifically written in C for Pyrogram [#f1]_ as a +Python extension. TgCrypto is a replacement for the much slower PyAES and implements the crypto algorithms Telegram requires, +namely **AES-IGE 256 bit** (used in MTProto v2.0) and **AES-CTR 256 bit** (used for CDN encrypted files). + +Installation +============ + +.. code-block:: bash + + $ pip install --upgrade tgcrypto + +**Note:** Being a C extension for Python, TgCrypto is an optional but *highly recommended* dependency; when TgCrypto +is not detected in your system, Pyrogram will automatically fall back to PyAES and will show you a warning. + +The reason about being an optional package is that TgCrypto requires some extra system tools in order to be compiled. +The errors you receive when trying to install TgCrypto are system dependent, but also descriptive enough to understand +what you should do next: + +- **Windows**: Install `Visual C++ 2015 Build Tools `_. +- **macOS**: A pop-up will automatically ask you to install the command line developer tools. +- **Linux**: Install a proper C compiler (``gcc``, ``clang``) and the Python header files (``python3-dev``). +- **Termux (Android)**: Install ``clang`` and ``python-dev`` packages. + +Contribution +============ + +**You are very welcome to contribute** by either submitting pull requests or +reporting issues/bugs as well as suggesting best practices, ideas, enhancements +on both code and documentation. Any help is appreciated! + +Feedback ======== -Telegram Crypto for `Pyrogram `_ \ No newline at end of file +Means for getting in touch: + +- `Community`_ +- `Telegram`_ +- `GitHub`_ +- `Email`_ + +License +======= + +- Copyright (C) 2017-2018 Dan Tès + +- Licensed under the terms of the + `GNU Lesser General Public License v3 or later (LGPLv3+)`_ + +----- + +.. [#f1] Although TgCrypto is intended for `Pyrogram`_, it is shipped as a standalone package and can thus be used for + other Python projects too. + +.. _`Community`: https://t.me/PyrogramChat + +.. _`Telegram`: https://t.me/haskell + +.. _`GitHub`: https://github.com/pyrogram/tgcrypto/issues + +.. _`Email`: admin@pyrogram.ml + +.. _`GNU Lesser General Public License v3 or later (LGPLv3+)`: COPYING.lesser + +.. _`Pyrogram`: https://github.com/pyrogram/pyrogram + +.. |header| raw:: html + +

+ +
Pyrogram Icon
+
TgCrypto Logo
+
+

+ +

+ Telegram Crypto Library for Pyrogram + +
+ + Download + + • + + Documentation + + • + + Community + +