django-ip-debug


Namedjango-ip-debug JSON
Version 0.1.6 PyPI version JSON
download
home_pagehttps://github.com/oguerrerog/django-ip-debug
SummaryMiddleware que habilita DEBUG solo para IPs Autorizadas en Proyectos Django
upload_time2024-09-13 04:50:41
maintainerNone
docs_urlNone
authorOscar Guerrero G.
requires_python>=3.9
licenseMIT license
keywords debug django
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Django IP Debug Middleware
![](https://img.shields.io/github/created-at/oguerrerog/django-ip-debug) ![](https://img.shields.io/github/last-commit/oguerrerog/django-ip-debug) ![](https://img.shields.io/github/stars/oguerrerog/django-ip-debug?style=flat-square)

**Middleware** que habilita el modo **DEBUG** en Django **EXCLUSIVAMENTE** a **ciertas IPs o rangos de IPs** definidos en **settings.py**, útil para análisis o auditoría para despliegues de desarrollo y/o producción de proyectos Django.

Esto evita la tarea de modificar la configuración del proyecto cada vez que se necesite habilitar o deshabilitar el modo DEBUG, lo que permite a los desarrolladores y equipos de auditoría o pruebas acceder a información de depuración detallada y resolver problemas de forma eficiente, al mismo tiempo que se mantiene la seguridad del sitio web al restringir el acceso a esta información **solo a direcciones IP confiables**.

## 🤓 Advertencia
Modificar el valor de DEBUG en tiempo de ejecución no es una práctica recomendada. DEBUG en Django está pensado para ser una configuración estática y se espera que su valor se establezca al inicio de la aplicación. Cambiarlo en tiempo de ejecución puede llevar a comportamientos inesperados.

Considerar el uso de esta herramienta solo para efectos de depuración, integraciones que necesiten un sitio en producción, testing, etc. 

## 🔎 Características
- Habilita o deshabilita el modo DEBUG según la IP del cliente.
- Soporta IPs individuales y rangos de IPs usando notación CIDR.
- Fácil integración con settings de Django.

## 💡 Requerimientos
- Django 4.2 o superior
- Python 3.9 o superior

## 📲 Instalación
1) Instala la librería desde pip:

```bash
pip install django-ip-debug
```

2) Agrega la ruta del Middleware a tu archivo **settings.py**:
```python
MIDDLEWARE = [
    'ip_debug.middleware.IPDebugMiddleware',
    # Otros middlewares...
]
```

3) Define las variables a tu archivo **settings.py**: 
```python
# Establecer DEBUG en False
DEBUG = False

# Habilita o deshabilita el middleware IPDebugMiddleware (django-ip-debug)
DEBUG_IP_ENABLED = True

# Lista de IPs Permitidas, puedes agregar rangos de IP con notación CIDR
DEBUG_IP_ALLOWED = ['127.0.0.1', '192.168.0.50', '192.168.1.0/24']

# Lista de Proxies autorizados, este ejemplo contiene la lista de Cloudflare
DEBUG_IP_TRUSTED_PROXIES = [
    '173.245.48.0/20',
    '103.21.244.0/22',
    '103.22.200.0/22',
    '103.31.4.0/22',
    '141.101.64.0/18',
    '108.162.192.0/18',
    '190.93.240.0/20',
    '188.114.96.0/20',
    '197.234.240.0/22',
    '198.41.128.0/17',
    '162.158.0.0/15',
    '104.16.0.0/13',
    '104.24.0.0/14',
    '172.64.0.0/13',
    '131.0.72.0/22'
]
```

## 📚 Versiones
- 0.1.0: Primer Commit
- 0.1.1: Se implementa función para detectar correctamente la dirección IP.
- 0.1.2: Corrección de Errores.
- 0.1.3: Mejoras Globales.
- 0.1.4: Mejoras para CIDR.
- 0.1.5: Fix setup.py
- 0.1.6: Fix URL setup.py

## 😜 Agradecimientos
Agradecimientos especiales a [MercadoPago](https://github.com/mercadopago "MercadoPago"), ese maravilloso y extraordinario servicio de pagos en línea que me "regalo" la emocionante oportunidad de enfrentarme a la "divertida" tarea de crear un entorno de producción/desarrollo solo para integrarme con ellos (es inevitable). Así que, lleno de "inspiración" (y tal vez un poco de desesperación), me lancé a la emocionante aventura de crear mi primer middleware para poder "debugear" mi proceso de integración y mantener mi cordura intacta ante la preocupación de tener el DEBUG disponible para todo el mundo.

Desde hoy dormiré en paz y sin despertar a medianoche preocupado tratando de recordar si deje en el setting.py el debug en "**False**". xD

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/oguerrerog/django-ip-debug",
    "name": "django-ip-debug",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "debug django",
    "author": "Oscar Guerrero G.",
    "author_email": "oguerrerog@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/5b/b8/179b03162fd61bf628eb22f87e44784b17df0b11ebec64d1f7bc410ed56b/django_ip_debug-0.1.6.tar.gz",
    "platform": null,
    "description": "# Django IP Debug Middleware\r\n![](https://img.shields.io/github/created-at/oguerrerog/django-ip-debug) ![](https://img.shields.io/github/last-commit/oguerrerog/django-ip-debug) ![](https://img.shields.io/github/stars/oguerrerog/django-ip-debug?style=flat-square)\r\n\r\n**Middleware** que habilita el modo **DEBUG** en Django **EXCLUSIVAMENTE** a **ciertas IPs o rangos de IPs** definidos en **settings.py**, \u00fatil para an\u00e1lisis o auditor\u00eda para despliegues de desarrollo y/o producci\u00f3n de proyectos Django.\r\n\r\nEsto evita la tarea de modificar la configuraci\u00f3n del proyecto cada vez que se necesite habilitar o deshabilitar el modo DEBUG, lo que permite a los desarrolladores y equipos de auditor\u00eda o pruebas acceder a informaci\u00f3n de depuraci\u00f3n detallada y resolver problemas de forma eficiente, al mismo tiempo que se mantiene la seguridad del sitio web al restringir el acceso a esta informaci\u00f3n **solo a direcciones IP confiables**.\r\n\r\n## \ud83e\udd13 Advertencia\r\nModificar el valor de DEBUG en tiempo de ejecuci\u00f3n no es una pr\u00e1ctica recomendada. DEBUG en Django est\u00e1 pensado para ser una configuraci\u00f3n est\u00e1tica y se espera que su valor se establezca al inicio de la aplicaci\u00f3n. Cambiarlo en tiempo de ejecuci\u00f3n puede llevar a comportamientos inesperados.\r\n\r\nConsiderar el uso de esta herramienta solo para efectos de depuraci\u00f3n, integraciones que necesiten un sitio en producci\u00f3n, testing, etc. \r\n\r\n## \ud83d\udd0e Caracter\u00edsticas\r\n- Habilita o deshabilita el modo DEBUG seg\u00fan la IP del cliente.\r\n- Soporta IPs individuales y rangos de IPs usando notaci\u00f3n CIDR.\r\n- F\u00e1cil integraci\u00f3n con settings de Django.\r\n\r\n## \ud83d\udca1 Requerimientos\r\n- Django 4.2 o superior\r\n- Python 3.9 o superior\r\n\r\n## \ud83d\udcf2 Instalaci\u00f3n\r\n1) Instala la librer\u00eda desde pip:\r\n\r\n```bash\r\npip install django-ip-debug\r\n```\r\n\r\n2) Agrega la ruta del Middleware a tu archivo **settings.py**:\r\n```python\r\nMIDDLEWARE = [\r\n    'ip_debug.middleware.IPDebugMiddleware',\r\n    # Otros middlewares...\r\n]\r\n```\r\n\r\n3) Define las variables a tu archivo **settings.py**: \r\n```python\r\n# Establecer DEBUG en False\r\nDEBUG = False\r\n\r\n# Habilita o deshabilita el middleware IPDebugMiddleware (django-ip-debug)\r\nDEBUG_IP_ENABLED = True\r\n\r\n# Lista de IPs Permitidas, puedes agregar rangos de IP con notaci\u00f3n CIDR\r\nDEBUG_IP_ALLOWED = ['127.0.0.1', '192.168.0.50', '192.168.1.0/24']\r\n\r\n# Lista de Proxies autorizados, este ejemplo contiene la lista de Cloudflare\r\nDEBUG_IP_TRUSTED_PROXIES = [\r\n    '173.245.48.0/20',\r\n    '103.21.244.0/22',\r\n    '103.22.200.0/22',\r\n    '103.31.4.0/22',\r\n    '141.101.64.0/18',\r\n    '108.162.192.0/18',\r\n    '190.93.240.0/20',\r\n    '188.114.96.0/20',\r\n    '197.234.240.0/22',\r\n    '198.41.128.0/17',\r\n    '162.158.0.0/15',\r\n    '104.16.0.0/13',\r\n    '104.24.0.0/14',\r\n    '172.64.0.0/13',\r\n    '131.0.72.0/22'\r\n]\r\n```\r\n\r\n## \ud83d\udcda Versiones\r\n- 0.1.0: Primer Commit\r\n- 0.1.1: Se implementa funci\u00f3n para detectar correctamente la direcci\u00f3n IP.\r\n- 0.1.2: Correcci\u00f3n de Errores.\r\n- 0.1.3: Mejoras Globales.\r\n- 0.1.4: Mejoras para CIDR.\r\n- 0.1.5: Fix setup.py\r\n- 0.1.6: Fix URL setup.py\r\n\r\n## \ud83d\ude1c Agradecimientos\r\nAgradecimientos especiales a [MercadoPago](https://github.com/mercadopago \"MercadoPago\"), ese maravilloso y extraordinario servicio de pagos en l\u00ednea que me \"regalo\" la emocionante oportunidad de enfrentarme a la \"divertida\" tarea de crear un entorno de producci\u00f3n/desarrollo solo para integrarme con ellos (es inevitable). As\u00ed que, lleno de \"inspiraci\u00f3n\" (y tal vez un poco de desesperaci\u00f3n), me lanc\u00e9 a la emocionante aventura de crear mi primer middleware para poder \"debugear\" mi proceso de integraci\u00f3n y mantener mi cordura intacta ante la preocupaci\u00f3n de tener el DEBUG disponible para todo el mundo.\r\n\r\nDesde hoy dormir\u00e9 en paz y sin despertar a medianoche preocupado tratando de recordar si deje en el setting.py el debug en \"**False**\". xD\r\n",
    "bugtrack_url": null,
    "license": "MIT license",
    "summary": "Middleware que habilita DEBUG solo para IPs Autorizadas en Proyectos Django",
    "version": "0.1.6",
    "project_urls": {
        "Download": "https://github.com/oguerrerog/django-ip-debug/archive/refs/tags/v0.1.6.tar.gz",
        "Homepage": "https://github.com/oguerrerog/django-ip-debug"
    },
    "split_keywords": [
        "debug",
        "django"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5bb8179b03162fd61bf628eb22f87e44784b17df0b11ebec64d1f7bc410ed56b",
                "md5": "129235da0623a14a06ec891d6642df98",
                "sha256": "c366aef114d701b074beb847417c78ba4895ddd110431c8b7ad7329831a624d0"
            },
            "downloads": -1,
            "filename": "django_ip_debug-0.1.6.tar.gz",
            "has_sig": false,
            "md5_digest": "129235da0623a14a06ec891d6642df98",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 5612,
            "upload_time": "2024-09-13T04:50:41",
            "upload_time_iso_8601": "2024-09-13T04:50:41.562198Z",
            "url": "https://files.pythonhosted.org/packages/5b/b8/179b03162fd61bf628eb22f87e44784b17df0b11ebec64d1f7bc410ed56b/django_ip_debug-0.1.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-13 04:50:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "oguerrerog",
    "github_project": "django-ip-debug",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "django-ip-debug"
}
        
Elapsed time: 0.32469s