{ "info": { "author": "Roman Snegirev", "author_email": "snegiryev@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "## aiohttp-socks\n\n[![Build Status](https://travis-ci.org/romis2012/aiohttp-socks.svg?branch=master)](https://travis-ci.org/romis2012/aiohttp-socks)\n[![Coverage Status](https://coveralls.io/repos/github/romis2012/aiohttp-socks/badge.svg?branch=master)](https://coveralls.io/github/romis2012/aiohttp-socks?branch=master)\n[![PyPI version](https://badge.fury.io/py/aiohttp-socks.svg)](https://badge.fury.io/py/aiohttp-socks)\n\nSOCKS proxy connector for [aiohttp](https://github.com/aio-libs/aiohttp). SOCKS4(a) and SOCKS5 are supported.\n\n## Requirements\n- Python >= 3.5.3\n- aiohttp >= 2.3.2 # including v3.x\n\n## Installation\n```\npip install aiohttp_socks\n```\n\n## Usage\n\n#### aiohttp usage:\n```python\nimport aiohttp\nfrom aiohttp_socks import SocksConnector, SocksVer\n\n\nasync def fetch(url):\n connector = SocksConnector.from_url('socks5://user:password@127.0.0.1:1080')\n ### or use SocksConnector constructor\n # connector = SocksConnector(\n # socks_ver=SocksVer.SOCKS5,\n # host='127.0.0.1',\n # port=1080,\n # username='user',\n # password='password',\n # rdns=True\n # )\n async with aiohttp.ClientSession(connector=connector) as session:\n async with session.get(url) as response:\n return await response.text()\n```\n\n#### aiohttp-socks also provides `open_connection` and `create_connection` functions:\n\n```python\nfrom aiohttp_socks import open_connection\n\nasync def fetch():\n reader, writer = await open_connection(\n socks_url='socks5://user:password@127.0.0.1:1080',\n host='check-host.net',\n port=80\n )\n request = (b\"GET /ip HTTP/1.1\\r\\n\"\n b\"Host: check-host.net\\r\\n\"\n b\"Connection: close\\r\\n\\r\\n\")\n\n writer.write(request)\n return await reader.read(-1)\n```\n\n## Why yet another SOCKS connector for aiohttp\n\nUnlike [aiosocksy](https://github.com/romis2012/aiosocksy), aiohttp_socks has only single point of integration with aiohttp. \nThis makes it easier to maintain compatibility with new aiohttp versions.\n\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/romis2012/aiohttp-socks", "keywords": "asyncio aiohttp socks socks5 socks4 proxy", "license": "Apache 2", "maintainer": "", "maintainer_email": "", "name": "aiohttp-socks", "package_url": "https://pypi.org/project/aiohttp-socks/", "platform": "", "project_url": "https://pypi.org/project/aiohttp-socks/", "project_urls": { "Homepage": "https://github.com/romis2012/aiohttp-socks" }, "release_url": "https://pypi.org/project/aiohttp-socks/0.2.2/", "requires_dist": [ "aiohttp (>=2.3.2)" ], "requires_python": "", "summary": "SOCKS proxy connector for aiohttp", "version": "0.2.2" }, "last_serial": 4645898, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "03016f5546a97093d2ecb29a74addb3b", "sha256": "0efb3c3d974429e6a01ff9bf82a7cfbfa4fba8568751255359c238a625a4cd90" }, "downloads": -1, "filename": "aiohttp_socks-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "03016f5546a97093d2ecb29a74addb3b", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7140, "upload_time": "2018-07-04T12:20:05", "url": "https://files.pythonhosted.org/packages/ec/49/4a35c7bbf83a43fe3a2bfa757eec08ca115025c8c55ec802285735ed4506/aiohttp_socks-0.1.0-py3-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "5875415539dd630fb9d3f44e695ddf60", "sha256": "83d6c78a12d6c62fa04433f24cb1e5019582371bb94588d70e2786216413dc7b" }, "downloads": -1, "filename": "aiohttp_socks-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5875415539dd630fb9d3f44e695ddf60", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7185, "upload_time": "2018-07-05T05:38:06", "url": "https://files.pythonhosted.org/packages/68/64/24debc64f276059039cf939957cf1dc764bc63e44874ddb0e994d3e66e8f/aiohttp_socks-0.1.1-py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "af3e11eaa4422a8cee26fbcd0743e2ba", "sha256": "c0e4a11c022fd20da9a3736a477f36da2ae5740711c8dd1d141a5e9f051fbfcb" }, "downloads": -1, "filename": "aiohttp_socks-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "af3e11eaa4422a8cee26fbcd0743e2ba", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7524, "upload_time": "2018-07-05T11:52:38", "url": "https://files.pythonhosted.org/packages/91/1d/276a6a074bb24da9f4dedf87a07edf5bb7ae2c00b9ef17d791a1ac396e91/aiohttp_socks-0.1.2-py3-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "3487596bb23fcde18ad9d71d2c60b197", "sha256": "533eca6340416ea9f5433325485fc821c2efce86adde7c2208910ec45728fd47" }, "downloads": -1, "filename": "aiohttp_socks-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "3487596bb23fcde18ad9d71d2c60b197", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6691, "upload_time": "2018-07-19T09:45:51", "url": "https://files.pythonhosted.org/packages/91/8a/444f569ae2c82efade7a5f57ac88a8723a743741d1c25270fce738ac26d5/aiohttp_socks-0.1.3-py3-none-any.whl" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "3c945014c41c895432b14ab2ce917f99", "sha256": "bf5d880aabbfeecb2327ac5439e6716bcba52cb57c6e16574dc2ee831ce04aed" }, "downloads": -1, "filename": "aiohttp_socks-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "3c945014c41c895432b14ab2ce917f99", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6744, "upload_time": "2018-07-25T08:28:57", "url": "https://files.pythonhosted.org/packages/e6/3f/d3e2741b388c8d351a6885818acd24ba2cc1f2652117d7122e336884d2fb/aiohttp_socks-0.1.4-py3-none-any.whl" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "70f7266e6c00965544e181cefd29e8f1", "sha256": "c69f67818d5f81d4175f7658c4ab2bc5a91832c080ec226fbc630c9e7e529db1" }, "downloads": -1, "filename": "aiohttp_socks-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "70f7266e6c00965544e181cefd29e8f1", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7667, "upload_time": "2018-08-09T04:57:18", "url": "https://files.pythonhosted.org/packages/2b/70/62390380fa3c321aaff7f758b96ac9f9e28573e3f85bea4fd911528089a6/aiohttp_socks-0.1.5-py3-none-any.whl" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "21c40e3d8cd5969460c3c93d83bb5704", "sha256": "943148a3797ba9ffb6df6ddb006ffdd40538885b410589d589bda42a8e8bcd5a" }, "downloads": -1, "filename": "aiohttp_socks-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "21c40e3d8cd5969460c3c93d83bb5704", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7739, "upload_time": "2018-08-17T04:27:27", "url": "https://files.pythonhosted.org/packages/83/64/a53f6fa32dfeb68dbc406b1a492a4825d117a457035fe7a6f070a664d979/aiohttp_socks-0.1.6-py3-none-any.whl" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "5bbecefd38189b75aa425eeeb9a5ce90", "sha256": "2ff16a5131a316ad5bcf43d2b65e603f699d36965bb1d642e3e90fc2933ad660" }, "downloads": -1, "filename": "aiohttp_socks-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "5bbecefd38189b75aa425eeeb9a5ce90", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7767, "upload_time": "2018-09-29T05:55:49", "url": "https://files.pythonhosted.org/packages/80/fb/32d6cbcdbfef0cd77c069152d66bef30ed3e52cb1ad4dd62e9a6d728e71a/aiohttp_socks-0.1.7-py3-none-any.whl" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "9dcf2cc0eb1d870e45f23401b31f3e39", "sha256": "9c90f4755580b910781fc1ce9241e5e287a660f9c67ca02154245d6e858cfeb5" }, "downloads": -1, "filename": "aiohttp_socks-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "9dcf2cc0eb1d870e45f23401b31f3e39", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7832, "upload_time": "2018-09-29T14:02:48", "url": "https://files.pythonhosted.org/packages/6b/39/970bf3307748d8815107daeafd6f923c3cc6844d573892b5674bb5de6469/aiohttp_socks-0.1.8-py3-none-any.whl" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "1862ad6f8923ccf519714cfc727181ed", "sha256": "7b17afad0d54d76ec28286455aa5dcefe3ee1cfa4136e3440f21eaa2f3a466ec" }, "downloads": -1, "filename": "aiohttp_socks-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "1862ad6f8923ccf519714cfc727181ed", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 6940, "upload_time": "2018-10-01T10:04:16", "url": "https://files.pythonhosted.org/packages/e8/cc/914ab6b624667d917762c39a363f74df2f355a475eff61bb99cb0637caac/aiohttp_socks-0.1.9-py3-none-any.whl" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "7e8b0229c906656f14c81c96177fb74f", "sha256": "eba0a6e198d9a69d254bf956d68cec7615c2a4cadd861b8da46464bd13c5641d" }, "downloads": -1, "filename": "aiohttp_socks-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7e8b0229c906656f14c81c96177fb74f", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7821, "upload_time": "2018-10-20T05:06:37", "url": "https://files.pythonhosted.org/packages/30/27/5358f5897196269353318ac4fbcb187b0b9cf37c16af408cecfe22dfc67e/aiohttp_socks-0.2-py3-none-any.whl" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "648d5abea8ed299a2ce4d2aeea1c4fd4", "sha256": "8bcfde1bb0d394b0ff0d8c284de7459c38507bff1f7c144ac734a6de49f36a29" }, "downloads": -1, "filename": "aiohttp_socks-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "648d5abea8ed299a2ce4d2aeea1c4fd4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11896, "upload_time": "2018-12-14T04:43:02", "url": "https://files.pythonhosted.org/packages/f3/3c/d0641035c2139bf802e0ca18e7412c95e86f70150aec02237f912b4abe24/aiohttp_socks-0.2.1-py3-none-any.whl" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "ac4c26b8f3beb1e008e4faf46b7198ef", "sha256": "e473ee222b001fe33798957b9ce3352b32c187cf41684f8e2259427925914993" }, "downloads": -1, "filename": "aiohttp_socks-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ac4c26b8f3beb1e008e4faf46b7198ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11885, "upload_time": "2018-12-30T10:10:29", "url": "https://files.pythonhosted.org/packages/74/d0/1634f69b0eb016e3088cb61fdbb080daf4e20187a7731043cf8d8e823b79/aiohttp_socks-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ff1a0f64dbd3b1b958a1ad1e55fa2b5", "sha256": "eebd8939a7c3c1e3e7e1b2552c60039b4c65ef6b8b2351efcbdd98290538e310" }, "downloads": -1, "filename": "aiohttp_socks-0.2.2.tar.gz", "has_sig": false, "md5_digest": "2ff1a0f64dbd3b1b958a1ad1e55fa2b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10444, "upload_time": "2018-12-30T10:10:30", "url": "https://files.pythonhosted.org/packages/c2/78/3cf7de8bcb047e1969d6b49d7ea50ef4d8254b3f1512721e425ad94ec1c0/aiohttp_socks-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ac4c26b8f3beb1e008e4faf46b7198ef", "sha256": "e473ee222b001fe33798957b9ce3352b32c187cf41684f8e2259427925914993" }, "downloads": -1, "filename": "aiohttp_socks-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ac4c26b8f3beb1e008e4faf46b7198ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11885, "upload_time": "2018-12-30T10:10:29", "url": "https://files.pythonhosted.org/packages/74/d0/1634f69b0eb016e3088cb61fdbb080daf4e20187a7731043cf8d8e823b79/aiohttp_socks-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ff1a0f64dbd3b1b958a1ad1e55fa2b5", "sha256": "eebd8939a7c3c1e3e7e1b2552c60039b4c65ef6b8b2351efcbdd98290538e310" }, "downloads": -1, "filename": "aiohttp_socks-0.2.2.tar.gz", "has_sig": false, "md5_digest": "2ff1a0f64dbd3b1b958a1ad1e55fa2b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10444, "upload_time": "2018-12-30T10:10:30", "url": "https://files.pythonhosted.org/packages/c2/78/3cf7de8bcb047e1969d6b49d7ea50ef4d8254b3f1512721e425ad94ec1c0/aiohttp_socks-0.2.2.tar.gz" } ] }