{ "info": { "author": "Johan Nestaas", "author_email": "johannestaas@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Environment :: MacOS X", "Environment :: Win32 (MS Windows)", "Environment :: X11 Applications :: Qt", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python" ], "description": "defang\n======\n\nDefangs and refangs malicious URLs\n\nUsage\n-----\n\n- As a script: use the `defang` command to defang or \"refang\"\n content, supporting\n both stdin/stdout streams as well as to/from files on disk::\n\n $ echo http://evil.example.com/malicious.php | defang\n hXXp://evil.example[.]com/malicious.php\n\n- As a library::\n\n >>> from defang import defang\n >>> url = \"http://evil.example.com/malicious.php\"\n >>> defang(url)\n 'hXXp://evil.example[.]com/malicious.php'\n\n- We've added a few new keyword argument options::\n\n >>> defang(url, colon=True)\n 'hXXp[:]//evil.example[.]com/malicious.php'\n >>> defang(url, all_dots=True)\n 'hXXp://evil[.]example[.]com/malicious.php'\n >>> defang(url, zero_width_replace=True)\n 'h\\u200bt\\u200bt\\u200bp\\u200b:\\u200b/\\u200b/\\u200be\\u200bv\\u200bi\\u200bl\\u200b.\\u200be\\u200bx\\u200ba\\u200bm\\u200bp\\u200bl\\u200be\\u200b.\\u200bc\\u200bo\\u200bm\\u200b/\\u200bm\\u200ba\\u200bl\\u200bi\\u200bc\\u200bi\\u200bo\\u200bu\\u200bs\\u200b.\\u200bp\\u200bh\\u200bp'\n # printed as 'h\u200bt\u200bt\u200bp\u200b:\u200b/\u200b/\u200be\u200bv\u200bi\u200bl\u200b.\u200be\u200bx\u200ba\u200bm\u200bp\u200bl\u200be\u200b.\u200bc\u200bo\u200bm\u200b/\u200bm\u200ba\u200bl\u200bi\u200bc\u200bi\u200bo\u200bu\u200bs\u200b.\u200bp\u200bh\u200bp'\n\nReleases\n--------\n\n0.5.3:\n - Merged in optional feature to split characters with the zero-width character.\n0.5.2:\n - left in a debug print message in my last patch... removed it.\n0.5.1:\n - refangs boxed in colons [:]\n0.5.0:\n - added new options to defang\n - `all_dots=True` will turn all dots into [.] and not just the one before the TLD\n - `colon=True` will translate http:// into http[:]// as well as other protocols\n0.4.0:\n - added support for URIs with IPv4\n0.3.0:\n - added some regex fixes and arbitrary protocol defanging", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://www.bitbucket.org/johannestaas/defang", "keywords": "", "license": "GPLv3+", "maintainer": "", "maintainer_email": "", "name": "defang", "package_url": "https://pypi.org/project/defang/", "platform": "", "project_url": "https://pypi.org/project/defang/", "project_urls": { "Homepage": "https://www.bitbucket.org/johannestaas/defang" }, "release_url": "https://pypi.org/project/defang/0.5.3/", "requires_dist": null, "requires_python": "", "summary": "Defangs and refangs malicious URLs", "version": "0.5.3" }, "last_serial": 5653437, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "a3ccd11ed4160bb1021ade7ddfe4f58e", "sha256": "278791ebf45775d4eeca635751b2a71a832e642d8f52d170f3b68472ee0d6de1" }, "downloads": -1, "filename": "defang-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a3ccd11ed4160bb1021ade7ddfe4f58e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2726, "upload_time": "2014-11-25T22:06:44", "url": "https://files.pythonhosted.org/packages/c6/42/70bb029b0db9edb01e91dd195a8346b6dd342daa8189ea93eeb66f412bfc/defang-0.1.0.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "af1050f51e15539b18fb030557dcd468", "sha256": "68d4408dc214bfbfca4c8f147e00b666d59c6a4f5106346cb346da6f91ebfb03" }, "downloads": -1, "filename": "defang-0.1.2.tar.gz", "has_sig": false, "md5_digest": "af1050f51e15539b18fb030557dcd468", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2750, "upload_time": "2014-12-03T23:58:25", "url": "https://files.pythonhosted.org/packages/63/b5/df8529bc3015f80d4956a4c507a88a06ad5d0c75c224650a51f6a246ac3d/defang-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "2ae7cd3ca6ecfe772654d11c3cc2ca6b", "sha256": "66296ded09bb6f208e242df02bd56873a94a231d2166441a24bd78a7a0c1ef21" }, "downloads": -1, "filename": "defang-0.1.3.tar.gz", "has_sig": false, "md5_digest": "2ae7cd3ca6ecfe772654d11c3cc2ca6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2745, "upload_time": "2014-12-04T00:11:02", "url": "https://files.pythonhosted.org/packages/73/26/336b24de7e7757d765d44f071a80618f1b488254d9d20a41863af503b685/defang-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "8f28d76452e3cf55211d677931c8641b", "sha256": "9f36f3f5d0600c3a54f267d8fc20c06ecfb88ab9b186815d6ad61b6136e2a67f" }, "downloads": -1, "filename": "defang-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8f28d76452e3cf55211d677931c8641b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2854, "upload_time": "2015-01-08T23:03:31", "url": "https://files.pythonhosted.org/packages/b9/cb/80ff40f9283bb4d28d6dea83c2e20f9c9fb653e4ad98232bd8dbe8cc791f/defang-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "e1c56a8ce881a56316cc943501aa3843", "sha256": "12020508dd39878abd85ce490d7f440f9b8e9a5efb4947f35b825e86b634cddb" }, "downloads": -1, "filename": "defang-0.2.1.tar.gz", "has_sig": false, "md5_digest": "e1c56a8ce881a56316cc943501aa3843", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3080, "upload_time": "2015-01-09T17:20:53", "url": "https://files.pythonhosted.org/packages/b4/3e/9646198de759402e03373837a2782919acd28438038d0d47cba688deefa2/defang-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "5c3e6bc9278cc1b89c6d53d176c18e3c", "sha256": "5407dc603171b2195aefc4d1a14ee77f7723da3a87198b7be537d8138a68f281" }, "downloads": -1, "filename": "defang-0.2.2.tar.gz", "has_sig": false, "md5_digest": "5c3e6bc9278cc1b89c6d53d176c18e3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4676, "upload_time": "2016-04-29T05:41:15", "url": "https://files.pythonhosted.org/packages/7b/c8/500a9f58d57d3d53e31f4a827d96fe84f723abe19226abf3c2d46963607e/defang-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "76c1d78c1d3ffd7decf6ea416cb1812c", "sha256": "c04643290ab3b5d571433f08d8c60d395496054b52f6cdc7695fcc09432af03e" }, "downloads": -1, "filename": "defang-0.2.3.tar.gz", "has_sig": false, "md5_digest": "76c1d78c1d3ffd7decf6ea416cb1812c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3117, "upload_time": "2018-01-24T00:31:14", "url": "https://files.pythonhosted.org/packages/bc/85/de87123f72e48ad1e1b9a8ce26a8b41ff8cd3a60e6a859e8d50d9683bcf2/defang-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "a20603c47e3c421add22c62dd7a6e622", "sha256": "c50e3179169cd9ea550b1363af4e2a013fbb78ac90f419a4ec6a65fb384dbec1" }, "downloads": -1, "filename": "defang-0.2.4.tar.gz", "has_sig": false, "md5_digest": "a20603c47e3c421add22c62dd7a6e622", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3133, "upload_time": "2018-03-22T07:38:42", "url": "https://files.pythonhosted.org/packages/f4/34/0a27b9443715c2edfe31cd6989b5a2317039536d600c1e526652c9eb7b19/defang-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "69854714cb9f7560d0b01bbcc16c5885", "sha256": "92b242991150fa708d0f1c87111861e3ae700b8fc2de34a21c136c406bf0b355" }, "downloads": -1, "filename": "defang-0.2.5.tar.gz", "has_sig": false, "md5_digest": "69854714cb9f7560d0b01bbcc16c5885", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3103, "upload_time": "2018-05-04T08:20:12", "url": "https://files.pythonhosted.org/packages/44/a0/ae5d1814e70ae9771bf2c4e01073e26afd2dd550d89f3a2f45c441575c7b/defang-0.2.5.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "7f024831622d729a7e157bbab9a86587", "sha256": "2c5810cb46ae6f76b9e35f68d5a71a1e502dc6d3b7a3f661986eaef01bd12309" }, "downloads": -1, "filename": "defang-0.3.0.tar.gz", "has_sig": false, "md5_digest": "7f024831622d729a7e157bbab9a86587", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3287, "upload_time": "2018-05-04T09:25:19", "url": "https://files.pythonhosted.org/packages/ed/81/4e4c8b9ef4ffe6ad1a89bd6dec516e5255e2598884fb32a57be9fa6e7027/defang-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "97e4f47e2d2342abef271de4bb39ba84", "sha256": "94e9175a819b18f6f3eb7a434efdd76c4e49992537c8ad2962ed0ff1fac49bed" }, "downloads": -1, "filename": "defang-0.4.0.tar.gz", "has_sig": false, "md5_digest": "97e4f47e2d2342abef271de4bb39ba84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3411, "upload_time": "2018-07-21T08:52:34", "url": "https://files.pythonhosted.org/packages/b7/7c/3c1effde7cc7c50d1abeabb901f5b2fea0761070ead79b99037d96c08053/defang-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "5c950e9c06ea18048bd9c92e2eec3e31", "sha256": "84084af3a758c52ac5a7133637fde68460d1f354008e4d698d862402ec0368b3" }, "downloads": -1, "filename": "defang-0.5.0.tar.gz", "has_sig": false, "md5_digest": "5c950e9c06ea18048bd9c92e2eec3e31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4273, "upload_time": "2019-07-26T00:22:07", "url": "https://files.pythonhosted.org/packages/dc/52/bee9afb097ce52c0bdbf2d1aebafdef471bc40f2bf3c3e23db49d948f9ee/defang-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "ba52365e16a7231962f86a1d1b30549b", "sha256": "431998fbdc68658646e298d90ef75a37bc71ff5bb818e7e35204d6c2266871fb" }, "downloads": -1, "filename": "defang-0.5.1.tar.gz", "has_sig": false, "md5_digest": "ba52365e16a7231962f86a1d1b30549b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4311, "upload_time": "2019-07-26T00:27:20", "url": "https://files.pythonhosted.org/packages/a4/b0/e1147f6f3865dfd2d2974fb32ff890d2b08923ec64cd014b8c217117352f/defang-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "cc117ff6c9c3f2c77f46d1e3418a854c", "sha256": "a937ebb8313bbbce0466653ed47221cfb5be65d06189d5ab2f99f4e3e305baa4" }, "downloads": -1, "filename": "defang-0.5.2.tar.gz", "has_sig": false, "md5_digest": "cc117ff6c9c3f2c77f46d1e3418a854c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4364, "upload_time": "2019-07-26T00:31:14", "url": "https://files.pythonhosted.org/packages/d9/c9/faa3b40c3c3f770d1c1fd98a75bf7b76ef03055809d57dae559835e8aa4c/defang-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "fc62ea849e5b09d2b0b48d30a95b1834", "sha256": "86aeff658d7cd4c3b61d16089872e1c1f0a1b7b3c64d4ca9525c017caeb284d7" }, "downloads": -1, "filename": "defang-0.5.3.tar.gz", "has_sig": false, "md5_digest": "fc62ea849e5b09d2b0b48d30a95b1834", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4735, "upload_time": "2019-08-09T04:45:34", "url": "https://files.pythonhosted.org/packages/c2/d6/a43e61a63054a1cb6f6ba0490dd5079127d2cffafb6707b562497a91bd4e/defang-0.5.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fc62ea849e5b09d2b0b48d30a95b1834", "sha256": "86aeff658d7cd4c3b61d16089872e1c1f0a1b7b3c64d4ca9525c017caeb284d7" }, "downloads": -1, "filename": "defang-0.5.3.tar.gz", "has_sig": false, "md5_digest": "fc62ea849e5b09d2b0b48d30a95b1834", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4735, "upload_time": "2019-08-09T04:45:34", "url": "https://files.pythonhosted.org/packages/c2/d6/a43e61a63054a1cb6f6ba0490dd5079127d2cffafb6707b562497a91bd4e/defang-0.5.3.tar.gz" } ] }