Skip to content

ayanamiriku2/DarkwebInfo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DarkwebInfo Mirror Proxy

Full mirror proxy for darkwebinformer.com — built with Node.js/Express.
Fixes duplicate content & canonical URL issues for Google Search Console indexing.


Features

  • Full website mirror — proxies all pages, assets, CSS, JS, images
  • SEO canonical fix — rewrites <link rel="canonical">, og:url, twitter:url to YOUR domain
  • Domain rewriting — all internal links, sitemaps, and references point to your mirror domain
  • Custom robots.txt — serves your own sitemap URLs
  • Redirect handling — follows & rewrites 301/302 redirects
  • Cookie domain rewrite — cookies work on your domain
  • Compression — gzip output for fast delivery
  • Deploy anywhere — Railway, Render, EasyPanel, VPS, Docker

Environment Variables

Variable Required Default Description
SOURCE_HOST No darkwebinformer.com The origin site to mirror
MIRROR_HOST Yes (auto-detect) Your mirror domain, e.g. yourdomain.com
PORT No 3000 Server port

Important: Set MIRROR_HOST to your actual domain for proper canonical URLs.


Deploy to Railway

  1. Push this repo to GitHub
  2. Go to railway.appNew ProjectDeploy from GitHub
  3. Set environment variables:
    MIRROR_HOST=yourdomain.com
    PORT=3000
    
  4. Add a custom domain in Railway settings
  5. Done — Railway auto-detects the Dockerfile

Deploy to Render

  1. Push this repo to GitHub
  2. Go to render.comNew Web Service → connect your repo
  3. Settings:
    • Environment: Docker
    • Plan: Free or Starter
  4. Add environment variables:
    MIRROR_HOST=yourdomain.com
    
  5. Add a custom domain in Render settings

Deploy to EasyPanel

  1. In EasyPanel, create a new App → choose Docker (from Git)
  2. Connect your GitHub repo
  3. Set environment variables:
    MIRROR_HOST=yourdomain.com
    PORT=3000
    
  4. Configure the domain/proxy in EasyPanel
  5. Deploy

Deploy to VPS (with Docker)

# Clone the repo
git clone https://github.com/yourusername/DarkwebInfo.git
cd DarkwebInfo

# Build and run
docker build -t darkweb-mirror .
docker run -d \
  --name darkweb-mirror \
  -p 80:3000 \
  -e MIRROR_HOST=yourdomain.com \
  --restart unless-stopped \
  darkweb-mirror

With Nginx reverse proxy (recommended for VPS)

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
    }
}

Deploy to VPS (without Docker)

# Install Node.js 20+
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

# Clone & install
git clone https://github.com/yourusername/DarkwebInfo.git
cd DarkwebInfo
npm install --omit=dev

# Run with environment variables
MIRROR_HOST=yourdomain.com PORT=3000 node server.js

# Or use PM2 for production
npm install -g pm2
MIRROR_HOST=yourdomain.com PORT=3000 pm2 start server.js --name darkweb-mirror
pm2 save
pm2 startup

Why Google Search Console shows "Duplicate, canonical"

When you mirror a site, Google sees two copies of the same page with different URLs. Google picks one as the "canonical" and ignores the other.

This proxy fixes it by:

  1. Removing all original <link rel="canonical"> tags that point to darkwebinformer.com
  2. Injecting a new canonical tag pointing to your mirror domain
  3. Rewriting og:url and twitter:url meta tags
  4. Rewriting all internal links, sitemap URLs, and domain references
  5. Serving a custom robots.txt with your sitemap URLs

After deploying, re-submit your sitemap in Google Search Console and request re-indexing.

Releases

Packages

Contributors

Languages