Tor Onion Service On Heroku
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/
Ouick Deploy to heroku
-
1 . To host your website in dark web with one click and run server on heroku.
-
2 . Click below
Deploy to Heroku
button.Note : Deploy with heroku Deploy button will host a demo webpage, you can not use your html file.To host your own webpage goto Manually Deploy to Heroku Session
-
3 . You will be navigated to Heroku Dashboard. Enter app name in
App name
field and clickDeploy app
button. -
4 . Now your app is accessible over
Tor
.Note :- Since,heroku has an ephemerals file system that is destroyed every time when your app restart's.so your application will generate a new .onion link everytime when your app restarts.To use your custom permanent onion link go down to Manually Deploy to Heroku.
-
5 . To know you .onion address click here
Manually Deploy to Heroku
Prerequisites
- 1 .
nodejs
- 2 .
tor
- v3 - 3 .
php
- 4 .
git
- 5 .
Heroku CLI
Install Heroku
- 1 . Create an account on https://heroku.com.
- 2 . Install the Heroku CLI on your computer:
https://devcenter.heroku.com/articles/heroku-cli.
Check that you have theheroku-cli
installed by checking the version number in your terminal:
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
andheroku-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.
-
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
dirhostname
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
Get onion link on heroku app
-
If you still can't find your .onion link.
Open your heroku apphttps://App-Name.herokuapp.com
and click onshow 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/