Skip to content

robertdebock/mirror

Repository files navigation

Mirror any website

Build Status

With this application you can mirror any IP or URL to an existing website. This may be useful to:

  • Hook a personal domain to some service like Flickr, Wordpress, The Pirate Bay or Tumblr.
  • Allow visitors to see a website banned through regular channels.

Overview

+-----------------+    +------------------+    +------------------+
| Your computer   | -> | This application | -> | Existing website |
| or The internet |    | Docker container |    | https://bla.com/ |
+-----------------+    +------------------+    +------------------+

TL;DR

For websites without a path:

docker run -p 8443:443 -e "URL=https://thepiratebay.org/" robertdebock/mirror

Nota bene: the URL ends with a /.

For websites with a path:

docker run -p 8443:443 -e "URL=https://www.flickr.com/photos/robertdebock" robertdebock/mirror

Nota bene: the URL does not end with a /.

Mandatory parameters

  • -p 8443:443 - Map host (external) TCP port to the container. In this case TCP port 8443 can be accessed by visitors and it's mapped to TP port 443 inside the container. Port 80 is also available in the container, serving the same content.
  • -e "URL=https://www.flickr.com/photos/robertdebock" - Setup the (Apache) proxy to map a custom URL to https://www.flickr.com/photos/robertdebock. It's best to (try to) open the website in a browser, let all redirects take place and use the final URL. In case you'd like to mirror the homepage, ensure you end the URL with a / . Like so https://bla.com/

Optional parameters

  • -v $(pwd)/data:/data - Map the volume "./data" to /data. This is the place where keys and certificates are expected, with this exact naming: server.key for the SSL Key, server.crt for the SSL Certificate.
  • -e "DOMAIN=example.com" - Set the common name to "example.com". Used for the SSL Certificate and the Apache ServerName.
  • --dns 8.8.8.8 - Set the DNS to 8.8.8.8 (Googles DNS). Use this to overcome DNS-blocked websites.

Where stuff is