>insanely easy, especially compared to conventional web hosting 1. Have a service running >this can be any service >write down what port its running on, this address will be referenced BELOW as>for testing purposes lets use netcat { $ nc -l 1234 } 2. Configurate HiddenServiceDir HiddenServicePort 127.0.0.1: >open the torrc your daemon is using (/etc/tor/torrc by default) >tor will need to know where to store relevant information about the site and which port it must mirror/proxy to the tor network >you will also have to specify the dir to create and store stuff to {"mynetcat"} >if youre planning on hosting multiple hidden services its a good idea to create a designated directory to store all {"/var/lib/tor/hidden_service/"}; NOTE: double check permissions and owner (tor 7xx) > is the outbound port through which one must connect to the service to access it >NOTE: while in our case will the same as , this would not apply, if say we had a gitea running on port 3000. there, would be set to 80, so it would behave normally from a browser { HiddenServiceDir /var/lib/tor/hidden_service/mynetcat HiddenServicePort 1234 127.0.0.1:1234 } >NOTE: for debugging "tor --runasdaemon 0 --verify-config" could be useful 3. Restart tor $ sudo systemctl restart tor 4. Get the address $ cat /hostname >an onion address is automatically created for your hidden service { $ cat /var/lib/tor/hidden_service/mynetcat/hostname } 5. Verify >it should be online now, test it { $ torify nc jsBsjBsn2j59poqndnajk45ndtjsbA6bsjubyeqzfqhxcgujsadnmi5d.onion 1234 }