{ "info": { "author": "montag451", "author_email": "montag451@laposte.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: C", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Networking" ], "description": "Linux TUN/TAP wrapper for Python\n================================\n\n``pytun`` is a Python module which let you create TUN/TAP device very easily.\n\nLicense: MIT (see LICENSE)\n\nInstallation and Dependencies\n-----------------------------\n\nInstall ``pytun`` with ``pip install python-pytun`` or `download this archive\n`_, decompress it and\nexecute ``python setup.py install``. As ``pytun`` is a C module you will need a\ncompiler (e.g GCC) and the Python developpement headers installed on your\nsystem (e.g on Debian-like distribution check that ``build-essential`` and\n``python-dev`` are present). There are no dependencies other than the Python\nStandard Library.\n\nDocumentation\n-------------\n\nNOTE: On most distributions you will need to be root to create TUN/TAP devices.\n\nTo create a TUN device::\n\n from pytun import TunTapDevice\n\n tun = TunTapDevice()\n\nTo create a TAP device::\n\n from pytun import TunTapDevice, IFF_TAP\n\n tap = TunTapDevice(flags=IFF_TAP)\n\nTo create a TUN/TAP device with a custom name use the ``name`` keyword::\n\n tun = TunTapDevice(name='mytun')\n\nYou can get/set some parameters of the device directly::\n\n print tun.name\n tun.addr = '10.8.0.1'\n tun.dstaddr = '10.8.0.2'\n tun.netmask = '255.255.255.0'\n tun.mtu = 1500\n\nIf the device is a TAP you can also get/set its MAC address::\n\n tap.hwaddr = '\\x00\\x11\\x22\\x33\\x44\\x55'\n print tap.hwaddr\n\nTo make the device persistent::\n\n tun.persist(True)\n\nTo bring up the device::\n\n tun.up()\n\nTo bring down the device::\n\n tun.down()\n\nTo read/write to the device, use the methods ``read(size)`` and\n``write(buf)``::\n\n buf = tun.read(tun.mtu)\n tun.write(buf)\n\nTo close the device::\n\n tun.close()\n\nYou can also use ``TunTapDevice`` objects with all functions that expect a\n``fileno()`` method (e.g ``select()``)", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/montag451/pytun", "keywords": "", "license": "", "maintainer": "montag451", "maintainer_email": "montag451@laposte.net", "name": "python-pytun", "package_url": "https://pypi.org/project/python-pytun/", "platform": "", "project_url": "https://pypi.org/project/python-pytun/", "project_urls": { "Homepage": "https://github.com/montag451/pytun" }, "release_url": "https://pypi.org/project/python-pytun/2.3.0/", "requires_dist": null, "requires_python": "", "summary": "Linux TUN/TAP wrapper for Python", "version": "2.3.0" }, "last_serial": 4603440, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "490de2ed64df245566f6460a7eb8113b", "sha256": "0987d3225b05fd531e4e28aa52ed19edf74b60dd1b688ba8aaaa33b71149cee3" }, "downloads": -1, "filename": "python-pytun-0.1.tar.gz", "has_sig": false, "md5_digest": "490de2ed64df245566f6460a7eb8113b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5523, "upload_time": "2012-03-06T17:43:36", "url": "https://files.pythonhosted.org/packages/54/db/4b61d2145f52cd6c8dfeaf67603eb05717598d3f91f625098b73f71aa783/python-pytun-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "0c8ce8ace5046e4a219f9d8b304c0117", "sha256": "d02ad66372b4edf73e1fb1a34d2610a49d359a56e081585dffd3290322c6b9d1" }, "downloads": -1, "filename": "python-pytun-0.2.tar.gz", "has_sig": false, "md5_digest": "0c8ce8ace5046e4a219f9d8b304c0117", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6655, "upload_time": "2012-03-15T12:26:10", "url": "https://files.pythonhosted.org/packages/3a/c6/6792ce3b89260d3b30eef6cd8b36122064a301c971264bf04c2f9991cdd1/python-pytun-0.2.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "52acb09cda46d20f1fd64a06b30d9d2a", "sha256": "9214a1023bac4ecbce25944ad5222fc0f870f6718d0693bb9d5bd5f6dcf1637d" }, "downloads": -1, "filename": "python-pytun-1.0.tar.gz", "has_sig": false, "md5_digest": "52acb09cda46d20f1fd64a06b30d9d2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6703, "upload_time": "2012-10-07T12:37:52", "url": "https://files.pythonhosted.org/packages/8c/c7/1bbfa7cd7e86542c865ce2b49fa6d36cf5f5b40e5deb04019e24f3a9b110/python-pytun-1.0.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "0ca1bc1c67dbe238537eb0522d79f050", "sha256": "7505cce4708f439f1897ed9be4b4d71ac43c2fcc3f3292ecc13e61354c52b365" }, "downloads": -1, "filename": "python-pytun-2.0.tar.gz", "has_sig": false, "md5_digest": "0ca1bc1c67dbe238537eb0522d79f050", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7157, "upload_time": "2013-03-23T01:09:36", "url": "https://files.pythonhosted.org/packages/9a/0e/f5755d6f475f392b1f5edaa9194d5f074e29c806edf8dc4ae68a06d8dd22/python-pytun-2.0.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "669410dd10a23a27ea89fa4bc4a4b7fa", "sha256": "0c74ed34e1b80ab9fc34fecd5fd970d7818fef008e553f0076ed46533024859d" }, "downloads": -1, "filename": "python-pytun-2.1.tar.gz", "has_sig": false, "md5_digest": "669410dd10a23a27ea89fa4bc4a4b7fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7197, "upload_time": "2013-03-31T20:26:59", "url": "https://files.pythonhosted.org/packages/9d/62/162c41a7313404c7a02b75f94a2458e089022351119dbf715b396d63c082/python-pytun-2.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "e2d080f236879e27fc1a43603aaabb5d", "sha256": "60de9001a568a5667a8b754461e165820e2256a3bf5907d1d474e22a4d94899a" }, "downloads": -1, "filename": "python-pytun-2.2.tar.gz", "has_sig": false, "md5_digest": "e2d080f236879e27fc1a43603aaabb5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7471, "upload_time": "2014-05-25T12:28:57", "url": "https://files.pythonhosted.org/packages/17/04/195801fc13b70731f670ea3d45f879bcdf33ac3df5f18b5f9444bf9e24e4/python-pytun-2.2.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "5b35b1cf80a02cca7ec72eb95d6b0192", "sha256": "07595dadf85f5176eb08c8d4d9ba5b862a180e96633f670f91437c47a1bead0d" }, "downloads": -1, "filename": "python-pytun-2.2.1.tar.gz", "has_sig": false, "md5_digest": "5b35b1cf80a02cca7ec72eb95d6b0192", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7457, "upload_time": "2015-12-11T14:56:40", "url": "https://files.pythonhosted.org/packages/27/5e/2dca05dda9d181d7333c7e88ace46639940d4e689d3faea50c645e3af2e0/python-pytun-2.2.1.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "48b01b652ed2261bc8fe323bf16e781a", "sha256": "9b918ff11b92f85781baffc258d6c94d49fb9367ad8c166724b88e46c46421f9" }, "downloads": -1, "filename": "python_pytun-2.3.0-cp27-cp27m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "48b01b652ed2261bc8fe323bf16e781a", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 28659, "upload_time": "2018-12-15T19:32:53", "url": "https://files.pythonhosted.org/packages/52/dc/534bf3d749abf2c9c5f40ba02721e37945651a504b8b8bfdf22a4723ec35/python_pytun-2.3.0-cp27-cp27m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "4bb4ae0ec6b10e2e61e29490cbd09f1b", "sha256": "5044add1b0b82bf68c47cb3f312edc243ed73b05cade5045758358148a529754" }, "downloads": -1, "filename": "python_pytun-2.3.0-cp27-cp27mu-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "4bb4ae0ec6b10e2e61e29490cbd09f1b", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 28659, "upload_time": "2018-12-15T19:32:54", "url": "https://files.pythonhosted.org/packages/8d/c7/6ce9948c1473e29fcd10071e8a2b8626b7f33d7acbc161d6c6e036dc6348/python_pytun-2.3.0-cp27-cp27mu-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "1539fdeff1c260e4469ecf2bbcd73b2b", "sha256": "86a255c0233f2a2c30fade3d088e68dc5a70653e40824a286f23c3e61f978b7c" }, "downloads": -1, "filename": "python_pytun-2.3.0-cp34-cp34m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "1539fdeff1c260e4469ecf2bbcd73b2b", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 29705, "upload_time": "2018-12-15T19:32:55", "url": "https://files.pythonhosted.org/packages/f1/0b/cccd65682da6b9a67a4abf4e5b0c29ae7f6b7667eceb641524334bf6309f/python_pytun-2.3.0-cp34-cp34m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "21f790859ff695bc7c6ab8ee1636cd33", "sha256": "27aae68d347366058748a1d462fe817494863df65dca576a9fea4cf5c5cba884" }, "downloads": -1, "filename": "python_pytun-2.3.0-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "21f790859ff695bc7c6ab8ee1636cd33", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 29918, "upload_time": "2018-12-15T19:32:57", "url": "https://files.pythonhosted.org/packages/72/2b/73bb31eec26f7e7f17388114f4bd230ce3797eb1ffe89009811f4625610e/python_pytun-2.3.0-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "af01117cb1af51639b914d04c855d871", "sha256": "9e5295767217f60e3fcbd2e73d4f8c798e9c5d9a09b3c6eedadaedfaf66c85d9" }, "downloads": -1, "filename": "python_pytun-2.3.0-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "af01117cb1af51639b914d04c855d871", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 30045, "upload_time": "2018-12-15T19:32:58", "url": "https://files.pythonhosted.org/packages/e4/4e/9107c29d34f7c26053e68bda6e01faffe28e802d6d79a3bba1e70cba1df3/python_pytun-2.3.0-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "f82a62623cec173d38600eea9ac8219a", "sha256": "32be1cdf3c318b0ec88c64c90ae44ce041d8d98c1c8bb1b93646edefb0be8ef4" }, "downloads": -1, "filename": "python_pytun-2.3.0-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "f82a62623cec173d38600eea9ac8219a", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 30972, "upload_time": "2018-12-15T19:32:59", "url": "https://files.pythonhosted.org/packages/15/8a/0331cec6ca6f434329767ab953a1044ccc829286932b4bed32762d52dab2/python_pytun-2.3.0-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "adcaeea56d0ed06814487cdbde32d198", "sha256": "5ead86b3391acef239535ebcabeb04d2cdc6b40ab14580d28c6da193c2d1fe53" }, "downloads": -1, "filename": "python-pytun-2.3.0.tar.gz", "has_sig": false, "md5_digest": "adcaeea56d0ed06814487cdbde32d198", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7869, "upload_time": "2018-12-15T17:59:12", "url": "https://files.pythonhosted.org/packages/52/a4/a062106c739eac79c8160fcf5779ebc84afc1c38b016ab216ed1e6da69b6/python-pytun-2.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "48b01b652ed2261bc8fe323bf16e781a", "sha256": "9b918ff11b92f85781baffc258d6c94d49fb9367ad8c166724b88e46c46421f9" }, "downloads": -1, "filename": "python_pytun-2.3.0-cp27-cp27m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "48b01b652ed2261bc8fe323bf16e781a", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 28659, "upload_time": "2018-12-15T19:32:53", "url": "https://files.pythonhosted.org/packages/52/dc/534bf3d749abf2c9c5f40ba02721e37945651a504b8b8bfdf22a4723ec35/python_pytun-2.3.0-cp27-cp27m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "4bb4ae0ec6b10e2e61e29490cbd09f1b", "sha256": "5044add1b0b82bf68c47cb3f312edc243ed73b05cade5045758358148a529754" }, "downloads": -1, "filename": "python_pytun-2.3.0-cp27-cp27mu-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "4bb4ae0ec6b10e2e61e29490cbd09f1b", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 28659, "upload_time": "2018-12-15T19:32:54", "url": "https://files.pythonhosted.org/packages/8d/c7/6ce9948c1473e29fcd10071e8a2b8626b7f33d7acbc161d6c6e036dc6348/python_pytun-2.3.0-cp27-cp27mu-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "1539fdeff1c260e4469ecf2bbcd73b2b", "sha256": "86a255c0233f2a2c30fade3d088e68dc5a70653e40824a286f23c3e61f978b7c" }, "downloads": -1, "filename": "python_pytun-2.3.0-cp34-cp34m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "1539fdeff1c260e4469ecf2bbcd73b2b", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 29705, "upload_time": "2018-12-15T19:32:55", "url": "https://files.pythonhosted.org/packages/f1/0b/cccd65682da6b9a67a4abf4e5b0c29ae7f6b7667eceb641524334bf6309f/python_pytun-2.3.0-cp34-cp34m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "21f790859ff695bc7c6ab8ee1636cd33", "sha256": "27aae68d347366058748a1d462fe817494863df65dca576a9fea4cf5c5cba884" }, "downloads": -1, "filename": "python_pytun-2.3.0-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "21f790859ff695bc7c6ab8ee1636cd33", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 29918, "upload_time": "2018-12-15T19:32:57", "url": "https://files.pythonhosted.org/packages/72/2b/73bb31eec26f7e7f17388114f4bd230ce3797eb1ffe89009811f4625610e/python_pytun-2.3.0-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "af01117cb1af51639b914d04c855d871", "sha256": "9e5295767217f60e3fcbd2e73d4f8c798e9c5d9a09b3c6eedadaedfaf66c85d9" }, "downloads": -1, "filename": "python_pytun-2.3.0-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "af01117cb1af51639b914d04c855d871", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 30045, "upload_time": "2018-12-15T19:32:58", "url": "https://files.pythonhosted.org/packages/e4/4e/9107c29d34f7c26053e68bda6e01faffe28e802d6d79a3bba1e70cba1df3/python_pytun-2.3.0-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "f82a62623cec173d38600eea9ac8219a", "sha256": "32be1cdf3c318b0ec88c64c90ae44ce041d8d98c1c8bb1b93646edefb0be8ef4" }, "downloads": -1, "filename": "python_pytun-2.3.0-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "f82a62623cec173d38600eea9ac8219a", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 30972, "upload_time": "2018-12-15T19:32:59", "url": "https://files.pythonhosted.org/packages/15/8a/0331cec6ca6f434329767ab953a1044ccc829286932b4bed32762d52dab2/python_pytun-2.3.0-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "adcaeea56d0ed06814487cdbde32d198", "sha256": "5ead86b3391acef239535ebcabeb04d2cdc6b40ab14580d28c6da193c2d1fe53" }, "downloads": -1, "filename": "python-pytun-2.3.0.tar.gz", "has_sig": false, "md5_digest": "adcaeea56d0ed06814487cdbde32d198", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7869, "upload_time": "2018-12-15T17:59:12", "url": "https://files.pythonhosted.org/packages/52/a4/a062106c739eac79c8160fcf5779ebc84afc1c38b016ab216ed1e6da69b6/python-pytun-2.3.0.tar.gz" } ] }