https://github.com/robertdebock/mirror
A (Docker) application to mirror any website.
https://github.com/robertdebock/mirror
apache-httpd docker proxy shellcheck shellcode travis
Last synced: 3 months ago
JSON representation
A (Docker) application to mirror any website.
- Host: GitHub
- URL: https://github.com/robertdebock/mirror
- Owner: robertdebock
- License: apache-2.0
- Created: 2017-04-29T18:34:20.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-01-08T14:00:08.000Z (about 2 years ago)
- Last Synced: 2025-08-28T14:19:39.788Z (5 months ago)
- Topics: apache-httpd, docker, proxy, shellcheck, shellcode, travis
- Language: Shell
- Size: 38.1 KB
- Stars: 32
- Watchers: 3
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mirror any website
[](https://travis-ci.org/robertdebock/mirror)
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
```text
+-----------------+ +------------------+ +------------------+
| Your computer | -> | This application | -> | Existing website |
| or The internet | | Docker container | | https://bla.com/ |
+-----------------+ +------------------+ +------------------+
```
## TL;DR
For websites without a path:
```bash
docker run -p 8443:443 -e "URL=https://thepiratebay.org/" robertdebock/mirror
```
Nota bene: the URL ends with a /.
For websites with a path:
```bash
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
* The code is on [GitHub - mirror](https://github.com/robertdebock/mirror/).
* Testing is done on [Travis CI - mirror](https://travis-ci.org/robertdebock/mirror/).
* The Docker image is available [Docker Hub - mirror](https://hub.docker.com/r/robertdebock/mirror/).