Metadata-Version: 2.1
Name: python3-pytun
Version: 1.0.2.2
Summary: Python TUN/TAP tunnel module, Python3 compatible
Home-page: https://github.com/ebob9/pytun
Author: Aaron Edwards
Author-email: pytun@ebob9.com
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Telecommunications Industry
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet
Classifier: Topic :: System :: Networking
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6.1
Description-Content-Type: text/markdown
License-File: LICENSE

# python3-pytun

`python3-pytun` is an update to the `pytun` module that enables installation when using Python3. The package name was 
updated for pip installation as the original appears to be abandoned. It should be a drop-in replacement (still use `import pytun`.)

The patch was originally written by @famince and is available [here](https://github.com/famince/pytun).

Original `pytun` was written by @gawen and is available [here](https://github.com/gawen/pytun).

Original `README.md` continues below.

## pytun
`pytun` is a Python module to manage tun/tap IP tunnel in the same way you would manipulate a file handler.

For now, it is only compatible with Linux, probably Unix, maybe MacOsX, and in the future Windows.

`pytun` is under the MIT license.

### How to use

First of all, clone this repos or use `easy_install` or `pip`.

    pip install pytun
    easy_install pytun

Quite easy. Use the `open()` function.

    import pytun

    tun = pytun.open()  # Open a TUN mode tunnel

For a TAP tunnel, add the `"tap"` argument.

    tun = pytun.open("tap")

`tun` is the handler for the newly created tunnel and is manipulated like a file.

To read/write, use the standard methods `recv([size = 1500])` and `send(buf)`

    buf = tun.recv()
    tun.send(buf)

tun is also `select()` compatible to make your network reactor asynchronous.

    import select

    fds = select.select([tun, ...], [...], [...])

Finally, you can close the tunnel using the method `close()`.

    tun.close()

The tunnel automatically closes when the object is not referenced anymore and the garbage collector destroys the handler.


