{ "info": { "author": "str4d", "author_email": "str4d@i2pmail.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Twisted", "Intended Audience :: Developers", "License :: OSI Approved :: ISC License (ISCL)", "Operating System :: OS Independent", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 2 :: Only", "Topic :: Internet" ], "description": "=====\ntxi2p\n=====\n\n.. image:: https://api.travis-ci.org/str4d/txi2p.svg?branch=master\n :target: https://www.travis-ci.org/str4d/txi2p\n :alt: travis\n\n.. image:: https://coveralls.io/repos/github/str4d/txi2p/badge.svg?branch=master\n :target: https://coveralls.io/github/str4d/txi2p?branch=master\n :alt: coveralls\n\n|txi2p| is a set of I2P bindings for `Twisted `_\n10.1 or greater. It currently requires Python 2.\n\n|txi2p| supports both the SAM and BOB APIs for I2P. The default API is SAM.\n\nInstallation\n============\n\nYou can install |txi2p| from PyPI::\n\n $ pip2 install txi2p\n\nor by downloading the source and running::\n\n $ pip2 install .\n\ninside the source directory.\n\nQuickstart\n==========\n\nIf you are not familiar with using endpoints or endpoint strings, read the\n`Twisted endpoints`_ documentation.\n\n.. _Twisted endpoints: https://twistedmatrix.com/documents/current/core/howto/endpoints.html\n\nUsing endpoint classes\n----------------------\n\nTo connect to an I2P site::\n\n from twisted.internet import reactor\n from twisted.internet.endpoints import clientFromString\n from txi2p.sam import SAMI2PStreamClientEndpoint\n\n samEndpoint = clientFromString(reactor, 'tcp:127.0.0.1:7656')\n endpoint = SAMI2PStreamClientEndpoint.new(samEndpoint, 'stats.i2p')\n d = endpoint.connect(factory)\n\nTo have a server listen on an I2P Destination::\n\n from twisted.internet import reactor\n from twisted.internet.endpoints import clientFromString\n from txi2p.sam import SAMI2PStreamServerEndpoint\n\n samEndpoint = clientFromString(reactor, 'tcp:127.0.0.1:7656')\n endpoint = SAMI2PStreamServerEndpoint.new(samEndpoint, '/path/to/keyfile')\n d = endpoint.listen(factory)\n\nUsing endpoint strings\n----------------------\n\nRequires `Twisted`_ 14.0 or greater.\n\nTo connect to an I2P site::\n\n from twisted.internet import reactor\n from twisted.internet.endpoints import clientFromString\n\n endpoint = clientFromString(reactor, 'i2p:stats.i2p')\n d = endpoint.connect(factory)\n\nTo have a server listen on an I2P Destination::\n\n from twisted.internet import reactor\n from twisted.internet.endpoints import serverFromString\n\n endpoint = serverFromString(reactor, 'i2p:/path/to/keyfile')\n d = endpoint.listen(factory)\n\nTo connect using a specific API::\n\n from twisted.internet import reactor\n from twisted.internet.endpoints import clientFromString\n\n endpoint = clientFromString(reactor, 'i2p:stats.i2p:api=BOB')\n d = endpoint.connect(factory)\n\nTo connect using a non-standard API host or port::\n\n from twisted.internet import reactor\n from twisted.internet.endpoints import clientFromString\n\n endpoint = clientFromString(reactor, 'i2p:stats.i2p:api=SAM:apiEndpoint=tcp\\:127.0.0.1\\:31337')\n d = endpoint.connect(factory)\n\n\nEndpoint strings\n================\n\nThe Twisted plugin for |clientFromString| and |serverFromString| will\nonly work for `Twisted`_ 14.0 or greater.\n\nBoth client and server strings support the following keyword arguments:\n\n* ``api=`` - Either ``SAM`` or ``BOB``.\n* ``apiEndpoint=`` - An escaped client endpoint string pointing\n to the API, e.g. ``tcp\\:127.0.0.1\\:2827``.\n\nClients\n-------\n\nClient string format::\n\n i2p:[:port][:key=value]*\n\nSupported arguments:\n\n**SAM**\n\n* ``nickname``\n* ``autoClose``\n* ``keyfile``\n* ``localPort``\n* ``options``\n* ``sigType``\n\n**BOB**\n\n* ``tunnelNick``\n* ``inhost``\n* ``inport``\n* ``options``\n\nServers\n-------\n\nServer string format::\n\n i2p:[:port][:key=value]*\n\nSupported arguments:\n\n**SAM**\n\n* ``nickname``\n* ``autoClose``\n* ``options``\n* ``sigType``\n\n**BOB**\n\n* ``tunnelNick``\n* ``outhost``\n* ``outport``\n* ``options``\n\nImportant changes\n=================\n\n0.3.2\n-----\n\n* The default signature type for new Destinations is Ed25519.\n\n * If the SAM server does not support that (Java I2P 0.9.16 and earlier), txi2p\n will fall back on ECDSA_SHA256_P256, followed by the old default DSA_SHA1.\n\n0.3\n---\n\n* Ports are now supported on the SAM API.\n\n * Previous ``port`` options are no longer ignored.\n * New ``localPort`` option for setting the client's local port.\n\n* The ``SAMI2PStreamServerEndpoint`` API has changed to no longer require a\n reactor.\n\nDocumentation\n=============\n\nAPI documentation is available at https://txi2p.readthedocs.org\n\n.. |txi2p| replace:: ``txi2p``\n.. |clientFromString| replace:: ``clientFromString()``\n.. |serverFromString| replace:: ``serverFromString()``", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/str4d/txi2p", "keywords": null, "license": "ISC", "maintainer": null, "maintainer_email": null, "name": "txi2p", "package_url": "https://pypi.org/project/txi2p/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/txi2p/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/str4d/txi2p" }, "release_url": "https://pypi.org/project/txi2p/0.3.2/", "requires_dist": null, "requires_python": null, "summary": "I2P bindings for Twisted", "version": "0.3.2" }, "last_serial": 2748714, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "c63e7defcd2c61362dcc086d4a895b0a", "sha256": "053fb2e4fc73b88458a45a0713e69d61495e5babc49e17d2bb5d2af9c89f486f" }, "downloads": -1, "filename": "txi2p-0.1.0.tar.gz", "has_sig": true, "md5_digest": "c63e7defcd2c61362dcc086d4a895b0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12352, "upload_time": "2013-11-06T01:59:27", "url": "https://files.pythonhosted.org/packages/9a/c6/822df7bda975f7e142859ca7934e40468520bbebe4ebe0ec9c9995b0625f/txi2p-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "645c30f9ecd2a31bf9405d63a7be1025", "sha256": "862e92496c02df17989e91a6fe27db2ce49fdd923858fe12b040a57facbecff9" }, "downloads": -1, "filename": "txi2p-0.1.1.tar.gz", "has_sig": true, "md5_digest": "645c30f9ecd2a31bf9405d63a7be1025", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13864, "upload_time": "2013-11-06T19:25:52", "url": "https://files.pythonhosted.org/packages/89/16/2fe607a7145ec31cedcc7da5176a1ece6f9d522f30e12376b2ad216ddf3c/txi2p-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "af340e42ac9ae4fd11eb4fcdc33a2ca0", "sha256": "9cd969a9d281e3156569948b282881558e919158fa08af697cf2fcff11d7aca6" }, "downloads": -1, "filename": "txi2p-0.1.2.tar.gz", "has_sig": false, "md5_digest": "af340e42ac9ae4fd11eb4fcdc33a2ca0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15163, "upload_time": "2013-12-01T03:18:27", "url": "https://files.pythonhosted.org/packages/ee/d9/0d8c8675910123555595a9562972333bba9659f083ef6f55f463fb76a249/txi2p-0.1.2.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "361f91e0c637bd3b667cf4eb7564adb2", "sha256": "0e0b1d25affd1ad8755348ab51ca678202c3975e8bc114435bdffd14f7cb72f2" }, "downloads": -1, "filename": "txi2p-0.1.5.tar.gz", "has_sig": false, "md5_digest": "361f91e0c637bd3b667cf4eb7564adb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15279, "upload_time": "2014-09-03T12:39:47", "url": "https://files.pythonhosted.org/packages/d1/42/86475223698771497ab37622483dc2c0c989ac05d50f45658af323edd642/txi2p-0.1.5.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "97d8b229fc82032c02782f025455d474", "sha256": "6981b464ddc6ec0210305e184bc85ce2720449ab6bad480345fa194466f5fe01" }, "downloads": -1, "filename": "txi2p-0.2-py2-none-any.whl", "has_sig": true, "md5_digest": "97d8b229fc82032c02782f025455d474", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 40163, "upload_time": "2015-09-20T08:10:27", "url": "https://files.pythonhosted.org/packages/6d/26/9bb5f6de7ee0b0c0e5f39eddf1eabcfca78b4ead6ba36cf7d22fa0d9d8c0/txi2p-0.2-py2-none-any.whl" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "0a3bbc0c3b3750d40b09ef588a576db0", "sha256": "c0bb6b70f7530f15b485b0770cace5cadcf9591a7a4913136d246f56660e6d32" }, "downloads": -1, "filename": "txi2p-0.2.1.tar.gz", "has_sig": false, "md5_digest": "0a3bbc0c3b3750d40b09ef588a576db0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30095, "upload_time": "2016-06-20T13:41:13", "url": "https://files.pythonhosted.org/packages/7a/f3/b3368478a47a8a8d641fc2855cff1f0a1a7bcd4820ea82920a7370bf4f64/txi2p-0.2.1.tar.gz" } ], "0.2.post1": [ { "comment_text": "", "digests": { "md5": "1796efeae88f9008570b06e47d2cc39d", "sha256": "bef23c9cf7c28f102023630621224ddc167e16ae23409ec7a33bcac586c410e3" }, "downloads": -1, "filename": "txi2p-0.2.post1-py2-none-any.whl", "has_sig": false, "md5_digest": "1796efeae88f9008570b06e47d2cc39d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 39273, "upload_time": "2015-09-20T11:45:53", "url": "https://files.pythonhosted.org/packages/95/21/b3c54dff97eab2e273e04a1244c9536d8944353613da54f06edce9ab71ef/txi2p-0.2.post1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c527d27b7cb45f4b06b5c0213f09990", "sha256": "2ebadb5e2963ed1d664cd35bb2c031c982fc4a010212b6e33cc486f1287467fb" }, "downloads": -1, "filename": "txi2p-0.2.post1.tar.gz", "has_sig": false, "md5_digest": "6c527d27b7cb45f4b06b5c0213f09990", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29773, "upload_time": "2015-09-20T11:45:59", "url": "https://files.pythonhosted.org/packages/f8/2c/571e4ec557fd44e619e8793f1002c21f98df6c40451f300009310df4328a/txi2p-0.2.post1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "0b588f65337124d05d111a4f88394051", "sha256": "cabe036ad3ba31633f83ace99eaf20b835b563218f234c6da8cd76d169f23a69" }, "downloads": -1, "filename": "txi2p-0.3.tar.gz", "has_sig": false, "md5_digest": "0b588f65337124d05d111a4f88394051", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31057, "upload_time": "2016-07-02T14:30:33", "url": "https://files.pythonhosted.org/packages/5a/4e/4d4c54cb8b6a7dfbc8cd61906d1bcdce189a1785f5de3733b0047ae0a072/txi2p-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "3ec0650925e62fda2f7ef665983ff1ff", "sha256": "e54bc283f99b92769e680bb02500a6170b95a7c648390061f1bb9c3c8c2900da" }, "downloads": -1, "filename": "txi2p-0.3.1.tar.gz", "has_sig": false, "md5_digest": "3ec0650925e62fda2f7ef665983ff1ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32806, "upload_time": "2016-10-23T18:29:58", "url": "https://files.pythonhosted.org/packages/1e/44/417f36c5b2690d3f1e8c3eaccc15b82190cd517e874a97b4a7b06ae02279/txi2p-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "af7b0a2e5388458a6dff1c09e525b922", "sha256": "bb325f818a9ca8f33cb4fa0bcfb7dcdca834e283df233466afb2353a2ef6febf" }, "downloads": -1, "filename": "txi2p-0.3.2.tar.gz", "has_sig": false, "md5_digest": "af7b0a2e5388458a6dff1c09e525b922", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33134, "upload_time": "2017-04-03T06:33:04", "url": "https://files.pythonhosted.org/packages/b1/4f/c68c155e452b3e0f7e997c4dfdc2f3a6814dd9a781fe47acee03df6dd72f/txi2p-0.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "af7b0a2e5388458a6dff1c09e525b922", "sha256": "bb325f818a9ca8f33cb4fa0bcfb7dcdca834e283df233466afb2353a2ef6febf" }, "downloads": -1, "filename": "txi2p-0.3.2.tar.gz", "has_sig": false, "md5_digest": "af7b0a2e5388458a6dff1c09e525b922", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33134, "upload_time": "2017-04-03T06:33:04", "url": "https://files.pythonhosted.org/packages/b1/4f/c68c155e452b3e0f7e997c4dfdc2f3a6814dd9a781fe47acee03df6dd72f/txi2p-0.3.2.tar.gz" } ] }