{ "info": { "author": "Vladislav Yarmak", "author_email": "vladislav-ex-src@vm-0.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: No Input/Output (Daemon)", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3.5", "Topic :: Internet", "Topic :: Security" ], "description": "chunk-nordic\n============\n\n[![Build Status](https://travis-ci.org/Snawoot/chunk-nordic.svg?branch=master)](https://travis-ci.org/Snawoot/chunk-nordic) [![Coverage](https://img.shields.io/badge/coverage-100%25-4dc71f.svg)](https://travis-ci.org/Snawoot/chunk-nordic) [![PyPI - Downloads](https://img.shields.io/pypi/dm/chunk-nordic.svg?color=4dc71f&label=PyPI%20downloads)](https://pypistats.org/packages/chunk-nordic) [![PyPI](https://img.shields.io/pypi/v/chunk-nordic.svg)](https://pypi.org/project/chunk-nordic/) [![PyPI - Status](https://img.shields.io/pypi/status/chunk-nordic.svg)](https://pypi.org/project/chunk-nordic/) [![PyPI - License](https://img.shields.io/pypi/l/chunk-nordic.svg?color=4dc71f)](https://pypi.org/project/chunk-nordic/)\n\nYet another TCP-over-HTTP(S) tunnel.\n\nClient component accepts TCP connections and forwards them to server component via pair of HTTP(S) connections in streaming mode (`Content-Encoding: chunked`). Server component forwards connections to target host and port (e.g. to VPN daemon).\n\n## Features\n\n* Multi-link full asynchronous operation.\n* Client support operation via proxy server (via HTTP\\_PROXY, HTTPS\\_PROXY environment variables and .netrc file).\n* Advanced TLS support:\n * Supports custom CAs for client and server.\n * Supports mutual TLS authentication between client and server with certificates.\n\nFor TLS reference see \"TLS options\" group in invokation synopsis.\n\n## Requirements\n\n* Python 3.5.3+\n* aiohttp\n* sdnotify\n\n## Installation\n\nWith basic Python event loop:\n\n```\npip3 install chunk-nordic\n```\n\nWith high performance uvloop event loop:\n\n```\npip3 install chunk-nordic[uvloop]\n```\n\n## Synopsis\n\nServer:\n\n```\n$ chunk-server --help\nusage: chunk-server [-h] [-u URI] [-v {debug,info,warn,error,fatal}]\n [--disable-uvloop] [-a BIND_ADDRESS] [-p BIND_PORT]\n [-w TIMEOUT] [-c CERT] [-k KEY] [-C CAFILE]\n dst_host dst_port\n\nYet another TCP-over-HTTP(S) tunnel. Server-side component.\n\npositional arguments:\n dst_host target hostname\n dst_port target port\n\noptional arguments:\n -h, --help show this help message and exit\n -u URI, --uri URI path where connections served (default: /chunk-nordic)\n -v {debug,info,warn,error,fatal}, --verbosity {debug,info,warn,error,fatal}\n logging verbosity (default: info)\n --disable-uvloop do not use uvloop even if it is available (default:\n False)\n\nlisten options:\n -a BIND_ADDRESS, --bind-address BIND_ADDRESS\n bind address (default: 127.0.0.1)\n -p BIND_PORT, --bind-port BIND_PORT\n bind port (default: 8080)\n\ntiming options:\n -w TIMEOUT, --timeout TIMEOUT\n backend connect timeout (default: 4)\n\nTLS options:\n -c CERT, --cert CERT enable TLS and use certificate (default: None)\n -k KEY, --key KEY key for TLS certificate (default: None)\n -C CAFILE, --cafile CAFILE\n require client TLS auth using specified CA certs\n (default: None)\n```\n\nClient:\n\n```\n$ chunk-client --help\nusage: chunk-client [-h] [-v {debug,info,warn,error,fatal}] [--disable-uvloop]\n [-a BIND_ADDRESS] [-p BIND_PORT] [-w TIMEOUT] [-c CERT]\n [-k KEY] [-C CAFILE] [--no-hostname-check]\n server_url\n\nYet another TCP-over-HTTP(S) tunnel. Client-side component.\n\npositional arguments:\n server_url target hostname\n\noptional arguments:\n -h, --help show this help message and exit\n -v {debug,info,warn,error,fatal}, --verbosity {debug,info,warn,error,fatal}\n logging verbosity (default: info)\n --disable-uvloop do not use uvloop even if it is available (default:\n False)\n\nlisten options:\n -a BIND_ADDRESS, --bind-address BIND_ADDRESS\n bind address (default: 127.0.0.1)\n -p BIND_PORT, --bind-port BIND_PORT\n bind port (default: 1940)\n\ntiming options:\n -w TIMEOUT, --timeout TIMEOUT\n server connect timeout (default: 4)\n\nTLS options:\n -c CERT, --cert CERT use certificate for client TLS auth (default: None)\n -k KEY, --key KEY key for TLS certificate (default: None)\n -C CAFILE, --cafile CAFILE\n override default CA certs by set specified in file\n (default: None)\n --no-hostname-check do not check hostname in cert subject. This option is\n useful for private PKI and available only together\n with \"--cafile\" (default: False)\n```\n\n## Example\n\nLet's assume we have OpenVPN instance on TCP port 1194 at server gate.example.com.\n\nServer command:\n\n```\nchunk-server 127.0.0.1 1194\n```\n\nClient command:\n\n```\nchunk-client http://gate.example.com:8080/chunk-nordic\n```\n\nFragment of client's OpenVPN config:\n\n```\n\nremote 127.0.0.1 1940 tcp\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/Snawoot/chunk-nordic", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "chunk-nordic", "package_url": "https://pypi.org/project/chunk-nordic/", "platform": "", "project_url": "https://pypi.org/project/chunk-nordic/", "project_urls": { "Homepage": "https://github.com/Snawoot/chunk-nordic" }, "release_url": "https://pypi.org/project/chunk-nordic/0.2.0/", "requires_dist": [ "aiohttp (>=3.4.4)", "sdnotify (>=0.3.2)", "pytest (>=3.0.0) ; extra == 'dev'", "pytest-cov ; extra == 'dev'", "pytest-asyncio ; extra == 'dev'", "pytest-timeout ; extra == 'dev'", "pylint ; extra == 'dev'", "tox ; extra == 'dev'", "coverage ; extra == 'dev'", "async-generator ; extra == 'dev'", "setuptools (>=38.6.0) ; extra == 'dev'", "wheel (>=0.31.0) ; extra == 'dev'", "twine (>=1.11.0) ; extra == 'dev'", "cryptography (>=1.6) ; extra == 'dev'", "uvloop (>=0.11.0) ; extra == 'uvloop'" ], "requires_python": ">=3.5.3", "summary": "Yet another TCP-over-HTTP(S) tunnel", "version": "0.2.0" }, "last_serial": 5354230, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "fa62c76088771aadbb42910fc9589281", "sha256": "54fe2fe5974851fce0e347b623839947f7a7e8bf3e616acca7118f35c0552403" }, "downloads": -1, "filename": "chunk_nordic-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fa62c76088771aadbb42910fc9589281", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 11372, "upload_time": "2019-06-02T16:03:02", "url": "https://files.pythonhosted.org/packages/b4/e0/51f17a06045c1944c213adedd9e56971c822d38fd6375b3bc3c78b9b0db2/chunk_nordic-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9dde806d8265eaf90566d7fe623fe90", "sha256": "b87896ca47aee4a6eb58f35e2c25ec9bfb43abadc30414b09d1ab2e1862b3ec4" }, "downloads": -1, "filename": "chunk_nordic-0.1.0.tar.gz", "has_sig": false, "md5_digest": "f9dde806d8265eaf90566d7fe623fe90", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 7976, "upload_time": "2019-06-02T16:03:05", "url": "https://files.pythonhosted.org/packages/7e/93/92fb74bafac301a55d9de132a7dee1ec969802895be6f541eec5232f24fb/chunk_nordic-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "8585b7f9d8d45eb9cacdcf1922473eca", "sha256": "5aabcd01b70bc4341fcfc13bf5b07003e29d992ffa86cbb4358d8e3ef3dabd23" }, "downloads": -1, "filename": "chunk_nordic-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8585b7f9d8d45eb9cacdcf1922473eca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 12496, "upload_time": "2019-06-03T20:09:10", "url": "https://files.pythonhosted.org/packages/dd/69/5243930275782a60bd28d44ef6cbe1ddc15e5aad4d8ad4c6a2cf5c6459c6/chunk_nordic-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4970e01388f548a2ff07b8330c461c5c", "sha256": "111fcbaf10d02e60c87a0c49299983b8cd65b7a3d010c5fe1f889ad69fc086e3" }, "downloads": -1, "filename": "chunk_nordic-0.2.0.tar.gz", "has_sig": false, "md5_digest": "4970e01388f548a2ff07b8330c461c5c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 9890, "upload_time": "2019-06-03T20:09:12", "url": "https://files.pythonhosted.org/packages/f8/9c/b29d5bc84e0f213a22dc0c4fd6d00acb5ce5492794ef19f3f56e4092eb11/chunk_nordic-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8585b7f9d8d45eb9cacdcf1922473eca", "sha256": "5aabcd01b70bc4341fcfc13bf5b07003e29d992ffa86cbb4358d8e3ef3dabd23" }, "downloads": -1, "filename": "chunk_nordic-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8585b7f9d8d45eb9cacdcf1922473eca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 12496, "upload_time": "2019-06-03T20:09:10", "url": "https://files.pythonhosted.org/packages/dd/69/5243930275782a60bd28d44ef6cbe1ddc15e5aad4d8ad4c6a2cf5c6459c6/chunk_nordic-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4970e01388f548a2ff07b8330c461c5c", "sha256": "111fcbaf10d02e60c87a0c49299983b8cd65b7a3d010c5fe1f889ad69fc086e3" }, "downloads": -1, "filename": "chunk_nordic-0.2.0.tar.gz", "has_sig": false, "md5_digest": "4970e01388f548a2ff07b8330c461c5c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 9890, "upload_time": "2019-06-03T20:09:12", "url": "https://files.pythonhosted.org/packages/f8/9c/b29d5bc84e0f213a22dc0c4fd6d00acb5ce5492794ef19f3f56e4092eb11/chunk_nordic-0.2.0.tar.gz" } ] }