Create and Host a dark Web Site (Tor Hidden Service)

Overview

Tutorial: Hosting a site on Dark Web (Tor Hidden Service)

Run On Replit

Introduction

Before starting, lets clear some questions that might come up in your mind:

  1. What dark web really is ๐Ÿค” ?
  2. How it is different from the normal web that we use ๐Ÿค” ?
  3. How will I access the Dark web ๐Ÿค” ?
  4. Is it safe to use Dark Web ๐Ÿค” ?
  5. Is it legal to use Dark Web ๐Ÿค” ?
  6. Is it legal to host stuff on Dark Web ๐Ÿค” ?
  7. Do I have to buy domains for Dark Web as we do in normal web ๐Ÿค” ?
  8. Will it cost money to deploy ๐Ÿค” ?

If you already know these stuff and ready to go then you can directly skip to Procedure ๐Ÿงช

Answers

  1. The dark web is the World Wide Web content that exists on darknets: overlay networks that use the Internet but require specific software, configurations, or authorization to access. Through the dark web, private computer networks can communicate and conduct business anonymously without divulging identifying information, such as a user's location. The dark web forms a small part of the deep web, the part of the Web not indexed by web search engines, although sometimes the term deep web is mistakenly used to refer specifically to the dark web. [WikiPedia] (Probably Wikipedia was one of the best places for quick reliable intro ๐Ÿ™ƒ )

  2. Dark Web is part or division of the Deep web. Usually, the ordinary web is visible to search engines etc. But the deep web is the one that isn't visible to them. And in Dark Web All the data is encrypted and you need to use special software like tor to access the Dark Web. Dark Web Highly Focus on the user Anonymity.

  3. To access Dark Web, as I already stated you need to use special Software, and one of the famous ones is tor that I am going to cover in this tutorial. Tor Browser is available for Windows, Linux, macOS and Android. You can download it from the official Download Page

  4. Accessing the content on the Dark web is relatively safe. Same as using a regular browser. Just like in the regular web, don't open links or download files from unknown sources and you would be pretty safe!

  5. Using Tor or visiting the Dark Web is not unlawful in itself. It is of course illegal to carry out illegal acts anonymously, such as accessing child abuse images, promoting terrorism, or selling illegal items such as weapons. So make sure you don't go into them and it will be totally legal.

  6. As using Dark Web itself isn't illegal until you don't do bad stuff. You can host your website on the dark Web.

  7. No, you don't have to buy a domain for Dark Web and most don't want an identifiable domain name either because it's made for Anonymity. You will get a randomly generated 56 digit domain with .onion at the end to host your website.

  8. No, it doesn't cost any money to host a Dark Web site on tor.

Procedure ๐Ÿงช

Lets first summarize what we will be doing here:

  • Create Replit Account (if you don't have one)
  • Fork My Template for deploying Node.js project to Dark Web
  • Put Your Own Code in
  • And you would have a Dark Web site up and running ๐Ÿš€

To deploy our Node.js App we will be using Replit. It is a simple yet powerful online IDE. You can do a bunch of stuff in it.

And I have Already Created a template in Replit that you will be using to host your Node.js App.

First things first if you don't have a Replit Account just go to https://replit.com and create one. Just log in with your GitHub and it will not take more than a few seconds.

Now that you have a Replit Account, you can fork the following repl: https://replit.com/@arnavkr/tor or use this repo as template.

Run On Replit

On Opening the Fork you will find many files here's the directory structure:

./
โ”œโ”€โ”€ domain.sh
โ”œโ”€โ”€ index.js
โ”œโ”€โ”€ .torrc
โ”œโ”€โ”€ .replit
โ”œโ”€โ”€ node_modules
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ package-lock.json
โ”œโ”€โ”€ public
โ”‚   โ””โ”€โ”€ index.html
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ replit.nix
โ”œโ”€โ”€ run.sh
โ””โ”€โ”€ tor
    โ””โ”€โ”€ hidden_service
        โ”œโ”€โ”€ authorized_clients
        โ”œโ”€โ”€ hostname
        โ”œโ”€โ”€ hs_ed25519_public_key
        โ””โ”€โ”€ hs_ed25519_secret_key

You will notice that there is already a Node.js Hello World Project setup. You just need to replace the Node.js Specific Files with your own code, Hit the Run Button and it will be deployed to the Tor. And you can access your website on Tor Browser.

But Before you close this article, you would be wondering "I have deployed it. But how to access it?".

To get the domain on which you can access your deployed site, you just have to run the domain.sh script 

bash domain.sh

or if you don't want to do so, just head on to /tor/hidden_service/hostname file and you will see an onion domain. Just visit that domain in Tor Browser to View your site.

Understanding Files

index.js

This file doesn't need an introduction. You all know what it is for i.e. the entry point for the nodejs project

node_modules/

This is well known! and well blamed for eating storage too.

package.json

Config File for nodejs project

package-lock.json

This is automatically created when you install packages.

public/

This is being setup as the static hosting directory for express.js

README.md

Contains Some further explanations about the project

run.sh

This is the bash script that runs on clicking the Run Button on top. this script setups all things so you don't have to do much. Still if needed you can modify it accordingly.

domain.sh

The bash script to print the .onion domain on which the site can be accessed.

.torrc

The configuration file for Tor you can modify it accordingly if you want

tor

This directory contains all the files related to the tor

IMPORTATNT NOTE:

When you run the code for the first time a directory named hidden_service will be created in the /tor directory that contains metadata about your hosted site.

There are 3 files named hostname, hs_ed25519_public_key, hs_ed25519_secret_key that you will find in the /tor/hidden_service directory.

hostname contains the domain on which your site is hosted.

hs_ed25519_public_key is the public key that the browser use internally.

And MOST IMPORTANT hs_ed25519_secret_key!

Never Expose this file to public as the name suggests its your secret key it is not to be shared to others.

In case someone gets your private key then they can host their own content on your domain and they would have control over it. You have to then delete the contents of your hidden_service file and rerun the code but then your site will be at different domain and the previous domain will still be in control of the attacker

so never ever expose that to public

.replit

Configuration file for replit usually used to configure the behaviour of the run button

replit.nix

This is the nix config file in replit. Used to manage packages. More Info

Live Example

I have hosted the same template on replit. And here's the link to the working example: http://l63qzrvtgmie6msklerp32oiazya3lzxaev3v54cl5nl3ob4nayeu4ad.onion/

Note: You can't open this is normal browser, you have to use Tor Browser to open this

End Notes

By default repls in replit sleeps when there is not much traffic on site. to let it not sleep you can either buy a hacker plan to use "always on" or use UptimeRobot to keep pinging your repl to keep it online

Hope you got it working. 

Check the STRUCTURE.md for more details about files

If you come up with any issues, just open an issue at this repo.

Author

arnav-kr

You might also like...

A crawler that crawls the site's internal links, fetching information of interest to any SEO specialist to perform appropriate analysis on the site.

Overview ๐Ÿ“ It is a module that crawls sites and extracts basic information on any web page of interest to site owners in general, and SEO specialists

Apr 22, 2022

RESTful service to provide API linting as-a-service

API Linting Service Prerequisites / general idea General idea behind this API implementation is to provide an API as a service based on the awesome sp

Mar 14, 2022

TypeScript plugin for service-to-service (aka. "functionless") cloud integrations.

Functionless ฮป Functionless is a TypeScript plugin that transforms TypeScript code into Service-to-Service (aka. "functionless") integrations, such a

Jan 2, 2023

This is a library to alternate and self-host the Prisma Data Proxy (cloud.prisma.io)

This is a library to alternate and self-host the Prisma Data Proxy (cloud.prisma.io)

Alternative Prisma Data Proxy This is a library to alternate and self-host the Prisma Data Proxy (cloud.prisma.io). In order to deploy your project to

Dec 28, 2022

Open-source continuous regression testing that you can self-host.

Open-source continuous regression testing that you can self-host.

Touca Touca helps you see the side-effects of your changes, as you write code. Touca SDKs let you describe the behavior and performance of your softwa

Dec 30, 2022

DropSpace is an easy way to self-host a file drop.

DropSpace is an easy way to self-host a file drop.

DropSpace Simple file sharing made in Laravel About DropSpace DropSpace is an easy way to self-host a file drop. Simply upload your file, and share th

Dec 9, 2022

Host your own replica server instantly on Glitch.

Earthstar Replica Server for Glitch Want your own replica server? Click the button above. Create a file at .data/known_shares.json Add the shares you'

Apr 26, 2022

A WASI implementation that uses VS Code's extension host as the implementing API

Project This repo has been populated by an initial template to help get you started. Please make sure to update the content to build a great experienc

Dec 24, 2022

๐Ÿชถ An light weight image host built using typescript.

๐Ÿชถ An light weight image host built using typescript.

Feather; an next-gen image uploader built to be used with sharex. Built using typescript, expressjs. To get started ( IN ORDER ) ~ Hosting ~ npm i ~ n

Jun 14, 2022
Comments
  • Video not availaible !

    Video not availaible !

    Hi,

    good work bro but your video are not longer availeble sorry can you post it again thanks

    http://nbrmr5m4gekl2lkof4kkarjfwpuaa745yfgmrnpn7bfjsoclm7g2lxad.onion/

    opened by lillois59 5
Owner
Arnav Kumar
A Full Stack Web Developer, CEO at @Curious-Coders-Official
Arnav Kumar
๐Ÿš€ Send a load of requests with nodejs using cluster and with/without Tor for anonymisation ๐Ÿ™ˆ

Accumulator ?? Send a load of requests with nodejs using cluster and with/without Tor for anonymisation ?? โš ๏ธ Disclamer, This repo has been created fo

Adrien de Peretti 7 Nov 21, 2022
CLI utility that broadcasts BTC, ETH, SOL, ZEC & XMR transactions through TOR using public block explorers

tx-tor-broadcaster CLI utility that broadcasts BTC, ETH, SOL, ZEC & XMR transactions through TOR using public block explorers. Provides a great degree

Paul Miller 58 Dec 25, 2022
Ready to manipulate partitions file? Create a custom partition, apply custom security system, hide the partition and share your hidden data on the www

Paranoia ?? Ready to manipulate partitions file? Create a custom partition, apply custom security system, hide the partition and share your hidden dat

Alice Snow 3 Dec 29, 2022
fully selfhosted multi-user web app for externally storing Reddit items (saved, created, upvoted, downvoted, hidden) to bypass Reddit's 1000-item listing limits

expanse fully selfhosted multi-user web app for externally storing Reddit items (saved, created, upvoted, downvoted, hidden) to bypass Reddit's 1000-i

J Chan 216 Dec 30, 2022
Ansible template that shows how to create dynamic staging servers with ..com

Vagrant + Ansible + Docker Swarm + Trafeik + NGINX template Template repo that creates virtual machines with Docker, Docker Swarm, Traefik, NGINX. It

Mateusz Bagiล„ski 4 Oct 15, 2022
Displays all hidden Channels, which can't be accessed due to Role Restrictions, this won't allow you to read them (impossible)

Who is the Creator ? The creator of this plugin is DevilBro I have completely reworked the plugin so that it can use the BDFDB library from DevilBro !

Flavien 18 Dec 29, 2022
Displays all hidden Channels, which can't be accessed due to Role Restrictions, this won't allow you to read them (impossible)

ShowHiddenChannels Plugin Returns DevilBro, author of this plugin, and BetterDiscord developers have deleted ShowHiddenChannels plugin from the offici

NotCapengeR 177 Sep 17, 2022
Code examples for my TypeScript Static Analysis Hidden Gems talk. ๐Ÿ’Ž

TypeScript Static Analysis Hidden Gems Code Code samples for the talk, formed from my template-typescript-node-package. โœจ ?? Slides available here! ??

Josh Goldberg 4 Nov 2, 2022
Deploy your uAdmin project and host it with a single click (and a few more steps ๐Ÿ‘€) !

Golang and uAdmin CI/CD using ?? Railway! Steps to Deploy Make sure to create a Github account and link it with ?? Railway Click Give your new Reposit

Gaurav Gosain 6 Nov 13, 2022
A crawler that crawls the site's internal links, fetching information of interest to any SEO specialist to perform appropriate analysis on the site.

Overview ?? It is a module that crawls sites and extracts basic information on any web page of interest to site owners in general, and SEO specialists

Yazan Zoghbi 2 Apr 22, 2022