{ "info": { "author": "Naji", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Framework :: AsyncIO", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: Internet :: Proxy Servers" ], "description": "# MTProxy\nA fully [OOP](https://en.wikipedia.org/wiki/Object-oriented_programming)\n[Asynchronous](https://docs.python.org/3/library/asyncio.html) **Python\n3** MT-Proto proxy\n\n\n\n## Features\n* **Easy to use:** you can easily use it\n* **Lightweight** less resources as possible but not by losing\n maintainability.\n* **Fully-asynchronous:** it runs asynchronously\n* **High-performance:** processes a lot of connections\n* **Block-Mode** Protection from\n [replay attacks](https://habr.com/ru/post/452144/) used to detect\n proxies in some countries\n\n## Installation\nTo install last stable release from pypi:\n```\n$ pip3 install mtproxy\n```\nor with [uvloop](https://uvloop.readthedocs.io/) as extra requirement\n(recommended):\n```\n$ pip3 install mtproxy[fast]\n```\nuvloop makes asyncio fast.\n\n## Usage\n#### To launch with custom config\n```.buildoutcfg\n# config.ini\n\n#proxy settings\n[mtproxy]\n\n# port = 8585\n## The Port that Proxy listening to. 8585 by default\n\n# fast_mode = ture\n# true by deaultif True, disables telegram to client traffic re-encryption, faster but less secure.\n\n# prefer_ipv6 = ture\n# if IPv6 available, use it by default.\n\n# secure_only = false\n# Don't allow to connect in not-secure mode. false by default\n\n# listen_addr_ipv4 = 0.0.0.0\n# Listen address for IPv4. '0.0.0.0' by default\n\n# listen_addr_ipv6 = ::\n# Listen address for IPv6 by default\n\n# client_handshake_timeout = 10\n# Drop client after this timeout if the handshake fail, 10 by default\n\n# client_keepalive = 600\n# Keep alive period for clients in secs, 600 by default.\n\n# client_ack_timeout = 300\n# if client doesn't confirm data for this number of seconds, it is dropped, 300 by default.\n\n# server_connect_timeout = 10\n# Telegram servers connect timeout in seconds, 10 by default/.\n\n# to_client_buffer_size = 131072\n# Max socket buffer size to the client direction, the more the faster, but more RAM hungry, 131072 by default.\n\n# to_server_buffer_size = 65536\n# Max socket buffer size to the telegram servers direction, 65536 by default.\n\n# block_mode = true\n# Drop client if first packet is bad, true by default.\n\n# reply_check_length = \n# Length of used handshake randoms for active fingerprinting protection, 32768 by default.\n\n# ipv4 = \n# IPv4 address to show data, if Ignored, will be Obtained.\n\n# ipv6 = \n# IPv6 address to show data, if Ignored, will be Obtained.\n\n\n# proxy users section.\n[mtproxy:users]\n# name_of_user = proxy_secret_key\nHemMm = 7e7ee7be6b40378e593c36433294b03c\n```\nlaunch proxy: \n```bash\nmtproxy config.ini\n\n# mtproxy CONFIG_FILE_NAME\n```\n\n\n### Special Thanks to [alexbers](https://github.com/alexbers) for his grate [project](https://github.com/alexbers/mtprotoproxy) \n\n## License\n[MIT](https://choosealicense.com/licenses/mit/)\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/i-Naji/mtproxy", "keywords": "mtproto proxy async asynchronous", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "MTProxy", "package_url": "https://pypi.org/project/MTProxy/", "platform": "", "project_url": "https://pypi.org/project/MTProxy/", "project_urls": { "Homepage": "http://github.com/i-Naji/mtproxy" }, "release_url": "https://pypi.org/project/MTProxy/0.1.3/", "requires_dist": [ "cryptography", "uvloop ; extra == 'fast'" ], "requires_python": ">=3.5", "summary": "Async Python MTProto Proxy", "version": "0.1.3" }, "last_serial": 5427256, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "c1a4b2478ab0da4e66f7903c51b49730", "sha256": "9c4660e0afaf1a5b56f89a4a377767902d65e6171f319dff1dc6d34771814d02" }, "downloads": -1, "filename": "MTProxy-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c1a4b2478ab0da4e66f7903c51b49730", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 19405, "upload_time": "2019-06-20T18:45:05", "url": "https://files.pythonhosted.org/packages/35/0b/cecedc8bd6c00f6ccaabc09d59d43b7d0b144e8042723a9a9755bffdc1c0/MTProxy-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1b342a1c4addb96feda1d0f8e28bb86", "sha256": "e6b431366f84a6c8cd4a94df666c68c09bf88498dc25a78713485b48c949adc6" }, "downloads": -1, "filename": "MTProxy-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e1b342a1c4addb96feda1d0f8e28bb86", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12412, "upload_time": "2019-06-20T18:45:07", "url": "https://files.pythonhosted.org/packages/da/d2/bd491f702aa8198f63c38fc4a84f3e3c66ca77b97338a1eb946002644eb4/MTProxy-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "93d7bdf93948703984686870430c0c43", "sha256": "6700329b7b759ce30b8ed79ee8531cf625850132f070d9676a7bb54173a0e730" }, "downloads": -1, "filename": "MTProxy-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "93d7bdf93948703984686870430c0c43", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 19416, "upload_time": "2019-06-20T19:02:58", "url": "https://files.pythonhosted.org/packages/f0/07/6cceb5212855a955560edcd1c53943844ead412a09edda2a51b11295965b/MTProxy-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "38362b58a00a14e0207b7cb833c00569", "sha256": "f1a34576390ddfd0b61dbca2d11d2cf83b5e08cb64ce2ed390a336ff0d9c59bb" }, "downloads": -1, "filename": "MTProxy-0.1.3.tar.gz", "has_sig": false, "md5_digest": "38362b58a00a14e0207b7cb833c00569", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12402, "upload_time": "2019-06-20T19:03:00", "url": "https://files.pythonhosted.org/packages/07/ea/91f1e8b4f4509a0ad159a923a95cc57a3d6b284a7ae72c91f2a04ca725b6/MTProxy-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "93d7bdf93948703984686870430c0c43", "sha256": "6700329b7b759ce30b8ed79ee8531cf625850132f070d9676a7bb54173a0e730" }, "downloads": -1, "filename": "MTProxy-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "93d7bdf93948703984686870430c0c43", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 19416, "upload_time": "2019-06-20T19:02:58", "url": "https://files.pythonhosted.org/packages/f0/07/6cceb5212855a955560edcd1c53943844ead412a09edda2a51b11295965b/MTProxy-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "38362b58a00a14e0207b7cb833c00569", "sha256": "f1a34576390ddfd0b61dbca2d11d2cf83b5e08cb64ce2ed390a336ff0d9c59bb" }, "downloads": -1, "filename": "MTProxy-0.1.3.tar.gz", "has_sig": false, "md5_digest": "38362b58a00a14e0207b7cb833c00569", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12402, "upload_time": "2019-06-20T19:03:00", "url": "https://files.pythonhosted.org/packages/07/ea/91f1e8b4f4509a0ad159a923a95cc57a3d6b284a7ae72c91f2a04ca725b6/MTProxy-0.1.3.tar.gz" } ] }