Metadata-Version: 2.4
Name: django-bot-rickroll
Version: 0.3.1
Summary: Django plugin that rickrolls bots and scanners by redirecting common malicious URLs
Keywords: django,security,rickroll,bots,scanners
License-Expression: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Django
Classifier: Framework :: Django :: 4.0
Classifier: Framework :: Django :: 4.1
Classifier: Framework :: Django :: 4.2
Classifier: Framework :: Django :: 5.0
Classifier: Framework :: Django :: 5.1
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Security
Requires-Dist: django>=4.0
Requires-Python: >=3.11
Project-URL: Homepage, https://github.com/vEnhance/django-bot-rickroll
Project-URL: Repository, https://github.com/vEnhance/django-bot-rickroll
Description-Content-Type: text/markdown

# django-bot-rickroll

## Story

Once upon a time I noticed my server log was filled with 404 errors
for URL's like `/wp-admin` and so on.
I figured redirecting them to this [cool music video](https://www.youtube.com/watch?v=dQw4w9WgXcQ)
was one way I could get these errors out of my logs.

Also it means if my kids are snooping around they can get a laugh or two.

## Installation

```bash
uv add django-bot-rickroll
```

## Usage

Just add one line to `urlpatterns`:

```python
from django.urls import path, include

urlpatterns = [
    # Your app URLs first ...
    path("", include("bot_rickroll.urls")),
]
```

You should add this as the last line, so that in the unlikely event
one of the URL's in the blocklist is actually supposed to work,
then yours take precedence.

You can customize the target URL in your `settings.py`:

```python
RICKROLL_URL = "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
```

## URL's covered

- `/wp-admin/`, `/wp-content/`, `/wp-includes/`, `/wp-json/`
- `/wordpress/`, `/wp/`
- `/administrator/`, `/joomla/`, `/drupal/`, `/magento/`, `/cms/`
- `/phpmyadmin/`, `/phpMyAdmin/`, `/pma/`, `/mysql/`, `/adminer/`
- `/cpanel/`, `/webmail/`, `/plesk/`
- `/file-manager/`, `/filemanager/`, `/laravel-file-manager/`, `/elfinder/`
- `/upload/`, `/uploads/`, `/files/`
- `/vendor/`, `/public/`, `/modules/`, `/node_modules/`
- `/lib/`, `/libraries/`, `/includes/`, `/inc/`
- `/.well-known/`, `/.git/`, `/.svn/`, `/.hg/`
- `/.env`, `/.htaccess`, `/.htpasswd`
- `/config/`, `/configuration/`, `/conf/`, `/settings/`
- `/backup/`, `/backups/`, `/bak/`
- `/old/`, `/temp/`, `/tmp/`
- `/cgi-bin/`, `/cgi/`, `/bin/`, `/scripts/`
- `/php/`
- `/db/`, `/database/`, `/sql/`
- Any URL ending in `.php`
- Any URL ending in `.env`
- `/blog-verify`
- Any URL ending in `wlwmanifest.xml`

## License

MIT
