WayBacKator
restoring sites from
archive.org!

$1 / per site
(up to 10,000 urls)

@wbktor_bot qr-code

Samples / demo


How to Restore a Website from Archive.org

  1. Go to @WBKtor_bot.
  2. Specify the domain:
    Enter the domain in any format (e.g., http://domain.com, www.domain.com, or domain.com).
  3. Set the start date (Date START):
    Specify the start date for the download in formats ranging from just the year (e.g., 2023) to an exact timestamp (e.g., 2023.01.11 15:40:55 or 20230111154055). If you want to use the earliest available snapshot from Archive.org, enter 2000.
  4. Set the end date (Date END):
    For the best results, provide the end date with precise timing to match the last working snapshot of the main page. You can find this date in the URL of the snapshot on Archive.org.
  5. Specify the protocol and subdomain:
    Clarify whether the site uses https or http, and whether www is included.
  6. Wait for analysis:
    The tool will generate a preview screenshot of the homepage as assembled by WayBacKator, along with a count of HTML/media URLs. If the URL limit of 10,000 is exceeded, adjust the date range accordingly. If Archive.org is unavailable (e.g., due to high load), try again later.
  7. Confirm and download:
    Once the order is confirmed, wait to receive an archive containing the site copy and instructions for deploying it on a server.

Instructions for Deployment on Local, Hosting or Server

PHP, PHP-FPM >= 7.0 (default), Nginx | Apache.

You can deploy multiple domains on one server by copying only the domain folders into .domains and updating index.php if the version changes.

If you have access to a level above the root, you can move the .domains folder above and rename it to domains for convenience.

The .domains folder and .htaccess file may be hidden. Use methods to view hidden files on your OS.

The .domains/config.php contains settings for domains in subfolders and debug mode:

  • domains-as-subfolders: allows you to run sites in subfolders.
  • title: title on the main page of the technical domain.
  • home: display a link to return to the list of domains.
  • plugs: placeholders for missing img/css/js.
  • debug: 0/1 for enabling debug mode.
  • css: add css-urls to all domains (ex.: '/css/layout.css,https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css'). Add files to edits/public in domain folder.
  • js: add js-urls to all domains (ex.: '/js/script.js,async:https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js'). Add files to edits/public in domain folder.

The .domains/domain.com/config.php contains settings for a specific domain:

  • protocol: domain protocol.
  • www: 0/1 for setting whether to use www.
  • plugs: placeholders for missing img/css/js.
  • gtmid: Googletag id - insert googletag script on start.
  • css: add css-urls (ex.: '/css/layout.css,https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css'). Add files to edits/public.
  • js: add js-urls (ex.: '/js/script.js,async:https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js'). Add files to edits/public.

If you want to modify existing pages or add new ones, do so in this folder, leaving the public folder untouched.

If the added files have no extensions or are non-standard, include metadata in the meta folder.

The .domains/domain.com/plugs folder is used for custom placeholders for missing img/css/js files.

The .domains/domain.com/404 folder contains redirects for URLs that do not exist. You can add your own redirects here.

Add the following configuration to the appropriate http context, or create a file wbktor.conf in /etc/nginx/conf.d with the following content:

server {
    listen 0.0.0.0:80;
    server_name _
    #    ~^wbk\. # use the subdomain `wbk.` for local testing. DO NOT USE IN PRODUCTION!!!
    ;
    server_tokens off;
    index index.php;
    root /var/www/wbktor/public;
    try_files $uri $uri/ /index.php;
    location ~ \.php$ {
        include fastcgi_params;
        client_max_body_size 100M;
        fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

        # Uncomment and specify your FastCGI server call
        #fastcgi_pass unix:/path/to/php.socket;
        #fastcgi_pass 127.0.0.1:9000;
        #fastcgi_pass upstream-php-alias;

        fastcgi_param HTTP_HOST $host;
        fastcgi_param HTTP_X_REAL_IP $remote_addr;
        fastcgi_param HTTP_X_FORWARDED_FOR $proxy_add_x_forwarded_for;
        fastcgi_param HTTP_X_FORWARDED_PROTO $scheme;
    }
}

Comment out the default server block in nginx.conf.

If you use CloudFlare, add the following to the http context:

set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/12;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2c0f:f248::/32;
set_real_ip_from 2a06:98c0::/29;
#real_ip_header CF-Connecting-IP;
real_ip_header X-Forwarded-For;

Ensure the Apache mod_rewrite module is activated in the httpd.conf file:

LoadModule rewrite_module modules/mod_rewrite.so

Also, upload the .htaccess file from the archive to the root.

To run a site on another domain, simply rename the domain folder inside .domains and update canonical and robots.txt accordingly.

Follow the steps below to set up XAMPP and deploy your site:

  1. Download and Install XAMPP: Go to XAMPP project page, download and install XAMPP. Keep only the default PHP and Apache settings during installation.
  2. Create a Folder for the Domain: In the folder \xampp\htdocs, create a folder for the domain or technical domain (e.g., wbk.list) to run sites in subfolders, and unpack the archive there.
  3. Update Apache Virtual Hosts Configuration: In the file \xampp\apache\conf\extra\httpd-vhosts.conf, add the following lines to configure virtual hosts for your domains:

    <VirtualHost *:80>
        ServerName wbk.list
        DocumentRoot "C:/xampp/htdocs/wbk.list"
        <Directory "C:/xampp/htdocs/wbk.list">
            Options -Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
    <VirtualHost *:80>
        ServerName wbk.domain.com
        DocumentRoot "C:/xampp/htdocs/domain.com"
        <Directory "C:/xampp/htdocs/domain.com">
            Options -Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
  4. Update Hosts File: In the file C:\Windows\System32\drivers\etc\hosts, add the following domains:

    127.0.0.1 domain.com
  5. Access Your Site: Open your browser and go to http://localhost/domain.com to view your site.
  6. Further Documentation: For more details, refer to the official documentation for XAMPP:
⬆️