A hack in the form of a micro project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
coox 9dd05446c6 ungleich_screening_task → ungleich_hack_3 2 years ago
friendly_cat ungleich_screening_task → ungleich_hack_3 2 years ago
require_ipv6 Initial commit of require_ipv6 Django app 2 years ago
ungleich_hack_3 ungleich_screening_task → ungleich_hack_3 2 years ago
.editorconfig Initial commit of .editorconfig 2 years ago
.env.dist Initial commit of require_ipv6 Django app 2 years ago
.gitignore Initial commit of Django project settings 2 years ago
CONTRIBUTING.md Reorganize documentation, add demo URL 2 years ago
Makefile Add static styling to the friendly_cat app 2 years ago
README.md ungleich_screening_task → ungleich_hack_3 2 years ago
manage.py ungleich_screening_task → ungleich_hack_3 2 years ago
requirements.txt ungleich_screening_task → ungleich_hack_3 2 years ago
setup.cfg Initial commit of Black as a development requirement 2 years ago
setup.py ungleich_screening_task → ungleich_hack_3 2 years ago
tests.py ungleich_screening_task → ungleich_hack_3 2 years ago

README.md

ungleich_hack_3

A micro project proposed as a solution for Hack 3: IPv6 cat from ungleich.

Overview

Per requirements, the project behaves differently depending on the version of the Internet Protocol used to navigate it:

  • Via IPv4, it shows a static page saying "Sorry, only reachable by IPv6"
  • Via IPv6, it shows a friendly cat picture

To determine which version is used, we examine the visitor’s IP address. This is done in a middleware that responds with an error page to non-IPv6 requests.

If the request goes through, a simple application can be accesses, with a single index view showing a friendly picture of a cat.

Usage

To install and run the project on your own computer, you must ensure that the following prerequisites are fulfilled:

Proceed to cloning this repository, and navigate to its directory.

Then, execute the following command to install the project’s required modules:

make install

Then, execute the following command to run the project using Django’s built-in web server:

make run

You can then navigate the project at http://localhost:8000/.

Deployment

To install and run the project in production, you must ensure that the following extra prerequisites are fulfilled:

  • you can run an WSGI server with IPv6 support to expose the project’s application
  • you can run a web server with IPv6 support to act as a file server for the project’s static files, and as a reverse proxy between the WSGI server and the internet

Proceed to deploying this repository, and navigate to its directory.

Then, execute the following command to install the project’s static files:

make build

Then, configure and run your WSGI server and your web server.

Hacking

See CONTRIBUTING for developer documentation.