+
diff --git a/rootfs/tmp/etc/nginx/nginx.conf b/rootfs/tmp/etc/nginx/nginx.conf
index b563b98..c883493 100644
--- a/rootfs/tmp/etc/nginx/nginx.conf
+++ b/rootfs/tmp/etc/nginx/nginx.conf
@@ -21,7 +21,7 @@ http {
     access_log                                 /data/logs/nginx/access.REPLACE_SERVER_NAME.log;
 
     server {
-        listen                                 REPLACE_SERVER_PORT;
+        listen                                 REPLACE_SERVER_PORT default_server;
         server_name                            REPLACE_SERVER_NAME;
         root                                   REPLACE_SERVER_WWW_DIR;
         index                                  index.php index.html index.cgi index.pl index.aspx index.txt index.json index.unknown.php index.default.php;
@@ -119,4 +119,5 @@ http {
             fastcgi_param  REDIRECT_STATUS     200;
         }
     }
+    include /etc/nginx/vhosts.d/*.conf;
 }
diff --git a/rootfs/tmp/etc/nginx/vhosts.d/template b/rootfs/tmp/etc/nginx/vhosts.d/template
new file mode 100644
index 0000000..6ec2dcc
--- /dev/null
+++ b/rootfs/tmp/etc/nginx/vhosts.d/template
@@ -0,0 +1,103 @@
+#DO NOT CHANGE THIS FILE
+#Use as template and copy to /etc/nginx/vhosts.d/servername.conf
+
+#Reverse Proxy
+#See /etc/nginx/conf.d/default.conf for proxy servers
+server {
+  server_name                            REPLACE_ONION_SITE;
+  listen                                 REPLACE_ONION_PORT;
+  keepalive_timeout                      75 75;
+  access_log                             /data/logs/nginx/access.REPLACE_ONION_SITE.log;
+  error_log                              /data/logs/nginx/error.REPLACE_ONION_SITE.log info;
+  index                                  index.php index.html index.cgi index.pl index.aspx index.txt index.json index.unknown.php index.default.php;
+  add_header X-Frame-Options             "SAMEORIGIN" always;
+  add_header X-XSS-Protection            "1; mode=block" always;
+  add_header X-Content-Type-Options      "nosniff" always;
+  add_header Referrer-Policy             "no-referrer-when-downgrade" always;
+  add_header Strict-Transport-Security   "max-age=31536000; includeSubDomains" always;
+  add_header Content-Security-Policy     "script-src 'self' 'unsafe-inline' 'unsafe-eval' *; frame-src 'self' *; object-src 'self'" always;
+  root                                   REPLACE_ONION_WWW_DIR;
+
+  location / {
+    root                                 REPLACE_ONION_WWW_DIR;
+  }
+
+  location ^~ /favicon.ico {                                                                                                                        
+      alias                              REPLACE_SERVER_WWW_DIR/favicon.ico;                                                                   
+      allow                              all;                                                                                              
+      log_not_found                      off;                                                                                                        
+      access_log                         off;                                                                                                        
+  }                                                                                                                                              
+  location ^~ /robots.txt {                                                                                                                         
+      default_type                       "text/plain";
+      alias                              REPLACE_SERVER_WWW_DIR/robots.txt;                                                                    
+      allow                              all;                                                                                              
+      log_not_found                      off;                                                                                              
+      access_log                         off;                                                                                              
+  }                                                                                                                                    
+  location ^~ /.well-known {
+      default_type                       "text/plain";
+      alias                              REPLACE_SERVER_WWW_DIR/.well-known;
+      allow                              all;                                                                                              
+      log_not_found                      on;                                                                                                        
+      access_log                         off;                                                                                                        
+  
+  location ^~ /.well-known/security.txt {                                                                                                                         
+      default_type                       "text/plain";
+      alias                              REPLACE_SERVER_WWW_DIR/security.txt;                                                                    
+      allow                              all;                                                                                              
+      log_not_found                      off;                                                                                              
+      access_log                         off;                                                                                              
+  }                                                                                                                                    
+  location ^~ /health {
+      default_type                       "text/plain";
+      allow                              all;
+      access_log                         off;
+      return                             200 'ok';
+  
+  location ^~ /health/txt {
+      default_type                       "text/plain";
+      allow                              all;
+      access_log                         off;
+      return                             200 'ok';
+  }        
+  
+  location ^~ /health/json {
+      default_type                       "application/json";
+      allow                              all;
+      access_log                         off;
+      return                             200 '{"status":"OK"}';
+  
+  location ^~ /health/status {
+      stub_status;
+  
+  location ~ [^/]\.php(/|$) {
+      fastcgi_split_path_info ^(.+?\.php)(/.*)$;
+      if (!-f $document_root$fastcgi_script_name) {
+          return 404;
+      }
+      fastcgi_param                      HTTP_PROXY "";
+      fastcgi_pass                       127.0.0.1:9000;
+      fastcgi_index                      index.php;
+      fastcgi_param  QUERY_STRING        $query_string;
+      fastcgi_param  REQUEST_METHOD      $request_method;
+      fastcgi_param  CONTENT_TYPE        $content_type;
+      fastcgi_param  CONTENT_LENGTH      $content_length;
+      fastcgi_param  SCRIPT_NAME         $fastcgi_script_name;
+      fastcgi_param  SCRIPT_FILENAME     $document_root$fastcgi_script_name;
+      fastcgi_param  REQUEST_URI         $request_uri;
+      fastcgi_param  DOCUMENT_URI        $document_uri;
+      fastcgi_param  DOCUMENT_ROOT       $document_root;
+      fastcgi_param  SERVER_PROTOCOL     $server_protocol;
+      fastcgi_param  REQUEST_SCHEME      $scheme;
+      fastcgi_param  HTTPS               $https if_not_empty;
+      fastcgi_param  GATEWAY_INTERFACE   CGI/1.1;
+      fastcgi_param  SERVER_SOFTWARE     nginx/$nginx_version;
+      fastcgi_param  REMOTE_ADDR         $remote_addr;
+      fastcgi_param  REMOTE_PORT         $remote_port;
+      fastcgi_param  SERVER_ADDR         $server_addr;
+      fastcgi_param  SERVER_PORT         $server_port;
+      fastcgi_param  SERVER_NAME         $server_name;
+      fastcgi_param  REDIRECT_STATUS     200;
+  }
+}
diff --git a/rootfs/tmp/etc/unbound/unbound.conf b/rootfs/tmp/etc/unbound/unbound.conf
index 7d4e6e0..bd35acb 100644
--- a/rootfs/tmp/etc/unbound/unbound.conf
+++ b/rootfs/tmp/etc/unbound/unbound.conf
@@ -5,7 +5,7 @@ server:
     interface: 0.0.0.0
     interface: ::0
     interface-automatic: yes
-    interface-automatic-ports: "53 8053"
+    interface-automatic-ports: "53 9053"
     access-control: 0.0.0.0/0 allow
     access-control: ::/0 allow
     domain-insecure: "onion"
@@ -18,4 +18,5 @@ forward-zone:
     forward-addr: 127.0.0.1@8053
 forward-zone:
     name: "."
+    forward-addr: 
     forward-addr: 1.1.1.1
diff --git a/rootfs/usr/local/etc/docker/init.d/03-tor-server.sh b/rootfs/usr/local/etc/docker/init.d/03-tor-server.sh
index aea63e3..965d422 100755
--- a/rootfs/usr/local/etc/docker/init.d/03-tor-server.sh
+++ b/rootfs/usr/local/etc/docker/init.d/03-tor-server.sh
@@ -189,6 +189,7 @@ __execute_prerun() {
   # Define environment
   local hostname=${HOSTNAME}
   # Define actions/commands
+  touch "/tmp/init_tor_services"
   sleep 30
   # allow custom functions
   if builtin type -t __execute_prerun_local | grep -q 'function'; then __execute_prerun_local; fi
@@ -232,6 +233,7 @@ __update_conf_files() {
   # custom commands
   chmod 600 $RUN_DIR
   chown -Rf ${SERVICE_USER:-$RUNAS_USER}:${SERVICE_GROUP:-$RUNAS_USER} $RUN_DIR
+  mkdir -p "/run/tor/sites" && chmod 777 "/run/tor/sites"
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   # replace variables
 
@@ -379,9 +381,11 @@ __post_execute() {
         url="$(<"$host")"
         echo "$name: $url"
         echo ''$name'
' >>"$WWW_ROOT_DIR/hostnames.html"
+        touch "/run/tor/sites/$name"
       done
       echo "End current hidden services"
     fi
+    [ -f "/tmp/init_tor_services" ] && rm -Rf "/tmp/init_tor_services"
     (while :; do sleep 10 && __pgrep $EXEC_CMD_BIN >/dev/null || eval $EXEC_CMD_BIN $EXEC_CMD_ARGS >/dev/null; done &)
     # show exit message
     __banner "$postMessageEnd: Status $retVal"
diff --git a/rootfs/usr/local/etc/docker/init.d/zz-nginx.sh b/rootfs/usr/local/etc/docker/init.d/zz-nginx.sh
index 9c60cd4..f162991 100755
--- a/rootfs/usr/local/etc/docker/init.d/zz-nginx.sh
+++ b/rootfs/usr/local/etc/docker/init.d/zz-nginx.sh
@@ -246,7 +246,20 @@ __update_conf_files() {
 
   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   # define actions
-
+  while [ -f "/tmp/init_tor_services" ]; do sleep 5; done
+  for onion_site in "/run/tor/sites"/*; do
+    mkdir -p "/data/htdocs/onions/$onion_site"
+    if [ "$(ls -A "/data/htdocs/onions/$onion_site" | wc -l)" -eq 0 ]; then
+      cp -Rf "/usr/share/httpd/default/hidden_service.html" "/data/htdocs/onions/$onion_site/index.html"
+    fi
+    if [ ! -f "/etc/nginx/vhosts.d/$onion_site.onion.conf" ]; then
+      cp -Rf "/etc/nginx/vhosts.d/template" "/etc/nginx/vhosts.d/$onion_site.onion.conf"
+      sed -i 's|REPLACE_ONION_PORT|'$SERVICE_PORT'|g' "/etc/nginx/vhosts.d/$onion_site.onion.conf"
+      sed -i 's|REPLACE_ONION_SITE|'$onion_site.onion'|g' "/etc/nginx/vhosts.d/$onion_site.onion.conf"
+      sed -i 's|REPLACE_ONION_WWW_DIR|/data/htdocs/onions/'$onion_site'|g' "/etc/nginx/vhosts.d/$onion_site.onion.conf"
+      sed -i 's|REPLACE_ONION_WWW_DIR|/data/htdocs/onions/'$onion_site'|g' "/data/htdocs/onions/$onion_site/index.html"
+    fi
+  done
   # allow custom functions
   if builtin type -t __update_conf_files_local | grep -q 'function'; then __update_conf_files_local; fi
   # exit function
diff --git a/rootfs/usr/share/httpd/default/hidden_service.html b/rootfs/usr/share/httpd/default/hidden_service.html
new file mode 100644
index 0000000..a834212
--- /dev/null
+++ b/rootfs/usr/share/httpd/default/hidden_service.html
@@ -0,0 +1,22 @@
+
+
+