{ "info": { "author": "alichtman", "author_email": "aaronlichtman@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: MacOS", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Security", "Topic :: System :: Installation/Setup", "Topic :: System :: Logging", "Topic :: System :: Monitoring", "Topic :: System :: Networking", "Topic :: System :: Networking :: Firewalls", "Topic :: System :: Operating System", "Topic :: Utilities" ], "description": "![stronghold logo](img/stronghold-logo-left.png)\n\n[![Downloads](http://pepy.tech/badge/stronghold)](http://pepy.tech/count/stronghold)\n\n`stronghold` is the easiest way to securely configure your Mac.\n\n![GIF demo](img/demo.gif)\n\nDesigned for MacOS Sierra and High Sierra.\nPreviously `fortify`.\n\n**Featured On**\n---\n\n* [agarrharr/awesome-cli-apps](https://github.com/agarrharr/awesome-cli-apps)\n* [jaywcjlove/awesome-mac](https://github.com/jaywcjlove/awesome-mac)\n* [smashism/awesome-macadmin-tools](https://github.com/smashism/awesome-macadmin-tools)\n* [alebcay/awesome-shell](https://github.com/alebcay/awesome-shell)\n* [drduh/macOS-Security-and-Privacy-Guide](https://github.com/drduh/macOS-Security-and-Privacy-Guide#related-software)\n* [sb2nov/mac-setup](https://github.com/sb2nov/mac-setup)\n* [serhii-londar/open-source-mac-os-apps](https://github.com/serhii-londar/open-source-mac-os-apps)\n* [ashishb/osx-and-ios-security-awesome](https://github.com/ashishb/osx-and-ios-security-awesome)\n* [timsutton/python-macadmin-tools](https://github.com/timsutton/python-macadmin-tools)\n* [zbetcheckin/Security_list](https://github.com/zbetcheckin/Security_list)\n* [morgant/tools-osx](https://github.com/morgant/tools-osx)\n\n**Usage**\n---\n\n```\nUsage: stronghold.py [OPTIONS]\n\n Securely configure your Mac.\n Developed by Aaron Lichtman -> (Github: alichtman)\n\n\nOptions:\n -lockdown Set secure configuration without user interaction.\n -v Display version and author information and exit.\n -help, -h Show this message and exit.\n```\n\n**Installation Options**\n---\n\n1. Install with [`pip`](https://pypi.org/project/stronghold/)\n + `$ pip install stronghold`\n + `$ stronghold`\n\n2. Download and run the `stronghold-script.sh` shell script.\n + `$ sudo ./stronghold-script.sh`\n\n3. Download the `stronghold` binary from Releases tab.\n\n\n**Configuration Options**\n---\n\n1. Firewall\n\n + Turn on Firewall?\n - This helps protect your Mac from being attacked over the internet.\n + Turn on logging?\n - If there IS an infection, logs are useful for determining the source.\n + Turn on stealth mode?\n - Your Mac will not respond to ICMP ping requests or connection attempts from closed TCP and UDP networks.\n\n2. General System Protection\n\n + Enable Gatekeeper?\n \t- Defend against malware by enforcing code signing and verifying downloaded applications before allowing them to run.\n + Prevent automatic software whitelisting?\n - Both built-in and downloaded software will require user approval for whitelisting.\n + Disable Captive Portal Assistant and force login through browser on untrusted networks?\n - Captive Portal Assistant could be triggered and direct you to a malicious site WITHOUT any user interaction.\n\n3. User Metadata Storage\n\n + Clear language modeling metadata?\n - This includes user spelling, typing and suggestion data.\n + Disable language modeling data collection?\n + Clear QuickLook metadata?\n + Clear Downloads metadata?\n + Disable metadata collection from Downloads?\n + Clear SiriAnalytics database?\n\n4. User Safety\n\n + Lock Mac as soon as screen saver starts?\n + Display all file extensions?\n \t- This prevents malware from disguising itself as another file type.\n + Disable saving documents to the cloud by default?\n - This prevents sensitive documents from being unintentionally stored on the cloud.\n + Show hidden files in Finder?\n \t- This lets you see all files on the system without having to use the terminal.\n + Disable printer sharing?\n - Offers redundancy in case the Firewall was not configured.\n\n**How to Contribute**\n---\n\n1. Clone repo and create a new branch: `$ git checkout https://github.com/alichtman/stronghold -b name_for_new_branch`.\n2. Make changes and test\n3. Submit Pull Request with comprehensive description of changes\n\n**Acknowledgements**\n---\n\n+ [@shobrook](https://www.github.com/shobrook) for logo and UI design assistance.\n+ Base logo vector made by [Freepik](https://www.freepik.com/) from [Flaticon](www.flaticon.com).\n+ [drduh's macOS-Security-and-Privacy-Guide](https://github.com/drduh/macOS-Security-and-Privacy-Guide) and [Jonathan Levin's MacOS Security Guide](http://newosxbook.com/files/moxii3/AppendixA.pdf) were incredibly helpful while I was building `stronghold`.\n\n**Donations**\n---\n\nThis is free, open-source software. If you'd like to support the development of future projects, or say thanks for this one, you can donate BTC at `1FnJ8hRRNUtUavngswUD21dsFNezYLX5y9`. Everything is appreciated!\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": "https://github.com/alichtman/stronghold", "keywords": "fortify stronghold system configuration security firewall hardening secure", "license": "", "maintainer": "", "maintainer_email": "", "name": "stronghold", "package_url": "https://pypi.org/project/stronghold/", "platform": "", "project_url": "https://pypi.org/project/stronghold/", "project_urls": { "Bug Reports": "https://github.com/alichtman/stronghold/issues", "Donations": "https://www.patreon.com/alichtman", "Homepage": "https://github.com/alichtman/stronghold" }, "release_url": "https://pypi.org/project/stronghold/1.5/", "requires_dist": [ "colorama (>=0.3.9)", "inquirer (>=2.2.0)", "Click" ], "requires_python": ">=3", "summary": "Securely configure your Mac from the terminal.", "version": "1.5" }, "last_serial": 3911256, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "790fde6d3f20d94b5c271e25191bb2a9", "sha256": "4fa355380afb3116094fe54eb17ad9f7c9fa2dcbda9cf2e03a4287b671f73d68" }, "downloads": -1, "filename": "stronghold-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "790fde6d3f20d94b5c271e25191bb2a9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8208, "upload_time": "2018-04-02T05:19:26", "url": "https://files.pythonhosted.org/packages/db/cd/aae7fdf740e5525a3e99fc207854ba32e9f4078f05348b706a90cf560f12/stronghold-1.0.0-py2.py3-none-any.whl" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "189f658cbe0759c34484251aae647db9", "sha256": "c368d37e498aa2452d8c16c78243a1105311f3bb76322b0f58e384f7ea12ddaf" }, "downloads": -1, "filename": "stronghold-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "189f658cbe0759c34484251aae647db9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8241, "upload_time": "2018-04-02T05:42:33", "url": "https://files.pythonhosted.org/packages/64/79/45a75abd6451b8aa75ebf6809d84181c0b6eedf1963135323c36585775b3/stronghold-1.0.1-py2.py3-none-any.whl" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "34a7c35c2c8234d5e8e2e38d41d09b60", "sha256": "c886fe37122372947e29d9cf4cb1525896e64d6e8c5c965e063f39f3de1fe232" }, "downloads": -1, "filename": "stronghold-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "34a7c35c2c8234d5e8e2e38d41d09b60", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8495, "upload_time": "2018-04-03T01:44:02", "url": "https://files.pythonhosted.org/packages/74/10/5ec187a90b19d544a2661c9db3c4ec679587d1dbb4f1deed3a6d20ec16c4/stronghold-1.0.2-py2.py3-none-any.whl" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "8e17768f8689a7f6ef09ab84fd9f053b", "sha256": "c301d5fe7a0ba8cc48d066152debb0e9b57de86d116086ffcdcf98e1cecfe777" }, "downloads": -1, "filename": "stronghold-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8e17768f8689a7f6ef09ab84fd9f053b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8857, "upload_time": "2018-04-03T02:01:01", "url": "https://files.pythonhosted.org/packages/b5/9b/1205921c6b90b82ab707119d79083e919c8ec8933e7a31ca383cc3bc97f5/stronghold-1.0.3-py2.py3-none-any.whl" } ], "1.0.3.1": [ { "comment_text": "", "digests": { "md5": "a7e48abe7ad10bb1fa4d439d497ce11b", "sha256": "07d37e0cf37fba5c94aee65eb877b2c3f62767c83804928646970a5e4b6ae0a8" }, "downloads": -1, "filename": "stronghold-1.0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a7e48abe7ad10bb1fa4d439d497ce11b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8899, "upload_time": "2018-04-03T02:04:29", "url": "https://files.pythonhosted.org/packages/86/49/a9ba44a38358698e3c26c0776913d3f1444a2bd4a8b7830a94b2623270f9/stronghold-1.0.3.1-py2.py3-none-any.whl" } ], "1.0.3.3": [ { "comment_text": "", "digests": { "md5": "9d05c0237b3d11523f7090dd6d37d656", "sha256": "a20e1d93f0aa08be2834f6df236d44853be683bf84f9d487d018373521bff6e2" }, "downloads": -1, "filename": "stronghold-1.0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9d05c0237b3d11523f7090dd6d37d656", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8913, "upload_time": "2018-04-03T02:24:53", "url": "https://files.pythonhosted.org/packages/4c/33/1740c760548f5bfe3be13a5fa2528073fc9c4d262eae93eac2bb190689c8/stronghold-1.0.3.3-py2.py3-none-any.whl" } ], "1.0.3.8": [ { "comment_text": "", "digests": { "md5": "e53a7cdd987d46c6a5b8f22936a418ee", "sha256": "bef351a1032383974c85bb46c3496049b160abf074734b6c91fd2c5becf9848f" }, "downloads": -1, "filename": "stronghold-1.0.3.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e53a7cdd987d46c6a5b8f22936a418ee", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6908, "upload_time": "2018-04-03T11:35:29", "url": "https://files.pythonhosted.org/packages/76/38/8f82495dd4e276ccb2ffbe6017309506d9b833ab7ad11c2db1a84a9ee1f8/stronghold-1.0.3.8-py2.py3-none-any.whl" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "9a5830517410143e2e2d0cd5895abd5b", "sha256": "e4158781439c10dfb9c39a2cba752fa03077b99f0088811b4031eb028745455c" }, "downloads": -1, "filename": "stronghold-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9a5830517410143e2e2d0cd5895abd5b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6885, "upload_time": "2018-04-03T11:35:55", "url": "https://files.pythonhosted.org/packages/f3/39/366d8564609a6a0bb0aad0c2119a432885d61b151c187b4495f118e66823/stronghold-1.0.4-py2.py3-none-any.whl" } ], "1.0.9.6": [ { "comment_text": "", "digests": { "md5": "96ea4262bef890e594e5525a48a5e19e", "sha256": "25c810add9eb98f4cded45f219e450071a01c121170adb38e692724317deef0e" }, "downloads": -1, "filename": "stronghold-1.0.9.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "96ea4262bef890e594e5525a48a5e19e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7243, "upload_time": "2018-04-03T15:34:52", "url": "https://files.pythonhosted.org/packages/af/aa/853bf78efed89a3d123511bef8913441825ce5383d4a0831170a25ccffd1/stronghold-1.0.9.6-py2.py3-none-any.whl" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "f0b661691b51f7b03de6979f10b771be", "sha256": "6a2958918176db940c250cc3f83ad499ba3110d4d15bda33388232e698b6d7b6" }, "downloads": -1, "filename": "stronghold-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f0b661691b51f7b03de6979f10b771be", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7214, "upload_time": "2018-04-03T15:35:13", "url": "https://files.pythonhosted.org/packages/d6/03/41d3cda551ef42ec47e189decc19b7475feab4fc188bbf709f6f5f703eaa/stronghold-1.1.0-py2.py3-none-any.whl" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "2e9c07f5e74dbc743db43a1e7985f757", "sha256": "9f7e3b84153f90da245c799e5311f663c48b005cba774c222d47e1b782c8623f" }, "downloads": -1, "filename": "stronghold-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2e9c07f5e74dbc743db43a1e7985f757", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7745, "upload_time": "2018-04-06T08:42:18", "url": "https://files.pythonhosted.org/packages/ca/ea/9f015cc6680894a786d4e2bdb06704b84d3dade03cf887b1caea104be4db/stronghold-1.1.1-py2.py3-none-any.whl" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "1f457235fb4cd406a91b348737ef6930", "sha256": "3f77232480b6033ceeab6eb59c9d4c0d2542b4ad0a6809924c3c25618d42f3b3" }, "downloads": -1, "filename": "stronghold-1.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1f457235fb4cd406a91b348737ef6930", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7681, "upload_time": "2018-04-07T00:12:47", "url": "https://files.pythonhosted.org/packages/bf/ef/1f42e2f2e21794556451e2e06ca4b0f87faf2b89c0de4382f03f2e0c1073/stronghold-1.1.2-py2.py3-none-any.whl" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "3bbb02527af2cd0cc920e7da9ee19844", "sha256": "3c41d494d5bd3cd2710876355e6b13423c52154d7f25d868f3648bfcd0e3ac92" }, "downloads": -1, "filename": "stronghold-1.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3bbb02527af2cd0cc920e7da9ee19844", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7988, "upload_time": "2018-04-07T07:25:58", "url": "https://files.pythonhosted.org/packages/ae/18/14893b26f649f17760a34e78cdc54924aa8342d14b99a169e5a89a6b9d56/stronghold-1.1.3-py2.py3-none-any.whl" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "1bbf9cacfa75dc4ad859cb7c3e5058c4", "sha256": "b68f829b21823c155ee5f8f945aa629980bb13d224d08a19769b9eba24a1ed21" }, "downloads": -1, "filename": "stronghold-1.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1bbf9cacfa75dc4ad859cb7c3e5058c4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7988, "upload_time": "2018-04-07T07:29:41", "url": "https://files.pythonhosted.org/packages/d4/a8/6e47d2049a9cb5ac2be48f9b46e2f8d509d639f1fc8537935423fad0f35a/stronghold-1.1.4-py2.py3-none-any.whl" } ], "1.1.4.1": [ { "comment_text": "", "digests": { "md5": "4b832b785654924697251555fbeeb0dd", "sha256": "3a7aae99a4fdf6478801a1daa24ddba9af22da00d8106b26cae3c471d2b88db0" }, "downloads": -1, "filename": "stronghold-1.1.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4b832b785654924697251555fbeeb0dd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8017, "upload_time": "2018-04-07T07:36:26", "url": "https://files.pythonhosted.org/packages/a2/24/a1201cde28ff021576b5b82a694bc9b20cde6c3e4f89bf747bdc434ed1f9/stronghold-1.1.4.1-py2.py3-none-any.whl" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "178798d7ba85f9d36853a696168cc208", "sha256": "0f965ed50176abcfdbe5a22757fd710259cabab4b4f86beff38ca6b3b2d6ef4f" }, "downloads": -1, "filename": "stronghold-1.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "178798d7ba85f9d36853a696168cc208", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8049, "upload_time": "2018-04-07T07:50:07", "url": "https://files.pythonhosted.org/packages/14/be/1cc67dc8f87485f393883e3fb0d0997ca0e3c56b856f5d4a797365315e19/stronghold-1.1.5-py2.py3-none-any.whl" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "9044d094e759dde894101cf4eddfec96", "sha256": "7d6791484e617698d131047f63d4310cf6b88acfba621725ec4288696b3ab197" }, "downloads": -1, "filename": "stronghold-1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9044d094e759dde894101cf4eddfec96", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7920, "upload_time": "2018-04-16T10:52:04", "url": "https://files.pythonhosted.org/packages/4b/2b/eb003d69352b916ad0bda923c4a2c4225a756955c649e42fa0e31c2862e0/stronghold-1.2-py2.py3-none-any.whl" } ], "1.2.4.3": [ { "comment_text": "", "digests": { "md5": "1fc41d9e96eeb112e5f9da1b5c30bca7", "sha256": "691ef363c5cf44ce964d17cdccdcf18e3dc183d0ebe9d1cd58ecb7a62bb8d8c1" }, "downloads": -1, "filename": "stronghold-1.2.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1fc41d9e96eeb112e5f9da1b5c30bca7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 8113, "upload_time": "2018-05-30T02:40:21", "url": "https://files.pythonhosted.org/packages/77/3a/7b9eae4b85f0ab2e4bce05a403676267e292a3d78eb9654e9cc131d2cfd9/stronghold-1.2.4.3-py3-none-any.whl" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "60965508bbe3dc344e08456822a01ef3", "sha256": "445e11f8b53042d9e594e0728fdad867a2a4c9098333d41df57fb8439ad599f6" }, "downloads": -1, "filename": "stronghold-1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "60965508bbe3dc344e08456822a01ef3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8658, "upload_time": "2018-05-30T02:40:22", "url": "https://files.pythonhosted.org/packages/0a/2a/33107b7db81b5af17a6ba7d99e720d22039cdb7ac79077dc548c9f81c4e2/stronghold-1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16019358f1952866593126ccd42c5e8b", "sha256": "3aa555bbf8249723cd911f69bcd1efff12959f9c9e4aacca057571d71667ab4f" }, "downloads": -1, "filename": "stronghold-1.3.tar.gz", "has_sig": false, "md5_digest": "16019358f1952866593126ccd42c5e8b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9116, "upload_time": "2018-05-30T02:40:23", "url": "https://files.pythonhosted.org/packages/fc/3f/7b192dea97a2ec5962b97c9fe10f60df980d8bf7d35e21817226b55d6f43/stronghold-1.3.tar.gz" } ], "1.3.1.1": [ { "comment_text": "", "digests": { "md5": "785cea09f34468a9efed138aebae8d06", "sha256": "877cbfcf04a394be70d98999d0694aefda49afb6c318489ad950704d7e2d116c" }, "downloads": -1, "filename": "stronghold-1.3.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "785cea09f34468a9efed138aebae8d06", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 8108, "upload_time": "2018-05-30T02:58:42", "url": "https://files.pythonhosted.org/packages/64/ed/d9bd4f9091b22a78a27a022f5d88113767784fdc2672e8ec267dd360adb3/stronghold-1.3.1.1-py3-none-any.whl" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "2e6cab1a106adcbd9595da0cf3169f56", "sha256": "a6fa49d16111a9aa7faaea8fb06c6d3168313e0925d36cf8b8e196125226475a" }, "downloads": -1, "filename": "stronghold-1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "2e6cab1a106adcbd9595da0cf3169f56", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 8659, "upload_time": "2018-05-30T02:58:42", "url": "https://files.pythonhosted.org/packages/62/c6/b7bcbf01fadfae5a4e14fa031d5e5b7341b409fa8ee9519d4535bd59ca2d/stronghold-1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0a6cfe6f82b1c554d4d38ab023c3e43a", "sha256": "1f72dcfd87299e99adef5875c0643eb0579f5a9b1009acc9649d2a640df01c39" }, "downloads": -1, "filename": "stronghold-1.4.tar.gz", "has_sig": false, "md5_digest": "0a6cfe6f82b1c554d4d38ab023c3e43a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 8896, "upload_time": "2018-05-30T03:14:42", "url": "https://files.pythonhosted.org/packages/51/4a/296140626d5d847e6f2d02c7d8749f408ca490a8377e769230083869995c/stronghold-1.4.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "86439d20adb1821f617b199028afb4ae", "sha256": "124102f190d5adafe698d14dc87aeee63fb9670c7bfd2bc930e879e79c9e4f76" }, "downloads": -1, "filename": "stronghold-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "86439d20adb1821f617b199028afb4ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 8660, "upload_time": "2018-05-30T03:14:41", "url": "https://files.pythonhosted.org/packages/55/f6/3079a5ec6da3edbc4b20db597b39d0b3e27093ea324bae905955b750d749/stronghold-1.4.1-py3-none-any.whl" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "7eef54b562b1025d1bcc2e087d845979", "sha256": "bbe0e19bcac2a1795e017ca8996aed53a3531261eed958fc0ed586086e995769" }, "downloads": -1, "filename": "stronghold-1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "7eef54b562b1025d1bcc2e087d845979", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 8636, "upload_time": "2018-05-30T03:23:19", "url": "https://files.pythonhosted.org/packages/2e/83/89a3b26ca6523fd79db01e80a8f010f39e2c3e9e08ca8a96e91117895c49/stronghold-1.5-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7eef54b562b1025d1bcc2e087d845979", "sha256": "bbe0e19bcac2a1795e017ca8996aed53a3531261eed958fc0ed586086e995769" }, "downloads": -1, "filename": "stronghold-1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "7eef54b562b1025d1bcc2e087d845979", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 8636, "upload_time": "2018-05-30T03:23:19", "url": "https://files.pythonhosted.org/packages/2e/83/89a3b26ca6523fd79db01e80a8f010f39e2c3e9e08ca8a96e91117895c49/stronghold-1.5-py3-none-any.whl" } ] }