{ "info": { "author": "nickolas360", "author_email": "contact@nickolas360.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Internet" ], "description": "librecaptcha\n============\n\nVersion 0.6.2\n\nlibrecaptcha is a free/libre program and library that allows you to solve\n`reCAPTCHA`_ challenges.\n\n*librecaptcha does not automatically solve challenges and is not designed to\nmake it easier to do so\u2014it provides an interface through which a human can\nsolve the challenges without proprietary software.*\n\n.. _reCAPTCHA: https://en.wikipedia.org/wiki/ReCAPTCHA\n\n\nInstallation\n------------\n\nFrom PyPI\n~~~~~~~~~\n\nInstall with `pip`_::\n\n sudo pip3 install librecaptcha[gtk]\n\nTo install locally, run without ``sudo`` and add the ``--user`` option.\nYou can omit ``[gtk]`` if you don\u2019t want to install the GTK 3 GUI.\n\n\nFrom the Git repository\n~~~~~~~~~~~~~~~~~~~~~~~\n\nClone the repository with the following commands (you\u2019ll need to have `Git`_\ninstalled)::\n\n git clone https://github.com/nickolas360/librecaptcha\n cd librecaptcha\n\nThen install with `pip`_::\n\n sudo pip3 install .[gtk]\n\nTo install locally, run without ``sudo`` and add the ``--user`` option.\nYou can omit ``[gtk]`` if you don\u2019t want to install the GTK 3 GUI.\n\n\nRun without installing\n~~~~~~~~~~~~~~~~~~~~~~\n\nRun the first set of commands in the previous section to clone the repository.\nThen, install the required dependencies by running::\n\n sudo pip3 install -r requirements.txt\n\nTo install the dependencies locally, run without ``sudo`` and add ``--user``.\n\n.. _pip: https://pip.pypa.io\n.. _Git: https://git-scm.com\n\n\nUsage\n-----\n\nIf you installed librecaptcha, you can simply run ``librecaptcha``.\nOtherwise, run ``./librecaptcha.py``. Pass the ``--help`` option to show usage\ninformation. If you\u2019d like to use the GUI, be sure to pass the ``--gui``\noption.\n\nTo use librecaptcha programmatically, import it::\n\n import librecaptcha\n\nand then call ``librecaptcha.get_token()``. Its signature is::\n\n get_token(\n api_key: str,\n site_url: str,\n user_agent: str, *,\n gui=False,\n debug=False,\n ) -> str\n\nParameters:\n\n* ``api_key``:\n The reCAPTCHA API key to use. This is usually the value of the\n ``data-sitekey`` HTML attribute.\n\n* ``site_url``:\n The base URL of the site that contains the reCAPTCHA challenge. This should\n start with ``http://`` or ``https://`` and include the hostname. Everything\n after the hostname is optional. For example: ``https://example.com``\n\n* ``user_agent``:\n The user-agent string to use. This should match the user-agent used when\n sending the request that requires a reCAPTCHA token. You can generate a\n random user-agent string with ``librecaptcha.random_user_agent()``.\n\n* ``gui``:\n Whether to use the GTK 3 GUI (as opposed to the CLI). The CLI writes to\n standard output and reads from standard input.\n\n* ``debug``:\n Whether to print debug information.\n\nReturns: A reCAPTCHA token. This should usually be submitted with the form as\nthe value of the ``g-recaptcha-response`` field. These tokens usually expire\nafter a couple of minutes.\n\n\nNotes\n-----\n\nlibrecaptcha currently supports two types of challenges: *dynamic* and\n*multicaptcha*.\n\n*dynamic* challenges present you with a grid of different images and ask you to\nselect the images that match the given description. Each time you click an\nimage, a new one takes its place. Usually, three images from the initial\nset match the description, and at least one of the replacement images does as\nwell.\n\n*multicaptcha* challenges present you with one large image split into a grid\nof tiles and ask you to select the tiles that contain a given object.\nOccasionally, the image will not contain the object, but rather something that\nlooks similar. It is possible to select no tiles in this case, but reCAPTCHA\nmay have been fooled by the similar-looking object and would reject a selection\nof no tiles.\n\n**Note:** Even when all challenges are completed and a token is obtained, the\ntoken may still be rejected when used. If this happens, simply try again.\nWaiting a while may also help. Unfortunately, you may have to try many\ntimes\u2014perhaps even ten.\n\n\nWhat\u2019s new\n----------\n\nVersion 0.6.0:\n\n* Added ``librecaptcha.has_gui()``, which returns whether the GUI can be used.\n* Improved cross-platform support for the CLI.\n\nVersion 0.5.0:\n\n* Added a GTK 3 GUI (thanks, cyclopsian!).\n* ``get_token()`` now has an optional ``gui`` parameter.\n* ``get_token()`` now requires a user-agent string.\n* ``librecaptcha.py`` now has a ``--gui`` option.\n* ``librecaptcha.py`` now accepts an optional ```` argument.\n If not provided, a random user-agent string is chosen and shown.\n\nVersion 0.4.0:\n\n* Image windows are now automatically closed when questions are answered.\n\nVersion 0.3.x:\n\n* Fixed possible encoding issue in ``setup.py``.\n* librecaptcha can now be installed from PyPI, or from the Git repository with\n pip or ``setup.py``.\n\nVersion 0.2.x:\n\n* Updated user-agent list.\n* The current reCAPTCHA version is now fetched during initialization and no\n longer needs to be manually updated.\n\n\nDependencies\n------------\n\n* `Python`_ \u2265 3.5\n* The following Python packages (the installation instructions above handle\n installing these):\n\n - `Pillow`_ \u2265 4.1.1\n - `requests`_ \u2265 2.18.1\n - `slimit`_ \u2265 0.8.1\n - `PyGObject`_ \u2265 3.30.0 (only for GUI)\n\n.. _Python: https://www.python.org/\n.. _Pillow: https://pypi.org/project/Pillow/\n.. _requests: https://pypi.org/project/requests/\n.. _slimit: https://pypi.org/project/slimit/\n.. _PyGObject: https://pypi.org/project/PyGObject/\n\n\nLicense\n-------\n\nlibrecaptcha is licensed under the GNU General Public License, version 3 or\nany later version. See `LICENSE`_.\n\nThis README file has been released to the public domain using `CC0`_.\n\n.. _LICENSE: https://github.com/nickolas360/librecaptcha/blob/master/LICENSE\n.. _CC0: https://creativecommons.org/publicdomain/zero/1.0/\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nickolas360/librecaptcha", "keywords": "captcha recaptcha", "license": "GNU General Public License v3 or later (GPLv3+)", "maintainer": "", "maintainer_email": "", "name": "librecaptcha", "package_url": "https://pypi.org/project/librecaptcha/", "platform": "", "project_url": "https://pypi.org/project/librecaptcha/", "project_urls": { "Homepage": "https://github.com/nickolas360/librecaptcha" }, "release_url": "https://pypi.org/project/librecaptcha/0.6.2/", "requires_dist": [ "Pillow (>=4.1.1)", "requests (>=2.18.1)", "slimit (>=0.8.1)", "PyGObject (>=3.30.0) ; extra == 'gtk'" ], "requires_python": "", "summary": "A free/libre interface for solving reCAPTCHA challenges.", "version": "0.6.2" }, "last_serial": 5102444, "releases": { "0.3.3": [ { "comment_text": "", "digests": { "md5": "998565f72623027e732cdbf7c71f5824", "sha256": "e7dffb7b1499aec01f7d8ac88bc4d0cb5207a7fdb4c8603c9fdc9be12010871c" }, "downloads": -1, "filename": "librecaptcha-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "998565f72623027e732cdbf7c71f5824", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15436, "upload_time": "2018-02-18T10:39:53", "url": "https://files.pythonhosted.org/packages/55/42/db5937b0b26d5edf8640515ee1f9d28aaa0e58b20e46c48c9119c3ad0d3e/librecaptcha-0.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "330bdce503a5aedbba897ab2a1e804f3", "sha256": "37b2b98a99856eeaf0ff15875355193e83a49158d006d6c6372eca22803668db" }, "downloads": -1, "filename": "librecaptcha-0.3.3.tar.gz", "has_sig": false, "md5_digest": "330bdce503a5aedbba897ab2a1e804f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23746, "upload_time": "2018-02-18T10:39:54", "url": "https://files.pythonhosted.org/packages/05/a6/e361db0bf12f72e4b288eca2eb45e966a5e7226d1e28bfc8fc885fdee293/librecaptcha-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "06a2620d6c871fe6aae8670f29b4d57f", "sha256": "1cca40bd6e24c5dab7f924ed0e62591d05c1e70375aafee45c481c8a2b0a2bc4" }, "downloads": -1, "filename": "librecaptcha-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "06a2620d6c871fe6aae8670f29b4d57f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15494, "upload_time": "2018-02-20T01:37:55", "url": "https://files.pythonhosted.org/packages/13/8c/ed78895bfa58672f101d7df8cadde9873517b92da6d36073ae79cd7af20a/librecaptcha-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6151987a20f343e21cb721491a853635", "sha256": "b7602c75c974e1e843cc9408842ea347a23d452a86500bf889a322b484170e23" }, "downloads": -1, "filename": "librecaptcha-0.3.4.tar.gz", "has_sig": false, "md5_digest": "6151987a20f343e21cb721491a853635", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23820, "upload_time": "2018-02-20T01:37:57", "url": "https://files.pythonhosted.org/packages/8d/58/cae6583c54747f235d99b3e64a6330f37bcb9a5ede61b1857d772ce30089/librecaptcha-0.3.4.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "3f9d12775ca5433fb5f1ec36e1285a96", "sha256": "29beea22ab7699997fedc2681b1bd58b264d4994ec5117d2d732aabbe04d3773" }, "downloads": -1, "filename": "librecaptcha-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3f9d12775ca5433fb5f1ec36e1285a96", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15781, "upload_time": "2018-02-28T00:40:17", "url": "https://files.pythonhosted.org/packages/61/51/a4d92968827ebfb63be38f457c6c14c7ee35c8b642e97b6d7e234f507916/librecaptcha-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e0266691e665a967231885d5044bf184", "sha256": "bbaa8edfa037b64461e44be6b0cdab1998abdd7aee0aabbecfa53c065e97e306" }, "downloads": -1, "filename": "librecaptcha-0.4.0.tar.gz", "has_sig": false, "md5_digest": "e0266691e665a967231885d5044bf184", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24118, "upload_time": "2018-02-28T00:40:18", "url": "https://files.pythonhosted.org/packages/a7/87/d96df78f4cbec39813ededc58108d1c010b9299dcd693970c1886448a344/librecaptcha-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "c28162a77ceb97f28cc22eb5ff3f19a3", "sha256": "146089d7c0b47c6ca7a07b5fd427142cb4c419ec1ae27633370113707163d660" }, "downloads": -1, "filename": "librecaptcha-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c28162a77ceb97f28cc22eb5ff3f19a3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36328, "upload_time": "2019-04-03T09:21:07", "url": "https://files.pythonhosted.org/packages/0a/8f/d9295d6a29429cf5b2168ee252a8aef3fa44041f388002ff7bc95365ec14/librecaptcha-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f5c129a172a44b1817b72015e4ab2dce", "sha256": "101c733bc7b0f003aed8ee1b3d37a6a140044ae9c01799549dd5a00bc31c36fb" }, "downloads": -1, "filename": "librecaptcha-0.5.0.tar.gz", "has_sig": false, "md5_digest": "f5c129a172a44b1817b72015e4ab2dce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31219, "upload_time": "2019-04-03T09:21:09", "url": "https://files.pythonhosted.org/packages/e2/db/6efd9690c0764fd057462b94f6d869c621c404205d4400841a718261efcd/librecaptcha-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "f05a30c691fad7e9a9c252debac7e00f", "sha256": "864d1be643e7ddaebe0a1e3f83c30cf1738f809f5c7a47cfbb0cb454a3c1fd3c" }, "downloads": -1, "filename": "librecaptcha-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f05a30c691fad7e9a9c252debac7e00f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36331, "upload_time": "2019-04-03T22:18:17", "url": "https://files.pythonhosted.org/packages/64/06/95c3f838f12fc08180743c204be81b70e68a694200d62257e3f91b0ba5af/librecaptcha-0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "647da3ded68809d49efa48eaeb8db8de", "sha256": "c326e3ad91e846f8d0a9aee6627f0bfbecd3bcfd68c06aa634e65f1aef1c65f9" }, "downloads": -1, "filename": "librecaptcha-0.5.1.tar.gz", "has_sig": false, "md5_digest": "647da3ded68809d49efa48eaeb8db8de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31230, "upload_time": "2019-04-03T22:18:18", "url": "https://files.pythonhosted.org/packages/74/30/c1922505dc6b4d54ccb638cdc3d12148f2e7b2bdffe6fa837d4fb6985f06/librecaptcha-0.5.1.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "eeed653f51efec234eeeb058a19e6cc1", "sha256": "e257181f79ba06ec9edac66f6eaf2a8d0adc563333000bf77de7bfc19d4d8b0f" }, "downloads": -1, "filename": "librecaptcha-0.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "eeed653f51efec234eeeb058a19e6cc1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36507, "upload_time": "2019-04-05T07:35:51", "url": "https://files.pythonhosted.org/packages/f1/9b/2011f12bed21917a1015ec779f6a1f6254171b573c5f7c04b0787210b02f/librecaptcha-0.6.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bc401add42393aacbd068f08046fabd2", "sha256": "7c365d4589aadf529f01bfe3cf772fc46347965f578025d2b65336f09d32c15a" }, "downloads": -1, "filename": "librecaptcha-0.6.1.tar.gz", "has_sig": false, "md5_digest": "bc401add42393aacbd068f08046fabd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31609, "upload_time": "2019-04-05T07:35:53", "url": "https://files.pythonhosted.org/packages/42/dc/df4620ca6e866c67b4cdb090e3e7bd79898fd5964e73862efc75c86595e0/librecaptcha-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "bd10bc869e22a5cde05d6bf1a8f0dc94", "sha256": "aa78197f3867e9e0067b545ecf1013f653b181de35201aa5a44644451bf5e843" }, "downloads": -1, "filename": "librecaptcha-0.6.2-py3-none-any.whl", "has_sig": false, "md5_digest": "bd10bc869e22a5cde05d6bf1a8f0dc94", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36516, "upload_time": "2019-04-05T07:53:03", "url": "https://files.pythonhosted.org/packages/59/89/7c3786fef8c780c610ba46750617b6872216a814af591b9a99c3c81fda98/librecaptcha-0.6.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "62b824b24b593b707104427a3c3285bf", "sha256": "f4d38a880fb8d0d80ba789a296fdc984658f7c3fcfcd271d76c05cbbce9cbab0" }, "downloads": -1, "filename": "librecaptcha-0.6.2.tar.gz", "has_sig": false, "md5_digest": "62b824b24b593b707104427a3c3285bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31609, "upload_time": "2019-04-05T07:53:04", "url": "https://files.pythonhosted.org/packages/04/e5/b98c34d9aa0570906b7469c4d173688614dbd5f5e4a2b184510d9e65c2ce/librecaptcha-0.6.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bd10bc869e22a5cde05d6bf1a8f0dc94", "sha256": "aa78197f3867e9e0067b545ecf1013f653b181de35201aa5a44644451bf5e843" }, "downloads": -1, "filename": "librecaptcha-0.6.2-py3-none-any.whl", "has_sig": false, "md5_digest": "bd10bc869e22a5cde05d6bf1a8f0dc94", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36516, "upload_time": "2019-04-05T07:53:03", "url": "https://files.pythonhosted.org/packages/59/89/7c3786fef8c780c610ba46750617b6872216a814af591b9a99c3c81fda98/librecaptcha-0.6.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "62b824b24b593b707104427a3c3285bf", "sha256": "f4d38a880fb8d0d80ba789a296fdc984658f7c3fcfcd271d76c05cbbce9cbab0" }, "downloads": -1, "filename": "librecaptcha-0.6.2.tar.gz", "has_sig": false, "md5_digest": "62b824b24b593b707104427a3c3285bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31609, "upload_time": "2019-04-05T07:53:04", "url": "https://files.pythonhosted.org/packages/04/e5/b98c34d9aa0570906b7469c4d173688614dbd5f5e4a2b184510d9e65c2ce/librecaptcha-0.6.2.tar.gz" } ] }