{ "info": { "author": "Paessler AG", "author_email": "bis@paessler.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Django", "Framework :: Django :: 1.11", "Framework :: Django :: 2.0", "Framework :: Django :: 2.1", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "=============================\ndjango-httpxforwardedfor\n=============================\n\n.. image:: https://travis-ci.org/PaesslerAG/django-httpxforwardedfor.svg?branch=master\n :target: https://travis-ci.org/PaesslerAG/django-httpxforwardedfor\n\n----\n\n.. contents:: Set request.META['REMOTE_ADDR'] from request.META['HTTP_X_FORWARDED_FOR']\n\n----\n\nQuickstart\n----------\n\nInstall django-httpxforwardedfor::\n\n pip install django-httpxforwardedfor\n\nConfigure it in the settings of your django project::\n\n # Make sure it is at the beginning of the list of middle-ware classes.\n # Only other middle-ware classes working on the remote address should\n # precede it.\n MIDDLEWARE = [\n 'httpxforwardedfor.middleware.HttpXForwardedForMiddleware',\n ] + MIDDLEWARE\n\n # Only allow HTTP_X_FORWARDED_FOR, if the request is marked as secure.\n SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')\n\n # To only allow change of the REMOTE_ADDR for requests via HTTPS.\n # The default is to allow all requests.\n TRUST_ONLY_HTTPS_PROXY = True\n\n\nRelease Notes\n-------------\n\n* 0.3.1 - dropping support for Python 3.4 as it ran into EOL in March19\n\n* 0.3.0 - update supported versions according to\n https://www.djangoproject.com/download/#supported-versions and\n https://devguide.python.org/#status-of-python-branches\n\n * dropping support for Django 1.10 and Python 3.2 and 3.3\n * adding support for Python 3.7\n * adding support for Django 2.0\n * adding support for Django 2.1\n\n* 0.2.0 - futureproof release\n\n * adapt to new middleware format of django 1.10+\n * drop support for python 3.3, django < 1.10\n\n* 0.1.2 - initial release\n\n * supports Django 1.8, 1.9, 1.10, 1.11 on python 2.7, 3.3, 3.4, 3.5, and 3.6 - as per the\n `official django docs `_\n * configuration to activate forwarding of header only for safe requests and trusting only https requests in general.\n\n\n.. contributing start\n\nContributing\n------------\n\nAs an open source project, we welcome contributions.\n\nThe code lives on `github `_.\n\nReporting issues/improvements\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nPlease open an `issue on github `_\nor provide a `pull request `_\nwhether for code or for the documentation.\n\nFor non-trivial changes, we kindly ask you to open an issue, as it might be rejected.\nHowever, if the diff of a pull request better illustrates the point, feel free to make\nit a pull request anyway.\n\nPull Requests\n~~~~~~~~~~~~~\n\n* for code changes\n\n * it must have tests covering the change. You might be asked to cover missing scenarios\n * the latest ``flake8`` will be run and shouldn't produce any warning\n * if the change is significant enough, documentation has to be provided\n\nSetting up all Python versions\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n sudo apt-get -y install software-properties-common\n sudo add-apt-repository ppa:fkrull/deadsnakes\n sudo apt-get update\n for version in 3.5 3.6 3.7; do\n py=python$version\n sudo apt-get -y install ${py} ${py}-dev\n done\n\nCode of Conduct\n~~~~~~~~~~~~~~~\n\nAs it is a Django extension, it follows\n`Django's own Code of Conduct `_.\nAs there is no mailing list yet, please just email one of the main authors\n(see ``setup.py`` file or `github contributors`_)\n\n\n.. contributing end\n\n\n.. _github contributors: https://github.com/PaesslerAG/django-httpxforwardedfor/graphs/contributors\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/PaesslerAG/django-httpxforwardedfor", "keywords": "django-httpxforwardedfor", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "django-httpxforwardedfor", "package_url": "https://pypi.org/project/django-httpxforwardedfor/", "platform": "", "project_url": "https://pypi.org/project/django-httpxforwardedfor/", "project_urls": { "Homepage": "https://github.com/PaesslerAG/django-httpxforwardedfor" }, "release_url": "https://pypi.org/project/django-httpxforwardedfor/0.3.1/", "requires_dist": [ "Django (<=2.1,>=1.11)", "IPy" ], "requires_python": "", "summary": "Set request.META['REMOTE_ADDR'] from request.META['HTTP_X_FORWARDED_FOR']", "version": "0.3.1" }, "last_serial": 5102601, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "91bddac8ea5b3490166dae6929d8e34c", "sha256": "b9cd5f7de3c8b7e78fab708a43da47f5082dfd6044d0a76734a30abe477f5f7e" }, "downloads": -1, "filename": "django_httpxforwardedfor-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "91bddac8ea5b3490166dae6929d8e34c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6233, "upload_time": "2017-04-13T12:33:02", "url": "https://files.pythonhosted.org/packages/7e/67/68586637fb3200959afd4c7b16ea40cfb1d92e4f3469b071f57f5811efec/django_httpxforwardedfor-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d7b8f6a93223e0aa5fdcedaacc3f2430", "sha256": "3f69ee2d87d13be2af4b076034e232f1b5ac978f8a8773102f32c73cdd466cb0" }, "downloads": -1, "filename": "django-httpxforwardedfor-0.1.2.tar.gz", "has_sig": false, "md5_digest": "d7b8f6a93223e0aa5fdcedaacc3f2430", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5991, "upload_time": "2017-04-13T12:33:05", "url": "https://files.pythonhosted.org/packages/a3/c6/532cdcba5cbf4fde1e132a63376b0db39264172e4b66a425624a2e5b1fd4/django-httpxforwardedfor-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f986171831f77318ba8bff08c3bb825d", "sha256": "59d759f9ce11c0496ec314534c185e2c6659a534263513c629946ba9014f0b1f" }, "downloads": -1, "filename": "django_httpxforwardedfor-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f986171831f77318ba8bff08c3bb825d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6334, "upload_time": "2017-11-21T11:41:29", "url": "https://files.pythonhosted.org/packages/96/3c/d0369630f0b497eaa4286caf584477c236ad74a36c820e386be4b429f40c/django_httpxforwardedfor-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ea6d0bea198f01304a067b1bc7901bd", "sha256": "628082307d475ddc8a657937b5341e9eeeb40194f1a8007d44ba10ed75f1fd00" }, "downloads": -1, "filename": "django-httpxforwardedfor-0.2.0.tar.gz", "has_sig": false, "md5_digest": "0ea6d0bea198f01304a067b1bc7901bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6098, "upload_time": "2017-11-21T11:41:32", "url": "https://files.pythonhosted.org/packages/f3/bd/7e20b67aa92aae061a2b96a2da240b05969569fba9514ff9efd5e2969666/django-httpxforwardedfor-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "64d76ba50f27cee4714ec4075d4730fd", "sha256": "8dcd9c271181e1b228192ef6d99692bd1b3125c85ce805da0038791db7dcf036" }, "downloads": -1, "filename": "django_httpxforwardedfor-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "64d76ba50f27cee4714ec4075d4730fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6562, "upload_time": "2019-02-14T07:38:36", "url": "https://files.pythonhosted.org/packages/b7/b4/b08ec1ad0dd1e7d47c47c68743c17cd6d96da3b7b1fb514a6789e49f8363/django_httpxforwardedfor-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "10546155818a9ae4809d760be5e39334", "sha256": "253e18acb86fe19ad346880cc61e5ef94ee199cc0f982ba9d5fdc7d51a77717a" }, "downloads": -1, "filename": "django-httpxforwardedfor-0.3.0.tar.gz", "has_sig": false, "md5_digest": "10546155818a9ae4809d760be5e39334", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6267, "upload_time": "2019-02-14T07:38:37", "url": "https://files.pythonhosted.org/packages/f8/5b/ff4fda962f464661a74e7f5a2ace1e9d51d826ca1b6f8d3765cd099de7d5/django-httpxforwardedfor-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "c6c1e0a44dc24232b58d39944edd625b", "sha256": "526dcff7eaf13215e4a06a72e893850ba5fb3d7a91fdf3e33f2c80cf1bd53cb2" }, "downloads": -1, "filename": "django_httpxforwardedfor-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c6c1e0a44dc24232b58d39944edd625b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6606, "upload_time": "2019-04-05T08:41:59", "url": "https://files.pythonhosted.org/packages/ba/51/29e9c5ed55fc2ab0649b8258c0df24b1b98d5c651cac5857b5193758c317/django_httpxforwardedfor-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e35ccd6ec0f5c1448ee79e56ccd69064", "sha256": "029e33a129fa20c98eae40a7720697af2330316cf850c88c2691bde6b80aa93a" }, "downloads": -1, "filename": "django-httpxforwardedfor-0.3.1.tar.gz", "has_sig": false, "md5_digest": "e35ccd6ec0f5c1448ee79e56ccd69064", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6283, "upload_time": "2019-04-05T08:42:06", "url": "https://files.pythonhosted.org/packages/65/1c/e6ad03ef00a7f77f84a68b1716d5027d1de6b310184d35680f306bea7c15/django-httpxforwardedfor-0.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c6c1e0a44dc24232b58d39944edd625b", "sha256": "526dcff7eaf13215e4a06a72e893850ba5fb3d7a91fdf3e33f2c80cf1bd53cb2" }, "downloads": -1, "filename": "django_httpxforwardedfor-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c6c1e0a44dc24232b58d39944edd625b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6606, "upload_time": "2019-04-05T08:41:59", "url": "https://files.pythonhosted.org/packages/ba/51/29e9c5ed55fc2ab0649b8258c0df24b1b98d5c651cac5857b5193758c317/django_httpxforwardedfor-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e35ccd6ec0f5c1448ee79e56ccd69064", "sha256": "029e33a129fa20c98eae40a7720697af2330316cf850c88c2691bde6b80aa93a" }, "downloads": -1, "filename": "django-httpxforwardedfor-0.3.1.tar.gz", "has_sig": false, "md5_digest": "e35ccd6ec0f5c1448ee79e56ccd69064", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6283, "upload_time": "2019-04-05T08:42:06", "url": "https://files.pythonhosted.org/packages/65/1c/e6ad03ef00a7f77f84a68b1716d5027d1de6b310184d35680f306bea7c15/django-httpxforwardedfor-0.3.1.tar.gz" } ] }