{ "info": { "author": "ed", "author_email": "r0c@ocv.me", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Communications :: Chat" ], "description": "``r0c`` telnet server\n=========================\n\n\n* retr0chat, irc-like chat service for superthin clients `(on PyPI) `_\n* MIT-Licensed, 2018-01-07, ed @ irc.rizon.net\n* `windows telnet 360 noscope `_ <- good video\n\n\n.. image:: https://ocv.me/static/r0c/docs/r0c.png\n :target: https://ocv.me/static/r0c/docs/r0c.png\n :alt: screenshot of telnet connected to a r0c server\n\n\nsummary\n-------\n\nimagine being stuck on ancient gear, in the middle of nowhere, on a slow connection between machines that are even more archaic than the toaster you're trying to keep from falling apart\n\nretr0chat is the lightweight, no-dependencies, runs-anywhere solution for when life gives you lemons\n\n\n* tries to be irssi\n* zero dependencies on python 2.6, 2.7, 3.x\n* supports telnet, netcat, /dev/tcp clients\n* fallbacks for inhumane conditions\n\n * linemode\n * no vt100 / ansi escape codes\n\nwindows clients\n---------------\n\n\n* use `putty `_ in telnet mode\n* or `the powershell client `_\n* or enable ``Telnet Client`` in control panel ``->`` programs ``->`` programs and features ``->`` turn windows features on or off, then press WIN+R and run ``telnet r0c.int``\n\nputty is the best option;\n\n\n* windows-telnet has a bug (since win7) where unicode letters become unstable the more text you have on the screen (starts flickering and then disappear one by one)\n* the powershell client wastes a LOT of data :sub:`(an entire kilobyte for each new message, totally unbelievable, who could possibly afford that)` because powershell's scrolling is glitchy af\n\nlinux clients\n-------------\n\nmost to least recommended\n\n.. list-table::\n :header-rows: 1\n\n * - client\n - example\n * - telnet\n - ``telnet r0c.int``\n * - socat\n - ``socat -,raw,echo=0 tcp:r0c.int:531``\n * - bash\n - `mostly internals `_\n * - netcat\n - ``nc r0c.int 531``\n\n\nyou can even ``exec 147<>/dev/tcp/r0c.int/531;cat<&147&while IFS= read -rn1 x;do [ -z \"$x\" ]&&x=$'\\n';printf %s \"$x\">&147;done`` (disconnect using ``exec 147<&-; killall cat #sorry``\\ )\n\nfirewall rules\n--------------\n\ntelnet uses port 23 by default, so on the server you'll want to port-forward ``23`` to ``2323`` (and ``531`` to ``1531`` for plaintext):\n\n.. code-block:: bash\n\n iptables -A INPUT -p tcp --dport 23 -m state --state NEW -j ACCEPT\n iptables -A INPUT -p tcp --dport 531 -m state --state NEW -j ACCEPT\n iptables -A INPUT -p tcp --dport 2323 -m state --state NEW -j ACCEPT\n iptables -A INPUT -p tcp --dport 1531 -m state --state NEW -j ACCEPT\n iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 23 -j REDIRECT --to-port 2323\n iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 531 -j REDIRECT --to-port 1531\n\ndocumentation\n-------------\n\nnot really but there is a `list of commands `_ and a `list of hotkeys `_\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/9001/r0c", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "r0c", "package_url": "https://pypi.org/project/r0c/", "platform": "", "project_url": "https://pypi.org/project/r0c/", "project_urls": { "Homepage": "https://github.com/9001/r0c" }, "release_url": "https://pypi.org/project/r0c/1.1.4/", "requires_dist": null, "requires_python": "", "summary": "retr0chat telnet/vt100 chat server", "version": "1.1.4" }, "last_serial": 4224424, "releases": { "1.1.0": [ { "comment_text": "", "digests": { "md5": "0da9adbca9c0058df2c6627a0e61aa2b", "sha256": "3ce1926541b3425bd9334e2542c27bd7b0d3ba77d5f560d3fa46b3aa9da76555" }, "downloads": -1, "filename": "r0c-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0da9adbca9c0058df2c6627a0e61aa2b", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 71968, "upload_time": "2018-03-21T00:43:59", "url": "https://files.pythonhosted.org/packages/c2/92/fb8dc823267659bcc751ce8e3efb4fff63d74c7b49bedfd4083f05723d42/r0c-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "59892466cd6e67d871a9b5617a9229cd", "sha256": "9962a4e45f2435dbf70951fc13470b8ebdad65b6a26dd7f6535e4a38cb837e22" }, "downloads": -1, "filename": "r0c-1.1.0.tar.gz", "has_sig": false, "md5_digest": "59892466cd6e67d871a9b5617a9229cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56369, "upload_time": "2018-03-21T00:43:57", "url": "https://files.pythonhosted.org/packages/0e/8e/911ae36789236b36192c0e42beb65fdd3feb8e47cf77b51ff7fcd02797c2/r0c-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "8daadfbabdb44906f2e53019bc6879aa", "sha256": "7e97a7d6b8c21a5e612734296844afbcaaad91ffe838713fe1bd0c0cdf766d87" }, "downloads": -1, "filename": "r0c-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8daadfbabdb44906f2e53019bc6879aa", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 71994, "upload_time": "2018-03-21T00:54:14", "url": "https://files.pythonhosted.org/packages/c6/38/c6fe574e794dffb328f6b5206e401b353ebeedb947837ec1aa4eaa2e728d/r0c-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c41f53f7a43ace3e5cb70ffb99660f95", "sha256": "5aeb06e7185c676a960303dc04fb14fdaedadb23d8bf7a30ba51fa35905ccaa3" }, "downloads": -1, "filename": "r0c-1.1.1.tar.gz", "has_sig": false, "md5_digest": "c41f53f7a43ace3e5cb70ffb99660f95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56385, "upload_time": "2018-03-21T00:54:11", "url": "https://files.pythonhosted.org/packages/b1/46/2a5092bc574c4bfa23ecc0b9a9a97e228da8ca7ed374e2fdf1f34fe5bce7/r0c-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "804a6670d6c7d20aeeade1a57eb419e6", "sha256": "48ab770bbe933f41747df79216c67e5dba3d3c5d6e137264ed3d3cfdf153fc86" }, "downloads": -1, "filename": "r0c-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "804a6670d6c7d20aeeade1a57eb419e6", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 72154, "upload_time": "2018-03-21T07:42:33", "url": "https://files.pythonhosted.org/packages/e4/eb/33ae123558a2f0b7e36b04406ac35363249ee8165d7a6222527aa7cc6ee8/r0c-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d39ba82d928af6bc512b82b620cd64f8", "sha256": "2e01c0993a15571e26ac6c9b548e685f61d89816f5855197c3dea3ff997dea3c" }, "downloads": -1, "filename": "r0c-1.1.2.tar.gz", "has_sig": false, "md5_digest": "d39ba82d928af6bc512b82b620cd64f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56491, "upload_time": "2018-03-21T07:42:31", "url": "https://files.pythonhosted.org/packages/d6/90/e68d9c47a2a3d48040fd868178763ae40748e2c0174a93ff06495c2a0efb/r0c-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "c299018c888001945e38336f2da80721", "sha256": "0e5db08b4f2849d60fd77d35e30154dc9dfd0e8ac74231ab7a7365ff4e2a21c0" }, "downloads": -1, "filename": "r0c-1.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "c299018c888001945e38336f2da80721", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 69764, "upload_time": "2018-08-21T22:50:51", "url": "https://files.pythonhosted.org/packages/e4/ac/3c22fda25729b1e1f4ea851434d4bb56397bd773420c1685ad8219bdf199/r0c-1.1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "778ffba25719054c21f07f6c45ef4dc6", "sha256": "f3b7036cf8f01b0289e9f9c037eb0b402cffa757b738fd9d58f2c4f5668ad1f6" }, "downloads": -1, "filename": "r0c-1.1.3.tar.gz", "has_sig": false, "md5_digest": "778ffba25719054c21f07f6c45ef4dc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58152, "upload_time": "2018-08-21T22:50:49", "url": "https://files.pythonhosted.org/packages/e5/96/3e12cfb4dc19fcf5665a5fcd4914a75c37ffcd2be25a8063a006064ec503/r0c-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "9c9121c661d2f6699666ff5d69914b40", "sha256": "57ffb14540ceb238db9bef396ecb5c2a678a938e3f0b96f11ff691c8b92b3dde" }, "downloads": -1, "filename": "r0c-1.1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "9c9121c661d2f6699666ff5d69914b40", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 69824, "upload_time": "2018-08-30T22:43:02", "url": "https://files.pythonhosted.org/packages/06/dd/7dd5a0fc5a82931734a2a6f533109c54db5fbdcbcd7006f1845515cd9ea6/r0c-1.1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99e797cf2dfe3fd7a759ec8bc1dcaaf7", "sha256": "afbdac27779b80c61d8a14c175712b164e33032d47c8796ce33dd4f91624d2d1" }, "downloads": -1, "filename": "r0c-1.1.4.tar.gz", "has_sig": false, "md5_digest": "99e797cf2dfe3fd7a759ec8bc1dcaaf7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56587, "upload_time": "2018-08-30T22:43:00", "url": "https://files.pythonhosted.org/packages/0f/48/99b6192fd41052fe94a30d8ae1e5d2d6c78549e17cb1cf5fd9aefc1406df/r0c-1.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9c9121c661d2f6699666ff5d69914b40", "sha256": "57ffb14540ceb238db9bef396ecb5c2a678a938e3f0b96f11ff691c8b92b3dde" }, "downloads": -1, "filename": "r0c-1.1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "9c9121c661d2f6699666ff5d69914b40", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 69824, "upload_time": "2018-08-30T22:43:02", "url": "https://files.pythonhosted.org/packages/06/dd/7dd5a0fc5a82931734a2a6f533109c54db5fbdcbcd7006f1845515cd9ea6/r0c-1.1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99e797cf2dfe3fd7a759ec8bc1dcaaf7", "sha256": "afbdac27779b80c61d8a14c175712b164e33032d47c8796ce33dd4f91624d2d1" }, "downloads": -1, "filename": "r0c-1.1.4.tar.gz", "has_sig": false, "md5_digest": "99e797cf2dfe3fd7a759ec8bc1dcaaf7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56587, "upload_time": "2018-08-30T22:43:00", "url": "https://files.pythonhosted.org/packages/0f/48/99b6192fd41052fe94a30d8ae1e5d2d6c78549e17cb1cf5fd9aefc1406df/r0c-1.1.4.tar.gz" } ] }