Skip to main content

Telegram mtproto mitm server.

Project description

MTProto MITM server

Telegram mtproto mitm server.

This project must be used for research purposes only.

Installation

Requirements:

  • Python 3.11+
pip install mtproto-mitm

TODO

  • Record mtproto connections to files to allow reviewing them later
  • Add cli interface
  • Add web interface ?

Usage

  1. Install mtproto-mitm

  2. Get your telegram auth key:

    • Telethon or Pyrogram: you need session file and any sqlite reader. Open session file with sqlite reader and run "SELECT HEX(auth_key) FROM sessions;"
    • Telegram for Android (not Telegram X): you need root access. Copy tgnet.dat file from telegram directory (/data/data/<package name>/files/tgnet.dat) from your android device to your pc. Now you can use tgnet to extract key: use code from example.
    • Telegram Desktop: you can use opentele to extract auth key from tdata folder. From Telegram Desktop version 5 and newer, seems like Telegram uses exclusively temp auth keys that are generated at runtime and not stored anywhere; that means once you close Telegram Desktop application, you won't be able to access decryption keys, so you need to extract them from memory while Telegram is running, and only then start mtproto-mitm with those keys; also, note that temp keys work for at most 1 day (iirc) and even if you won't restart Telegram application, you'll need to extract keys again later. To extract keys from memory, you can use tdesktop-keys-extract script.
  3. Run MTProto-MITM:

    Usage: python -m mtproto_mitm [OPTIONS]
    
    Options:
      -h, --host TEXT       Proxy host to run on.
      -p, --port INTEGER    Proxy port to run on.
      -k, --key TEXT        Hex-encoded telegram auth key.
      -f, --keys-file TEXT  File with telegram auth keys.
      -q, --quiet           Do not show requests in real time.
      -o, --output TEXT     Directory to which mtproto requests will be saved.
      --proxy-no-auth       Disable authentication for proxy.
      --proxy-user TEXT     Proxy user in login:password format.
      --help                Show this message and exit.
    
  4. Set socks5 proxy settings on your telegram client to host/port/user you specified on last step.

Examples

python -m mtproto_mitm --host 127.0.0.1 --port 1080 --key 0F5B...A38F --keys-file ./auth_keys

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mtproto_mitm-0.2.4.tar.gz (5.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mtproto_mitm-0.2.4-py3-none-any.whl (2.3 MB view details)

Uploaded Python 3

File details

Details for the file mtproto_mitm-0.2.4.tar.gz.

File metadata

  • Download URL: mtproto_mitm-0.2.4.tar.gz
  • Upload date:
  • Size: 5.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.14.2 Linux/6.17.12-300.fc43.x86_64

File hashes

Hashes for mtproto_mitm-0.2.4.tar.gz
Algorithm Hash digest
SHA256 34416f2311bbe6ef394e407285632d67273c34c7d08b21a5e1b9b2799596171f
MD5 d5be68836727584f0579e91753deb625
BLAKE2b-256 17170df5d5fbd3f315baba71e128218759ecc5097cc2683618d8138f3c23bc1e

See more details on using hashes here.

File details

Details for the file mtproto_mitm-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: mtproto_mitm-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.14.2 Linux/6.17.12-300.fc43.x86_64

File hashes

Hashes for mtproto_mitm-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0bdf69e4149194e52f35b76ef0f9f49280ec345774a2c9b373e4e742144d0e26
MD5 031413cf0823c61563c8912b6b1218bf
BLAKE2b-256 9e0a7baa175ba559e8975bd4334c1e2c4d1fa1439089e9ab9358a6c08ba64fee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page