Create your own mirror of (most) blocked websites with a VPS, domain name and Nginx Proxy Manager.

  • Thread starter Thread starter JB701
  • Start date Start date
  • Replies Replies 7
  • Views Views 5,189
I wanted to write this for some time but forgot about it. With a VPS, Nginx Proxy Manager and a domain name you can setup your own mirror of blocked sites pretty easily.

For free domain you can either use the first year free domains or get the cheapest tld Compare Prices of All Top-Level Domains | TLD-List as of writing its .feedback . Then add the domain to cloudflare by changing the nameservers, this will allow you to enable cloudflare proxy (if you want) and easily renew ssl certificates.

You can setup Nginx Proxy Manager by following this guide:


However, instead of setting up the certs as shown under "Provisioning SSL Certificates", I would recommend setting up a wildcard cert, it will make adding ssl to domains easier in long term:


Now let's move on to mirroring websites, you should be able to mirror most of the simple static sites fairly easily (youtube and more complex sites won't work). First you need to add another host with name set to whatever you want, as I was mirroring 1337xx.to I chose leetx.domain.tld

bp9g9q.PNG


You don't have to set ip and forward port here to link-removed as it'll be overridden by custom config in the next step.

Step 2: Click on advanced and add this to the textbox underneath "Advanced Nginx Configuration":

Code:
  location / {
        proxy_ssl_server_name on;
        gzip off;
        proxy_set_header Accept-Encoding "";
        add_header Host 1337xx.to;
        proxy_pass_request_headers      on;
        proxy_http_version 1.1;
        proxy_pass https://1337xx.to;
         sub_filter_types text/html application/javascript application/x-javascript text/javascript;
          sub_filter "1337xx.to" "leetx.domain.tld";
            sub_filter_once off;
  }

Replace 1337xx.to with the site you want to proxy and replace leetx.domain.tld with the subdomain you chose earlier.

Now you can visit leetx.domain.tld and enjoy unblocked sites without VPN.
 
Cool guide. Another way is using SNI proxy, change example.com and others to YOUR_IP (preferably IPv6) on your DNS server and have example.com available on all devices, everywhere.

Preferably IPv6 because ISPs aren't SNI checking and blocking on IPv6 at the moment or you can have different route for YOUR_IP over proxy or tunnel at home.
 
hey, I am getting this error while creating ssl certificate whenever i use *.domain.tld but successfully works if i use a particular subdomain.

edit: i have pointed *.domain.tld to the ip of my server
 
Check the "DNS Challenge", select your DNS Provider (CloudFlare is very easy to setup), go to dash.cloudflare.com and copy paste your api key there.

It also has support for other DNS providers too.
 
Doesn't work. Original site is opened- may be because proxy_ssl_server_name is set to on.
setting it off. Gives host error with cloudflare page.
 
if the site has www in the domain make sure to add that to proxy and ssl host
 


I am doing for the same website for which you have posted. The only difference in config is that I used a free domain from Freenom and setup with Cloudflare. The VM is the oracle free tier one.
 

Top