{ "info": { "author": "TalkIQ (original authors: gaohawk, Justin Riley)", "author_email": "engineering@talkiq.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Topic :: Internet", "Topic :: System :: Networking :: Firewalls" ], "description": "PyStun3\n=======\nA Python STUN client for getting NAT type and external IP. Supports Python\nversions 2 and 3.\n\nThis project has been forked several times:\n- `original project by gaohawk`_\n- `taken over by jtriley`_\n- `forked and patched to support py3 by zoumi`_\n- and, finally, forked by `TalkIQ`_\n\nPyStun follows `RFC 3489`_. A server following STUN-bis hasn't been found on\ninternet so RFC3489 is the only implementation.\n\nInstallation\n------------\nTo install the latest version::\n\n $ pip install pystun3\n\nor download/clone the source and install manually using::\n\n $ cd /path/to/pystun3/src\n $ python setup.py install\n\nIf you're hacking on ``pystun3`` you should use the 'develop' command instead::\n\n $ python setup.py develop\n\nThis will make a link to the sources inside your site-packages directory so\nthat any changes are immediately available for testing.\n\nUsage\n-----\nFrom command line::\n\n $ pystun3\n NAT Type: Full Cone\n External IP: \n External Port: 54320\n\nPass --help for more options::\n\n % pystun3 --help\n usage: pystun3 [-h] [-d] [-H STUN_HOST] [-P STUN_PORT] [-i SOURCE_IP]\n [-p SOURCE_PORT] [--version]\n\n optional arguments:\n -h, --help show this help message and exit\n -d, --debug Enable debug logging (default: False)\n -H STUN_HOST, --host STUN_HOST\n STUN host to use (default: None)\n -P STUN_PORT, --host-port STUN_PORT\n STUN host port to use (default: 3478)\n -i SOURCE_IP, --interface SOURCE_IP\n network interface for client (default: 0.0.0.0)\n -p SOURCE_PORT, --port SOURCE_PORT\n port to listen on for client (default: 54320)\n --version show program's version number and exit\n\nFrom Python::\n\n import stun\n nat_type, external_ip, external_port = stun.get_ip_info()\n\nThis will rotate through an internal list of STUN servers until a response is\nfound. If no response is found you will get ``\"Blocked\"`` as the ``nat_type``\nand ``None`` for ``external_ip`` and ``external_port``.\n\nIf you prefer to use a specific STUN server::\n\n nat_type, external_ip, external_port = stun.get_ip_info(stun_host='stun.ekiga.net')\n\nIf you prefer to use a specific STUN server port::\n\n nat_type, external_ip, external_port = stun.get_ip_info(stun_port=3478)\n\nYou may also specify the client interface and port that is used although this\nis not needed::\n\n sip = \"0.0.0.0\" # interface to listen on (all)\n port = 54320 # port to listen on\n nat_type, external_ip, external_port = stun.get_ip_info(sip, port)\n\nRead the code for more details...\n\nLICENSE\n-------\nMIT\n\n.. _forked and patched to support py3 by zoumi: https://github.com/zoumi/pystun\n.. _original project by gaohawk: http://code.google.com/p/pystun/\n.. _RFC 3489: http://www.ietf.org/rfc/rfc3489.txt\n.. _taken over by jtriley: https://github.com/jtriley/pystun\n.. _TalkIQ: https://github.com/talkiq\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/talkiq/pystun3", "keywords": "STUN NAT", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pystun3", "package_url": "https://pypi.org/project/pystun3/", "platform": "", "project_url": "https://pypi.org/project/pystun3/", "project_urls": { "Homepage": "http://github.com/talkiq/pystun3" }, "release_url": "https://pypi.org/project/pystun3/1.0.0/", "requires_dist": null, "requires_python": "", "summary": "A Python STUN client for getting NAT type and external IP (RFC 3489)", "version": "1.0.0" }, "last_serial": 3955701, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "65901930f618e441d62ea629f51f2570", "sha256": "df9c4c4a5b27f520472c6a7547ca24ac39148b0fc5f6f500275161258e250019" }, "downloads": -1, "filename": "pystun3-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "65901930f618e441d62ea629f51f2570", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8860, "upload_time": "2018-06-12T22:44:57", "url": "https://files.pythonhosted.org/packages/31/55/467df0b254d10f4b542bad221ed42f08d276b3cfacb18ea071698689dbd2/pystun3-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a6bbe7bd381e868b1426f1718764597", "sha256": "f080e739880cda781fa588a945b4d5bed0858e2ceab40143a08973ec674f9e72" }, "downloads": -1, "filename": "pystun3-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2a6bbe7bd381e868b1426f1718764597", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8827, "upload_time": "2018-06-12T22:44:58", "url": "https://files.pythonhosted.org/packages/42/07/444fa5552f471d4ff69ba36c030fc91880a0fb856ed29a146ea5f5ecd208/pystun3-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "73de391ae3048cb84f8c569d7aee9362", "sha256": "abafa1d957741df4bcc4cd2298a423db5831fec2600a62719210ea115dddc8f9" }, "downloads": -1, "filename": "pystun3-1.0.0.tar.gz", "has_sig": false, "md5_digest": "73de391ae3048cb84f8c569d7aee9362", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5966, "upload_time": "2018-06-12T22:44:59", "url": "https://files.pythonhosted.org/packages/a4/97/d3d5657eaaa9fa3dc3c2546b775d0758fcd448891299e5773619f75be820/pystun3-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "65901930f618e441d62ea629f51f2570", "sha256": "df9c4c4a5b27f520472c6a7547ca24ac39148b0fc5f6f500275161258e250019" }, "downloads": -1, "filename": "pystun3-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "65901930f618e441d62ea629f51f2570", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8860, "upload_time": "2018-06-12T22:44:57", "url": "https://files.pythonhosted.org/packages/31/55/467df0b254d10f4b542bad221ed42f08d276b3cfacb18ea071698689dbd2/pystun3-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a6bbe7bd381e868b1426f1718764597", "sha256": "f080e739880cda781fa588a945b4d5bed0858e2ceab40143a08973ec674f9e72" }, "downloads": -1, "filename": "pystun3-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2a6bbe7bd381e868b1426f1718764597", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8827, "upload_time": "2018-06-12T22:44:58", "url": "https://files.pythonhosted.org/packages/42/07/444fa5552f471d4ff69ba36c030fc91880a0fb856ed29a146ea5f5ecd208/pystun3-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "73de391ae3048cb84f8c569d7aee9362", "sha256": "abafa1d957741df4bcc4cd2298a423db5831fec2600a62719210ea115dddc8f9" }, "downloads": -1, "filename": "pystun3-1.0.0.tar.gz", "has_sig": false, "md5_digest": "73de391ae3048cb84f8c569d7aee9362", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5966, "upload_time": "2018-06-12T22:44:59", "url": "https://files.pythonhosted.org/packages/a4/97/d3d5657eaaa9fa3dc3c2546b775d0758fcd448891299e5773619f75be820/pystun3-1.0.0.tar.gz" } ] }