Skip to content

sumithemmadi/Tor-Onion-Service-On-Heroku

Repository files navigation

Tor Onion Service On Heroku

image image

FOSSA Status Version Licence issues stars

Host Tor v3 Hidden Service in dark web using heroku

Try my another repository built with php https://github.com/sumithemmadi/tor-hidden-service-on-heroku/

Deploy to Heroku

Prerequisites

image image image image

  • 1 . nodejs
  • 2 . tor - v3
  • 3 . php
  • 4 . git
  • 5 . Heroku CLI

Install Heroku

image

heroku --version
  • 3 . Connect the Heroku CLI to your account by writing the following command in your terminal and follow the instructions on the command line.
heroku login

Quick Start

  • 1 . Create a new project, for example in my case Project and go to that directory.

  • 2 . Clone this repository with below command

git clone https://github.com/sumithemmadi/Tor-Onion-Service-On-Heroku.git
cd Tor-Onion-Service-On-Heroku
  • 3 . Create a heroku application
heroku apps:create App-Name
  • heroku apps:create App-Name this command creates the application as well as a git remote, that you can use to push your code to Heroku.

    Note: replace App-Name with any other name.

 $ heroku apps:create tor-onion
 Creating ⬢ tor-onion... done
 https://tor-onion.herokuapp.com/ | https://git.heroku.com/tor-onion.git
  • 4 . Now add three buildpacks heroku/nodejs ,heroku/php and heroku-community/apt to you application.

    • heroku/nodejs
heroku buildpacks:set heroku/nodejs
    • heroku-community/apt
heroku buildpacks:add --index 1 heroku-community/apt
    • heroku/php
heroku buildpacks:set heroku/php
  • Sometimes adding 2nd buildpack will remove 1st one (or) adding 3rd buildpack will remove 2nd one ,try adding all three buildpacks again and again one by one untill you see three buildpacks added as shown in below picture.

image

  • 6 . Copy your website file's to the folder site
    eg :- index.html,index.php [default=index.html]

  • 7 . Copy the following files to temp/var/lib/tor/hidden_service dir

    • hostname
    • hs_ed25519_public_key
    • hs_ed25519_secret_key

    If you don't know where these files stored refer to https://2019.www.torproject.org/docs/tor-onion-service

  • 8 . Deploy your changes to heroku

git add .
git commit -am "Updated"
git push heroku
  • Now your app is accessible over Tor

To know your .onion address

  • Run below command to know your onion address.
heroku run cat temp/var/lib/tor/hidden_service/hostname

Image

Get onion link on heroku app

  • If you still can't find your .onion link.
    Open your heroku app
    https://App-Name.herokuapp.com and click on show my .onion link.

    Note : Due to herokus policies, a single web dyno is sent to sleep after 30 minutes of inactivity. This means if your application has not served any requests for 30 minutes, it is forced to sleep by heroku and has to wake up prior to serve a new request, which easily can take up to 30–40 seconds. Generally free dynos will sleep (shut down) after 30 minutes of inactivity. This is actually a feature to avoid using up your free dyno hours. To prevent Heroku app from idling add New Relic add-on. It has an availability monitor feature that will ping your site twice per minute, thus preventing the dyno from idling (Or) add Uptimerobot it is free and offers 5 min interval site checking.

  • Here is my app https://tor-onion.herokuapp.com/

License

FOSSA Status