{
"info": {
"author": "Mert Bora ALPER",
"author_email": "bora@boramalper.org",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 2 - Pre-Alpha",
"Environment :: Web Environment",
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
"Natural Language :: English",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: Implementation :: CPython"
],
"description": "==========\nmagneticow\n==========\n*Lightweight web interface for magnetico.*\n\n**magneticow** is a lightweight web interface to search and to browse the torrents that its counterpart (**magneticod**)\ndiscovered. It allows fast full text search of the names of the torrents, by correctly parsing them into their elements.\n\nInstallation\n============\n**magneticow** uses `gevent `_ as a \"standalone WSGI container\" (you can think of it as an\nembedded HTTP server), and connects to the same SQLite 3 database that **magneticod** writes. Hence, **root or sudo\naccess is NOT required at any stage, during or after the installation process.**\n\nRequirements\n------------\n- Python 3.5 or above.\n\nInstructions\n------------\n **WARNING:**\n\n **magnetico** currently does NOT have any filtering system NOR it allows individual torrents to be removed from the\n database, and BitTorrent DHT network is full of the materials that are considered illegal in many countries\n (violence, pornography, copyright infringing content, and even child-pornography). If you are afraid of the legal\n consequences, or simply morally against (indirectly) assisting those content to spread around, follow the\n **magneticow** installation instructions carefully to password-protect the web-interface from others.\n\\\n\n **WARNING:**\n\n **magneticow** is *NOT* designed to scale, and will fail miserably if you try to use it like a public torrent\n website. This is a *deliberate* technical decision, not a bug or something to be fixed; another web interface with\n more features to support such use cases and scalability *might* be developed, but **magneticow** will NEVER be the\n case.\n\n1. Download the latest version of **magneticow** from PyPI: ::\n\n pip3 install magneticow --user\n\n2. Add installation path to the ``$PATH``; append the following line to your ``~/.profile`` *(you can skip to step 4 if\n you installed magneticod first as advised)* ::\n\n export PATH=$PATH:~/.local/bin\n\n **or if you are on macOS**, (assuming that you are using Python 3.5): ::\n\n export PATH=\"${PATH}:${HOME}/Library/Python/3.5/bin/\"\n\n3. Activate the changes to ``$PATH``: ::\n\n source ~/.profile\n\n4. Confirm that it is running: ::\n\n magneticow --port 8080 --user username_1 password_1 --user username_2 password_2\n\n Do not forget to actually visit the website, and run a search without any keywords (i.e. simply press the enter\n button); this should return a list of most recently discovered torrents. If **magneticod** has not been running long\n enough, database might be completely empty and you might see no results (5 minutes should suffice to discover more\n than a dozen torrents).\n\n5. *(only for systemd users, skip the rest of the steps and proceed to the* `Using`_ *section if you are not a systemd\n user or want to use a different solution)*\n\n Download the magneticow systemd service file (at\n `magneticow/systemd/magneticow.service `_) and expand the tilde symbol with the path of\n your home directory. Also, choose a port (> 1024) for **magneticow** to listen on, and supply username(s) and\n password(s).\n\n For example, if my home directory is ``/home/bora``, and I want to create two users named ``bora`` and ``tolga`` with\n passwords ``staatsangeh\u00f6rigkeit`` and ``b\u00fcrgerschaft``, and then **magneticow** to listen on port 8080, this line ::\n\n ExecStart=~/.local/bin/magneticow --port PORT --user USERNAME PASSWORD\n\n should become this: ::\n\n ExecStart=/home/bora/.local/bin/magneticow --port 8080 --user bora staatsangeh\u00f6rigkeit --user tolga b\u00fcrgerschaft\n\n Run ``echo ~`` to see the path of your own home directory, if you do not already know.\n\n **WARNING:**\n\n **At least one username and password MUST be supplied.** This is to protect the privacy of your **magneticow**\n installation, although **beware that this does NOT encrypt the communication between your browser and the\n server!**\n\n6. Copy the magneticow systemd service file to your local systemd configuration directory: ::\n\n cp magneticow.service ~/.config/systemd/user/\n\n7. Start **magneticow**: ::\n\n systemctl --user start magneticow\n\n **magneticow** should now be running under the supervision of systemd and it should also be automatically started\n whenever you boot your machine.\n\n You can check its status and most recent log entries using the following command: ::\n\n systemctl --user status magneticow\n\n To stop **magneticow**, issue the following: ::\n\n systemctl --user stop magneticow\n\nUsing\n=====\n**magneticow** does not require user interference to operate, once it starts running. Hence, there is no \"user manual\",\nalthough you should beware of these points:\n\n1. **Resource Usage:**\n\n To repeat it for the last time, **magneticow** is a lightweight web interface for magnetico and is not suitable for\n handling many users simultaneously. Misusing **magneticow** will likely to lead high processor usage and increased\n response times. If that is the case, you might consider lowering the priority of **magneticow** using ``renice``\n command.\n\n2. **Pre-Alpha Bugs:**\n\n **magneticow** is *supposed* to work \"just fine\", but as being at pre-alpha stage, it's likely that you might find\n some bugs. It will be much appreciated if you can report those bugs, so that **magneticow** can be improved. See the\n next sub-section for how to mitigate the issue if you are *not* using systemd.\n\nAutomatic Restarting\n--------------------\nDue to minor bugs at this stage of its development, **magneticow** should be supervised by another program to be ensured\nthat it's running, and should be restarted if not. systemd service file supplied by **magneticow** implements that,\nalthough (if you wish) you can also use a much more primitive approach using GNU screen (which comes pre-installed in\nmany GNU/Linux distributions):\n\n1. Start screen session named ``magneticow``: ::\n\n screen -S magneticow\n\n2. Run **magneticow** forever: ::\n\n until magneticow; do echo \"restarting...\"; sleep 5; done;\n\n This will keep restarting **magneticow** after five seconds in case if it fails.\n\n3. Detach the session by pressing Ctrl+A and after Ctrl+D.\n\n4. If you wish to see the logs, or to kill **magneticow**, ``screen -r magneticow`` will attach the original screen\n session back. **magneticow** will exit gracefully upon keyboard interrupt (Ctrl+C) [SIGINT].\n\nREST-ful HTTP API\n=================\n **magneticow** offers a REST-ful HTTP API for 3rd-party applications to interact with **magnetico** setups. Examples\n would be an Android app for searching torrents **magnetico** discovered and queueing them on your seedbox, or a\n custom data analysis/statistics application developed for a research project on BitTorrent network. Nevertheless, it\n is up to you what to do with it at the end of the day.\n\nSee `API documentation <./docs/API/README.md>`_ for more details.\n\nLicense\n=======\nAll the code is licensed under AGPLv3, unless otherwise stated in the source specific source. See ``COPYING`` file\nin ``magnetico`` directory for the full license text.\n\n\n----\n\nDedicated to Cemile Binay, in whose hands I thrived.\n\nBora M. ALPER \n\n\n",
"description_content_type": null,
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "http://magnetico.org",
"keywords": "",
"license": "GNU Affero General Public License v3 or later (AGPLv3+)",
"maintainer": "",
"maintainer_email": "",
"name": "magneticow",
"package_url": "https://pypi.org/project/magneticow/",
"platform": "",
"project_url": "https://pypi.org/project/magneticow/",
"project_urls": {
"Homepage": "http://magnetico.org"
},
"release_url": "https://pypi.org/project/magneticow/0.6.0/",
"requires_dist": [
"appdirs (>=1.4.3)",
"flask (>=0.12.1)",
"gevent (>=1.2.1)"
],
"requires_python": "",
"summary": "Lightweight web interface for magnetico.",
"version": "0.6.0"
},
"last_serial": 2949138,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "87fbf375c1a7ef62fd3e305d5a195d0d",
"sha256": "af8c2ad6038ad4497d1dadac1df826ef88f0d9e33110f7c19e6eb9b40a69b111"
},
"downloads": -1,
"filename": "magneticow-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "87fbf375c1a7ef62fd3e305d5a195d0d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 789820,
"upload_time": "2017-04-02T19:36:04",
"url": "https://files.pythonhosted.org/packages/35/bf/edff67b106fdb3c77e5171624e0cc7a861541f7ffd85726c8228e743f06b/magneticow-0.1.0-py3-none-any.whl"
}
],
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "1cb7249feef9a84f2cfce706cda7e3cf",
"sha256": "29514d94365bf360055cbe7a5038722d5d5655923523659f10020cd78fc11e20"
},
"downloads": -1,
"filename": "magneticow-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1cb7249feef9a84f2cfce706cda7e3cf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 789856,
"upload_time": "2017-04-10T13:46:40",
"url": "https://files.pythonhosted.org/packages/20/f4/3ee74e2753767ed1500582c93bd79aa4e7538c25208a05bd49f67304fa8c/magneticow-0.2.0-py3-none-any.whl"
}
],
"0.3.0": [
{
"comment_text": "",
"digests": {
"md5": "f0e87ddb4f90831c2a8e2651f84c3b6c",
"sha256": "1cee51c646a7f900446f83ddcc7d1bf189fa3ba7c0df78d720bfdfa6d058ce05"
},
"downloads": -1,
"filename": "magneticow-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f0e87ddb4f90831c2a8e2651f84c3b6c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 790282,
"upload_time": "2017-04-25T21:57:46",
"url": "https://files.pythonhosted.org/packages/3c/b1/7028a5fa4a11b3cb31f4c8641e49682dcaac731ed11b683f366bb5b804c1/magneticow-0.3.0-py3-none-any.whl"
}
],
"0.4.0": [
{
"comment_text": "",
"digests": {
"md5": "016b371875e0aa4d42441bbde047ddf3",
"sha256": "5ef979fdf4be3fb864b4e00777609d602a512f70a7cfcf51646ae0f15faf65b3"
},
"downloads": -1,
"filename": "magneticow-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "016b371875e0aa4d42441bbde047ddf3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 1443346,
"upload_time": "2017-05-30T09:37:49",
"url": "https://files.pythonhosted.org/packages/ec/84/b6ea6e92814edbce1ae93b1670e60645390987ddd11a4457170c0999fb6c/magneticow-0.4.0-py3-none-any.whl"
}
],
"0.5.0": [
{
"comment_text": "",
"digests": {
"md5": "4632ff68d69e0ec4bf0bd93cef13d667",
"sha256": "9335b0cae711ec7c63581d6cf2a83623d001bca9bb55c45437006b4d31a58cd5"
},
"downloads": -1,
"filename": "magneticow-0.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4632ff68d69e0ec4bf0bd93cef13d667",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 1443381,
"upload_time": "2017-06-06T13:10:56",
"url": "https://files.pythonhosted.org/packages/13/3a/629becd38328bb12a63bb8e6c78e180c194cbc0123f7b109a59b09db5065/magneticow-0.5.0-py3-none-any.whl"
}
],
"0.6.0": [
{
"comment_text": "",
"digests": {
"md5": "29b7b454ec263906cd5026fb4d70b95c",
"sha256": "8ab1ede9e6660ffc20a6d031e2b651501ba457a52c4897f9f322fd8defef9891"
},
"downloads": -1,
"filename": "magneticow-0.6.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "29b7b454ec263906cd5026fb4d70b95c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 1443847,
"upload_time": "2017-06-14T08:36:06",
"url": "https://files.pythonhosted.org/packages/e0/f3/56bce9c279e5cda2e389e883ae35e918b46ef9580dd265aa6ba7c7f22fb8/magneticow-0.6.0-py3-none-any.whl"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "29b7b454ec263906cd5026fb4d70b95c",
"sha256": "8ab1ede9e6660ffc20a6d031e2b651501ba457a52c4897f9f322fd8defef9891"
},
"downloads": -1,
"filename": "magneticow-0.6.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "29b7b454ec263906cd5026fb4d70b95c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 1443847,
"upload_time": "2017-06-14T08:36:06",
"url": "https://files.pythonhosted.org/packages/e0/f3/56bce9c279e5cda2e389e883ae35e918b46ef9580dd265aa6ba7c7f22fb8/magneticow-0.6.0-py3-none-any.whl"
}
]
}