{ "info": { "author": "Miroslav Zdrale", "author_email": "mzdrale@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# PyUbee\nPython library for getting stats from [Ubee routers](http://www.ubeeinteractive.com/products).\n\nInstallation\n------------\n\nYou can install PyUbee from PyPi using `pip3 install pyubee`.\n\nUsage\n-----\n\nTo use within your Python scripts:\n```python\nfrom pyubee import Ubee\n\nubee = Ubee(\n host='192.168.1.1',\n username='admin',\n password='somepassword'\n )\n\nif not ubee.session_active():\n ubee.login()\n\ndevices = ubee.get_connected_devices()\n\nfor x in devices:\n print('%s (%s)' % (x, devices[x]))\n\nubee.logout()\n```\n\nCLI\n---\n\nA simple command line interface is available to query the router. The cli takes `host`, `username`, and `password` as mandatory arguments. The optional argument `model` can be used to specify the model of your router. If model is not specified, this tool will try to detect it automatically.\n\n```\n$ pyubee --help\nusage: pyubee [-h] [--model MODEL] host username password\n\npyubee\n\npositional arguments:\n host Host\n username Username\n password Password\n\noptional arguments:\n -h, --help show this help message and exit\n --model MODEL Model, supported models: EVW32C-0N, EVW3200-Wifi\n\n$ pyubee 192.168.1.1 admin somepassword\nAA:BB:CC:DD:EE:FF\t192.168.1.10\nFF:EE:DD:CC:BB:AA\t192.168.1.11\n```\n\nNotice\n------\nUbee devices contain vulnerability which allows user to access Admin Web UI without logging in if someone else is logged in from the same IP address. For example if you have Ubee router (e.g. 192.168.1.1) in your home installed from your ISP and you have your own router (192.168.1.2) connected to it and you are doing NAT (Network Address Translation) on your router, then Ubee router will see all connections from clients connected to your router coming from the same IP address 192.168.1.2. In that scenario if someone logs into Ubee router Admin Web UI (http://192.168.1.1/UbeeLanSetup.asp) from Computer A, then anyone from Computer B or Computer C can access http://192.168.1.1/UbeeLanSetup.asp or any other page on 192.168.1.1 without logging in.\n\n```\n +---------------+\n | |\n | |\n | UBEE |\n | |\n | 192.168.1.1 |\n +-------+-------+\n |\n +-------+-------+\n | 192.168.1.2 |\n | |\n | YOUR ROUTER |\n | |\n | 10.0.0.1 |\n +-------+-------+\n |\n +-----------------------------+\n | | |\n+-----+-----+ +-----+-----+ +-----+-----+\n| COMPUTER | | COMPUTER | | COMPUTER |\n| A | | B | | C |\n| | | | | |\n| 10.0.0.11 | | 10.0.0.12 | | 10.0.0.13 |\n+-----------+ +-----------+ +-----------+\n```\n\nYou shoud have this in your mind if you have similar setup.\n\nAuthor of this package reported this issue to Vendor, even if [it's known for years](https://www.exploit-db.com/exploits/40156), but there is no response from Vendor and it looks like they are pushing firmware with the same vulnerability probably to all of their devices.\n\nSupported routers\n-----------------\nThis library was written for and tested with:\n\n* Ambit EVW320B\n* Ubee EVW32C-0N\n* Ubee EVW3200-Wifi\n* Ubee EVW3226 (UPC)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/mzdrale/pyubee", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pyubee", "package_url": "https://pypi.org/project/pyubee/", "platform": "", "project_url": "https://pypi.org/project/pyubee/", "project_urls": { "Homepage": "http://github.com/mzdrale/pyubee" }, "release_url": "https://pypi.org/project/pyubee/0.7/", "requires_dist": null, "requires_python": "", "summary": "Simple library for getting stats from Ubee routers.", "version": "0.7" }, "last_serial": 5385538, "releases": { "0.0.1a1": [ { "comment_text": "", "digests": { "md5": "638799696d53f04fcbda714d836f1ca7", "sha256": "4d3b8e41038f5790c9f6a0274829c8ec0f7e92c9e0f616c3460209036ea52905" }, "downloads": -1, "filename": "pyubee-0.0.1a1-py3-none-any.whl", "has_sig": false, "md5_digest": "638799696d53f04fcbda714d836f1ca7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15081, "upload_time": "2018-12-28T03:18:03", "url": "https://files.pythonhosted.org/packages/e8/86/322934f830194fa36fd677868985db7ab2e7bd0e807f4144ee0e4ac45b9d/pyubee-0.0.1a1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "48b1c15826c484c8c63d6e98891919b5", "sha256": "3dd4b2189fe1031eba0ca46e3b468d0317afc0a4c95df8e86ebb2a6e662fa8c2" }, "downloads": -1, "filename": "pyubee-0.0.1a1.tar.gz", "has_sig": false, "md5_digest": "48b1c15826c484c8c63d6e98891919b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2273, "upload_time": "2018-12-28T03:18:05", "url": "https://files.pythonhosted.org/packages/e4/f7/a9e99e8c7ca0ec0898ea8fb13a361f05253c17e152a4c7acbb90d3ab7f4f/pyubee-0.0.1a1.tar.gz" } ], "0.0.1a2": [ { "comment_text": "", "digests": { "md5": "1899fef025c7ee668af42e62078aa5dc", "sha256": "8001ae8ca4711f81c40e173e699822ffe1b6edd89147713d59a64dfd855113e2" }, "downloads": -1, "filename": "pyubee-0.0.1a2-py3-none-any.whl", "has_sig": false, "md5_digest": "1899fef025c7ee668af42e62078aa5dc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15102, "upload_time": "2018-12-28T12:07:21", "url": "https://files.pythonhosted.org/packages/ff/bc/2fd03defc9afe6361b4fb729ed7ae63140c6f36df8715ae864d63276a168/pyubee-0.0.1a2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c2d0e17666d9b2855bda296c0cd084f", "sha256": "a20f40fa29f5cd9749b2939747d1058f880862e769a878637af1e7df43349ac5" }, "downloads": -1, "filename": "pyubee-0.0.1a2.tar.gz", "has_sig": false, "md5_digest": "4c2d0e17666d9b2855bda296c0cd084f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2307, "upload_time": "2018-12-28T12:07:22", "url": "https://files.pythonhosted.org/packages/72/00/230ddee255126bc0e6fb1db3a321d84d0fdeabbfb3cf7f0224dcc447bf7e/pyubee-0.0.1a2.tar.gz" } ], "0.1": [ { "comment_text": "", "digests": { "md5": "fb5d8cbcf0f3a740856c183fa66925d1", "sha256": "5d07face1a58f42e3d0caecc40be0e7c5a53de630221f0ff2fe27dc730be16db" }, "downloads": -1, "filename": "pyubee-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fb5d8cbcf0f3a740856c183fa66925d1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15056, "upload_time": "2018-12-28T12:25:48", "url": "https://files.pythonhosted.org/packages/34/10/3faf46d7a05f543e62a6ea847183d7f8a46b00c76775d0dec2e6e5b8af99/pyubee-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "48155e5ea158140bbfa04558e7a7a5b1", "sha256": "b0b578788ba19bc3996d5f3d38ceea58426fe9076d1f338a865a41e9c4b89554" }, "downloads": -1, "filename": "pyubee-0.1.tar.gz", "has_sig": false, "md5_digest": "48155e5ea158140bbfa04558e7a7a5b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2296, "upload_time": "2018-12-28T12:25:50", "url": "https://files.pythonhosted.org/packages/a7/95/40aa8e8d0864c888c0fa884ade890aec83be2307f588d0037bb0e3260f49/pyubee-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "275f797386f00f81af728c43c29a142f", "sha256": "d77ebd9308505b2036fa8ae63fcc926196156c7e5c1e8c55d6314490ec886278" }, "downloads": -1, "filename": "pyubee-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "275f797386f00f81af728c43c29a142f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15732, "upload_time": "2019-01-13T21:49:15", "url": "https://files.pythonhosted.org/packages/c0/25/027ae26b47196f74a8068100093f89dab473b72d722b1d8ee1c87e41b042/pyubee-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "785360584bc480637cabf17577cb215e", "sha256": "1bb7691d68ef8414d304ffc1ee861ac502405c14bcbd8b9ec94d41938e337e5f" }, "downloads": -1, "filename": "pyubee-0.2.tar.gz", "has_sig": false, "md5_digest": "785360584bc480637cabf17577cb215e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4719, "upload_time": "2019-01-13T21:49:17", "url": "https://files.pythonhosted.org/packages/dd/35/f8a93bbd076fca8223ef86bc3602ddf8c641072d4741d4cf5b17912c7332/pyubee-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "c683098046ca59ee0a9a98146123e2e1", "sha256": "b3a315e0d05585e2392f64ac6c58af98b04d07dd17d89cb136c2481d7f93af62" }, "downloads": -1, "filename": "pyubee-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c683098046ca59ee0a9a98146123e2e1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17220, "upload_time": "2019-03-12T10:04:00", "url": "https://files.pythonhosted.org/packages/b6/55/6a78352a8943584d1dea2c809e03d52f036b48d1fe233818fc9e18ec3f26/pyubee-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "443a339ff1c64579624f9f464adef05d", "sha256": "41323050bfedebe54c8953ecb8c700edd1d7f4aac33068069ff4d5866717dc90" }, "downloads": -1, "filename": "pyubee-0.3.tar.gz", "has_sig": false, "md5_digest": "443a339ff1c64579624f9f464adef05d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6086, "upload_time": "2019-03-12T10:04:03", "url": "https://files.pythonhosted.org/packages/a7/c9/d3536891ad79bb312ef063a2fe633bd5b3fd04ad2a9d90e1fa4f52919de6/pyubee-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "bb84aebb66764049ef68b8ed2268c566", "sha256": "0103efc348e5adef389b12a4b06e427e2522c97da768d805e0347bc80b819796" }, "downloads": -1, "filename": "pyubee-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "bb84aebb66764049ef68b8ed2268c566", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17430, "upload_time": "2019-03-26T22:28:17", "url": "https://files.pythonhosted.org/packages/5b/47/88055b8f419f0ff49ffdaa5e3c20c7d043572cfece85631817daa399260a/pyubee-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "73f5f57e2423fd0f880d67c8bc282053", "sha256": "e8c0dbb20be095219c86a9dda48bfc4bd2f8d6565a913a8d62319734acab5a87" }, "downloads": -1, "filename": "pyubee-0.4.tar.gz", "has_sig": false, "md5_digest": "73f5f57e2423fd0f880d67c8bc282053", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18434, "upload_time": "2019-03-26T22:28:18", "url": "https://files.pythonhosted.org/packages/7c/08/cd844050a82f9c59a4e38e0617df6fbc74bc01eb1bbf105f505d78b0b705/pyubee-0.4.tar.gz" } ], "0.4.dev1": [ { "comment_text": "", "digests": { "md5": "3fb33a9087e6fd5f13b30ee330f99e78", "sha256": "de1b368947f46efce890f9809bf6b74979f268033227be6845ba3fd467bc8de5" }, "downloads": -1, "filename": "pyubee-0.4.dev1-py3-none-any.whl", "has_sig": false, "md5_digest": "3fb33a9087e6fd5f13b30ee330f99e78", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17416, "upload_time": "2019-03-26T14:18:38", "url": "https://files.pythonhosted.org/packages/cc/88/f93053a12993f2a298630acd151e6be56fdfcffe500880df3c166df08225/pyubee-0.4.dev1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a51fe9a909dd537981632af96846525d", "sha256": "0261c09d3eb1719ba5ccd8d45876222a2d9d9bc2ac68cdaf4b8403a9e760abab" }, "downloads": -1, "filename": "pyubee-0.4.dev1.tar.gz", "has_sig": false, "md5_digest": "a51fe9a909dd537981632af96846525d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6228, "upload_time": "2019-03-26T14:18:40", "url": "https://files.pythonhosted.org/packages/e8/2b/744cf9a8c132fde6f38f56177972cf0d34a81e1be0d166f4eaf171f0a8d2/pyubee-0.4.dev1.tar.gz" } ], "0.4.dev2": [ { "comment_text": "", "digests": { "md5": "f564728247516ba56b121d8f67725233", "sha256": "ad6c5c5d0b79fe0e52989e0e1e5c1193e487f7d867215fccbf10c5241400bce8" }, "downloads": -1, "filename": "pyubee-0.4.dev2-py3-none-any.whl", "has_sig": false, "md5_digest": "f564728247516ba56b121d8f67725233", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17451, "upload_time": "2019-03-26T19:29:43", "url": "https://files.pythonhosted.org/packages/ec/9a/e99043fdb3254a12484925de0116c275a271552a7d3aba0dabc261c22970/pyubee-0.4.dev2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b3c6cb262fb06272114af1defa164835", "sha256": "0a6f1572206d3cc25b751ba0c95fb3e38e51b87be656696c9413b2cb5ba5ec80" }, "downloads": -1, "filename": "pyubee-0.4.dev2.tar.gz", "has_sig": false, "md5_digest": "b3c6cb262fb06272114af1defa164835", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6275, "upload_time": "2019-03-26T19:29:44", "url": "https://files.pythonhosted.org/packages/20/33/c39dbc0eeea820776b135a5e96b9223ca91583e2f69c54237227442b2cc4/pyubee-0.4.dev2.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "a62adf8f63af379281cbb1b0f7e0323c", "sha256": "88a87330e093c91c5d9f2b449ab4dd4b7edffcdf812eabc255913bc37ec6314c" }, "downloads": -1, "filename": "pyubee-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "a62adf8f63af379281cbb1b0f7e0323c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17474, "upload_time": "2019-03-27T21:29:48", "url": "https://files.pythonhosted.org/packages/1d/6a/d0645631ed16e036cff9478efd08d7a9e218d45f5ec8e791bbb8930b0756/pyubee-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7422f8b416c7abb3a272517838b558db", "sha256": "c5a3ae44c89e01fa07cd59af5a746a5e7558438517eff4ff94a5fee511f55bdd" }, "downloads": -1, "filename": "pyubee-0.5.tar.gz", "has_sig": false, "md5_digest": "7422f8b416c7abb3a272517838b558db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18480, "upload_time": "2019-03-27T21:29:50", "url": "https://files.pythonhosted.org/packages/c8/c2/8e762460cdb78e7925ed3dd4437ed17de8b5343c50749c3a9467db6ddb3d/pyubee-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "5a4ec429d5b691e4c54e358b7f4ad696", "sha256": "03c367398b8392af3ff360a53026668f38054076e4a17b1c62d01ebb0d73ca41" }, "downloads": -1, "filename": "pyubee-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "5a4ec429d5b691e4c54e358b7f4ad696", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18819, "upload_time": "2019-04-18T10:10:18", "url": "https://files.pythonhosted.org/packages/e0/fd/c7e541f4f5de195f61f7e27ac1dc6202ed8ac95cc69e0afa57ed685a2ad7/pyubee-0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad41d0ba8ccc8e8b8c42995b96fe360f", "sha256": "990d7a363060aab7fb488a666ed5f8a1a8663ab671d6ec4acdac2f69443756a5" }, "downloads": -1, "filename": "pyubee-0.6.tar.gz", "has_sig": false, "md5_digest": "ad41d0ba8ccc8e8b8c42995b96fe360f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19776, "upload_time": "2019-04-18T10:10:20", "url": "https://files.pythonhosted.org/packages/6c/e2/d782dbc45333c658e96db0ecda1819a0b588d22fe23371c2315056974b1b/pyubee-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "43a06bbb785bac4e690103bb85349053", "sha256": "9d6df44442b82fc960dbbfb91b6b6c066d6b5b5752c574920a2f65d9d10ba451" }, "downloads": -1, "filename": "pyubee-0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "43a06bbb785bac4e690103bb85349053", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18885, "upload_time": "2019-06-11T08:58:21", "url": "https://files.pythonhosted.org/packages/ba/d0/7f681aa952f46ed5c2e10c12d759851cd0481a968c8671949437a2edf720/pyubee-0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e967d411648d4b0e5ac0d2ae7064829b", "sha256": "c88e4b669a368f5c3b301980677fc7c378db94d5150a4ba31d5a7f13009ebe28" }, "downloads": -1, "filename": "pyubee-0.7.tar.gz", "has_sig": false, "md5_digest": "e967d411648d4b0e5ac0d2ae7064829b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19834, "upload_time": "2019-06-11T08:58:23", "url": "https://files.pythonhosted.org/packages/a0/19/0ace5f584cb0aa06cadf65100c0a2cbc1e6973e110860e3def66a22f9c33/pyubee-0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "43a06bbb785bac4e690103bb85349053", "sha256": "9d6df44442b82fc960dbbfb91b6b6c066d6b5b5752c574920a2f65d9d10ba451" }, "downloads": -1, "filename": "pyubee-0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "43a06bbb785bac4e690103bb85349053", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18885, "upload_time": "2019-06-11T08:58:21", "url": "https://files.pythonhosted.org/packages/ba/d0/7f681aa952f46ed5c2e10c12d759851cd0481a968c8671949437a2edf720/pyubee-0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e967d411648d4b0e5ac0d2ae7064829b", "sha256": "c88e4b669a368f5c3b301980677fc7c378db94d5150a4ba31d5a7f13009ebe28" }, "downloads": -1, "filename": "pyubee-0.7.tar.gz", "has_sig": false, "md5_digest": "e967d411648d4b0e5ac0d2ae7064829b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19834, "upload_time": "2019-06-11T08:58:23", "url": "https://files.pythonhosted.org/packages/a0/19/0ace5f584cb0aa06cadf65100c0a2cbc1e6973e110860e3def66a22f9c33/pyubee-0.7.tar.gz" } ] }